Escolha uma Página

Fala meu povo!

No dia 20/02/2018 participei do evento Descomplicando o Azure, promovido pela Azure Brasil – Comunidade técnica. Tive a oportunidade de falar sobre Deployment Slots.

Deployment Slot – O que é isso?

O conceito é simples. Em um cenário geral, representado pela imagem abaixo, existe um controle de versão ambientes de desenvolvimento (DEV) e testes (Teste). Desenvolve-se, testa e se tudo estiver OK, publica-se em produção. Esta publicação é feita, geralmente, em uma janela de submissão de forma a oferecer o menor impacto possível aos usuários da aplicação. Um indivíduo  ou uma equipe tem a responsabilidade de submeter a nova versão do sistema manualmente ou de forma automatizada, vai depender de cada um, da empresa, etc.

Distribuição de aplicações

Distribuição de aplicações

Conforme apresentado, existem basicamente dois ambientes: DEV e TESTE. Cada um desses servidores pode ser denominado como sendo um Deployment Slot. Ou seja, um servidor similar a outro, mas que produz um faseamento da publicação de uma nova versão da aplicação, com a estratégia de manter a estabilidade da mesma.  Uma publicação não é replicada para outra fase a não ser caso não tenha sido executada com sucesso na fase anterior.

Sendo assim, um Deployment Slot é uma espécie de fase de publicação que provê uma similaridade de ambientes para uma aplicação.

Motivação

Publicar aplicações de forma segura reduzindo o Down Time da aplicação deve ser uma de nossas preocupações, como desenvolvedores, arquitetos, equipe, caso contrário alguns problemas poderão ser bem preocupantes:

  • Baixa confiabilidade de execuções bem sucedidas – a equalização de ambientes “locais” é difícil por várias questões, como custo,acompanhar as atualizações das soluções de cloud entre outros quesitos.
  • Problemas de perda de requisições de usuários – dependendo da sua aplicação, a perda de requisições de usuários deve ser mínima.
  • Time para reação a problemas encontrados em produção (Rollback) – se acontece um erro em produção, quanto tempo é necessário para voltar para uma versão estável?
  • etc

Em busca de uma melhora e na confiabilidade das promoções de novas versões das minhas aplicações, descobri o recurso de Deployment Slots em App Services no Azure.

Azure – App Services / Deployment Slots

O Azure nos apoia nesta necessidades onde as aplicações podem ser publicadas em Deployment Slots e sua configuração é simples. Pode-se automatizar pelo Azure, Visual Studio Team Services. Mas o que importa é que existe esta opção e que realmente traz um certo conforto para submissão de versões.

No vídeo abaixo, explico (descomplico), na íntegra, mais detalhes sobre a solução:

Referências

Este foi apenas um tópico sobre muitas funcionalidades que o Azure nos oferece. Você poderá acompanhar os outros vídeos voltados para esta ótima plataforma no canal do Youtube:

Azure Brasil – Comunidade Técnica

Para saber mais detalhes sobre os Deployment Slots, acesse os links abaixo:

https://docs.microsoft.com/pt-br/azure/app-service/web-sites-staged-publishing
https://blogs.msdn.microsoft.com/mvpawardprogram/2017/05/16/deploy-app-azure-app-service/

Agradecimento

Agradeço mais uma vez à Azure Brasil pela grande oportunidade.

Azure Brasil – Youtube
Azure Brasil – Facebook

 

Valeu e até a próxima!