{"id":836,"date":"2021-10-22T07:58:00","date_gmt":"2021-10-22T10:58:00","guid":{"rendered":"https:\/\/devlooper.blog.br\/?p=836"},"modified":"2022-05-30T11:07:30","modified_gmt":"2022-05-30T14:07:30","slug":"conheca-os-principais-tipos-de-deploy-e-quando-usar-cada-um","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/conheca-os-principais-tipos-de-deploy-e-quando-usar-cada-um\/","title":{"rendered":"Conhe\u00e7a os principais tipos de deploy e quando usar cada um"},"content":{"rendered":"<p>Os <a href=\"https:\/\/blog.locaweb.com.br\/desenvolvedores\/o-que-e-devops-entenda-sua-importancia\/\">desafios da atua\u00e7\u00e3o dos DevOps<\/a> s\u00e3o muitos, entre eles est\u00e1 o aprendizado constante e a busca pelas melhores solu\u00e7\u00f5es que beneficiem a estrat\u00e9gia dos clientes. Conhecer os tipos de deploy \u2014 e encontrar o que se encaixa melhor em uma aplica\u00e7\u00e3o \u2014 \u00e9 parte importante do desenvolvimento e da implanta\u00e7\u00e3o de um site, por exemplo.<\/p>\n<p>O deploy tem impacto direto na constru\u00e7\u00e3o de uma solu\u00e7\u00e3o que roda bem e de maneira est\u00e1vel. O mesmo pode ser dito para a transi\u00e7\u00e3o, que deve ser suave. Isso, ali\u00e1s, \u00e9 o que \u00e9 desejado por qualquer <strong>desenvolvedor<\/strong>. O mesmo pode ser dito sobre um ambiente que n\u00e3o tem bugs ou mesmo inconsist\u00eancias, desde a implanta\u00e7\u00e3o inicial. \u00c9 poss\u00edvel?<\/p>\n<p>Confira, neste post, os tipos de deploy que s\u00e3o mais utilizados, al\u00e9m de suas vantagens e desvantagens.<\/p>\n<h2>Conhe\u00e7a os principais tipos de deploy<\/h2>\n<p>\u00c9 crescente o n\u00famero de solu\u00e7\u00f5es utilizadas como estrat\u00e9gias de <strong>implementa\u00e7\u00e3o de aplica\u00e7\u00f5es<\/strong>. O desenvolvedor que busca uma carreira de sucesso deve ter conhecimento das particularidades de algumas delas. Falaremos sobre os principais tipos de deploy a seguir: Rolling, Blue-Green e Canary.<\/p>\n<h2>Rolling<\/h2>\n<p>Rolling \u00e9 o tipo mais simples de deploy que se pode implementar ao desenvolver websites. Por isso, ele pode ser entendido como um padr\u00e3o que \u00e9 adequado para quase todos os servi\u00e7os de orquestra\u00e7\u00e3o.<\/p>\n<p>O <strong>deploy Rolling<\/strong> consiste em subir os servi\u00e7os em uma nova vers\u00e3o e, assim, substituir a vers\u00e3o antiga do servi\u00e7o. Ou seja, \u00e9 um processo que vai acontecer aos poucos \u2014 n\u00e3o \u00e9 uma mudan\u00e7a dr\u00e1stica. Sendo assim, a vers\u00e3o antiga s\u00f3 \u00e9 desativada quando a nova est\u00e1 100% funcional. \u00c9 o que os programadores podem chamar de virar a chave.<\/p>\n<h3>Vantagens e desvantagens do deploy Rolling<\/h3>\n<p>A vantagem desse tipo \u00e9 que a migra\u00e7\u00e3o do antigo para o novo \u00e9 menos traumatizante, menos percept\u00edvel \u2014 tamb\u00e9m \u00e9 mais cautelosa, pois a troca acontece aos poucos.<\/p>\n<p>A desvantagem do Rolling, no entanto, \u00e9 que, at\u00e9 que a nova vers\u00e3o esteja funcionando, as duas precisam ser administradas. Isso aumenta o n\u00edvel de complexidade do ambiente e da administra\u00e7\u00e3o dele. Assim, podem haver alguns problemas.<\/p>\n<h2>Blue-Green<\/h2>\n<p>O deploy Blue-Green funciona da seguinte maneira: h\u00e1 dois ambientes id\u00eanticos na infraestrutura. No caso da Rolling, h\u00e1 at\u00e9 mesmo momentos onde v\u00e3o haver dois pacotes do mesmo servi\u00e7o em vers\u00f5es diferentes, mas no Blue-Green existe um mirror, ou melhor, um espelho do seu ambiente \u2014 e na frente desses ambientes h\u00e1 um load balancer que realiza o <strong>direcionamento do tr\u00e1fego<\/strong> para o ambiente que voc\u00ea deseja.<\/p>\n<p>Nesse cen\u00e1rio, \u00e9 poss\u00edvel testar o novo ambiente enquanto o antigo ainda funciona. Assim que todos os testes estiverem corretos e dentro do esperado, pode ser feita a transi\u00e7\u00e3o do load balancer para esse novo ambiente. Com isso, \u00e9 praticamente instant\u00e2nea a mudan\u00e7a. O downtime \u00e9 zero, o que favorece o gerenciamento de projetos.<\/p>\n<h3>Vantagens e desvantagens do deploy Blue-Green<\/h3>\n<p>A principal vantagem do Blue-Green \u00e9 que \u00e9 poss\u00edvel subir a nova vers\u00e3o, realizar testes e, s\u00f3 quando ele estiver em perfeitas condi\u00e7\u00f5es, mudar o direcionamento. Por isso, a migra\u00e7\u00e3o \u00e9 muito tranquila \u2014 j\u00e1 que \u00e9 realizada de maneira bem cautelosa.<\/p>\n<p>O lado negativo \u00e9 que, para ter os dois ambientes iguais, \u00e9 preciso usar duas vezes mais recursos da infraestrutura, ou seja, \u00e9 necess\u00e1rio o dobro dessa infraestrutura que a empresa tem no momento \u2014 o que gera novos custos.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-33772\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/04\/tipos-de-deploy.png\" alt=\"tipos de deploy\" width=\"812\" height=\"500\"><\/p>\n<h2>Canary<\/h2>\n<p>Canary \u00e9 uma aplica\u00e7\u00e3o que consiste em colocar a vers\u00e3o nova em produ\u00e7\u00e3o, mas liberar o experimento dessa vers\u00e3o apenas para pequenos grupos. Em outras palavras, o acesso n\u00e3o \u00e9 liberado para todos ao mesmo tempo.<\/p>\n<p>Em Canary, o ambiente antigo segue ativo simultaneamente ao novo ambiente. Por isso, pode-se liberar uma parcela dos usu\u00e1rios para acessar o novo ambiente e ver como ele se comporta com usu\u00e1rios reais. Assim \u00e9 poss\u00edvel identificar se v\u00e3o existir problemas no dia a dia.<\/p>\n<p>\u00c9 comum que quando o desenvolvedor est\u00e1 testando uma nova aplica\u00e7\u00e3o internamente, tudo funcione e d\u00ea certo. Com <strong>Canary<\/strong>, \u00e9 poss\u00edvel saber o momento ideal de disponibilizar uma nova vers\u00e3o para todos. Essa, ali\u00e1s, \u00e9 uma boa estrat\u00e9gia de gerenciamento de projeto.<\/p>\n<h3>Vantagens e desvantagens do deploy Canary<\/h3>\n<p>Uma vantagem \u00e9 que, com a estrat\u00e9gia Canary, \u00e9 poss\u00edvel realizar testes isolados e acompanhar a transi\u00e7\u00e3o. Dessa forma d\u00e1 para saber como a aplica\u00e7\u00e3o est\u00e1 reagindo, se a experi\u00eancia do usu\u00e1rio est\u00e1 sendo boa, se houve falha e, caso tenha acontecido, \u00e9 poss\u00edvel corrigir rapidamente.<\/p>\n<p>Outro benef\u00edcio \u00e9 a possibilidade de liberar aos poucos o uso da nova vers\u00e3o, que s\u00f3 \u00e9 disponibilizada plenamente quando tudo est\u00e1 rodando 100%. \u00c9 um tipo bem conservador de <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/conheca-os-principais-tipos-de-deploy-e-quando-usar-cada-um\/\">deploy<\/a> e muito \u00fatil, porque dificulta o aparecimento de erros e reduz os riscos de imprevistos.<\/p>\n<p>A desvantagem do deploy Canary \u00e9 que, como a libera\u00e7\u00e3o \u00e9 feita de forma gradativa, o tempo para finaliza\u00e7\u00e3o da nova vers\u00e3o \u00e9 muito grande. Al\u00e9m disso, dependendo do tamanho da infraestrutura, o custo pode ser elevado.<\/p>\n<h2>Saiba qual deploy utilizar em cada situa\u00e7\u00e3o<\/h2>\n<p><a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/conheca-os-principais-tipos-de-deploy-e-quando-usar-cada-um\/\">Decidir qual tipo de deploy deve ser utilizado<\/a> em cada situa\u00e7\u00e3o \u00e9 algo que depende muito do n\u00edvel de criticidade do ambiente. Se h\u00e1 um ambiente muito grande, \u00e9 perigoso realizar uma mudan\u00e7a de uma \u00fanica vez \u2014 como \u00e9 o caso da Rolling, que n\u00e3o permite que seja avaliado o comportamento da aplica\u00e7\u00e3o com usu\u00e1rios reais.<\/p>\n<p>Em um ambiente grande, no entanto, pode ser indicado usar o deploy Blue-Green. O fato dele ter os dois ambientes faz com que seja poss\u00edvel encontrar um balanceamento ideal entre os dois. Com isso, a libera\u00e7\u00e3o \u00e9 feita apenas quando h\u00e1 certeza de que tudo est\u00e1 funcionando perfeitamente.<\/p>\n<p>Quando a necessidade aparece em ambientes menores e menos cr\u00edticos, o Canary com menos usu\u00e1rios faz com que a transi\u00e7\u00e3o leve mais tempo. De toda forma, h\u00e1 menos risco de ter problemas \u2014 afinal, j\u00e1 h\u00e1 gente testando o deploy antes da migra\u00e7\u00e3o acontecer, de fato.<\/p>\n<p>Deploy \u00e9 algo simples de entender, mas complexo de <strong>colocar em pr\u00e1tica<\/strong>. A escolha est\u00e1 diretamente atrelada \u00e0 an\u00e1lise estrat\u00e9gica que deve ser feita. N\u00e3o existe uma f\u00f3rmula. A resposta depende da avalia\u00e7\u00e3o do ambiente e a observa\u00e7\u00e3o de qual dessas estrat\u00e9gias se enquadra melhor naquele momento.<\/p>\n<p>No mais, ao escolher um tipo de deploy, n\u00e3o quer dizer que outro n\u00e3o pode ser usado em um pr\u00f3ximo momento. N\u00e3o existe um melhor entre o Rolling, Blue-Green e Canary. O que existe \u00e9 a aplica\u00e7\u00e3o que melhor se adapta ao que o desenvolvedor deseja realizar.<\/p>\n<p>De toda forma, o profissional deve <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/conheca-os-principais-tipos-de-deploy-e-quando-usar-cada-um\/\">realizar o procedimento de maneira suave<\/a> e que n\u00e3o afete a disponibilidade das solu\u00e7\u00f5es.<\/p>\n<p>Agora que voc\u00ea j\u00e1 conhece quais s\u00e3o os tipos de deploy, assine a nossa newsletter e continue aprendendo ao receber conte\u00fados exclusivos na sua caixa de e-mail!<\/p>\n\n\n<div class=\"user-cta-block\" style=\"background-color:#2E333C;\"><p>Com a VPS Locaweb voc\u00ea tem a melhor performance do seu projeto!<\/p><a class=\"user-cta\" style=\"background-color: #F00842\n;\" href=\"https:\/\/www.locaweb.com.br\/cloud\/vps-locaweb\/?utm_source=blog&#038;utm_medium=own&#038;utm_campaign=blog-vps-tipos-deploy&#038;utm_id=vendas-blog\" target=\"_blank\" rel=\"noopener\">CONFIRA!<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Os desafios da atua\u00e7\u00e3o dos DevOps s\u00e3o muitos, entre eles est\u00e1 o aprendizado constante e a busca pelas melhores solu\u00e7\u00f5es que beneficiem a estrat\u00e9gia dos clientes. Conhecer os tipos de deploy \u2014 e encontrar o que se encaixa melhor em uma aplica\u00e7\u00e3o \u2014 \u00e9 parte importante do desenvolvimento e da implanta\u00e7\u00e3o de um site, por [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":33280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-836","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=836"}],"version-history":[{"count":4,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/836\/revisions"}],"predecessor-version":[{"id":35040,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/836\/revisions\/35040"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/33280"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}