Account Login
Jump to section

Implantação azul-verde (blue green deployment)

Copiar URL

A implantação azul-verde ou blue green deployment, é um modelo de lançamento de aplicações que transfere gradualmente o tráfego de usuários de uma versão anterior da aplicação ou do microsserviço para uma nova versão praticamente idêntica, também executada em ambiente de produção. 

A versão antiga pode ser chamada de "ambiente azul", enquanto a versão nova é chamada de "ambiente verde". Após o tráfego em produção ser totalmente transferido do ambiente azul para o verde, o azul pode ser mantido para fins de reversão (rollback) ou retirado do ambiente de produção para ser atualizado e se tornar o template para a próxima atualização.

Esse modelo contínuo de implantação tem algumas desvantagens. Nem todos os ambientes têm os mesmos requisitos de tempo de atividade ou os recursos para executar adequadamente processos de CI/CD como a implantação azul-verde. No entanto, muitas aplicações evoluem para aceitar a entrega contínua conforme as empresas que as mantém se transformam digitalmente.

 

Pense da seguinte forma: Imagine que você desenvolveu uma aplicação nativa em nuvem — um jogo mobile em que o usuário ganha pontos tocando em balões coloridos que voam pela tela. O back-end do jogo conta com o suporte de vários microsserviços baseados em container que gerenciam as conquistas, a pontuação, mecânica, comunicação e identificação dos jogadores.

Centenas de usuários começam a jogá-lo após o lançamento inicial. Eles registram centenas de transações a cada minuto. Sua equipe de DevOps recomendou que você faça lançamentos antecipados e frequentes. Por esse motivo, você está prestes a lançar uma atualização secundária do microsserviço do mecanismo que aumenta o tamanho e a velocidade do balão vermelho.

Em vez de esperar até meia-noite, quando há menos usuários ativos, para enviar a atualização ao ambiente de produção, você usará o modelo de implantação azul-verde para atualizar a aplicação durante o horário de pico. E você fará isso sem nenhum tempo de inatividade. 

Isso é possível porque você copiou o microsserviço do mecanismo do ambiente de produção (azul) para um container idêntico, porém separado (verde). Após aumentar o tamanho e a velocidade dos balões vermelhos no ambiente verde, a atualização passou pelas etapas de garantia de qualidade e testes (possivelmente automatizadas por um projeto open source de teste de estresse, como o Jenkins) antes de ser enviada ao ambiente de produção com o ambiente azul ativo. 

A equipe de operações pode usar um balanceador de carga para redirecionar a próxima transação de cada usuário do ambiente azul para o verde e, depois que todo o tráfego de produção for filtrado pelo ambiente verde, o azul ficará offline. O ambiente azul pode servir de stand-by como opção de recuperação de desastres ou tornar-se o container da próxima atualização.

O Kubernetes se adequa a todos os elementos associados ao processo de implantação azul-verde, incluindo aplicações nativas em nuvem, microsserviços, containers, integração, entrega e implantação contínuas, SRE e DevOps. Como uma plataforma open source que automatiza operações em container do Linux®, o Kubernetes não só ajuda a orquestrar os containers que empacotam os microsserviços de aplicações nativas em nuvem, mas também é compatível com uma coleção de padrões de arquitetura que os desenvolvedores podem reutilizar em vez de criar do zero

Um desses padrões do Kubernetes é conhecido como Declarative Deployment. Como os microsserviços são inerentemente pequenos, eles podem se multiplicar muito rapidamente. O padrão Declarative Deployment reduz o esforço manual necessário para implantar novos pods, que são a menor e mais simples unidade da arquitetura do Kubernetes.

Porque reforçamos a principal plataforma empresarial do Kubernetes, o Red Hat® OpenShift, com recursos de CI/CD em seu núcleo. Além disso, já documentamos prompts de linha de comando e argumentos passo a passo para você executar implantações azul-verde no seu ambiente Red Hat OpenShift.

Assim, ao preservar sua plataforma empresarial do Kubernetes open source, você mantém o controle de toda a plataforma e de tudo o que depende dela, permitindo que suas aplicações e seus serviços apenas funcionem, independentemente de onde estejam ou do suporte que tenham.

Portanto, não hesite em examinar, modificar e aprimorar o código-fonte dessas tecnologias. Mais de 90% das empresas listadas na Fortune 500* confiam em nossos produtos. Isso significa que há muito pouco que você não possa fazer com uma infraestrutura baseada em soluções e tecnologias Red Hat.

Leitura recomendada

ARTIGO

O que é DevSecOps?

Se você quiser aproveitar ao máximo a agilidade e a capacidade de resposta do DevOps, a equipe de segurança da TI precisará participar de todo o ciclo de vida das suas aplicações.

ARTIGO

O que é CI/CD?

A prática de CI/CD aplica monitoramento e automação contínuos a todo o ciclo de vida das aplicações, desde as etapas de teste e integração até a entrega e a implantação.

ARTIGO

O que faz o engenheiro de DevOps?

O engenheiro de DevOps é um profissional que reúne uma combinação única de habilidades e tem o conhecimento especializado para promover mudanças em termos de colaboração, inovação e cultura dentro da empresa.  

Leia mais sobre DevOps

Soluções Red Hat

Red Hat Open Innovation Labs

Um programa de residência imersiva com especialistas da Red Hat, no qual você aprende a usar uma metodologia ágil e ferramentas open source para solucionar problemas empresariais.

Red Hat Consulting

Os consultores estratégicos da Red Hat fornecem uma visão geral da sua organização, analisam os desafios e ajudam a superá-los com soluções abrangentes e econômicas.

Conteúdo adicional

Checklist

Automação empresarial com uma metodologia DevOps

Whitepaper

Otimize pipelines de CI/CD com o Red Hat Ansible Automation Platform

Illustration - mail

Quer receber mais conteúdo deste tipo?

Cadastre-se para receber a nossa newsletter Red Hat Shares.