Black November

Até 50% OFF

Vai acabar em

00

DIAS

00

HORAS

00

MIN

00

SEG

Alura > Cursos de Programação > Cursos de .NET > Conteúdos de .NET > Primeiras aulas do curso .NET: Soluções em nuvem com Azure na prática

.NET: Soluções em nuvem com Azure na prática

Conceitos de nuvem e Azure - Apresentação

Apresentando o curso e o instrutor

Olá! Sejam todos bem-vindos ao novo curso da Alura: Soluções em Nuvem Azure com .NET na Prática. Já observamos quantas aplicações .NET interessantes construímos, mas nunca tivemos a oportunidade de migrar para a nuvem.

Meu nome é Marcelo Oliveira e faço parte da Escola de Programação da Alura. Por motivos de acessibilidade, vou me auto-descrever: sou um homem branco, tenho cabelos e barba escuros, uso óculos, estou vestindo uma camiseta marrom e, ao fundo, há uma parede iluminada pelas cores roxo e azul.

Preparando para o curso

Antes de começarmos, é importante que já tenhamos alguns fundamentos. Precisamos ter um conhecimento básico em linguagem C# e em AspNet Core. Este curso foi pensado para pessoas desenvolvedoras que desejam se aventurar pela primeira vez ou se aprofundar na Programação em Nuvem. Seremos as pessoas desenvolvedoras que ajudarão a migrar a solução local da Clínica Volmed para a nuvem.

Antes de irmos para a prática, abordaremos, logo na primeira aula, os conceitos básicos de uma nuvem pública e como eles diferem de um ambiente local e on-premises. Começaremos entendendo os conceitos de computação em nuvem e como o Azure se posiciona entre as grandes plataformas do mercado. Conheceremos os modelos de serviço, aprenderemos o que são as regiões do Azure e como isso impacta em nossa aplicação. Também exploraremos o portal do Azure e mostraremos como criar e organizar os recursos usando linha de comando.

Explorando banco de dados e publicação de aplicações

Na Aula 2, entraremos na parte de Banco de Dados. Veremos como conectar um projeto AspNet Core ao SQL Server local e, em seguida, migrar tudo para o Azure SQL Database com total segurança e escalabilidade. Apresentaremos também o Azure Cosmos DB, mostrando como lidar com informações mais flexíveis no formato NoSQL, ideal para quando o sistema precisa crescer e evoluir rapidamente.

Na Aula 3, colocaremos a aplicação na nuvem. Nessa aula, publicaremos um projeto MVC.

Na Aula 3, vamos aprender a publicar um projeto Web API no Azure App Service. Utilizaremos o Visual Studio para publicar a aplicação diretamente e configuraremos tudo para que o sistema funcione perfeitamente na nuvem.

Protegendo e monitorando a aplicação

Na Aula 4, será o momento de proteger o acesso à nossa aplicação. Exploraremos o Microsoft Entra, o serviço de identidade que gerencia a autenticação e autorização de usuários. Demonstramos na prática como manter a aplicação segura sem a necessidade de reinventar todo o sistema de login.

Toda aplicação em produção precisa ser observada. Por isso, na Aula 5, abordaremos monitoramento e diagnóstico. Aprenderemos a usar os recursos de monitoramento para acompanhar os logs, as métricas e a performance da aplicação em tempo real com o Azure.

Avançando em arquiteturas e automação

Na Aula 6, entraremos em arquiteturas mais avançadas. Conheceremos o Azure Service Bus e as Azure Functions. Aprenderemos a utilizar a mensageria para desacoplar os componentes e aumentar o desempenho da aplicação.

Quando a aplicação estiver mais madura, na Aula 7, vamos automatizar a publicação. Nesta aula, criaremos pipelines de CI e CD com GitHub Actions, que automatizarão o deploy das aplicações para a nuvem.

Otimizando desempenho e concluindo o curso

Fechando com chave de ouro, mergulharemos na otimização de desempenho na Aula 8. Entenderemos como aplicar um cache com Redis para reduzir a carga do banco de dados e acelerar as respostas ao usuário.

Ao concluir este curso, teremos uma visão prática e integrada de como construir operações com aplicações profissionais no Azure. Preparemos o Visual Studio, conectemos nossa conta do Azure e transformemos nossa aplicação local em uma solução moderna, segura e pronta para escalar na nuvem.

Não se esqueçam de aproveitar os recursos da plataforma da Alura. Além dos vídeos, contamos com atividades práticas e com o apoio da comunidade no fórum e no Discord. Vamos estudar?

Conceitos de nuvem e Azure - O que é computação em nuvem?

Introduzindo conceitos de nuvem e Azure

Iniciamos nosso curso com a Aula 1, que aborda os conceitos de nuvem e Azure. Vamos começar com um contexto inicial. Recentemente, finalizamos o desenvolvimento da aplicação da Volmed, uma solução para clínicas médicas que gerencia médicos, pacientes e consultas. Utilizaremos este projeto, que é uma solução AspNetCore, ao longo de todo o curso como exemplo de uma aplicação a ser implantada na nuvem da Azure.

Teremos duas possibilidades de implantação. No caso da Volmed, é possível realizar uma instalação local, conhecida em inglês como cenário on-premises. Isso significa que a clínica Volmed manterá seu próprio parque de máquinas em um data center próprio ou alugado. A outra possibilidade é o cenário de nuvem. Com a nuvem da Azure, ou qualquer outra, todo o trabalho, mão de obra e custos de implantação inicial são transferidos para um provedor de serviços de nuvem, permitindo que a empresa foque em seu negócio principal, que são os serviços médicos.

Explorando desafios do cenário on-premises

Se a empresa optar pelo cenário on-premises, enfrentará algumas dificuldades, como o investimento inicial em hardware. Será necessário adquirir máquinas, equipamentos, cabeamento e contar com pessoal especializado para gerenciar e manter essas máquinas. Além disso, as máquinas têm vida útil, o que implica em custos de manutenção contínuos.

Outra dificuldade é a escalabilidade em momentos de pico. Por exemplo, em um e-commerce, há momentos de grande demanda, como no Dia das Mães, Dia das Crianças, Black Friday e Natal. Nesses períodos, o volume de hardware pode ser insuficiente para atender a todas as requisições simultâneas. Isso exige a compra ou aluguel de máquinas adicionais, configuração e instalação de software, gerando dificuldades para escalar.

Há também limitações para levar a aplicação a diferentes regiões do Brasil. Se o data center estiver localizado em uma única região, a prestação de serviços para o país inteiro pode ser problemática, pois nem todas as regiões terão o mesmo nível de serviço e usabilidade. A experiência do usuário pode ser prejudicada em diferentes regiões.

Destacando vantagens do uso da nuvem

A alternativa é utilizar os serviços de um provedor de nuvem. Com a nuvem, temos características peculiares e amplamente conhecidas, pois atualmente todos utilizam a nuvem, mesmo que apenas como usuários. Com um provedor de nuvem, como a Azure, temos provedores globais, o que significa que há locais espalhados pelo mundo inteiro fornecendo serviços e infraestrutura de nuvem.

A escalabilidade é uma das vantagens, permitindo que os recursos cresçam ou diminuam conforme a demanda, evitando o pagamento por um volume excessivo de máquinas sem necessidade.

Quando a demanda aumenta, as máquinas são automaticamente instanciadas e criadas de forma transparente pelo provedor de nuvem, mantendo o mesmo nível de serviço para todos os usuários, garantindo a satisfação com o serviço oferecido. Além disso, há flexibilidade, pois é possível configurar a nuvem facilmente com as ferramentas fornecidas pelo provedor. O armazenamento é crítico para diversos serviços e aplicações, e há várias opções de armazenamento para diferentes necessidades, pagando apenas pelo tipo necessário.

Analisando serviços e segurança na nuvem

Os serviços de banco de dados são de primeira linha, incluindo bancos NoSQL, que são não estruturados, e bancos relacionais tradicionais. Diversos fornecedores oferecem bancos de dados na nuvem como serviço, permitindo que se leve ou comece na nuvem com o banco de dados mais adequado para a aplicação. A segurança em redes é fundamental na nuvem, com infraestrutura já fornecida para segurança e redes, eliminando preocupações com problemas básicos de hardware, pois o provedor cuida de tudo.

Comparando provedores de nuvem

No mercado, o Azure tem mostrado crescimento significativo, impulsionado pela adoção de serviços de nuvem. Não só o Azure, mas também outros provedores concorrentes são adotados por empresas de diversos setores que necessitam de serviços de nuvem. A nuvem é cada vez mais a opção padrão para negócios e empresas. Especificamente, o Azure possui atualmente aproximadamente 20% do market share, sendo o segundo maior provedor de plataforma de nuvem do mundo, atrás apenas da Amazon AWS, que detém 30% do mercado. A Amazon é muito grande nesse segmento. Em terceiro lugar, está o Google com o Google Cloud Platform, com aproximadamente 10% do mercado.

É importante ter essa noção, pois, apesar de o Azure estar em segundo lugar com 20% do market share, é recomendável aprender sobre todas as plataformas, não apenas uma. Este curso é valioso porque, ao aprender sobre o Azure, adquirimos conceitos padrão de mercado encontrados também na AWS e no Google Cloud. A nuvem possui conceitos de armazenamento, banco de dados e rede que são comuns e muito parecidos entre as plataformas, proporcionando uma experiência e conceitos que podem ser reaproveitados ao trabalhar ou estudar outros provedores de nuvem.

Conceitos de nuvem e Azure - Modelos de serviço: IaaS, PaaS e SaaS

Introduzindo os modelos de serviço em nuvem

No último vídeo, discutimos conceitos de nuvem e Azure. Agora, vamos abordar os modelos de serviço. A Vomad precisa decidir como utilizar a nuvem para hospedar sua aplicação, pois existem diferentes formas de utilizar os recursos da nuvem, cada uma com suas vantagens e responsabilidades distintas.

Um problema comum é que muitas equipes escolhem de forma inadequada como consumir os recursos da nuvem, o que resulta em maior gasto de tempo e recursos, além de assumir responsabilidades desnecessárias e gastar mais do que o necessário.

Criando uma analogia com a preparação de alimentos

Como solução, vamos criar uma analogia entre preparar um alimento e utilizar a nuvem do Azure. Comecemos com o primeiro passo para montar um prato de macarrão. É necessário ter os ingredientes. Se começarmos a preparar o alimento do início, com ingredientes como farinha, leite, água, maisena e ovos, teremos o que está representado na imagem à esquerda: a farinha sendo preparada com os ovos e outros ingredientes sobre uma mesa. Abaixo, há um rótulo indicando que isso representa IaaS, ou infraestrutura como serviço (Infrastructure as a Service). Essa analogia sugere que precisamos fazer tudo do zero. Essa é uma forma de utilizar a nuvem em que precisamos configurar e desenvolver tudo desde o início. Embora isso exija mais trabalho, proporciona maior controle sobre todo o processo.

Existe também um meio-termo, uma solução intermediária chamada de plataforma como serviço (Platform as a Service), também conhecida como PaaS. Na imagem central, vemos o macarrão instantâneo com outros ingredientes instantâneos, já empacotados de fábrica. Compramos esses pacotes, colocamos em uma panela com água, aquecemos, mas não precisamos fabricar o macarrão, pois ele já vem pronto. Misturamos com outros ingredientes e água quente para finalizar o prato. Isso reduz o trabalho e diminui a necessidade de controle. Cada abordagem tem suas vantagens e desvantagens.

Comparando os modelos de serviço: IaaS, PaaS e SaaS

A terceira opção é comprar o prato pronto. Nesse caso, pedimos pelo aplicativo de celular, adquirimos o prato e ele é entregue em nossa casa para consumo. Fazemos uma analogia comparando esse tipo de uso com o SaaS (Software as a Service, ou software como serviço), onde tudo já está pronto, bastando apenas utilizar. Essas três formas chegam ao mesmo resultado, mas variam no nível de esforço, controle e praticidade. Isso também ocorre com os modelos de nuvem.

Apresentamos uma tabela para exemplificar o que são essas siglas, além de on-premises, que já discutimos, o IaaS, o PaaS e o SaaS. Vamos explorar as diferenças entre eles. Já falamos sobre on-premises, que são máquinas mantidas na empresa, em um data center próprio ou alugado. A empresa tem controle total, mas enfrenta mais trabalho e problemas relacionados à infraestrutura e segurança.

Explorando as características de IaaS, PaaS e SaaS

Vamos abordar as outras colunas: IaaS, PaaS e SaaS. No caso da infraestrutura como serviço (IaaS), ao pensar em nuvem, gerenciamos servidores, rede e sistema operacional, semelhante a ter controle sobre todos os ingredientes de uma refeição que preparamos. Um exemplo no Azure é criar uma máquina virtual e instalar manualmente o .NET para desenvolver aplicações.

No caso do Platform as a Service (PaaS), a nuvem já entrega um ambiente pronto para rodar a aplicação. Por exemplo, o Azure App Service permite publicar uma aplicação da Volmed no .NET sem preocupação com o servidor.

A terceira coluna, SaaS (Software as a Service), refere-se a aplicações prontas para consumo. Um exemplo é o uso do Microsoft 365 para comunicação com a equipe da Volmed. O Microsoft 365 permite que as equipes da clínica Volmed se comuniquem sem a necessidade de desenvolver uma aplicação própria, pois a Microsoft já fornece tudo instalado e vinculado à nuvem.

Concluindo sobre a escolha do modelo de serviço

Esses são os diferentes níveis de modelo de serviço de nuvem. Cada modelo tem seu lugar, cabendo à equipe da Volmed e a nós, como pessoas desenvolvedoras, avaliar o que faz mais sentido em termos de custo, controle e agilidade.

Sobre o curso .NET: Soluções em nuvem com Azure na prática

O curso .NET: Soluções em nuvem com Azure na prática possui 574 minutos de vídeos, em um total de 108 atividades. Gostou? Conheça nossos outros cursos de .NET em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda .NET acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas