Mestrado em Engenharia Informática
Trabalho prático de Aplicações e Serviços de Computação em Nuvem
2023/2024
Nome | Número |
---|---|
Ana Rita Santos Poças | PG53645 |
João Pedro Vilas Boas Braga | PG53951 |
Orlando José da Cunha Palmeira | PG54123 |
Miguel Silva Pinto | PG54105 |
Pedro Miguel Castilho Martins | PG54146 |
ansible-playbook gke-cluster-create.yml
ansible-playbook laravelio-deploy.yml
ansible-playbook laravelio-deploy.yml -e "l_reps=3"
Deploy da aplicação completa com um numero especifico de replicas do servidor aplicacional e sem HorizontalPodAutoscaler(HPA) - Tem De Ser Nesta Ordem!
ansible-playbook laravelio-deploy.yml -e "l_reps=1" --skip-tags hpa
ansible-playbook laravelio-deploy.yml -e "seed_database=false"
Deploy da aplicação mas sem ser feito o seeding da base de dados e com um numero especifico de replicas do servidor aplicacional
ansible-playbook laravelio-deploy.yml -e "seed_database=false l_reps=3"
ansible-playbook laravelio-deploy.yml --skip-tags hpa
ansible-playbook test-all.yml
Comando de teste para verificar se o playbook está a funcionar, após ter criado o cluster (não faz deploy nem undeploy da aplicação)
ansible-playbook tests-only.yml
ansible-playbook laravelio-undeploy.yml
Undeploy da aplicação mas sem ser removido o PersistentVolumeClaim(PVC) para manter persistência dos dados
ansible-playbook laravelio-undeploy.yml --skip-tags pvc
ansible-playbook gke-cluster-destroy.yml
Criação dos clusters GKE
Eliminação dos clusters GKE
Deploy da aplicação completa
Undeploy da aplicação completa
Reload da aplicação Laravel, como mecanismo de manutenção da aplicação, sem apagar os seus dados
Testa o deployment de toda a aplicação, funcionalidades da aplicação, e por fim verifica o correto terminamento da aplicação
Testa apenas as funcionalidades da aplicação, já com a aplicação a correr, sem executar o deploy nem o undeploy da aplicação
Criação das VMS de carga
Testa a aplicação com um load testing, com um número de threads e de iterações por defeito, ou com um número de threads e de iterações especificado pelo utilizador, pressupondo a criação das VMS de carga
Importa o dashboard JSON para o projeto definido
-
Deploy da aplicação:
ansible-playbook laravelio-deploy.yml
-
Fazer login na aplicação: Aceder ao endereço http://<app_ip>/login Com as credenciais:
- username: testing
- password: password
-
Criar uma nova thread no fórum: Aceder ao endereço http://<app_ip>/forum/create-thread
-
Undeploy da aplicação sem eliminar o pvc:
ansible-playbook laravelio-undeploy.yml --skip-tags pvc
-
Redeploy da aplicação sem fazer seeding da base de dados para não gerar conflitos:
ansible-playbook laravelio-deploy.yml -e "seed_database=false"
-
Verificar a thread criada anteriormente: Aceder ao endereço http://<app_ip>/forum
-
Criação das VMS e provisionamente (Java, Jmeter) para o load testing:
ansible-playbook gcp-create-vms.yml
-
Execução do load testing:
ansible-playbook test-load.yml
Os resultados do load testing são guardados na diretoria "./results"
2.1. Execução do load testing com um número de threads e de iterações diferente do default:
ansible-playbook test-load.yml -e "threads=10 iters=100 load_file=tests/load_forum.jmx"
- Remoção das VMS: Na execução do create-vms, clicar Ctrl+C + C para indicar a continuação da execução do playbook que elimina as VMS: