De acordo com os requisitos não funcionais, o sistema deve ser (1) altamente disponível, (2) escalável e (3) seguro. A escolha da infraestrutura é crucial para atender a esses requisitos.
Optamos por utilizar utilizar um Cloud Provider, especificamente a AWS. Usaremos serviços de Iaas e PaaS, principalmente. Os recursos serão gerenciados como Infrastructure as Code através do Terraform.
- Alta disponibilidade e confiabilidade dos serviços AWS.
- Escalabilidade com Auto Scaling Groups, em serviços serverless, etc.
- Segurança compartilhada com o provedor.
- Versionamento e automação com Terraform.
- Custo da infraestrutura.
- Dependência de um fornecedor de nuvem.
- Complexidade de gerenciamento.