Skip to content

3.3. Serviços de Computação e Banco de Dados

Venilton FalvoJr edited this page Apr 2, 2024 · 1 revision

Este conteúdo educacional é focado nos serviços de computação e banco de dados da AWS. Ele foi desenvolvido para fornecer uma compreensão profunda dos principais serviços oferecidos pela Amazon nestas áreas. Ao final deste material, você estará apto a reconhecer os conceitos fundamentais de computação e banco de dados, além de estar ainda mais preparado para o exame de certificação AWS Cloud Practitioner (CLF-C02).

Amazon Elastic Compute Cloud (EC2)

O Amazon Elastic Compute Cloud (EC2) é um dos serviços mais essenciais e amplamente utilizados da AWS. Ele oferece uma capacidade de computação escalável na nuvem, permitindo que os usuários lancem e gerenciem servidores virtuais, conhecidos como instâncias EC2, de forma rápida e eficiente.

Tipos de Instâncias EC2

As instâncias EC2 vêm em uma variedade de tipos, cada uma projetada para atender a diferentes requisitos de computação, memória e armazenamento. Dois tipos comuns são:

  • Otimizado para computação: Este tipo de instância é ideal para cargas de trabalho que exigem alto poder de processamento, como análise de dados, renderização de imagens e simulações científicas. Equipadas com CPUs de alto desempenho, oferecem uma ampla variedade de opções de configuração para atender às necessidades específicas de sua carga de trabalho. Estas instâncias são construídas para oferecer alta performance em termos de processamento de dados. Elas são ideais para cargas de trabalho que envolvem cálculos intensivos, como modelagem científica, simulações de engenharia e processamento de Big Data. O alto poder de processamento das CPUs garante a rápida conclusão de tarefas complexas.

  • Otimizado para armazenamento: As instâncias EC2 otimizadas para armazenamento são projetadas para cargas de trabalho que requerem acesso rápido e eficiente ao armazenamento local. Ideais para aplicativos de bancos de dados, processamento de dados em lote e aplicativos de análise que dependem fortemente de operações de entrada e saída de dados. Estas instâncias são especialmente projetadas para aplicações que requerem acesso rápido e eficiente ao armazenamento local. Elas são ideais para bancos de dados de alto desempenho, análise de dados que envolvem grandes volumes de informações e aplicativos que demandam acesso frequente a arquivos de dados. O armazenamento local de alta velocidade otimiza o desempenho dessas aplicações, minimizando os tempos de latência.

Analogia

Imagine que você está construindo uma cozinha para um grande evento. As instâncias EC2 otimizadas para computação são como chefs altamente qualificados, capazes de preparar rapidamente uma grande quantidade de pratos complexos. Por outro lado, as instâncias EC2 otimizadas para armazenamento são como despensas espaçosas, permitindo acesso rápido a todos os ingredientes necessários para suas receitas.

Serviços de Contêiner da AWS

Os serviços de contêiner da AWS fornecem uma maneira flexível e escalável de implantar e gerenciar aplicativos contêinerizados na nuvem. Eles permitem que os usuários executem e dimensionem contêineres de forma eficiente, sem se preocupar com a complexidade da infraestrutura subjacente.

Amazon Elastic Container Service (ECS)

O Amazon Elastic Container Service (ECS) é um serviço de orquestração de contêineres totalmente gerenciado pela AWS. Ele permite que os usuários executem facilmente aplicativos contêinerizados em escala, sem a necessidade de provisionar ou gerenciar servidores.

O ECS simplifica a execução e a escalabilidade de contêineres, permitindo que os desenvolvedores se concentrem no desenvolvimento de aplicativos em vez de se preocuparem com a infraestrutura subjacente. Ele oferece integração perfeita com outros serviços da AWS, como o Amazon Fargate, para facilitar a implantação e a execução de contêineres em um ambiente altamente disponível e escalável.

Amazon Elastic Kubernetes Service (EKS)

O Amazon Elastic Kubernetes Service (EKS) é um serviço gerenciado pela AWS que facilita a execução do Kubernetes na nuvem. Oferece uma maneira simples e eficiente de implantar, gerenciar e escalar clusters Kubernetes para cargas de trabalho contêinerizadas.

O EKS simplifica a operação do Kubernetes, permitindo que os desenvolvedores se concentrem no desenvolvimento de aplicativos sem se preocuparem com a complexidade da configuração e gerenciamento de clusters. Ele oferece suporte total ao Kubernetes, garantindo compatibilidade com ferramentas e aplicativos existentes do ecossistema Kubernetes.

Analogia

Imagine que você está organizando um grande evento e precisa distribuir alimentos para os convidados. O Amazon ECS é como um sistema de bandejas de comida, onde você pode organizar e distribuir refeições em diferentes bandejas de forma eficiente. Já o Amazon EKS é como um sistema de buffet, onde os convidados podem escolher entre uma variedade de opções de comida, com o sistema cuidando automaticamente da reposição conforme necessário.

Computação Sem Servidor (Serverless) na AWS

A computação sem servidor é um paradigma de computação em nuvem que permite aos desenvolvedores executar código em resposta a eventos sem a necessidade de gerenciar servidores. Isso ajuda a reduzir a complexidade operacional e os custos associados à execução de aplicativos na nuvem.

AWS Fargate

O AWS Fargate é um serviço de computação sem servidor que permite aos usuários executar contêineres na infraestrutura da AWS sem a necessidade de provisionar ou gerenciar servidores. Ele simplifica o processo de implantação e gerenciamento de aplicativos contêinerizados.

O Fargate permite que os desenvolvedores se concentrem no desenvolvimento de aplicativos, eliminando a necessidade de gerenciamento de servidores. Ele fornece uma maneira flexível e escalável de executar contêineres na nuvem, permitindo que os aplicativos sejam implantados rapidamente e dimensionados automaticamente de acordo com a demanda.

AWS Lambda

O AWS Lambda é um serviço de computação sem servidor que permite aos desenvolvedores executar código em resposta a eventos, como solicitações HTTP, atualizações de banco de dados e eventos de upload de arquivos. Ele elimina a necessidade de provisionar e gerenciar servidores.

O Lambda permite que os desenvolvedores criem aplicativos altamente escaláveis e resilientes, sem se preocupar com a infraestrutura subjacente. Ele oferece suporte a várias linguagens de programação, incluindo Node.js, Python, Java e C#, e cobra apenas pelo tempo de computação utilizado, tornando-o uma opção econômica para cargas de trabalho com uso variável.

Analogia

Imagine que você está organizando uma festa de aniversário e precisa de um mágico para entreter os convidados. O AWS Fargate é como contratar um mágico que chega na festa prontamente e realiza seu show sem precisar de nenhum suporte adicional. Já o AWS Lambda é como ter um assistente mágico que aparece magicamente sempre que necessário para realizar truques específicos, deixando você livre para desfrutar da festa sem se preocupar com detalhes técnicos.

Escalonamento Automático na AWS

O escalonamento automático é uma funcionalidade fundamental na AWS que permite ajustar dinamicamente a capacidade dos recursos de computação para atender às demandas da aplicação. Isso ajuda a garantir que os aplicativos permaneçam disponíveis e responsivos, mesmo durante picos de tráfego ou atividade. Essa adaptabilidade conforme a demanda pode ser chamada simplesmente de elasticidade, algo essencial nos Balanceadores de Carga.

Finalidades dos Balanceadores de Carga

Os balanceadores de carga são dispositivos de rede que distribuem o tráfego de entrada entre várias instâncias EC2 para garantir alta disponibilidade, escalabilidade e resiliência para os aplicativos. Eles desempenham um papel crucial na distribuição equilibrada do tráfego entre os servidores, garantindo que cada instância receba uma carga de trabalho adequada e evitando congestionamentos e pontos únicos de falha.

Os balanceadores de carga monitoram constantemente o tráfego de entrada e distribuem as solicitações de maneira eficiente entre as instâncias EC2 disponíveis. Eles podem ser configurados para rotear o tráfego com base em diferentes critérios, como a carga de trabalho de cada instância, o estado da integridade do sistema e as políticas de roteamento configuradas pelo usuário.

Para mais informações sobre os balanceadores de carga na AWS, consulte a documentação oficial da AWS sobre balanceadores de carga elásticos.

Analogia

Imagine que você está organizando um evento de degustação de vinhos e precisa garantir que todos os convidados tenham acesso aos diferentes stands de vinho sem enfrentar filas ou congestionamentos. Os balanceadores de carga são como os organizadores do evento, direcionando os convidados para os stands disponíveis de forma equilibrada, garantindo uma experiência suave e agradável para todos.

Bancos de Dados na AWS

Os bancos de dados são componentes fundamentais de muitas aplicações modernas, armazenando e gerenciando dados de forma eficiente para oferecer suporte a uma variedade de casos de uso. A AWS oferece uma ampla gama de serviços de banco de dados gerenciados para atender às necessidades de diferentes tipos de aplicativos e cargas de trabalho.

Bancos de Dados Relacionais

Os bancos de dados relacionais são uma escolha popular para muitos aplicativos, oferecendo suporte a transações ACID, integridade referencial e consultas SQL poderosas. A AWS oferece vários serviços de banco de dados relacional gerenciado, incluindo o Amazon Relational Database Service (RDS) e o Amazon Aurora.

  • Amazon RDS: O Amazon RDS é um serviço de banco de dados relacional totalmente gerenciado que oferece suporte a vários mecanismos de banco de dados, como MySQL, PostgreSQL, SQL Server e Oracle. Ele facilita a implantação, operação e escalabilidade de bancos de dados relacionais na nuvem, permitindo que os usuários se concentrem no desenvolvimento de aplicativos em vez de na administração de banco de dados.

  • Amazon Aurora: O Amazon Aurora é um banco de dados relacional compatível com MySQL e PostgreSQL, projetado para oferecer desempenho e escalabilidade líderes do setor. Ele oferece uma arquitetura distribuída e altamente disponível, replicação automática de dados e backups contínuos, garantindo alta disponibilidade, durabilidade e desempenho para suas cargas de trabalho de banco de dados.

Bancos de Dados NoSQL

Os bancos de dados NoSQL são uma escolha popular para aplicativos que exigem flexibilidade de esquema, escalabilidade horizontal e desempenho rápido. A AWS oferece vários serviços de banco de dados NoSQL gerenciados, incluindo o Amazon DynamoDB.

  • Amazon DynamoDB: O Amazon DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado que oferece desempenho rápido e escalabilidade automática para cargas de trabalho de aplicativos web e móveis. Ele permite armazenar e recuperar dados de maneira rápida e eficiente, com latências consistentemente baixas, mesmo em escalas de milhões de solicitações por segundo.

Bancos de Dados Baseados em Memória

Os bancos de dados baseados em memória são uma escolha ideal para aplicativos que exigem acesso rápido a dados em tempo real e latências ultrabaixas. A AWS oferece o Amazon ElastiCache, um serviço que facilita a implantação, operação e escalabilidade de caches na nuvem.

  • Amazon ElastiCache: O Amazon ElastiCache é um serviço de cache totalmente gerenciado que oferece suporte a dois mecanismos de cache populares: Memcached e Redis. Ele permite que você melhore o desempenho de aplicativos web e móveis, armazenando dados frequentemente acessados em caches de memória distribuída, reduzindo assim a carga nos bancos de dados principais e melhorando a escalabilidade e a capacidade de resposta dos aplicativos.

Analogia

Suponha que você esteja desenvolvendo um aplicativo de comércio eletrônico que precisa gerenciar o estoque de produtos de forma eficiente. O Amazon DynamoDB é como um sistema de inventário altamente organizado, onde você pode acessar rapidamente informações sobre a disponibilidade de produtos e atualizar os registros conforme as vendas são realizadas, garantindo que os dados estejam sempre atualizados e acessíveis para sua equipe.

Ferramentas de Migração de Banco de Dados

A migração de banco de dados é um processo complexo que pode envolver a conversão de esquemas, a migração de dados e a reconfiguração de aplicativos para funcionar com os novos bancos de dados na nuvem. A AWS oferece várias ferramentas para facilitar esse processo e garantir uma migração suave e sem problemas.

AWS Database Migration Service (DMS)

O AWS Database Migration Service (DMS) é um serviço que facilita a migração de bancos de dados para a AWS de forma rápida e segura. Ele permite que você migre dados de fontes de dados heterogêneas, como bancos de dados locais, bancos de dados na nuvem e data warehouses, para a AWS de maneira eficiente, sem interrupções no serviço.

O DMS simplifica o processo de migração de banco de dados, permitindo que você migre dados de maneira contínua e sem interrupções. Ele oferece suporte a várias fontes de dados e destinos, incluindo bancos de dados relacionais e NoSQL, facilitando a migração de diferentes tipos de dados para a AWS.

AWS Schema Conversion Tool (SCT)

O AWS Schema Conversion Tool (SCT) é uma ferramenta que facilita a migração de esquemas de banco de dados entre diferentes mecanismos de banco de dados. Ele ajuda a converter automaticamente esquemas de banco de dados de um formato para outro, garantindo compatibilidade e consistência durante o processo de migração.

O SCT simplifica o processo de migração de esquemas de banco de dados, ajudando a converter automaticamente os esquemas de banco de dados para o formato compatível com a AWS. Ele oferece suporte a várias fontes de dados e destinos, garantindo uma migração suave e sem problemas.

Analogia

Se você estiver planejando mudar de casa, pode usar uma empresa de mudanças para transferir seus pertences com segurança e eficiência. O AWS Database Migration Service é como essa empresa de mudanças, garantindo que seus dados sejam transferidos para a AWS de forma rápida e segura, sem interrupções no serviço. Já o AWS Schema Conversion Tool é como um especialista em rearranjo de móveis, garantindo que seus dados sejam organizados de maneira eficiente na nova casa, mantendo a integridade e a consistência.

Conclusão

Neste conteúdo, exploramos detalhadamente os principais serviços de computação e banco de dados da AWS, fornecendo uma compreensão completa de cada um deles. Ao compreender esses conceitos e técnicas, você estará mais preparado para o exame AWS Certified Cloud Practitioner (CLF-C02) e para utilizar efetivamente os serviços da AWS em suas próprias aplicações e projetos na nuvem. Lembre-se de praticar regularmente e revisar os conceitos aprendidos para consolidar seu conhecimento e garantir o sucesso na certificação. Boa sorte em sua jornada na nuvem da AWS!

Para Aprender Mais 🚀

Aprofunde seus conhecimentos nos temas de Serviços de Computação e Banco de Dados na AWS com estes recursos oficiais:

Clone this wiki locally