Noções Básicas de Infraestrutura em Nuvem
Entenda os conceitos fundamentais de infraestrutura em nuvem que impulsionam as implantações modernas de backend.
Por que a infraestrutura em nuvem existe
A infraestrutura em nuvem substitui o gerenciamento de servidores físicos por recursos sob demanda entregues pela internet.
- Tradicionalmente, as empresas precisavam comprar e manter seu próprio hardware.
- O dimensionamento exigia configuração manual e planejamento para a capacidade de pico.
- As plataformas de nuvem fornecem computação, armazenamento e rede sob demanda.
Detalhes
Antes da computação em nuvem, as empresas precisavam construir e gerenciar sua própria infraestrutura. Isso significava comprar servidores físicos, montar data centers, lidar com refrigeração e energia, e manter o hardware ao longo do tempo.
Dimensionar sistemas era especialmente difícil. Se o tráfego aumentasse, as empresas precisavam comprar e instalar mais servidores com antecedência. Se a demanda caísse, esses recursos ficariam ociosos, gerando custo desperdiçado.
A infraestrutura em nuvem resolve isso fornecendo recursos pela internet. Em vez de gerenciar máquinas físicas, os desenvolvedores solicitam poder de computação, armazenamento e rede por meio de plataformas de nuvem.
Isso permite que os sistemas escalem dinamicamente com base na demanda, sem investimento inicial em hardware. A infraestrutura passa a ser algo que pode ser provisionado instantaneamente, em vez de ser fisicamente construído e mantido.
Essa mudança é uma base importante dos sistemas backend modernos, permitindo desenvolvimento mais rápido, menor sobrecarga operacional e escalabilidade mais flexível.
Serviços de Computação
Os serviços de computação fornecem a CPU, a memória e o runtime necessários para executar o código da aplicação na nuvem.
- Eles executam o código da aplicação usando máquinas virtuais, containers ou funções serverless.
- Os serviços de computação fornecem os recursos principais necessários para executar aplicações.
- Diferentes modelos oferecem trade-offs entre controle e abstração.
Detalhes
Os serviços de computação são a base das plataformas de nuvem — eles são responsáveis por realmente executar o código da aplicação. Sem computação, outros serviços como armazenamento ou bancos de dados não teriam com o que interagir.
Os provedores de nuvem oferecem diferentes maneiras de executar código. Máquinas virtuais dão controle total sobre o sistema operacional, runtimes de containers fornecem ambientes leves e portáteis, e funções serverless permitem que o código seja executado sem gerenciar a infraestrutura.
Todos esses modelos fornecem recursos essenciais como CPU, memória e ambientes de execução. A diferença está em quanto de responsabilidade o desenvolvedor tem ao gerenciar o sistema.
Por exemplo, serviços como AWS EC2, Google Compute Engine e Azure Virtual Machines permitem que os usuários configurem e gerenciem servidores virtuais. Serviços mais abstratos, como plataformas serverless, removem grande parte dessa responsabilidade.
Escolher o modelo de computação certo depende do nível de controle necessário e da complexidade da aplicação que está sendo construída.
Bancos de Dados Gerenciados
Bancos de dados gerenciados cuidam da configuração, manutenção e escalabilidade para que as aplicações possam se concentrar em armazenar e acessar dados.
- Provedores de nuvem gerenciam a configuração do banco de dados, backups e replicação.
- Eles lidam automaticamente com escalabilidade e alta disponibilidade.
- As aplicações interagem com o banco de dados sem gerenciar a infraestrutura.
Detalhes
Os bancos de dados são essenciais para a maioria das aplicações, mas gerenciá-los manualmente é complexo e demorado. Tradicionalmente, as equipes precisavam instalar o software de banco de dados, configurar backups, lidar com falhas e gerenciar a escalabilidade por conta própria.
Os serviços de banco de dados gerenciados transferem essa responsabilidade para o provedor de nuvem. Serviços como AWS RDS, Google Cloud SQL e Azure SQL Database lidam automaticamente com tarefas como provisionamento, aplicação de patches e monitoramento.
Eles também oferecem recursos integrados como backups automatizados, replicação entre vários locais e escalabilidade com base na demanda. Isso melhora a confiabilidade e garante que os dados estejam disponíveis mesmo durante falhas.
Como resultado, os desenvolvedores podem se concentrar na lógica da aplicação e na modelagem de dados, em vez de na gestão da infraestrutura. Isso reduz significativamente a complexidade operacional, mantendo alto desempenho e disponibilidade.
Armazenamento de Objetos
O armazenamento de objetos guarda dados não estruturados, como arquivos e mídias, com alta durabilidade e escalabilidade.
- Ele é usado para armazenar arquivos como imagens, vídeos, logs e backups.
- Os dados são armazenados como objetos, em vez de sistemas de arquivos tradicionais ou bancos de dados.
- O armazenamento de objetos foi projetado para escala massiva e alta durabilidade.
Detalhes
O armazenamento de objetos foi projetado para armazenar grandes quantidades de dados não estruturados. Diferente de bancos de dados, que armazenam registros estruturados, o armazenamento de objetos lida com arquivos como imagens, vídeos, logs e backups.
Cada arquivo é armazenado como um objeto, que inclui os próprios dados junto com metadados e um identificador único. Essa estrutura permite que os sistemas recuperem e gerenciem grandes volumes de dados com eficiência.
Serviços de armazenamento de objetos em nuvem como AWS S3, Google Cloud Storage e Azure Blob Storage são construídos para durabilidade e escalabilidade. Eles replicam automaticamente os dados em vários locais para evitar perda de dados.
Por causa desse design, o armazenamento de objetos pode escalar para lidar com conjuntos de dados massivos sem exigir gerenciamento complexo de infraestrutura. Ele é um componente central em aplicações modernas que precisam de armazenamento de arquivos confiável e escalável.
Rede de Nuvem
A rede de nuvem conecta serviços com segurança e permite a comunicação entre componentes em um sistema em nuvem.
- Redes virtuais isolam e organizam recursos de nuvem.
- Balanceadores de carga distribuem o tráfego entre vários serviços.
- Gateways controlam o acesso entre sistemas internos e externos.
Detalhes
A rede de nuvem fornece a infraestrutura que permite que diferentes serviços se comuniquem dentro de um ambiente de nuvem. Sem ela, instâncias de computação, bancos de dados e sistemas de armazenamento não poderiam interagir de forma eficaz.
Redes virtuais atuam como ambientes isolados onde os recursos podem ser agrupados e controlados. Elas definem como os serviços se conectam e quem pode acessá-los.
Balanceadores de carga distribuem o tráfego de entrada entre várias instâncias de computação. Isso melhora o desempenho e garante que os sistemas permaneçam disponíveis mesmo se uma instância falhar.
Gateways gerenciam a comunicação entre recursos internos da nuvem e clientes ou redes externas. Eles ajudam a aplicar políticas de segurança e controlam como os dados entram e saem do sistema.
Juntos, esses componentes permitem uma comunicação segura, confiável e escalável em aplicações distribuídas na nuvem.
Regiões
Uma região é uma localização geográfica onde provedores de nuvem implantam infraestrutura em vários data centers.
- Regiões consistem em vários data centers em uma área geográfica específica.
- Implantar mais perto dos usuários reduz a latência.
- Usar várias regiões melhora a recuperação de desastres e a resiliência.
Detalhes
Os provedores de nuvem operam infraestrutura em muitas localizações geográficas ao redor do mundo. Cada uma dessas localizações é chamada de região, e ela contém vários data centers que hospedam serviços de nuvem.
As regiões são importantes porque a distância física afeta o desempenho. Implantar aplicações mais perto dos usuários reduz a latência de rede, resultando em tempos de resposta mais rápidos.
Elas também desempenham um papel fundamental na confiabilidade. Se uma região sofrer uma falha, os sistemas podem ser projetados para fazer failover para outra região, garantindo a continuidade da operação.
Ao distribuir sistemas entre regiões, as aplicações podem alcançar tanto melhor desempenho global quanto capacidades mais fortes de recuperação de desastres.
Zonas de Disponibilidade
As zonas de disponibilidade são grupos isolados de data centers dentro de uma região que melhoram a confiabilidade e a tolerância a falhas.
- Cada região é dividida em várias zonas de disponibilidade isoladas.
- Falhas em uma zona não afetam as outras.
- Executar em várias zonas aumenta a disponibilidade e a redundância.
Detalhes
Dentro de uma região de cloud, a infraestrutura é ainda mais dividida em zonas de disponibilidade. Cada zona consiste em um ou mais data centers que são fisicamente separados das outras zonas na mesma região.
Essa separação é intencional. Se ocorrer uma falha em uma zona de disponibilidade — como uma queda de energia ou um problema de hardware — ela não impacta as outras. Isso fornece isolamento de falhas dentro de uma região.
As aplicações podem ser implantadas em várias zonas de disponibilidade para garantir alta disponibilidade. Se uma zona ficar indisponível, o tráfego pode ser redirecionado para sistemas em execução em outras zonas.
Esse design permite que os sistemas de cloud mantenham o tempo de atividade mesmo quando partes da infraestrutura falham, tornando as zonas de disponibilidade um componente crítico de uma arquitetura de sistema resiliente.
Principais Provedores de Nuvem
Os principais provedores de nuvem oferecem serviços de infraestrutura que permitem que aplicações sejam executadas sem a necessidade de possuir servidores físicos.
- Os principais provedores incluem AWS, Google Cloud Platform e Microsoft Azure.
- Eles oferecem serviços de compute, storage, databases, networking e monitoring.
- As aplicações são executadas em infraestrutura distribuída globalmente e gerenciada por essas plataformas.
Detalhes
Os provedores de nuvem são empresas que operam infraestrutura em grande escala e a disponibilizam aos usuários pela internet. Em vez de construir e manter seus próprios data centers, as organizações dependem dessas plataformas para executar suas aplicações.
Os três maiores provedores são Amazon Web Services (AWS), Google Cloud Platform (GCP) e Microsoft Azure. Embora cada plataforma tenha suas próprias ferramentas e convenções de nomenclatura, todas oferecem serviços principais semelhantes, como compute, storage, databases, networking e monitoring.
Esses provedores operam data centers ao redor do mundo, permitindo que as aplicações sejam executadas em infraestrutura distribuída globalmente. Isso permite que os sistemas escalem, melhorem o desempenho para usuários em diferentes locais e mantenham a confiabilidade.
Ao abstrair o hardware físico, os provedores de nuvem permitem que os desenvolvedores se concentrem em construir e executar aplicações, em vez de gerenciar a infraestrutura.
Seção de Perguntas
1 / 5
Esta lição faz parte do conteúdo premium
Faça upgrade para o plano premium para remover o desfoque e liberar a leitura completa.