Ao longo dos últimos anos, a popularidade da computação em nuvem cresceu drasticamente. E junto com ela, o domínio da Amazon Web Services (AWS) no mercado com foco em desenvolvimento de novas ferramentas e serviços e pouco em usabilidade.
Este post fornece uma visão geral dos principais serviços da AWS e como eles podem ser efetivamente utilizados para otimizar a performance da sua nuvem. Acompanhe conosco!
Mas então, o que é a AWS?
De um modo até simplista, a AWS é uma coleção de serviços de infraestrutura na nuvem que permite aos clientes “alugar” recursos computacionais de última geração. Isso significa que com a AWS você é capaz de provisionar de forma flexível vários recursos de computação em um modelo de precificação chamado de pay as you go, ou seja, você paga conforme seu uso.
Está esperando um pico de tráfego enorme em determinado período? A AWS te dará cobertura. Precisa armazenar de forma flexível entre 1 GB ou 100 GB de arquivos? A AWS consegue te atender. Além disso, cada um dos componentes que compõem a AWS geralmente é vagamente acoplado, o que significa que eles podem trabalhar de forma independente ou em conjunto com outros recursos AWS.
Uma vez que os componentes da AWS estão ligeiramente acoplados, você poderá misturar e combinar apenas o que você precisa. E para que você saiba exatamente o que é isso, aqui está uma visão geral dos principais serviços da AWS.
AWS Simple Storage Service (S3)
O Amazon Simple Storage Service (S3) é um serviço web de armazenamento flexível, escalável e altamente disponível. Pense no S3 como ter um disco rígido infinitamente grande onde você pode armazenar arquivos que são acessíveis através de um URL exclusivo.
O S3 também suporta controle de acesso, tempos de expiração e vários outros recursos úteis, no qual é cobrado pela quantidade de dados armazenados e pela quantidade de largura de banda usada para transferi-los.
O S3 é provavelmente o serviço AWS mais utilizado por causa dos preços atraentes e facilidade de uso. Se você estiver executando um site com muitos ativos estáticos (imagens, recursos CSS, etc.), você provavelmente receberá um aumento de desempenho “gratuito” ao hospedar esses ativos no S3.
Além disso, o S3 é uma solução ideal para backups incrementais, tanto de dados como de código. Ele é usado extensivamente, geralmente para hospedar arquivos estáticos, fazendo backup de bases de dados MySQL e de repositórios git. O novo console AWS S3 também torna sua administração e uso de forma não programática muito mais fácil.
AWS Elastic Compute Cloud (EC2)
O Elastic Compute Cloud (EC2) é a parte central da AWS. A EC2 fornece recursos de computação flexíveis e on-demand, o que isso significa é que você pode “alugar” recursos de computação durante o tempo que precisar e processar qualquer carga de trabalho nas máquinas que você provisionou.
Devido à sua flexibilidade, a EC2 é uma alternativa atrativa para a compra de servidores tradicionais para cargas de trabalho imprevisíveis. Além de, é claro, evitar custos investimentos na aquisição e manutenção de data centers.
Como a maior parte das empresas tem fluxos diferentes ao longo do dia, com menor tráfego à noite, na semana, em que na maioria das vezes não há grande necessidade de processamento nos fins de semana, ou períodos maiores, decorrente de sazonalidades do negócio, este é um serviço muito utilizado por tanto pequenas startups quanto grandes empresas.
Amazon Relational Database Service (RDS)
O Amazon Relational Database Service (RDS) é um serviço web que facilita a configuração, a operação e a escala de um banco de dados relacional na nuvem. Fornece uma capacidade redimensionável e econômica para um banco de dados padrão e gerencia tarefas comuns de administração de banco de dados.
O RDS assume muitas das difíceis ou tediosas tarefas de gerenciamento de um banco de dados relacional. Ele traz os seguintes benefícios:
Quando você compra um servidor, você obtém CPU, memória, armazenamento e IOPS, todos agrupados. Com o RDS, estes são divididos para que você possa dimensioná-los de forma independente. Então, por exemplo, se você precisar de mais CPU, menos IOPS ou mais armazenamento, você pode alocá-los facilmente.
O RDS gerencia backups, patches de software, detecção automática de falhas e recuperação.
Você pode fazer backups automáticos executados quando precisa deles ou criar um snapshot de banco de dados.
Esses backups podem ser usados para restaurar um banco de dados de forma confiável e eficiente.
Além da segurança no seu pacote de banco de dados, você pode ajudar a controlar quem pode acessar seus bancos de dados RDS usando AWS IAM para definir usuários e permissões. Você também pode ajudar a proteger seus bancos de dados colocando-os em uma nuvem virtual e privada.
AWS Lambda
O AWS Lambda é um serviço de computação que permite executar código sem provisionamento ou gerenciamento de servidores. O serviço executa seu código apenas quando necessário e escala automaticamente, passando de alguns pedidos por dia a milhares por segundo.
Você paga apenas pelo tempo de computação que você consome — não há cobrança quando seu código não está sendo executado. Com o AWS Lambda, você pode executar o código para qualquer tipo de aplicativo ou serviço de backend, com administração zero.
O AWS Lambda executa seu código em uma infraestrutura de computação de alta disponibilidade e executa toda a administração dos recursos de computação, incluindo manutenção de servidores e sistemas operacionais, provisionamento de capacidade e dimensionamento automático, monitoramento de código e registro.
Tudo o que você precisa fazer é fornecer seu código em uma das linguagens suportadas (atualmente Node.js, Java, C # e Python).
Amazon CloudFront
O Amazon CloudFront é um serviço web que acelera a distribuição de seus conteúdos web estáticos e dinâmicos, como .html, .css, .php e arquivos de imagem, para seus usuários. O CloudFront entrega seu conteúdo através de uma rede mundial de centros de dados denominados edge location.
Quando um usuário solicita conteúdo que você está servindo com o CloudFront, ele é encaminhado para a localização que fornece a menor latência (tempo de atraso) para que o conteúdo seja entregue com o melhor desempenho possível.
Se o conteúdo já estiver na localização com menor latência, o CloudFront o entrega imediatamente. Se o conteúdo não estiver nessa localização, o CloudFront o recupera de um registro da Amazon S3 ou de um servidor HTTP (por exemplo, um servidor web) que você identificou como fonte para a versão definitiva do seu conteúdo.
Gostou de conhecer os principais serviços da AWS? Está pronto para começar a otimizar sua nuvem? Converse com a gente e peça uma demonstração de como podemos te ajudar com essa tarefa!