O que é implantação azul-verde?
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.
Como funciona a implantação azul-verde?
![Modelo blue-green deployment Blue green deployment model](/rhdc/managed-files/styles/wysiwyg_full_width/private/blue-green-deployment-model.gif?itok=0nWLNAfb)
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.
Blue green deployments e Kubernetes
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.
Por que escolher a Red Hat?
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.