An Interest In:
Web News this Week
- March 22, 2024
- March 21, 2024
- March 20, 2024
- March 19, 2024
- March 18, 2024
- March 17, 2024
- March 16, 2024
Tipos de deploy e como isso impacta a vida de uma aplicao
Na squad onde estava alocada, por ser a minha primeira aplicao em produo, resolvi acompanhar e aprender mais sobre esse universo chamado devops, infra, enfim... toda a parte que no est envolvida com o cdigo em si, mas com a estrutura de como isso vai rodar para o usurio.
Nesse meio tempo de trabalho e estudos, conheci o CharlesCD que trabalha com o conceito de deploy em crculos, bom... aqui comea a minha jornada de aprendizado sobre deploy, comea que existem tipos de deploy e eu sequer sabia disso, a seguir um compilado de artigo que encontrei sobre o tema.
Primeiramente, o que um tipo deploy ou estratgia de deploy?
Em algumas literaturas e empresas, chamamos de tipo de deploy ou estratgia de deploy a forma na qual a aplicao ser colocada a disposio do usurio final.
Uma estratgia de deploy uma forma de alterar ou atualizao uma aplicao. O objetivo fazer a mudana sem afetar a aplicao de forma que o usurio mal note as mudanas
Fonte: OpenShift - RedHat, traduo livre
Alguns tipos de deploys utilizados
Canary
O deploy do tipo Canary visa reduzir o risco de disponibilizar uma atualizao de uma nica vez para todos os usurios, dessa forma, a atualizao disponibiliza para apenas um grupo seleto de usurios antes de ir para o pblico geral.
Em Canary, o ambiente antigo segue ativo simultaneamente ao novo ambiente. Por isso, pode-se liberar uma parcela dos usurios para acessar o novo ambiente e ver como ele se comporta com usurios reais. Assim possvel identificar se vo existir problemas no dia a dia.
Fonte: Locaweb
Entretanto, essa estratgia no prope nenhuma estratgia de escolha de usurios para a expanso. Por esse motivo, torna-se mais difcil gerenciar as verses existentes do sistema, o que contribui para que no haja tanto versionamento.
Blue-Green
O tipo blue-green trabalha com o conceito de espelhamento, ou seja, a instncia da verso antiga e a instncia da verso mais recente rodam em paralelo em produo e o SRE utiliza um load balancer para ir direcionando o trfego da verso antiga para a verso mais recente.
O principal benefcio desta tcnica que o downtime zero, trazendo mais segurana para a transio. Apesar disso, o custo para o blue-green deployment bastante elevado, j que demanda o dobro de infraestrutura para ser executado.
Crculos
A ideia consiste que se crie crculos de implementao, e disponibilize para cada circulo a verso de software que melhor convm para o usurio e para a regra de negcio.
Crculos so grupos de usurios criados a partir de caractersticas especficas dentro de um mesmo ambiente. Dessa forma, o desenvolvedor pode segmentar os usurios de acordo com as regras que mais fizerem sentido para testar aquela release.
Fonte: CharlesCD - ZupInnovation
Por exemplo, possvel criar um crculo de engenheiros da regio Norte do Brasil, outro de engenheiros do sudeste e um terceiro contendo todos os engenheiros brasileiros. Baseado nessa segmentao de clientes, pode-se elaborar diversas lgicas de deploy.
Concluso de uma desenvolvedora
Claramente que no h a melhor estratgia aqui, tudo vai depender da necessidade da empresa/instituio que vai implementar a aplicao e nvel de conhecimento do SRE, por exemplo, para escolher qual ser utilizada.
Na minha concepo, tendo a vivncia de atuar na rea comercial e de negcios e agora atuando como desenvolvedora, faz muito sentido utilizar o deploy em crculo para testar hipteses desde de alteraes na UX para o cliente (ser que ele prefere um boto aqui ou ali? Isso aqui est mais legvel para ele ou no? Esse pop-up mais inclusivo para a terceira idade ou no?) at implementao de novas regras de negcio (precisamos aumentar a converso de clientes nessa rea do e-commerce, ser que se expormos a oferta dessa forma funcionar? temos esse bug na rotina, mas ser que bug mesmo? Nosso pblico-alvo so os estudantes do sudeste, ser que eles so os maiores usurios da nossa ferramenta?).
Por experincia minha, eu sofria demais com as demandas que clientes me passavam de mudanas que eles gostariam, mas nunca acontecia ou ento demorava meses para "subir", com a ideia de deploy em crculos esse cenrio muda drasticamente.
E voc, o que acha desses conceitos? Algum faz mais sentido para voc, assim como o deploy em crculos faz mais sentido para mim?
Compartilha aqui comigo!
Original Link: https://dev.to/diariodeumacdf/tipos-de-deploy-e-como-isso-impacta-a-vida-de-uma-aplicacao-159d
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To