HumanGov — Infraestrutura SaaS multi-tenant na AWS com Terraform

HumanGov — Infraestrutura SaaS multi-tenant na AWS com Terraform

Resumo estruturado do artigo do Medium (para portfólio). Voltar para o CV

Imagens do projeto
Tecnologias do projeto (AWS/Terraform)
Arquitetura da solução (multi-tenant)

Visão geral

Neste projeto, implementei uma infraestrutura SaaS multi-tenant e reutilizável na AWS, utilizando módulos do Terraform para garantir escalabilidade, automação e segurança na configuração dos recursos. Para armazenar e versionar os arquivos de infraestrutura de maneira segura, utilizei o AWS CodeCommit, assegurando controle sobre as mudanças e integração contínua.

Tecnologias utilizadas
  • AWS CodeCommit — repositório Git privado para armazenar os arquivos de configuração do Terraform.
  • Terraform — IaC para provisionamento e gerenciamento de recursos na AWS.
  • Amazon EC2 — instâncias para execução das aplicações.
  • Amazon DynamoDB — NoSQL para armazenamento escalável e baixa latência (usado também para lock do state).
  • Amazon S3 — armazenamento de objetos (logs e arquivos da infraestrutura + Terraform state).
Arquitetura da solução

A infraestrutura foi projetada para suportar múltiplos tenants (clientes) de forma isolada e segura, utilizando o conceito de silos por estado/região. Cada tenant possui recursos dedicados, garantindo segmentação e segurança entre clientes. Os estados da infraestrutura são armazenados em S3 + DynamoDB para consistência e rastreabilidade.

Fluxo de implementação
  1. Desenvolvimento e versionamento: arquivos Terraform (*.tf) criados e armazenados no AWS CodeCommit.
  2. Validação e planejamento: execução de terraform validate e terraform plan para revisão.
  3. Provisionamento: terraform apply para criar e configurar serviços automaticamente.
  4. Gestão contínua: mudanças versionadas e aplicadas com rastreamento seguro.
Destaques do projeto
  • Automação completa da infraestrutura com Terraform.
  • Gerenciamento seguro de código IaC no AWS CodeCommit.
  • Estrutura multi-tenant utilizando VPCs/EC2/S3/DynamoDB.
  • Terraform State armazenado com segurança em S3 + DynamoDB.
  • Arquitetura modular e reutilizável para onboard rápido de novos tenants.

Fonte: artigo no Medium