Infraestrutura
Microsoft Azure, por onde começar?
O Microsoft Azure é a plataforma de nuvem da Microsoft. Nesta plataforma, você pode consumir serviços de computação como: servidores, banco de dados, armazenamento, DNS, serviços de aplicativos, inteligência artificial e muito mais, tudo hospedado nos datacenters da Microsoft. Hoje o Microsoft Azure possui datacenters em mais de 50 regiões ao redor do mundo, permitindo assim você escalar facilmente os seus aplicativos em mais locais e de forma muito mais rápida.
A plataforma
A nuvem da Microsoft é aberta e flexível, ou seja, nela você consegue executar não apenas softwares ou serviços que rodam em ambientes Windows, mas também em plataformas open source como o Linux. O Azure dá suporte a várias distribuições do sistema operacional Linux, linguagens de programação como Java, PHP, Ruby e outras compatíveis com o Linux, bancos de dados como MySQL, plataformas de gerenciamento de contêineres como o Openshift e o Kubernetes e muitas outras tecnologias relacionadas a software livre.
Aqui na School of Net, temos um curso bem legal onde abordamos de maneira geral o uso desta plataforma. Já vimos que o Microsoft Azure é uma plataforma bem robusta e também, que pode ser muito útil o uso desta plataforma no seu projeto de desenvolvimento de software. Nos próximos tópicos vamos abordar dois serviços que são essenciais para você implantar e hospedar os seus aplicativos além de falar sobre um programa de benefícios bem legal da Microsoft para desenvolvedores.
Máquinas virtuais
Todo bom provedor de nuvem possui o seu serviço de servidores virtuais logo, com a Microsoft não é diferente. Além da escolha padrão de sistemas operacionais entre Windows e Linux, as máquinas virtuais do Azure dão suporte a uma grande variedade de soluções de computação proprietárias como IBM, Oracle e SAP. Inclusive, você pode subir as suas próprias imagens personalizadas para a plataforma e criar suas máquinas virtuais a partir dela. Além de todas essas funcionalidades essenciais, podemos integrar outros recursos para otimizar o uso e o desempenho das máquinas virtuais, como por exemplo, o uso dos balanceadores de carga.
Os balanceadores de carga distribuem o tráfego interno ou da internet para o seu conjunto de máquinas virtuais, garantindo assim alta disponibilidade e escalonamento para as suas aplicações. Os balanceadores de carga também atuam como verificadores de integridade. Eles sondam a integridade das instâncias de seus aplicativos, e tiram automaticamente instâncias não íntegras de rotação, as restabelecendo quando estas estiverem íntegras novamente. Ainda, o balanceador de carga melhora o tempo de atividade do seu aplicativo. Aqui na School of Net, temos um curso excelente de gerenciamento de máquinas virtuais no Azure, que vai lhe direcionar para usar este serviço corretamente.
Serviços de aplicativo Web
Além da maneira tradicional de implantar os seus aplicativos em máquinas virtuais, que é o modelo de “infraestrutura como serviço”, o Microsoft Azure lhe dá flexibilidade de implantar os seus aplicativos no modelo de “plataforma como serviço”, com a infraestrutura totalmente gerenciada, restando a você se preocupar apenas em gerenciar os dados da sua aplicação. É aí que entra o Serviço de aplicativos Web do Azure.
Utilizando os serviços de aplicativos web, você pode disponibilizar aplicativos Web aos usuários com rapidez usando .NET, Java, Node.js, PHP e Python no Windows ou .NET Core, Node.js, PHP ou Ruby no Linux. Além disso, os serviços de aplicativos web se integram com os principais sistemas de controle de versionamento de código-fonte como GitHub, BitBucket e Git Local.
Outro recurso muito valioso que este serviço fornece é o de slots de testes e produção. Slots nada mais é do que o conceito de ambientes de testes e produção. Trabalhando com slots de implantação, você consegue alternar entre ambiente de testes e produção em segundos e reverter para versões anteriores do seu aplicativo sem tempo de inatividade. Como material complementar, temos um curso fantástico de serviços de aplicativos web aqui na School of Net, onde ensinamos a você como implementar e gerenciar Aplicações Web por meio do Microsoft Azure.
Programa de benefícios para desenvolvedores
Hoje o modelo de pagamento do Microsoft Azure funciona no modelo Pay-per-use, ou seja, você paga apenas pelo que usar. Mas pros iniciantes de plantão, vou dar uma dica quente para usar a plataforma sem custos.
A Microsoft tem um programa chamado de Visual Studio Dev Essentials. Neste programa, ela fornece ferramentas para desenvolvimento em todas as plataformas, gratuitamente. Dentre estar ferramentas, temos o Visual Studio Comunity e o Visual Studio Code. Além das ferramentas de desenvolvimento, o desenvolvedor obtém uma conta gratuita do Azure que inclui um ano de serviços gratuitos, e US$200 no primeiro mês. Acho que já dá pra começar, né?
Conclusão
Microsoft Azure é uma das líderes no mercado de computação em nuvem, ao lado da Amazon Web Services e da Google Cloud. Vem melhorando e adicionando cada vez mais serviços e funcionalidade a sua plataforma, para beneficiar a vida dos desenvolvedores. Aqui deixo o meu incentivo para você aprender a usar esta excelente plataforma nos seus projetos de desenvolvimento de software e de quebra aproveitar um ótimo programa com ferramentas gratuitas.