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.

Ebook: como ensinar um elefante a dançar

 

Blue green deployment model

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.

Recursos da Red Hat

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.

Como migrar para o desenvolvimento nativo em nuvem com o Kubernetes

 

Open Technology Sessions

Conheça a série de webinars da Red Hat em português feita para você descobrir como inovar. Aprenda sobre Automação, Infraestrutura, Plataforma de Aplicações, Cloud Services, Inteligência Artificial e muito mais!

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.

Por que escolher a Red Hat para o desenvolvimento nativo em nuvem?

Hub

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Teste as soluções da Red Hat

Você sabia que a Red Hat oferece versões de teste gratuitas de suas soluções? Aproveite e obtenha experiência prática, prepare-se para uma certificação da Red Hat ou avalie na prática se a solução é adequada para ao caso de uso.

Leia mais

What is multi-cloud GitOps?

O GitOps é um conjunto de princípios que orienta seu fluxo de trabalho e possibilita a implantação contínua (CD) de aplicações nativas em nuvem. Ele ajuda você a gerenciar a configuração do cluster e as implantações de aplicações, levando a automação a um processo que antes era manual.

O que é engenharia de plataforma?

A engenharia de plataforma é uma disciplina dentro do desenvolvimento de software que se concentra em otimizar a produtividade, a duração de ciclo de aplicação e o time to market.

Site Reliability Engineering: o que é SRE?

Site Reliability Engineering (SRE) ou engenharia de confiabilidade de sites é uma abordagem da engenharia de software para gerenciar sistemas e automatizar tarefas operacionais de TI.

DevOps: leitura recomendada

Artigos relacionados