Alura > Cursos de Cloud > Cursos de Azure > Conteúdos de Azure > Primeiras aulas do curso Computação em Nuvem: práticas e governança com Azure

Computação em Nuvem: práticas e governança com Azure

Fundamentos de computação em nuvem - Fundamentos de Cloud Computing

Apresentando o curso e o instrutor

Sejam todos muito bem-vindos a este curso de introdução a Cláudio Pompilcin. Meu nome é Rafael Ferreira e serei o instrutor durante todo este percurso.

Audiodescrição: Rafael é um homem branco, com olhos claros e verdes, cabelo longo e escuro. Ele está usando uma camiseta da Alura, que levanta para mostrar. Rafael menciona ser um "Alluristar" e que recebeu a camiseta para divulgar e evangelizar a comunidade da Alura em suas redes sociais. Ao fundo, há vários Funko Pops, Action Figures (figuras de ação) e uma lâmpada da Azure, que ele menciona como um spoiler do curso. O curso será focado em práticas usando Azure, mas todas as aulas teóricas se concentrarão em Multicloud, em conceitos que podem ser usados em qualquer provedor de nuvem. Rafael também possui uma lâmpada azul e dois controles de videogame em sua estante.

Compartilhando a experiência profissional e pessoal

Muito prazer, meu nome é Rafael Ferreira, e já trabalho há mais de 10 anos na área de tecnologia. Atualmente, sou engenheiro sênior de plataforma Azure na Estefania, na América do Norte, em um conceito global e multinacional. Caso tenham dúvidas sobre como é trabalhar em uma empresa norte-americana, minhas redes sociais estão disponíveis para contato, e terei prazer em conversar.

Atualmente, possuo mais de 20 certificações técnicas na área de tecnologia. Sou graduado em CESA Computação e também tenho uma pós-graduação na área de Educação. Atualmente, sou Azure Compute Infrastructure, Aluristar, e também recebi outros reconhecimentos pela comunidade, como Embaixador do Instituto DevOps. Recentemente, fui nomeado Embaixador de Plataforma Engineer, também uma comunidade. Sou organizador de várias comunidades em Florianópolis, relacionadas com Azure, DevOps e toda a parte de Cloud Native relacionada com a CNCF. Também tenho um podcast, e convido todos a escutarem. Já entrevistei vários profissionais focados em diversas áreas. Sintam-se à vontade para escolher os temas de interesse.

No âmbito pessoal, tenho uma mascote, uma golden retriever.

Introduzindo os conceitos fundamentais de Cloud Computing

Vamos aos primeiros objetivos desta aula. Abordaremos os conceitos fundamentais sobre economia, orientados a CAPEX e OPEX, os modelos de serviço: IaaS, PaaS, SaaS, e as formas de implementação utilizando essas metodologias. Além disso, entenderemos completamente o que é a segurança compartilhada, como utilizá-la e quais são os principais provedores de nuvem.

Para começar, o que é Cloud Computing, ou computação em nuvem? Trata-se de utilizar recursos como serviço. Imaginem que estamos acessando servidores e armazenamento, tudo via internet, como se fosse nossa rede elétrica. Pagamos apenas pelo uso. É como alugar um carro em uma agência de aluguel: não compramos o carro, apenas pagamos pelos dias de uso. Da mesma forma, com outros tipos de serviço, como a Netflix, pagamos conforme nossa demanda.

Comparando infraestrutura tradicional e Cloud Computing

No passado, sem o Cloud Computing, tínhamos nosso próprio data center, o que exigia uma compra cara e muitas vezes desnecessária, já que o hardware ficava ocioso em determinados períodos. Com o Cloud Computing, pagamos apenas pelo que usamos. Em períodos como a Black Friday, por exemplo, nosso e-commerce pode precisar de muita capacidade computacional, e o provedor de nuvem nos fornece isso. Foi assim que a AWS surgiu, oferecendo capacidade computacional sob demanda.

Existe o modelo pay-as-you-go (pague conforme o uso), onde pagamos apenas pelo consumo, sem custos fixos. Se criarmos uma máquina virtual e a desligarmos, não pagamos; pagamos apenas pelo tempo em que está funcionando. Antes, tínhamos a infraestrutura on-premises, e hoje falamos sobre a nuvem, a evolução da nossa infraestrutura.

Explicando CAPEX e OPEX

O CAPEX exigia a compra de hardware, uma despesa fixa e antecipada. Imaginemos um período de cinco anos até a renovação ou substituição do hardware, com garantia do fornecedor. Por exemplo, comprávamos pagando um valor X, baseado em cinco anos, e esse valor era amortizado ao longo do tempo.

No entanto, existia uma rigidez de uma capacidade limitada e ociosa, pois precisávamos de uma capacidade computacional muito grande. Não sabíamos exatamente o que era necessário, então era melhor comprar de uma vez, já que existiam licitações. Era necessário fazer um levantamento com os fornecedores, e até adquirir o hardware levava muito tempo. Hoje, quando falamos de Cloud (nuvem), falamos de OPEX, pagamos apenas conforme o uso, conforme nossa demanda. A magia da Cloud é a elasticidade: podemos, por exemplo, implantar uma máquina virtual com 2 GB de memória RAM e, no dia seguinte, aumentá-la para 4 GB, pagando apenas a diferença de um dia para o outro. Se no terceiro dia quisermos reduzir para 2 GB novamente, pagamos o mesmo valor inicial. Assim, pagamos apenas pela diferença no segundo dia e pelo que realmente utilizamos.

Explorando os benefícios da nuvem

Deixamos de administrar os datacenters, de nos preocupar com ar-condicionado, parte elétrica, refrigeração, internet, telecomunicações e muitas outras coisas, para apenas administrar as nuvens e usar este novo mundo moderno. Consumindo serviços, produzindo soluções e criando complexidades, encontramos alguns dos benefícios da nuvem. Aqui, temos quatro categorias, sendo que duas delas foram divididas em subcategorias. A primeira é a alta disponibilidade. Nosso provedor de nuvem oferecerá alta disponibilidade, mas nós, como arquitetos e analistas, precisamos projetar uma solução que garanta essa disponibilidade. Não podemos esperar que o provedor de nuvem garanta 100% de SLA; é necessário configurá-la de acordo com as estratégias, por isso é importante estudar e conhecer como funciona cada provedor de nuvem.

Garantimos a confiabilidade. Um serviço rodando na nuvem terá uma confiabilidade muito maior do que se estivesse em nossa infraestrutura local, onde podem ocorrer diversos problemas naturais, como inundações, incêndios e quedas do data center. Na nuvem, se uma região sofrer um desastre natural, podemos mover o serviço para outra região, como Estados Unidos ou Europa.

Detalhando escalabilidade, elasticidade e segurança na nuvem

A escalabilidade e a elasticidade sob demanda permitem aumentar o hardware de 2 para 4, de 4 para 8, e com a elasticidade podemos adicionar muitas máquinas, duplicando-as. A escalabilidade refere-se ao aumento de capacidade, enquanto a elasticidade permite adicionar várias máquinas para absorver e gerenciar as cargas.

A segurança robusta e a governança são fundamentais. Ao usar as nuvens, temos uma segurança compartilhada. Não é porque o serviço está na nuvem que estará totalmente protegido; ao contrário, pode estar mais exposto a problemas. Na nuvem, precisamos duplicar nossa segurança e reforçar todas as camadas para proteger nossos dados. A governança nos permite saber quem está acessando o quê, como e quando.

Discutindo previsibilidade e gestão na nuvem

Outra categoria é a previsibilidade e capacidade de gestão. Ao criar um recurso, já sabemos aproximadamente quanto custará, permitindo uma gestão eficaz para saber se estamos excedendo nosso limite mensal, quinzenal ou semanal. Podemos criar alertas para notificar sobre qualquer anomalia, permitindo escalar e ativar a funcionalidade de elasticidade. Em caso de ataques, como bots ou hackers, podemos implementar funções para identificar se a demanda é real de usuários ou de bots, facilitando a previsibilidade e gestão.

Concluindo com os motivos para migrar para a nuvem

Por que migrar para a nuvem? Economia e escala. Ao optar por OPEX, pagamos apenas conforme o uso, com custos variáveis e menores devido ao volume massivo dos fornecedores. Podemos trabalhar com parceiros, economizar e criar estratégias com eles. Podemos fechar contratos não apenas diretamente com o provedor de nuvem, como Amazon ou Microsoft, mas também com intermediários que oferecem investimentos e benefícios para migrar nossa carga de trabalho para a nuvem.

A agilidade é outro benefício. Em vez de solicitar um novo datacenter, que levaria meses, podemos implantar uma máquina virtual em minutos, facilitando armazenamento e redes. A elasticidade permite aumentar ou diminuir a capacidade automaticamente conforme o tráfego e uso. Podemos implementar balanceadores de carga e criar regras para ajustar conforme nosso uso.

Esses são os principais benefícios que sempre destacamos ao falar de Cloud. É gratificante apresentar e mover nossa carga de trabalho para a nuvem. Vamos encerrar este módulo e nos vemos na próxima aula. Até mais!

Fundamentos de computação em nuvem - Modelos de Serviço em Cloud

Introduzindo o modelo de responsabilidade compartilhada

Continuemos em nossa segunda aula do primeiro módulo, que aborda o modelo de responsabilidade compartilhada. É importante entender que temos uma responsabilidade compartilhada quando falamos sobre a gestão de infraestrutura local. Temos a gestão do provedor. Quando gerenciamos os datacenters, administramos a rede física, o hardware, o sistema de refrigeração do datacenter, a disponibilidade, quem está acessando a sala, e precisamos gerenciar se a rede elétrica estará fornecendo energia, além de muitas outras responsabilidades, como a internet. Ao migrarmos para a nuvem, podemos compartilhar essas responsabilidades. Podemos nos concentrar mais no negócio e na aplicação, pensando em trazer mais benefícios ao nosso negócio em vez de focar na gestão de hardware.

Temos três categorias: IaaS, PaaS e SaaS, que são infraestrutura como serviço, plataforma como serviço e software como serviço. Na primeira, IaaS, nós gerenciamos o sistema operacional, os dados e as aplicações. Por exemplo, ao solicitar a criação de uma máquina virtual a um provedor de nuvem, precisamos gerenciar o sistema operacional, a segurança, as atualizações, a janela de manutenção, e conhecer os dados para saber se a máquina virtual está sofrendo ataques de IPs públicos. Precisamos saber quais aplicações estão sendo executadas, como atualizar bibliotecas ou instalar frameworks. Há muitas responsabilidades na gestão de uma máquina virtual.

Explorando as camadas de serviço em nuvem

Na segunda camada, ao trabalharmos com plataforma como serviço, focamos apenas nos dados e nas aplicações, utilizando aplicações e serviços, bases de dados como serviço, funções como serviço, e compartilhamos essa responsabilidade com o provedor de nuvem.

No último caso, o software como serviço, como Microsoft 365, Gmail ou Netflix, nos preocupamos apenas em pagar e usar o software, sem nos preocupar com o hardware ou o código, apenas consumindo e utilizando o que a aplicação oferece.

Detalhando infraestrutura como serviço

Falando de infraestrutura como serviço, a famosa máquina virtual é a base da infraestrutura. Mesmo ao falarmos de plataforma como serviço ou software como serviço, eles ainda serão executados dentro de uma máquina virtual. A máquina virtual criada no provedor de nuvem será executada em um servidor da Amazon ou Microsoft, por exemplo, gerando camadas de abstração e serviço para, no final, usarmos computadores e máquinas virtuais, falando de poder computacional.

Existem famílias de instâncias focadas em computação, memória ou uso geral, conforme a necessidade. Para machine learning, treinamento ou ciência de dados, escolhemos uma máquina com foco em GPU. Para mais memória, escolhemos uma máquina para usar uma base de dados instalada. Para uso geral, escolhemos uma máquina mais econômica.

Abordando escalabilidade e elasticidade

Sobre escalabilidade e elasticidade, podemos escalar verticalmente, adicionando mais poder computacional à máquina virtual, ou horizontalmente, com autoescalonamento no balanceador de carga. O balanceador de carga verifica o tráfego, e se houver muito acesso, ele ativa outra máquina virtual. Durante a madrugada, com menos acessos, ele desativa máquinas conforme necessário.

Ao usar o provedor de nuvem, temos várias métricas nativas para saber o uso de poder computacional, seja de processador, memória ou GPU, e podemos criar uma lógica conforme a necessidade do negócio. Os principais tipos de máquinas e potência computacional são EC2 na Amazon, máquina virtual na Azure e Compute Engine na GCP, todos com o mesmo propósito.

Introduzindo virtualização e contêineres

Além de máquinas virtuais, temos virtualização e contêineres. Embora não trabalhemos com virtualização ou contêineres neste curso, é importante conhecê-los, pois podemos abordar esses temas mais adiante. A virtualização permite criar outra máquina virtual dentro de uma máquina virtual, usando um hipervisor ou virtualizador, conforme a necessidade do negócio. Ao criar uma máquina virtual na Azure, por exemplo, ela também é criada no servidor da Microsoft ou AWS, introduzindo o conceito de nested, ou aninhamento, que é uma máquina virtual dentro de outra.

Os contêineres criam várias caixas, abstrações e isolamentos para executar uma máquina virtual muito pequena. A virtualização permite que o software divida um servidor físico em várias máquinas virtuais.

Infraestrutura e serviços em nuvem

A máquina virtual (VM) emula o hipervisor completo e possui seu próprio sistema operacional. Podemos instalar Windows, Mac ou Linux. Já os contêineres são uma evolução mais leve, que compartilham o sistema operacional do host. Eles são portáteis e eficientes, permitindo o uso do mesmo contêiner em diferentes plataformas como Amazon, AWS, GCP, OCI, Azure, entre outras.

Além das máquinas virtuais, quando falamos de infraestrutura como serviço, temos a parte de armazenamento. O block storage são discos utilizados para alojar nosso sistema operacional, realizar o boot ou armazenar dados. Podemos adicionar mais discos virtuais dentro de nossa máquina, como se fosse um servidor. Já o object storage é utilizado para armazenamento de dados não estruturados, como imagens, documentos, vídeos e fotos, funcionando como um contêiner que abriga esses dados.

Na parte de rede, temos o balanceador de carga, que fica exposto à internet. Existe a zona de sub-rede pública, um conceito mais comum na AWS, que se conecta ao load balancer e fica exposta à internet. Já a sub-rede privada, como em outros provedores de nuvem, não é exposta. Podemos usar endereços como 10.10.0.0, que não entram em conflito com outras redes virtuais, desde que não façamos a conexão ou peering.

Armazenamento de objetos

O armazenamento de objetos é ideal para arquivos, vídeos, backups, logs e outros tipos de dados não estruturados. Na AWS, é chamado de Amazon S3 (Simple Storage Service). Na Microsoft, é conhecido como Azure Blob Storage, e no GCP, como Google Cloud Storage. No Azure, o serviço de provisionamento é chamado de Storage Account, mas a correspondência entre os provedores de nuvem é o Azure Blob Storage. Esses são serviços de armazenamento, mas no Azure, há funcionalidades adicionais como filas, tabelas e compartilhamentos de arquivos.

Plataforma como serviço

Na plataforma como serviço, o foco é no desenvolvimento de código, abstraindo o sistema operacional, que é gerido pelo próprio provedor de nuvem. A gestão do hardware, incluindo problemas de memória, placa gráfica ou processador, fica a cargo do provedor. Não precisamos nos preocupar com atualizações do sistema operacional, vulnerabilidades ou questões de segurança. Geralmente, quem utiliza essas ferramentas são as pessoas desenvolvedoras.

Alguns exemplos incluem hospedagem de aplicações web, como Elastic Beanstalk na AWS, App Engine no GCP e Azure App Service no Azure. Outro exemplo são as bases de dados SQL gerenciadas, onde não precisamos nos preocupar com backups ou atualizações de segurança, pois o provedor de nuvem cuida disso. Na AWS, temos o Amazon RDS, no Azure, o Azure SQL Database, e no GCP, o Cloud SQL.

Software como serviço

O software como serviço é um produto completo, gerenciado 100% pelo provedor, incluindo servidores de e-mails, OneDrive e outros serviços de armazenamento, como calendários, Gmail e Office 365. Esses serviços são utilizados por usuários finais, como nós e nossas famílias.

Modelo de responsabilidade compartilhada

Para esclarecer, existe o modelo de responsabilidade compartilhada. Temos a responsabilidade em on-premise, infraestrutura como serviço, plataforma como serviço e software como serviço. Na camada mais baixa, a responsabilidade é transferida para o provedor de nuvem. Em on-premise, hosts físicos, rede física e datacenter físico são totalmente administrados pelo cliente. Na infraestrutura como serviço, essa responsabilidade é transferida para a nuvem, assim como na plataforma e no software como serviço.

A responsabilidade varia conforme o tipo de serviço. Na plataforma como serviço, compartilhamos a responsabilidade, por exemplo, no controle de rede. No software como serviço, é totalmente gerenciado pelo provedor. Na camada mais alta, a responsabilidade sempre fica com o cliente, incluindo informações, dados, acessos, contas e identidades, desde on-premise até o software como serviço.

Existem responsabilidades compartilhadas, e essa correspondência está presente em AWS, Azure, GCP, Alibaba, OCI, entre outros. O provedor foca na segurança da nuvem, cuidando do hardware e dos data centers, enquanto o cliente se preocupa com a segurança na nuvem, dados, senhas e acessos. Podemos trabalhar em conjunto com o provedor de nuvem para alcançar a melhor segurança, projetar soluções e arquiteturas. A segurança é uma colaboração obrigatória.

Agradecemos pela atenção e nos vemos na próxima aula.

Fundamentos de computação em nuvem - Organização e Estrutura em Cloud

Finalizando a parte teórica sobre provedores de cloud

Vamos finalizar a parte teórica do nosso primeiro módulo, abordando os principais provedores de cloud. A AWS é pioneira, com a maior infraestrutura global. Ela possui uma vasta quantidade de data centers em diversos países. Sendo a primeira a iniciar nesse mercado, é a mais adotada. Se fôssemos recomendar, sugeriríamos que vocês considerassem a AWS. No entanto, nossa principal escolha é o Azure, que possui uma forte integração corporativa. Muitas empresas que utilizam o Active Directory, Windows Server, Office, Teams e o 365 optam pelo Azure devido à sua excelente integração.

Se o seu histórico é semelhante ao nosso, com foco em Microsoft, Azure e Windows, recomendamos seguir o caminho do Azure. Porém, se preferir o que a Google oferece, saiba que ela também possui uma vasta gama de serviços, focados em dados, inteligência artificial, machine learning, data science e Kubernetes. É uma boa opção para estudo e foco.

Explicando regiões e zonas de disponibilidade

Os provedores de cloud oferecem regiões, que são locais geográficos com múltiplos data centers. Esses data centers possuem zonas de disponibilidade, conhecidas como AZs, que são isoladas para garantir alta disponibilidade. Cada localidade possui várias dessas zonas, próximas umas das outras, para assegurar que, se uma falhar, outra assuma.

Alguns exemplos de regiões incluem o Leste dos Estados Unidos, Oeste da Europa, Ásia, Pacífico Sul e Brasil. Existem diferentes modelos de cloud: público, privado, híbrido e multi-cloud. No Azure, por exemplo, dentro de uma região, temos zonas de disponibilidade com múltiplos data centers. Um exemplo é um storage account da Azure, que possui replicação para três data centers, com três cópias por padrão e replicação geográfica. Podemos utilizar o GRS e o zone-redundant storage, garantindo cópias em três data centers com alta disponibilidade.

Discutindo modelos de implantação de nuvem

Falando de modelos de implantação, abordamos as nuvens públicas, como AWS, Azure e Google, que oferecem serviços acessíveis de qualquer lugar. Até mesmo dispositivos como geladeiras podem acessar esses serviços. Já a nuvem privada refere-se a um ambiente dedicado, sem exposição pública, acessível por VPNs e túneis seguros.

A nuvem híbrida é uma metodologia que permite a continuidade do uso de um data center próprio enquanto se utiliza um cloud provider. Isso possibilita a conexão entre a nuvem e o servidor local, proporcionando conectividade e flexibilidade. Podemos contratar um serviço na Azure chamado ExpressRoute, que funciona como se estivéssemos conectando fisicamente nosso data center local ao cloud provider. Essa possibilidade existe com parceiros, permitindo uma latência muito baixa e a utilização de múltiplas nuvens com diferentes cloud providers.

Explorando integrações e arquiteturas de provedores

Por exemplo, podemos usar o serviço da Azure OpenAI dentro da Microsoft, o serviço de Bucket e EC2 da AWS, e o Kubernetes ou outras ferramentas exclusivas da GCP. É possível configurar os endpoints públicos e integrá-los, até mesmo de forma privada, utilizando VPNs e conexões seguras. Essas são algumas das possibilidades que surgem conforme as necessidades de negócio aumentam e se tornam mais complexas.

Para entender como essas integrações funcionam, é importante conhecer as fronteiras arquitetônicas de cada provedor. Na AWS, falamos de contas, onde cada uma possui um isolamento rígido e separado, não permitindo comunicação direta entre elas. Todos os recursos são abrigados dentro de uma conta.

Detalhando estruturas organizacionais dos provedores

Na GCP, utilizamos uma estrutura hierárquica de projetos e pastas, onde permissões são herdadas de cima para baixo. A organização é composta por pastas, projetos e, finalmente, os recursos.

No cloud provider da Azure, utilizamos o conceito de tenant, que é um modelo corporativo baseado em diretório organizacional. Abaixo do tenant, temos grupos de gerenciamento, como RH, marketing e financeiro, e assinaturas para desenvolvimento, homologação e produção. A recomendação da Microsoft é centralizar os custos de cada ambiente em assinaturas separadas, permitindo um controle detalhado dos gastos.

Dentro de cada assinatura, existem grupos de recursos, onde os recursos são efetivamente alocados. Por exemplo, ao criar uma máquina virtual, é necessário selecionar o grupo de recursos e a assinatura, que já estarão associados ao grupo de gerenciamento e ao tenant.

Na AWS, a conta de gerenciamento está dentro da organização, que abriga as unidades de negócio e as contas da AWS. A conta root é a de gerenciamento, e os recursos ficam abaixo dela, proporcionando um gerenciamento mais simples.

No GCP, a organização é composta por pastas, projetos e recursos. Não existe um modelo mais fácil ou melhor; cada cloud provider desenvolveu sua estrutura com base em suas necessidades de negócio, e devemos nos adequar à realidade de cada um.

Concluindo a parte teórica

Esperamos que tenham apreciado a parte teórica. Nos vemos na próxima aula!

Sobre o curso Computação em Nuvem: práticas e governança com Azure

O curso Computação em Nuvem: práticas e governança com Azure possui 594 minutos de vídeos, em um total de 133 atividades. Gostou? Conheça nossos outros cursos de Azure em Cloud, ou leia nossos artigos de Cloud.

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

Aprenda Azure acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas