Fundamentos de Microsoft Azure – Azure Developer Associate

Apresento neste artigo os fundamentos de Computação em nuvem, Microsoft Azure e seus principais serviços. Mesmo que a certificação não seja a Fundamentals, acredito que seja relevante reforçar esses conceitos pilares sobre nuvem e Microsoft Azure.

Série Azure Developer Associate:

First things first. Bora?

O que é Computação em nuvem?

Cloud Computing, ou computação na nuvem, é a disponibilização de recursos de TI através da internet, sob demanda.

Entre os seus principais benefícios estão:

  • Agilidade e flexibilidade às equipes: através da computação na nuvem equipes têm acesso a uma variedade enorme de serviços, permitindo o gerenciamento rápido de recursos como máquinas virtuais, bancos de dados, além de serviços de machine learning, data lakes, Internet of Things, Serverless, entre outros. Diversos desses exigem uma expertise para serem desenvolvidos internamente, e agilizam a inovação das empresas.
  • Economia de custo: por ser cobrado sob demanda, permite que os custos associados a data centers e servidores físicos (sendo cobrados em adiantado) sejam trocados por custos sob demanda, que acabam sendo menores.
  • Segurança: o Microsoft Azure oferece um ambiente de computação flexível e seguro através de serviços e recursos que atendem diversos requisitos de segurança e compliance, como localidade, proteção e confidencialidade dos dados.

Por todas essas razões, esse tema tem sido cada vez mais recorrente em descrições de vagas de emprego. Isso não quer dizer que você precisa ser o “Master Cloud Jedi das Tapiocas”. Geralmente uma visão mais desenvolvedor, como a que o Azure Developer Associate foca, é mais que suficiente. Ou seja, entender os principais serviços de nuvem e como eles se conectam, permitindo o desenvolvimento de soluções que atendam ao negócio de maneira a não reinventar a roda. Esse é o valor que vejo.

E além disso tudo, dominar computação em nuvem de uma perspectiva de desenvolvedor vai te fornecer o ferramental necessário para desenvolver suas próprias soluções/empreendimentos. Eu mesmo já lancei uma aplicação em 1 mês, com um amigo e apenas com ASP NET Core MVC, Azure App Service, Azure SQL Database e Azure Functions. Sem precisar de conhecimento técnico de máquinas virtuais nem nada, apenas com o poder de serviços como esses.

Aviso: pelo consumo de recursos ser sob demanda, assim como sua cobrança, não é raro de se ver pessoas que esqueceram recursos criados e cobrando por um bom tempo, resultando em fatura$ altas. Por favor, crie o hábito de, após validar um serviço, apagar seus recursos no portal de seu provedor de computação em nuvem, como o Azure.


O que é Microsoft Azure?

Explicado o que é computação em nuvem, vamos agora ao Microsoft Azure. Ele é a plataforma de computação em nuvem da Microsoft, oferecendo uma grande conjunto de serviços que estão constantemente em atualização e expansão. Os resultados do Q4, publicados recentemente no dia 27 de julho, mostram a força com que a plataforma tem crescido.

Existem diversas categorias de serviço, mas vou citar algumas logo a seguir, focando nas mais utilizadas de maneira direta por desenvolvedores:

  • AI + Machine Learning: serviços relacionados a aprendizado de máquina e inteligência artificial. Exemplos: detecção de anomalia, bots, aprendizado de máquina, visão computacional, processamento de linguagem natural, entre outros;
  • Computação: serviços relacionados a processamento na nuvem sob demanda. Exemplos: App Service, Azure Functions, Azure Kubernetes Service, Mobile Apps, Virtual Machines, entre outros;
  • Containers: serviços relacionados a desenvolvimento e gerenciamento de aplicações em containers. Exemplos: Azure Kubernetes Service, Container Registry, Service Fabric, Azure Red Hat OpenShift, entre outros;
  • Bancos de dados: serviços relacionados a bancos de dados. Exemplos: Azure Cache for Redis, Azure Cosmos DB, Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL, Table Storage, entre outros;
  • DevOps: serviços que oferecem ferramentas para entrega contínua, agilizando e melhorando a qualidade do fluxo de desenvolvimento. Exemplos: Azure DevOps, Azure Boards, Azure Repos, Azure Monitor, Azure Pipelines, Azure Artifacts, entre outros;
  • Integração: serviços relacionados a integração entre aplicações, dados e processos dentro de uma empresa. Exemplos: API Management, Service Bus, Event Grid, Logic Apps, entre outros.
  • Armazenamento: serviços relacionados a armazenamento de dados, apps e cargas de trabalho, em nuvem de maneira escalável. Exemplos: Azure Blob Storage, Queue Storage, Azura Disk Storage, entre outros;
  • Web: serviços relacionados a construção, publicação e escala de aplicações web. Exemplos: App Service, Azure SignalR, Azure Spring Cloud, Static Web Apps, Notification Hubs, Azure Maps, API Management, entre outros.

Além desses, existem muitos mais como Identity, IoT, Media, Segurança, Blockchain, Analytics, e mais. É um universo grande de serviços que atendem aos mais diversos requisitos. Aqui você pode ver uma lista completa dos serviços oferecidos!


Conceitos principais

  • Conta do Azure: conta utilizada para que sejam criados e gerenciados recursos de serviços na Cloud. Contém uma ou mais assinaturas, que conterão grupos de recursos. A Microsoft oferece uma conta de estudante gratuita do Azure, com US$100 em créditos, e também acesso a ferramentas de desenvolvimento gratuitas. Conheça mais sobre isso aqui.
  • Assinaturas: geralmente são utilizadas para o propósito de dividir e facilitar o gerenciamento, tanto de um ponto de vista financeiro (já que as faturas são em cima de recursos utilizados em uma fatura), quanto gerencial (como por setor ou área de uma empresa).
  • Grupos de recursos: agrupamentos lógicos de recursos dentro de uma assinatura. Geralmente são agrupados recursos associados a uma solução, como um projeto, que tem o mesmo ciclo de vida. Por exemplo, um projeto de uma plataforma de fórum poderia ter seu próprio grupo de recursos no Azure, contendo diversos recursos necessários como Azure App Service, Azure SQL Database, Azure Functions, entre outros
  • Recursos: são instâncias de um serviço que se paga pelo uso, e que é gerenciado pela conta, estando atrelado a um grupo de recursos e assinatura.
  • Região: conjunto de datacenters que fazem parte de um mesmo perímetro geográfico definido, e que estão conectados por uma rede regional de baixa latência. A infraestrutura global do Azure contém mais de 60 regiões!
  • Portal do Azure: portal web (e que conta com um app também!) que permite a criação, gerenciamento e monitoramento de contas, assinaturas, grupos de recursos e recursos de maneira unificada
  • Azure CLI: ferramenta de linha de comando que permite a conexão ao Microsoft Azure, além da execução de comandos em cima de recursos da conta. É multiplataforma, podendo ser instalada é computadores Windows, Mac ou Linux, e sendo incluída também no Azure Cloud Shell no navegador, ou mesmo em um container Docker.

Eu indico o roteiro apresentado no Microsoft Learn do Azure Fundamentals para reforçar os conceitos e serviços fundamentais da plataforma. Você pode acessar a página da certificação neste link, e logo abaixo na tela vai encontrar os roteiros de aprendizagem do Microsoft Learn.


Com os principais conceitos apresentados, no próximo artigo vou iniciar o tópico Implement IaaS Solutions, cobrindo a criação de máquinas virtuais (VMs) no Microsoft Azure.

Segue me acompanhando, ein? Nos vemos no próximo artigo!