O Kubernetes é compatível com uma estratégia de ciclo de vida de desenvolvimento de software chamada implantações verde-azulado, que envolve executar as versões novas e antigas de um aplicativo simultaneamente na produção. Continue lendo para saber o que é uma implantação verde e por que você pode querer implementar essa tática para seus aplicativos Kubernetes.
Uma implantação azul-verde é uma estratégia de ciclo de vida de desenvolvimento de software que envolve executar as versões novas e anteriores de um aplicativo simultaneamente na produção. Os usuários são migrados gradualmente da versão mais antiga (azul) para a versão mais recente (verde) do aplicativo após a implantação.
Para entrega rápida de atualizações de software, os desenvolvedores precisavam de uma maneira de implantar recursos continuamente. Tradicionalmente, as implantações de código exigiam tempo de inatividade, por isso eram feitas em dias específicos, semanal ou mensalmente. Essa estratégia retarda as atualizações de software e não dá suporte à entrega contínua.
As implantações Blue-green resolvem esse problema executando as versões antiga e nova de um aplicativo em produção. A versão azul é o aplicativo antigo e a versão verde é a nova. Os usuários são movidos lentamente para a nova versão verde depois que ela é implantada. Depois que os usuários são movidos para a nova versão verde, a versão azul pode atuar como um failover se o código precisar ser revertido para a versão anterior devido a erros críticos ou bugs.
Em muitos ambientes corporativos, a produção é executada em vários servidores. Em vez de executar várias versões simultaneamente, uma implantação contínua funciona com uma versão de um aplicativo e atualiza cada servidor individualmente.
Suponha que você tenha dois servidores por trás de um balanceador de carga e executando um único aplicativo de produção. Em uma implantação contínua, um desenvolvedor retira um servidor da rotação, atualiza o aplicativo e coloca o servidor de volta em rotação. O segundo servidor é retirado de rotação e atualizado também. A maioria dos ambientes contínuos tem três servidores para que um único servidor possa atuar como failover caso haja erros no ambiente da nova versão.
As implantações canárias são semelhantes às implantações verde-azuladas, mas as implantações canárias enviam usuários específicos para a versão mais recente de um aplicativo em vez de mover lentamente todos os usuários para a nova versão. É uma ótima estratégia para testar um novo aplicativo com usuários interessados em testes beta ou testar silenciosamente novos recursos com novos usuários para obter feedback.
Normalmente, as implantações canárias são usadas em um pequeno subconjunto de usuários e a versão original ainda é executada para a maioria dos usuários. Como apenas um pequeno subconjunto de usuários é direcionado para a nova versão, a infraestrutura é menos cara e não precisa ser avançada demais para dar suporte a um pequeno número de usuários.
Em qualquer ambiente de entrega contínua, as implantações azul-esverdeadas oferecem vários benefícios. As implantações Blue-green aceleram a entrega de atualizações de recursos de aplicativos. Os desenvolvedores não precisam mais esperar por uma janela para implantar um novo código, o que pode atrasar as implantações por meses.
Dos três tipos de implantação, as implantações azul-verde são mais seguras do que as outras. Ambas as versões do aplicativo são executadas simultaneamente, para que os desenvolvedores possam reverter as alterações sem muito esforço. Os usuários não experimentarão tempo de inatividade nem perderão produtividade durante implantações ou reversões, se necessário.
A maior desvantagem das implantações de verde-azulado é a despesa. As empresas devem ter o orçamento de TI para pagar por ambientes duplos que possam hospedar as versões azul e verde de um aplicativo. As organizações também pagam pela sobrecarga da equipe para manter e monitorar ambos os ambientes.
Outro obstáculo para as organizações é a sincronização de bancos de dados. As alterações no banco de dados não são tão fáceis de reverter, portanto, as atualizações de tabelas e esquema de banco de dados devem ser feitas com cuidado, especialmente se os ambientes verde e azul usarem o mesmo banco de dados. Ambos os ambientes devem ser cuidadosamente testados antes de serem implantados em bancos de dados de produção.
A entrega contínua e o Kubernetes andam de mãos dadas. Os desenvolvedores podem implantar aplicativos automaticamente usando ferramentas de orquestração como Kubernetes . O Kubernetes pode ser usado para orquestrar os ambientes azul e verde, e os desenvolvedores podem simplesmente implantar código e permitir que o Kubernetes gerencie a promoção de código de um ambiente de preparação para produção.
Os ambientes em contêiner são perfeitos para implantações azul-verdes por sua capacidade de destruir e reconstruir rapidamente pods de aplicativos para que possam executar versões azul ou verde. Se um aplicativo de contêiner causar erros, os desenvolvedores podem reverter as alterações para a versão azul com mais facilidade.
Tem dúvidas ou comentários sobre produtos ou certificações da Pure? Estamos aqui para ajudar.
Agende uma demonstração ao vivo e veja você mesmo como a Pure pode ajudar a transformar seus dados em resultados poderosos.
Telefone: 55-11-2844-8366
Imprensa: pr@purestorage.com
Sede da Pure Storage
Av. Juscelino Kubitschek, 2041
Torre B, 5º andar - Vila Olímpia
São Paulo, SP
04543-011 Brasil