Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
October 14, 2021 11:09 pm GMT

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

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To