Elasticidade AWS

 O Elastic Cloud Computing  é um conceito criado pela Amazon para sua nuvem AWS.  Na Computação em Nuvem Elástica,  uma série de componentes de software auxiliam a construção de sistemas, que podem aumentar e/ou diminuir seus recursos, de acordo com a demanda de utilização. Esses componentes utilizam estrutura de virtualização e exposição de APIs para controlar o provisionamento dos recursos.  A esse conjunto chamamos infraestrutura programável.
Para exemplificar o funcionamento da elasticidade da AWS, vamos apresentar um sistema WEB que responde ao aumento da demanda como a imagem abaixo.
elastic_diagrama

Ec2A peça fundamental desse modelo é o EC2, um sistema que permite o provisionamento máquinas virtuais de forma rápida e automatizada. As instâncias EC2 podem ser inicializadas com vários sistemas operacionais diferentes, tendo recursos de CPU memória e disco provisionados de acordo com a necessidade.

ami_resizePara o provisionamento de sistemas pré-configurados, o EC2 utiliza modelos de máquinas chamados AMIs (Amazon Machine Images). Um AMI pode conter tanto um sistema operacional básico como uma  máquina já configurada com todas as camadas de software necessários para o funcionamento.
AutoScaleO AutoScale é quem faz provisionamento automático de instâncias EC2,de acordo com a demanda. O AutoScale cria as instâncias com base em um AMI, uma configuração de tamanho de máquina e outras informações necessárias para a criação como, local onde ela deve ser inicializada,  segurança e rede.
 No AutoScale são configurados Os números mínimo e máximos de instancias, bem como os gatilhos de incremento e redução desse número. Um dos gatilhos mais utilizados é o percentual de CPU, assim, podemos configurar um AutoScale para manter tantas instâncias quanto forem necessárias para não degradar o sistema e, ao mesmo tempo, destruir as instâncias quando a demanda diminui.
elb_resizePara entregar entregar a carga de trabalho que vem dos usuários utilizamos um balanceado chamado ELB (Elastic load Balancer). O ELB  distribui as chamadas entre várias instâncias geradas pelo AutoScale, permitindo que a distribuição de carga acompanhe o crescimento e a diminuição do número de instâncias.
RDS_resizeNesse exemplo, para a persistência de dados, apresentamos o serviço RDS. Um sistema de banco de dados de operados totalmente pela AWS. Os   banco de dados disponibilizadas são conhecidos de mercado como Oracle, SQLServer, Mysql, PostrgreSQL e agora o Aurora da própria Amazon. Os bancos de dados como serviço seguem a idéia da elasticidade, podendo ser redimensionados se necessário. Além disso, oferecem facilidades de disponibilidade como redundância geográfica e backups automatizados.

Leave a comment