DEV Community

Rodrigo Ferraz
Rodrigo Ferraz

Posted on

Aplicação para testes diversos

As Aplicações abaixo foram desenvolvidas apenas para labs que eu faço em arquiteturas de cloud de forma a testar a comunicação entre zonas de disponibilidades, AutoScaling, deploy com Terraform, etc. Ela será utilizada em uma série de postagens onde vou fazer o deploy dessa aplicação tanto na AWS como no Azure de várias maneiras diferentes, com Ec2, Fargate, EKS e na Azure com os equivalentes.

As aplicações de teste

Bom, as aplicações são simples, elas foram escritas em Python e PHP das quais a que eu realmente entendo é a de Python, mas se você não sabe nada sobre nenhuma dessas linguagens, não tem problema, elas foram feitas com base nos exemplos que tem no próprio site.
Basicamente o APP PHP faz um GET na APP Python que por sua vez conecta no container com o banco Redis e incrementa com +1 a variável API_COUNTER. Para ficar mais visual fiz a imagem abaixo:

Alt Text

O Git para download do código está aqui

APP Python

A única coisa que usei de diferente aqui foi a biblioteca do redis para fazer a conexão com ele e o Flask como framework pra rodar a aplicação. Apenas para fins de curiosidade essa aplicação foi feita com base nesse link.

  • Porta em que a aplicação roda = 9090
  • Variáveis de ambiente:
    • FLASK_APP = app.py
    • REDIS_URL = redis://redis:6379/0

APP PHP

Aqui temos uma aplicação bem simples também usando o Guzzlehttp para subir o servidor web e fazer as requisições para o endpoint da APP Python, a aplicação foi baseada no Quickstart do Guzzle.

  • Porta em que a aplicação roda = 8080
  • Variáveis de Ambiente:

Subindo o Ambiente para testes

Caso você queira experimentar essa aplicação em sua máquina é totalmente possível, desde que você tenha o Docker devidamente instalado no seu ambiente como também o Docker Composer.

Para subir o ambiente basta clonar este repositório do meu Github, acessar a pasta raiz dele e rodar os comandos abaixo.

Para buildar as imagens, instalar dependencias e fazer toda a parafernalha do Docker:

make build
Enter fullscreen mode Exit fullscreen mode

E para subir o ambiente:

make up
Enter fullscreen mode Exit fullscreen mode

Para acessar as aplicações basta testar acessando pelo seu navegador e deve ver algo como nas imagens abaixo:
Aplicação Python:
py_app

Aplicação PHP:
php_app

Em breve teremos o Deploy na AWS!

Top comments (0)