App Deploy no Azure
- #Docker
- #Azure
iremos fazer o deploy da aplicação do Prometheus, através do serviço App Service no Azure.
O App Services do Azure é um serviço com base em HTTP para hospedagem de aplicativos Web, APIs REST e back-end. Você pode desenvolver usando linguagem .NET, .NET Core, Java, Ruby, Node.js, PHP ou Python. Os aplicativos são executados e escalados com facilidade em ambientes baseados no Windows e no Linux.
Com isso, temos ganho de tempo nas implantações, portabilidade e escalabilidade, além de reduzir custos de infraestrutura.
Segue passo a passo para realização da implantação:
1. Construção do Dockerfile localmente
Temos que construir uma imagem do Docker que queremos executar na nuvem. Neste caso, vamos usar uma imagem pro Prometheus, que é um dos serviços de monitoramento mais populares do mercado.
2. Upload da imagem para dentro do DockerHub
Com uma conta no DockerHub, faça o upload da imagem anterior para o repositório:
3. Criação do Azure App service
Nesta etapa, é necessária ter uma conta no Azure. Há a possibilidade de se criar uma conta gratuita para experimentar os serviços da nuvem da Microsoft e após a expiração desse período, ela passa a ser uma conta Pay-as-you-go, onde você é cobrado somente pelo que consome.
Com a devida subscription e Resource Group criado, vá para a página de configuração.
Selecione o Resource Group onde o recurso será criado, de um nome para a aplicação, selecione a opção Docker Container e o devido Princing Plan. O restante das opções optei deixar default.
Na próxima página de configuração do Docker, selecione Single Container para fazer deploy de um container simples, Docker Hub como origem da imagem e passe o caminho do repositório anterior do DockerHub:
Revise todas as opções para fazer o deploy corretamente nos passos seguintes. No caso das opções de rede, optei por deixar default. Clique em "Create" ao fim:
Clique no endereço disponibilizado e você irá para a aplicação do Prometheus sendo executada em nuvem (Pode ser que demore um tempo, pois o Azure está fazendo todo o trabalho de por a aplicação no ar):
Vimos como é simples fazer deploy de aplicações em curto tempo e sem usar caminhos complexos.
Em um cenário de produção, podemos criar um CDN e regras de acesso para a aplicação.
Recomendo que toda a infra em nuvem criada no laboratório seja excluída para que não haja cobrança indesejadas.
No caso de utilização de outros cloud providers, consultar a devida documentação.
Referências
https://learn.microsoft.com/en-us/azure/app-service/
https://learn.microsoft.com/pt-br/azure/app-service/overview
https://learn.microsoft.com/en-us/azure/docker/