As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Modernização do mainframe: Padrões de desacoplamento para migrar o código do aplicativo
Krithika Palani Selvam e Kevin Yung, Amazon Web Services (AWS)
Abril de 2021(histórico do documento)
Muitas empresas estão migrando suas cargas de trabalho de mainframe para a nuvem para aproveitar fatores como redução de custos, maior agilidade, dedução da dívida técnica, suporte à estratégia digital, lacuna de habilidades legadas do mainframe e análise de dados. As cargas de trabalho de mainframe são mais difíceis de migrar do que as baseadas em x86, porque os aplicativos legados de mainframe geralmente são desenvolvidos e implantados de forma fortemente acoplada. Por exemplo, um aplicativo de mainframe pode incluir programas usados por vários subsistemas ou chamados diretamente por outros aplicativos. Nesses casos, as alterações feitas nos programas subjacentes também afetam os subsistemas e aplicativos associados.
Para aplicativos legados, o Amazon Web Services (AWS) recomenda uma abordagem incremental, em que a migração é planejada em ondas, como melhor prática. Essa abordagem ajuda a reduzir o risco, pois você seleciona e prioriza aplicativos que estão intimamente relacionados à migração em conjunto. No entanto, essa abordagem às vezes não é tão simples para migrações de mainframe quanto para migrações baseadas em x86, especialmente porque o código do aplicativo de mainframe pode ser acoplado temporalmente (invocado de forma síncrona) ou acoplado à implantação (usando módulos vinculados). A migração do código do aplicativo acoplado afeta os aplicativos dependentes e, portanto, acarreta alguns riscos. Para reduzir esses riscos, você pode desacoplar o código do aplicativo de mainframe sem afetar os aplicativos dependentes. Este guia explica alguns dos padrões comumente usados para desacoplar o código do aplicativo de mainframe para migração.
O guia é para executivos de TI e de negócios, arquitetos e analistas de negócios, líderes técnicos e de migração, equipes de desenvolvimento, gerentes de programas e projetos, proprietários de produtos e gerentes de operações e infraestrutura que planejam migrar e modernizar seus aplicativos de mainframe noAWSCloud.
Resultados comerciais direcionados
Este guia aborda desafios comuns que você pode enfrentar ao migrar programas acoplados de mainframes paraAWS. Ele apresenta padrões de desacoplamento de código queAWSConsultores de serviços profissionais frequentemente encontram em seus contratos comAWSclientes. Quando você usa esses padrões, os aplicativos migrados e legados podem continuar funcionando durante o processo de migração.
Definições
Neste guia:
-
UMAaplicativo de mainframerefere-se a um conjunto de programas e subprogramas de mainframe relacionados que realizam e facilitam um conjunto de processos de negócios. Os aplicativos de mainframe podem ser sistemas de processamento em lote ou sistemas de processamento de transações online (OLTP).
-
UMAcomponente mainframerefere-se a um grupo de programas e subprogramas que alcançam funcionalidades específicas.
-
UMAprograma de mainframerefere-se a um conjunto de declarações que implementam a lógica de negócios. Os programas podem ser executados de forma independente.
-
UMAsubprogramageralmente é escrito para lidar com uma operação reutilizável ou lógica de negócios que vários aplicativos exigem. Um programa chama seus subprogramas de forma estática ou dinâmica.
-
UMAdomínio de negóciosrefere-se a uma esfera específica que representa uma unidade autônoma de negócios que é modelada durante a análise. Por exemplo, o domínio comercial do software se refere à área de assunto à qual o usuário aplica esse programa.
Pressuposições
Os exemplos e diagramas deste guia refletem as seguintes suposições:
-
O aplicativo de mainframe que está sendo migrado pode executar um único programa ou vários programas. Para simplificar, os diagramas deste guia exibem dois programas e um único subprograma para cada aplicativo.
-
Os programas e subprogramas do mainframe são escritos em COBOL e o código é migrado para Java emAWS. No entanto, você pode usar esses padrões de desacoplamento com as linguagens de programação de sua escolha.
-
O padrão de migração érefatoração automatizada legada, onde código, dados e dependências são automaticamente convertidos em uma linguagem, armazenamento de dados e estrutura modernos, garantindo a equivalência funcional com as mesmas funções de negócios. A refatoração envolve o uso de ferramentas automatizadas para converter a linguagem de programação de mainframe (como COBOL) em linguagens de programação modernas (como Java ou .NET).
-
Os aplicativos refatorados são implantados em contêineres que são provisionados e gerenciados peloAWS Fargate
. O Fargate é um mecanismo de computação sem servidor para contêineres que funciona com ambosAmazon Elastic Container Service (Amazon ECS) eAmazon Elastic Kubernetes Service (Amazon EKS) . O Fargate torna fácil se concentrar na criação de seus aplicativos porque elimina a necessidade de provisionar e gerenciar servidores. -
As tabelas do banco de dados do mainframe e os arquivos do mainframe são migrados com o aplicativo.
Cenários de migração de
Os dois principais tipos de aplicativos de mainframe legados, do ponto de vista da migração de código, são:
As seções a seguir descrevem os padrões de desacoplamento para esses dois cenários.