DEV Community

Hernani Almeida
Hernani Almeida

Posted on • Updated on

Criando uma arquitetura escalável na AWS utilizando Cloudfront, CloudWatch, Elastic Beanstalk, Dynamodb - parte 2

Ferramentas necessárias:

A Amazon Web Services (AWS) é a plataforma de nuvem escalável mais abrangente e amplamente adotada do mundo. A AWS oferece mais de 200 serviços totalmente caracterizados de data centers globalmente e muitas empresas tem migrado seus sistemas On Premise para a cloud da AWS e nesse post vamos abordar a criação de uma arquitetura escalável auto gerenciada pela AWS através do recurso ElasticBeanstalk para uma aplicação que tenha picos de acessos e continue mantendo sua performance.
Este post esta dividido em 4 partes para facilitar o conteúdo e abordagem dos recursos utilizados na AWS.
Antes de iniciarmos irei fazer uma breve descrição sobre os recursos que utilizaremos dentro da cloud AWS nesta segunda parte do post.

  • Elastic Bean Stalk: E um serviço de fácil implantação e escalabilidade da aplicação, ele se encarrega automaticamente da implementação, desde o provisionamento de capacidade, o balanceamento de carga, a escalabilidade automática ate o monitoramento da saúde da aplicação.

Vamos criar uma nova aplicação utilizando o recurso do Elastic Beanstalk, para isso dentro do dashboard inicial da conta AWS pesquise pelo recurso Elastic Beanstalk e clique nele

Image description

Clique agora em Create Aplication na tela que abriu e abrira uma nova tela onde passaremos informações de nossa aplicação. Preencha os campos conforme as imagens abaixo
Image description

No campo Platform preencha qual o tipo de linguagem sua aplicação foi codificada, a versão que será utilizada em Platform Branch e sempre escolha a versão recomendada em Platform Version
platform

Na próxima aba Application Code vamos escolher a opção de fazer upload de nossa aplicação Upload your code, para este artigo irei utilizar uma aplicação que salva dentro de um S3 da AWS, caso queira seguir o mesmo passo utilize o link https://bootcamp-aws.s3.amazonaws.com/tcb-conf-app.zip, agora vamos adicionar mais configurações para nossa aplicação clicando no botao configure more option

upload code

Em Presets selecionamos a opção High Availability que ira tornar nossa aplicação com alta disponibilidade
presets
Na aba Software clique em edit e em Environment Properties define as variáveis ambientes necessárias para a aplicação rodar e clique em save
V.A

Na aba Instances clique em edit e configure o Root Volume Type (podemos fazer analogia ao HD da instancia) da instancia onde a aplicação será armazenada, mantenha as outas configurações e clique em save
Image description

No campo Capacity clique em edit e vamos configurar a quantidade de instancias que nossa aplicação necessita, na opção Auto Scaling Group, para esta aplicação vamos definir no mínimo 2 instancias (ou seja a aplicação ja ira subir com 2 instancias criadas para suportar a carga da aplicação) e no máximo 4 instancias (será adicionada mais instancias conforme a aplicação necessite para se manter disponível)
Auto scaling
Na opção Instance Types selecione qual tipo de instancia sua aplicação utilizara.
instance type
Na aba Scaling triggers vamos configurar a métrica que será utilizado pelo Auto Scaling para subir mais uma instancia ou remover uma instancia conforme o uso da aplicação.
Nesta aplicação vamos utilizar a porcentagem de uso da Cpu das instancias utilizadas pela aplicação, passando de 60% o auto scaling subira automaticamente uma nova instancia para atender a demanda da aplicação e se a porcentagem for menor de 40% ele removera automaticamente uma instancia. Feito isso clique em save
Scaling triggers
Na aba Security define a seguinte configuração e clique em save
security

Na aba Network clique em edit e na opção Virtual private cloud selecione a VPC que criamos na parte 1 deste post e configure as próximas opções conforme as imagens abaixo e clique em save.
vpc
lb
Obs: Na imagem abaixo a opção Public IP address esta selecionada, em ambiente de produção esta nao e uma boa pratica mas para facilitar os testes que serão realizados neste artigo a opção esta selecionada
Image description

Feito isso clique em create app e nossa aplicação será criada.

Se tudo ocorreu bem você aparecera na tela a aplicação rodando (health ok) e você poderá testar clicando no link indicado na imagem abaixo
health aplication

Podemos ver nossa aplicação no ar \o/\o/\o/

aplicação

Link parte 3

Deixo aqui meus contatos:
linkedin
github

Top comments (0)