COMPUTAÇÃO
O Amazon EC2 é um serviço da web que permite executar “instâncias” virtuais de servidor na nuvem.
As instâncias do Amazon EC2 podem executar os sistemas operacionais Windows, Linux ou MacOS.
A interface simples de serviço da web do EC2 permite que você obtenha e configure capacidade com o mínimo de atrito.
O EC2 é projetado para tornar a computação em nuvem em escala web mais fácil para os desenvolvedores.
O Amazon EC2 altera a economia da computação, permitindo que você pague apenas pela capacidade que usa.
O Amazon EC2 fornece aos desenvolvedores as ferramentas para criar aplicativos resilientes a falhas e isolá-los de cenários comuns de falhas.
Benefícios do EC2
CARACTERÍSTICAS | DESCRIÇÃO |
---|---|
Computação Elástica em Escala Web | Você pode aumentar ou diminuir a capacidade em minutos, não horas, e provisionar de uma a milhares de instâncias simultaneamente. |
Totalmente Controlado | Você tem controle completo, incluindo acesso root a cada instância, e pode parar e iniciar instâncias sem perder dados, usando APIs de serviço da web. |
Serviços de Hospedagem Flexível | Você pode escolher entre vários tipos de instâncias, sistemas operacionais e pacotes de software, bem como instâncias com configurações variáveis de memória, CPU e armazenamento. |
Integrado | O EC2 está integrado à maioria dos serviços AWS, como S3, RDS e VPC, para fornecer uma solução completa e segura. |
Confiável | O EC2 oferece um ambiente altamente confiável, onde instâncias de substituição podem ser rapidamente comissionadas de maneira previsível, com SLAs de 99,99% para cada região. |
Seguro | O EC2 trabalha em conjunto com a VPC para fornecer uma localização segura com um intervalo de endereços IP especificado e oferece Grupos de Segurança, ACLs de Rede e recursos de VPN IPSec. |
Baixo custo | A Amazon repassa os benefícios financeiros da escala cobrando taxas muito baixas e com base no consumo de capacidade. |
Amazon Machine Image (AMI)
Uma AMI é um tipo especial de aparelho virtual usado para criar uma máquina virtual dentro do Amazon Elastic Compute Cloud (“EC2”).
Uma AMI inclui o seguinte:
- Uma ou mais snapshots EBS, ou, para AMIs baseadas em instância de armazenamento, um modelo para o volume raiz da instância (por exemplo, um sistema operacional, um servidor de aplicativos e aplicativos).
- Permissões de lançamento que controlam quais contas da AWS podem usar a AMI para iniciar instâncias.
- Mapeamento de dispositivos de bloco que especifica os volumes a serem anexados à instância quando ela for iniciada.
Categorias de AMIs
- AMIs da Comunidade – grátis para uso, geralmente você apenas seleciona o sistema operacional desejado.
- AMIs do AWS Marketplace – pagas, geralmente incluem software adicional licenciado.
- Minhas AMIs – AMIs que você cria.
Dados do Usuário e Metadados da Instância
- Dados do usuário são dados fornecidos pelo usuário no lançamento da instância na forma de um script.
- Metadados da instância são dados sobre sua instância que você pode usar para configurar ou gerenciar a instância em execução.
- Os dados do usuário estão limitados a 16 KB.
- Os dados do usuário e os metadados não são criptografados.
- Os metadados da instância estão disponíveis em http://169.254.169.254/latest/meta-data.
- A ferramenta de consulta de metadados da instância permite que você consulte os metadados da instância sem precisar digitar o URI completo ou os nomes de categoria.
Preços
- Sob-demanda:
- Bom para usuários que desejam o baixo custo e a flexibilidade do EC2 sem nenhum pagamento antecipado ou compromisso de longo prazo.
- Aplicações com cargas de trabalho de curto prazo, irregulares ou imprevisíveis que não podem ser interrompidas.
- Aplicações sendo desenvolvidas ou testadas no EC2 pela primeira vez.
- Reservados:
- Aplicações com uso estável ou previsível.
- Aplicações que exigem capacidade reservada.
- Usuários podem fazer pagamentos antecipados para reduzir ainda mais os custos totais de computação.
- Instâncias Reservadas Padrão (RIs) oferecem até 75% de desconto no preço sob demanda.
- RIs Convertíveis oferecem até 54% de desconto no preço sob demanda – fornece a capacidade de alterar os atributos da RI se a troca resultar na criação de RIs de valor igual ou maior.
- RIs Agendadas estão disponíveis para lançamento dentro da janela de tempo que você reserva. Essa opção permite que você ajuste sua reserva de capacidade para um cronograma recorrente previsível que requer apenas uma fração de um dia, uma semana ou um mês.
- Spot:
- Aplicações que têm horários de início e término flexíveis.
- Aplicações que são viáveis apenas a preços muito baixos de computação.
- Se a Amazon encerrar suas instâncias, você não paga; se você encerrar, paga pela hora.
- Hospedagem Dedicada:
- Servidores físicos dedicados apenas para seu uso.
- Você tem controle sobre quais instâncias são implantadas nesse host.
- Disponível como Sob Demanda ou com Reserva de Host Dedicado.
- Útil se você tiver licenças de software vinculadas ao servidor que usam métricas como por núcleo, por soquete ou por VM.
- Cada host dedicado pode executar apenas um tamanho e tipo de instância EC2.
- Bom para conformidade regulatória ou requisitos de licenciamento.
- Desempenho previsível.
- Isolamento completo.
- Opção mais cara.
- A cobrança é por host.
- Instâncias Dedicadas:
- Instâncias virtualizadas em hardware apenas para você.
- Também usa servidores EC2 fisicamente dedicados.
- Não fornece a visibilidade e os controles adicionais dos hosts dedicados (por exemplo, como as instâncias são colocadas em um servidor).
- A cobrança é por instância.
- Pode compartilhar hardware com outras instâncias não dedicadas na mesma conta.
- Disponível como On-Demand, Instâncias Reservadas e Instâncias Spot.
- Custo adicional de $2 por hora por região.
- Planos de Economia (Savings Plans):
- Os Savings Plans são um modelo de preços flexível que oferece economias de até 72% no uso de computação da AWS.
- Este modelo de preços oferece preços mais baixos nas instâncias Amazon EC2, independentemente da família da instância, tamanho, sistema operacional, tenência ou região da AWS.
- Também se aplica ao uso do AWS Fargate e AWS Lambda.
Tipos de Instância
O Amazon EC2 oferece uma ampla seleção de tipos de instância otimizados para se adequar a diferentes casos de uso.
Os tipos de instância compreendem diversas combinações de CPU, memória, armazenamento e capacidade de rede e oferecem a flexibilidade de escolher a mistura apropriada de recursos para suas aplicações.
Cada tipo de instância inclui um ou mais tamanhos de instância, permitindo dimensionar seus recursos conforme os requisitos de sua carga de trabalho-alvo.
Tabela de Tipos de Instância
FAMÍLIA | MNEMOTÉCNICA | PROPÓSITO | EXEMPLO USO |
---|---|---|---|
D | DATA | Uso intensivo de dados | Servidores de arquivos |
R | RAM | Otimizado para memória | - |
M | MAIN | Uso geral | servidores de aplicativos |
C | COMPUTE | Otimizado para computação | - |
G | GRAPHICS | Cargas de trabalho intensivas em gráficos | - |
I | IOPS | Otimizado para E/S de armazenamento | NoSQL |
F | FAST | Aceleração de hardware FPGA para aplicativos | - |
T | CHEAP | Custo mais baixo | T2.micro |
P | GPU | Requisitos de GPU | - |
X | EXTREME RAM | Uso intensivo de memória | SAP Hana e Apache Spark |
U | HIGH MEMORY | Alto uso de memória e desempenho bare metal | Bancos de dados em memória |
Z | HIGH COMPUTE & MEMORY | CPU veloz, alta capacidade de memória e SSDs do tipo NVMe | Alto desempenho global |
H | HIGH DISK THROUGHPUT | Até 16 TB de armazenamento local baseado em HDD | - |
Amazon Elastic Container Service (ECS)
O Amazon Elastic Container Service (ECS) é outro produto na categoria AWS Compute. Ele fornece um serviço de gerenciamento de contêiner altamente escalável e de alto desempenho que suporta contêineres Docker e permite executar facilmente aplicativos em um cluster gerenciado de instâncias Amazon EC2.
O Amazon ECS elimina a necessidade de instalar, operar e dimensionar sua própria infraestrutura de gerenciamento de cluster.
Usando chamadas de API, você pode iniciar e interromper aplicativos habilitados para contêineres, consultar o estado completo dos clusters e acessar muitos recursos familiares, como grupos de segurança, balanceamento de carga elástico, volumes EBS e funções IAM.
O Amazon ECS pode ser usado para agendar a colocação de contêineres em clusters com base nas necessidades de recursos e nos requisitos de disponibilidade.
Um tipo de lançamento do Amazon ECS determina o tipo de infraestrutura em que suas tarefas e serviços são hospedados.
Existem dois tipos de lançamento, e a tabela abaixo descreve algumas das diferenças entre os dois tipos de lançamento:
Amazon EC2 | Amazon Fargate |
---|---|
Você provisiona explicitamente instâncias EC2 | O plano de controle solicita recursos e o Fargate provisiona automaticamente |
Você é responsável pela atualização, patching, cuidado do pool EC2 | O Fargate provisiona computação conforme necessário |
Você deve lidar com a otimização do cluster | O Fargate lida com a otimização do cluster |
Mais controle granular sobre a infraestrutura | Controle limitado, pois a infraestrutura é automatizada |
O Registro de Contêiner Elástico (ECR) é um serviço gerenciado da AWS Docker Registry para armazenar, gerenciar e implantar imagens Docker.
Não há custo adicional para o Amazon ECS. Você paga pelos recursos da AWS (por exemplo, instâncias EC2 ou volumes EBS) que cria para armazenar e executar sua aplicação.
O Amazon ECR é integrado ao Amazon EC2 Container Service (ECS).
Com o Amazon ECR, não há taxas antecipadas ou compromissos. Você paga apenas pela quantidade de dados armazenados em seus repositórios e pela transferência de dados para a Internet.
Amazon Elastic Container Service for Kubernetes (EKS)
O Amazon Elastic Container Service for Kubernetes (EKS) é um serviço gerenciado de Kubernetes que facilita a execução do Kubernetes na AWS sem a necessidade de instalar, operar e manter seu próprio plano de controle do Kubernetes.
O EKS gerencia automaticamente a disponibilidade e a escalabilidade dos nós do plano de controle do Kubernetes, responsáveis por iniciar e interromper contêineres, agendar contêineres em máquinas virtuais, armazenar dados do cluster e outras tarefas.
O EKS detecta e substitui automaticamente nós do plano de controle que estão com problemas para cada cluster.
Dica: Se apareceu a palavra-chave Kubernetes no enunciado, procure por EKS nas alternativas.
AWS Lambda
AWS Lambda é uma tecnologia de computação sem servidor que permite executar código sem provisionar ou gerenciar servidores.
O AWS Lambda executa código apenas quando necessário e dimensiona automaticamente.
Você paga apenas pelo tempo de computação que consome (não paga nada quando seu código não está em execução).
Benefícios do AWS Lambda
- Sem servidores para gerenciar.
- Escala contínua.
- Faturamento por milissegundos.
- Integra-se com quase todos os outros serviços da AWS.
Principais casos de uso para o AWS Lambda
- Processamento de dados.
- Processamento de arquivos em tempo real.
- Processamento de fluxos em tempo real.
- Construção de back-ends sem servidor para solicitações web, móveis, IoT e API de terceiros.
Amazon LightSail
O Amazon LightSail é ideal para usuários que não têm uma experiência técnica profunda na AWS, pois torna muito fácil provisionar serviços de computação.
Ele fornece aos desenvolvedores capacidade e recursos de computação, armazenamento e rede para implantar e gerenciar sites, aplicativos da web e bancos de dados na nuvem.
Inclui tudo o que você precisa para lançar seu projeto rapidamente: uma máquina virtual, armazenamento baseado em SSD, transferência de dados, gerenciamento de DNS e um IP estático.
Fornece servidores virtuais pré-configurados (instâncias) que incluem tudo o que é necessário para implantar um aplicativo ou criar um banco de dados. A infraestrutura subjacente e o sistema operacional são gerenciados pelo Amazon LightSail.
O Amazon LightSail é melhor adequado para projetos que exigem algumas dezenas de instâncias ou menos e fornece uma interface de gerenciamento simples. É bom para blogs, sites, aplicativos da web, comércio eletrônico, entre outros.
Além disso, o Amazon LightSail pode implantar balanceadores de carga e anexar armazenamento em bloco. Ele oferece uma API pública e é limitado a 20 instâncias do Amazon LightSail, 5 IPs estáticos, 3 zonas DNS, 20 TB de armazenamento em bloco, 40 bancos de dados e 5 balanceadores de carga por conta, além de até 20 certificados por ano civil.
O Amazon LightSail pode se conectar entre si e a outros recursos da AWS através da Internet pública e de rede privada (VPC peering). Os modelos de aplicativos incluem WordPress, WordPress Multisite, Drupal, Joomla!, Magento, Redmine, LAMP, Nginx (LEMP), MEAN, Node.js e muito mais.
Atualmente, o Amazon LightSail suporta 6 distribuições Linux ou semelhantes ao Unix: Amazon Linux, CentOS, Debian, FreeBSD, OpenSUSE e Ubuntu, bem como 2 versões do Windows Server: 2012 R2 e 2016.
Bancos de Dados do Amazon LightSail
Os bancos de dados do Amazon LightSail são instâncias dedicadas à execução de bancos de dados.
Um banco de dados do Amazon LightSail pode conter vários bancos de dados criados pelo usuário, e você pode acessá-lo usando as mesmas ferramentas e aplicativos que utiliza com um banco de dados independente.
Os bancos de dados gerenciados do Amazon LightSail oferecem uma maneira fácil e de baixa manutenção de armazenar seus dados na nuvem. O Amazon LightSail gerencia uma variedade de atividades de manutenção e segurança para o seu banco de dados e sua infraestrutura subjacente.
Possui backup automático do seu banco de dados e permite a restauração em qualquer ponto nos últimos 7 dias usando a ferramenta de restauração de banco de dados.
Os bancos de dados estão disponíveis em dois planos: Padrão e Alta Disponibilidade:
- Os de Alta Disponibilidade adicionam redundância e durabilidade ao seu banco de dados, criando automaticamente um banco de dados de reserva em uma zona de disponibilidade separada.
Os planos do Amazon LightSail são cobrados com base em uma taxa horária sob demanda, então você paga apenas pelo que usa.
- Para cada plano do Amazon LightSail que você utiliza, é cobrado um preço fixo por hora, até o custo máximo do plano mensal.
AWS Elastic Beanstalk
O AWS Elastic Beanstalk é a maneira mais rápida e simples de colocar aplicativos da web em funcionamento na AWS.
Os desenvolvedores simplesmente fazem o upload do código de sua aplicação, e o serviço lida automaticamente com todos os detalhes, como provisionamento de recursos, balanceamento de carga, dimensionamento automático e monitoramento.
O Elastic Beanstalk é ideal se você tiver uma aplicação web em PHP, Java, Python, Ruby, Node.js, .NET, Go ou Docker.
O Elastic Beanstalk usa serviços principais da AWS, como Amazon EC2, Amazon Elastic Container Service (Amazon ECS), Auto Scaling e Elastic Load Balancing para oferecer suporte facilmente a aplicativos que precisam escalar para atender a milhões de usuários.
AWS Batch
O AWS Batch permite que desenvolvedores, cientistas e engenheiros executem facilmente centenas de milhares de trabalhos de computação em lote de maneira fácil e eficiente na AWS.
O AWS Batch provisiona dinamicamente a quantidade e o tipo ideais de recursos de computação (por exemplo, instâncias otimizadas para CPU ou memória) com base no volume e nos requisitos específicos de recursos dos trabalhos em lote enviados.
Com o AWS Batch, você simplesmente empacota o código para seus trabalhos em lote, especifica suas dependências e envia seu trabalho em lote usando o Console de Gerenciamento da AWS, CLIs ou SDKs.
O AWS Batch permite que você especifique parâmetros de execução e dependências de trabalhos e facilita a integração com uma ampla variedade de motores de fluxo de trabalho de computação em lote populares e linguagens (por exemplo, Pegasus WMS, Luigi e AWS Step Functions).
O AWS Batch provisiona e dimensiona de maneira eficiente e dinâmica instâncias Amazon EC2 e Spot Instances com base nos requisitos de seus trabalhos.
O AWS Batch fornece filas de trabalho padrão e definições de ambiente de computação que permitem que você comece rapidamente.