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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Esperamos que tenham apreciado a parte teórica. Nos vemos na próxima aula!
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:
O Plano Plus evoluiu: agora com Luri para impulsionar sua carreira com os melhores cursos e acesso à maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Back-end, Dados, Front-end, DevOps, Mobile, Gestão & Negócios, UX & Design, Cibersegurança, Cloud, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Catálogo de tecnologia para quem é da área de Marketing
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
20% de desconto na Pós Tech
Luri Vision chegou no Plano Pro: a IA da Alura que enxerga suas dúvidas, acelera seu aprendizado e conta também com o Alura Língua que prepara você para competir no mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Acesso ao catálogo da Casa do Código e leitura dentro da plataforma
Chat, busca, exercícios abertos, revisão de aula, geração de legenda para certificado.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para quem quer atingir seus objetivos mais rápido: Luri Vision ilimitado, vagas de emprego exclusivas e mentorias para acelerar cada etapa da jornada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Catálogo de tecnologia para quem é da área de Marketing
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais de forma ilimitada.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.