Criar - AWS Orientação prescritiva

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á.

Criar

Durante a fase de construção de uma DevOps estratégia, você constrói a infraestrutura técnica e cultiva uma mudança cultural em direção à colaboração, automação e melhoria contínua. Essa fase fundamental envolve a orquestração prática de ferramentas e pipelines. Ela engloba o seguinte:

  • Configuração de cadeias de DevOps ferramentas

  • Estabelecimento de conexões

  • Criação de pipelines que orientam o desenvolvimento de código por meio da implantação de aplicativos

Inclui não apenas o aspecto técnico da criação de software, mas também a mudança da cultura de desenvolvimento em direção à colaboração, automação e melhoria contínua. Ao aderir aos princípios de integração contínua e entrega contínua (CI/CD), a fase de construção visa agilizar o processo de desenvolvimento e implantação, melhorar a qualidade do software e acelerar a implantação de aplicativos de mainframe modernizados em. AWS

O diagrama a seguir representa diferentes estágios de um pipeline de implantação. Cada estágio contém as etapas necessárias e recomendadas a serem implementadas em uma jornada modernizada de implantação da carga de trabalho do mainframe.

Gráfico com uma coluna para cada estágio.

Os estágios modernizados do pipeline de implantação da carga de trabalho do mainframe incluem o seguinte:

  • Estágio de origem — As etapas necessárias são configuração, manifestos de dependência, ativos estáticos, fonte de infraestrutura, fonte de teste e origem do aplicativo. A etapa recomendada é a fonte do banco de dados.

  • Estágio de construção — As etapas necessárias são artefatos de pacotes, testes estáticos de segurança de aplicativos, detecção de segredos, qualidade do código, testes unitários e código de construção. As etapas recomendadas são a lista de materiais do software e a análise da composição do software.

  • Estágio de teste (beta) — As etapas necessárias são testes de aceitação e testes de integração. As etapas recomendadas são implantar software, implantar banco de dados e iniciar o ambiente.

  • Estágio de teste (gama) — As etapas necessárias são teste sintético, monitoramento e registro, implantação de software e ambiente de lançamento. As etapas recomendadas são testes dinâmicos de segurança de aplicativos (DAST), testes de resiliência, testes de desempenho e implantação de banco de dados.

  • Estágio de produção — As etapas necessárias são testes sintéticos e implantação progressiva. As etapas recomendadas são implantar o banco de dados e a aprovação manual.

Integração contínua

A integração contínua (CI) é uma prática de desenvolvimento de software em que os desenvolvedores fazem pequenas alterações regulares no código e as integram em uma ramificação liberável do repositório de código. O código recém-integrado é construído, testado e validado de forma autônoma de forma consistente e repetível. A CI permite que os desenvolvedores recebam feedback rapidamente, identifiquem possíveis problemas nos estágios iniciais do ciclo de vida do desenvolvimento e os resolvam antes que aumentem em complexidade e custo.

A integração contínua pode acelerar e simplificar consideravelmente o processo de modernização do mainframe na AWS. Os princípios de CI se aplicam às seguintes áreas:

  • Integração frequente de código — Em um pipeline de CI, as alterações de código são integradas a um repositório compartilhado com frequência, muitas vezes várias vezes ao dia. Isso promove a colaboração e garante que toda a equipe de desenvolvimento esteja trabalhando com a maior base de up-to-date código. A CI também pode ajudar a gerenciar alterações no código e rastrear o histórico de modificações. Ferramentas baseadas em Git AWS CodeCommit, como, GitLab, e GitHub podem ajudar na integração e colaboração frequentes de códigos. O código desses repositórios git pode ser sincronizado de volta ao mainframe por meio de conectores como o conector Git para Changeman ZMF. OpenText

  • Teste automatizado — a CI incentiva a criação de suítes de testes automatizados para aplicativos de mainframe. Isso garante que, à medida que o código é refatorado para a nuvem, ele permaneça funcional e livre de erros. Os testes automatizados podem incluir testes unitários e testes de integração. Os aplicativos de mainframe podem ser testados em unidade usando estruturas como. ZUnit

  • Detecção precoce de problemas — Ao executar testes automatizados e ferramentas estáticas de análise de código sempre que o código é confirmado, os sistemas de CI detectam e sinalizam rapidamente quaisquer problemas. Isso ajuda as equipes de desenvolvimento a resolver problemas no início do ciclo de desenvolvimento, reduzindo o risco de grandes contratempos durante a migração. Ferramentas como SonarQube o Veracode podem ajudar na detecção precoce de problemas e na qualidade do código, tanto para Mainframe COBOL quanto para código Java modernizado.

  • Feedback rápido — Os sistemas de CI fornecem feedback rápido aos desenvolvedores sobre a qualidade do código, o que pode levar à melhoria contínua no processo de modernização.

Entrega contínua

A entrega contínua (CD) ocorre após a integração contínua (CI). No CD, as alterações de código que passam pela validação da compilação são automaticamente implantadas em outros ambientes, incluindo produção, com o mínimo de intervenção humana. O CD ajuda a garantir que novos recursos, correções e melhorias sejam implantados de maneira rápida e confiável. O CD reduz os prazos de entrega e melhora a eficiência geral do processo de implantação. Quando você automatiza o processo de entrega usando CD, o sistema lida com o processo demorado e propenso a erros de implantar alterações em vários ambientes, enquanto as equipes se concentram no desenvolvimento e refinamento do código.

O CD facilita a transição de aplicativos de mainframe modernizados para, AWS automatizando o processo de implantação. Os princípios do CD se aplicam às seguintes áreas:

  • Implantações automatizadas — Para reduzir a intervenção manual e o potencial de erros humanos durante o processo de migração, o CD automatiza a implantação de alterações de código nos ambientes de destino. Ferramentas como AWS CodeDeploy Jenkins e IBM Urban CodeDeploy podem ajudar na implantação progressiva de artefatos em diferentes ambientes (por exemplo, Dev, Test, Prod).

  • Implantação contínua — A diferença entre entrega contínua e implantação contínua é a presença de uma aprovação manual para atualização para produção. Na implantação contínua, a produção acontece automaticamente sem aprovação explícita.

  • Ciclo de feedback rápido — Implantações automatizadas fornecem feedback rápido sobre se as alterações de código estão prontas para implantação. Esse ciclo de feedback garante que somente código completamente testado e validado seja implantado.

  • Ciclos de lançamento frequentes — Ao usar o CD, sua organização pode lançar novos recursos, aprimoramentos e código modernizado com mais frequência. Essa agilidade ajuda as empresas a se adaptarem às mudanças nos requisitos e a permanecerem competitivas.

  • Capacidades de reversão — os pipelines de CD devem incluir mecanismos de reversão. Se houver problemas ou comportamentos inesperados no AWS ambiente, as equipes podem usar os mecanismos para reverter para uma versão anterior de um aplicativo.

  • Infraestrutura como código — O CD pode ser combinado com ferramentas de infraestrutura como código (IaC), como AWS CloudFormation o HashiCorp Terraform, para definir e provisionar a infraestrutura de forma consistente. O provisionamento consistente ajuda a garantir que o AWS ambiente corresponda à configuração necessária.