5 motivos para hospedar a sua aplicação web no Azure
Fala pessoal, tudo certo?
Este post é indicado para você, meu amigo desenvolvedor ou para você profissional de TI, que precisa hospedar a aplicação web do setor de desenvolvimento da sua empresa.
Existem inúmeros provedores web, desde pequenos provedores até as grandes e conhecidas marcas do mercado, como Microsoft e Azure.Neste artigo iremos falar sobre o Microsoft Azure. O Azure possui o recurso de Aplicativos Web nos seus serviços de aplicativo, que lhe permite compilar, implantar e gerenciar rapidamente sites e aplicativos Web avançados. E neste artigo iremos te dar 5 motivos para escolher o Azure para hospedar a sua aplicação Web. Então, vamos ao que interessa.
1º Plataforma como serviço
Os serviços de aplicativo do Azure funcionam como plataforma como serviço. Neste modelo de computação em nuvem, vocêgerencia os aplicativos e serviços que desenvolve e o provedor de serviços de nuvem normalmente gerencia todos o resto, como instalação de patches, manutenção do sistema operacional e outras atividades relacionadas com a manutenção da infraestrutura. Dessa forma, os serviços de aplicativos web do Azure, fornecem todas as funcionalidades que você precisa para dar suporte ao ciclo de vida completo do seu aplicativo Web: compilação, teste, implantação, gerenciamento e atualização no mesmo ambiente integrado. O código pode estar em qualquer linguagem ou estrutura com suporte no Serviço de Aplicativo do Azure, como ASP.NET, Node.js, Java, PHP ou Python. A imagem abaixo ilustra bem como funciona esse serviço.
2º Dimensionamento automático
Os serviços de aplicativos do Azure possuem o recurso de auto-escalonamento. Com esse recurso, você pode configurar regras para adicionar instâncias automaticamente para absorver quaisquer picos de demanda que a sua aplicação está recebendo, garantindo assim a disponibilidade e o desempenho da mesma. Por exemplo, vamos supor que normalmente você utiliza uma ou duas instâncias para absorver a carga de trabalho que sua aplicação recebe, e elas absorvem bem essa carga, porque normalmente em específicos dias do mês, ou específicas horas do dia, sua aplicação recebe poucas requisições. A imagem abaixo ilustra bem isso.
Porém, em determinadas horas do dia, ou nos dias finais do mês, sua aplicação recebe um grande número de requisições, aumentando assim a carga de trabalho das instâncias e afetando o seu desempenho. Então, de acordo com as condições e métricas que você definir, novas instâncias serão adicionadas para absorver essa carga de trabalho. Veja a imagem abaixo e verifique como ficaria o desempenho da nossa aplicação.
E assim que pico de demanda passar, ou a carga de trabalho diminuir, essas instâncias serão removidas. Desta forma, você só vai pagar durante o tempo em que essas instâncias ficarem em funcionamento.
3º Implantação contínua
A Implantação contínua permite ao desenvolvedor criar pacotes automaticamente e implantar esses pacotes no Azure após cada verificação de código. A implantação contínua é uma ótima opção para projetos nos quais várias contribuições frequentes são integradas. O Azure se integra á vários repositórios como Local Git, GitHub, BitBucket, DropBox, Onedrive e o Visual Studio Team Services. O processo de integração é simples. Basta publicar o seu conteúdo em um desses repositórios, autorizar o Azure a acessar o seu repositório digitando as suas credenciais de acesso do repositório, escolher o seu projeto e pronto, a implantação contínua foi configurada. Os serviços de aplicativo do Azure cria uma associação com o repositório selecionado, extrai os arquivos da ramificação especificada e mantém um clone do repositório para seu aplicativo do Serviço de Aplicativo. Essa integração contínua com certeza é outro diferencial dos Serviços de Aplicativo do Azure.
4º Ambientes de preparo
Esse é outro recurso que eu particularmente gosto muito. Os ambientes de preparo, ou deployment slots, permite você implantar o seu aplicativo em um slot separado, que não seja o de produção ou um slot de teste. Dessa forma, é possívelvalidar as alterações no aplicativo Web em um slot de implantação de preparo antes de mudá-lo para o slot de produção. Assim, isso elimina o tempo de inatividade quando você for implantar seu aplicativo Web. E para passar a aplicação que está no ambiente de teste para o ambiente de produção, basta apenas um clique ou um comando, simples assim. O redirecionamento do tráfego é contínuo e nenhuma solicitação é descartada como resultado dessa operação de troca. E se as alterações que foi realizada na aplicação que estava no ambiente de teste e você passou para o ambiente de produção não forem o que você esperava, é possível fazer a mesma troca imediatamente para ter o “último site bom” de volta. A imagem abaixo ilustra bem esse recurso.
5º Monitoramento avançado
O Serviço de Aplicativo fornece a funcionalidade de monitoramento. Isso inclui a capacidade de revisar cotas e métricas para um aplicativo, configurar alertas e até mesmo dimensionar automaticamente de acordo com essas métricas. Existem métricas bem interessante para você monitorar a sua aplicação como por exemplo, você pode monitorar o tempo médionecessário para o aplicativo atender às solicitações em milisegundos, consegue monitorar quantidade de largura de banda de entrada e saída consumida pelo aplicativo em MiBs, é possível também monitorar a média de CPU e memória usada em todas as instâncias do plano. Essas são algumas das métricas que o monitoramento do Azure lhe fornece para monitorar a sua aplicação. Mas além desse monitoramento padrão, o Azure possui um serviço de monitoramento avançado, que é chamado de Application Insights. O Application Insights é um serviço de análise extensível que monitora seu aplicativo Web online. Com ele, você pode detectar e diagnosticar problemas de desempenho e entender o que os usuários realmente fazem com seu aplicativo. Ele foi projetado para desenvolvedores, a fim de ajudar a aprimorar continuamente o desempenho e a usabilidade. Que baita recurso!
Concluindo, o recurso de aplicativos Web do Serviço de Aplicativo é uma plataforma de computação totalmente gerenciada que é otimizada para hospedagem de sites e aplicativos Web. Essa oferta de PaaS (plataforma como serviço) do Microsoft Azure permite que você se concentre na lógica de negócios enquanto o Azure cuida da infraestrutura para executar e dimensionar os aplicativos. Vale a pena considerar essa solução na hora de escolher um provedor de hospedagem para a sua aplicação.
Espero que vocês possam tirar bom proveito do nosso artigo. Curtam a nossa pagina do Facebook e nos sigam no nosso Linkedin e fique por dentro das nossas novidades.
Até a próxima!
Ajudo empresas a implementar soluções de Cloud Computing e DevOps com confiabilidade e segurança | Arquiteto de soluções em nuvem | DevOps | DevSecOps
8 aObrigado Juliano Onofre
Gestão de inovação, projetos, design e produtos. Coordenador de Inovação @ Cooperativa Central Ailos
8 aMaterial bacana! Parabéns Jackson Lima.