Se você já ouviu falar em computação em nuvem, então provavelmente você já ouviu falar da Amazon e da sua plataforma em computação em nuvem denominada Amazon Web Services (AWS).
Neste artigo vamos explicar sobre o serviço EC2 – Elastic Compute Cloud, que é parte central do pool de serviços da AWS e foi um dos primeiros serviços lançados pela companhia, em meados 2006.
O Amazon EC2 é um serviço que provê recursos computacionais em nuvem, ou seja, é um pool de mémoria, disco, CPU e rede. Na linguagem popular, o EC2 nada mais é que um servidor.
O Amazon EC2 permite que você adquira esse conjunto de recursos (memória, disco, CPU e rede) atráves do pagamento por uso. Basta selecionar a quantidade dos recursos que necessita e iniciar uma máquina virtual EC2, também conhecida como instância virtual.
A primeira grande vantagem do uso do EC2 é que os recursos podem ser obtidos de forma simples e redimensional de acordo com sua necessidade atual e futura. O que isso significa na prática? Que você pode aumentar ou diminuir os recursos computacionais em poucos segundos, passando de uma instâcia de 4Gbytes de mémoria e 2 core de CPU para uma instância de 8Gbytes de mémória e 4 core de CPU em determinado momento e depois retornar para a configuração original, se precisar.
Isso representa, na prática, um grande ganho em tempo – e agilidade –, já que o Amazon EC2 reduz o tempo necessário para configurar e obter novas instâncias, permitindo que você redimensione a capacidade computacional de acordo com as necessidades do seu projeto.
Quando você inicia uma instância, você pode fazer uso da computação como quiser, do mesmo modo que você faria com um servidor local. Com a grande vantagem que você está pagando pelo poder computacional da instância por hora, enquanto a instância está em execução. Quando você parar a instância, por exemplo, você não é mais cobrado.
Tipos de instância do Amazon EC2
Existem dois conceitos fundamentais por de trás de instâncias na AWS:
- A quantidade de hardware dedicado à instância (memória, disco e CPU e capacidade da rede)
- O software carregado na instância
Esses dois conceitos são controlados, respectivamente, pelo tipo de instância e pela AMI (Amazon Machine Image).
As instâncias virtuais do Amazon EC2 são agrupadas em familias de acordo com a distribuição dos recursos listados acima. Por exemplo, uma instância do tipo M4 fornece um equilibrío de recursos de computação, memória e rede. E é uma boa escolha para muitos tipos de aplicação que necessitam de recursos computacionais equlibrados.
Dentro de cada família de instâncias EC2 existem diversas opções, que mantém uma escala linear entre os recursos de hardware.
Famílias de instâncias Amazon EC2
Geralmente as famílias de instância EC2 são organizadas em tipos, de acordo com as proporções dos seus recursos. Instâncias com maior poder de memória, maior poder de CPU, maior poder gráfico e assim por diante. A tabela abaixo ilustra as 4 principais famílias:
Além dessas famílias listadas acima, a AWS possui diversas outras e periodicamente lança novas famílias com o objetivo de atender as necessidades dos seus clientes.
Outras instâncias de uso geral que é impostante citar, são:
Instâncias do tipo T2/T3
São instâncias de uso geral e apresentam um bom equilibrio entre CPU, memória e rede. Os casos de uso para instância desta família são pequenos e médios sites e aplicativos WEB, repositórios de código, ambientes de teste etc. A tabela abaixo ilustra as configurações das instâncias T2 e T3 atualmente disponíveis na AWS:
Instâncias do tipo M4/M5
As instâncias do tipo M5 oferecem recursos equlibrados de computação, memória e rede. Os casos de uso mais comuns de uso desta instância são para bancos de dados de pequeno e médio porte e serviços de backend de aplicações, como SAP, Microsoft Share Point, aplicativos empresariais e computação que faz uso de clusters. A tabela abaixo ilustra as configurações das instâncias M3 e M4 atualmente disponíveis na AWS:
Amazon EC2 e as AMIs (Amazon Machine Images)
Uma AMI (Amazon Machine Image) nada mais é que uma imagem que define o estado atual de uma instância EC2. Em outras palavras, uma AMI contém as informações necessárias para executar uma instância EC2. Uma AMI contém todos os aspectos iniciais para executar uma máquina virtual, sendo eles:
- Tipo de sistema operacional e suas configurações
- Etapa inicial da máquina e patches de atualização
- Aplicações especificas
As AMIs são baseadas na arquitetura x86, tanto para Linux como Windows.
Existem 4 fontes para se obter uma Amazon AMI. São elas:
Publicado pela AWS: a própria AWS disponibiliza centenas de AMIs com versões de diferentes sistemas operacionas, como Linux e Windows. E¬as incluem múltiplas distribuições de Linux (incluindo Ubuntu, Red Hat e distribuição da própria Amazon) e Windows 2008, Windows 2012 e afins. Iniciar uma instância com base em uma dessas AMIs resultará nas configurações padrão do sistema operacional, semelhante a instalar um SO a partir de uma imagem ISO. Como em qualquer instalação do sistema operacional, você deve aplicar imediatamente todas as atualizações necessárias ao instalar um S.O pela primeira vez.
AWS Marketplace: o AWS Marketplace é uma loja online disponibilizada pela Amazon, que oferece um modo de comprar imagens de software prontas para uso para serem executadas diretamente no Amazon EC2. Muitos parceiros da AWS disponibilizaram seus softwares na AWS Marketplace. Isso oferece dois benefícios: o cliente não precisa instalar o software e o contrato de licença é apropriado para a nuvem.
Imagens geradas a partir de instâncias existentes: uma função super importante do serviço da AWS é a capacidade de gerar imagens a partir de uma instância existente do Amazon EC2. Com essa função é possível instalar um sistema operacional, personalizar suas configurações, instalar softwares e em seguida gerar uma imagem padrão daquela máquina. Com isso, os clientes podem publicar uma imagem AMI personalizada.
Desta forma, quando for necessário executar uma nova instância com o padrão de configuração requerido, basta associar a AMI gerada a nova máquina virtual e todas as nova instâncias seguirão aquele padrão. Assim é possível atender a todos os requisitos do negócio no que diz respeito ao padrão de instâncias para atualizações, gerenciamento, segurança e assim por diante.
Servidores Virtuais: você quer subir um servidor virtual do seu ambiente local para a nuvem AWS? Sem problemas, isso é possível usando o serviço AWS VM Import / Export. Os clientes podem fazer o upload de vários tipos de imagens a partir dos formatos mais comuns de virtualização, incluindo raw, VHD, VMDK e OVA. A lista atual de sistemas operacionais suportados (Linux e Windows) pode ser encontrada na documentação da AWS.
Outros serviços e recursos do Amazon EC2
Além das informações citadas acima, é importante entender que existem recursos e configurações adicionais associados a uma instância EC2. Vamos listar as 3 principais categorias abaixo:
Rede
Sempre que você executa uma instância EC2 na AWS, ela é automaticamente endereçada na internet e localmente, com um endereço IP público e um endereço IP privado, respectivamente. Além dos endereçamentos IP, uma instância EC2 recebe automaticamente um nome de DNS (que não pode ser alterado). Esse nome de DNS é utilizado para acessar a instância remotamente via internet.
Segurança
Ao criar uma instância EC2 na AWS, é possível controlar o tráfego para dentro e fora da sua instância por meio de firewalls virtuais chamados security groups. Os security groups permitem controlar o tráfego com base na porta, protocolo e rede, fornecendo uma camada super importante de segurança para suas instâncias virtuais.
Armazenamento
Quando você executa uma instância AWS EC2, é necessário associar uma unidade de armazenamento à máquina do mesmo modo que você tem um HD físico em seu servidor local. Esse serviço se chama Amazon Elastic Block Storage (Amazon EBS) e funciona integrado ao EC2.
O Amazon EBS fornece volumes de armazenamento de nível de bloco persistentes para uso em instâncias EC2. Cada volume do Amazon EBS é replicado automaticamente para protegê-los contra falhas de componentes, oferecendo alta disponibilidade e durabilidade.
O Amazon EBS oferece volumes dos mais vários tipos que diferem em características de desempenho e preço. Diferentes tipos de volumes do Amazon EBS podem ser anexados a uma única instância do Amazon EC2.
Amazon EC2: conclusão
O Amazon EC2 é um dos principais serviços da Amazon Web Services e a base para dezenas de soluções em nuvem. É um serviço integrado, simples e seguro que possibilita obter recursos de computação escalavéis via WEB e hospedar milhares de tipos de aplicações.
Hoje, diversos clientes dos mais variados setores da economia ao redor do mundo utilizam instâncias Amazon EC2 para promover agilidade e inovação para os seus negócios.
Tem alguma dúvida sobre a computação em nuvem e como ela pode contribuir para a agilidade e inovação do seu negócio? Continue acompanhando nosso blog para ter acesso a mais artigos como este e, caso tenha alguma dúvida ou queira saber mais sobre o assunto, entre em contato com a gente.
_