Usar Terraform & Serverless Framework para criar aplicações Serverless com infraestrutura imutável.
- Paga somente pelo que usa
- Cada função pode ser criada com uma linguagem de programação diferente
- Muitos eventos pré configurados na cloud ajudam a criar arquiteturas orientadas a eventos
- Auto-escalável por natureza
- Tempo de execução
- Vendor Lock-in
- Difícil fazer debug
- É necessário configuração extra para controlar (parcialmente) o ambiente de execução (Lambda Layers)
Vantagens da infraestrutura como código na estrutura serverless:
- Possibilita a execução transparente em diferentes ambientes (dev, test, prod)
- Quando a infraestrutura é automatizada, as chances de alfor dar erra por esquecimento de rodar um script são reduzidas
- Fácil replicar a infraestrutura, inclusive entre diferentes provedores de cloud
- API Gateway
- IAM Roles
- DynamoDB
- SQS
- Função Lambda
- Funções Lambda
- Eventos: SNS, SQS, DynamoDB Streams e API Gateway
Infraestrutura (exceto API Gateway):
- Filas SQS
- Tópicos SNS
- DynamoDB (Tabelas e Streams)
- IAM Roles
- SNS Subscriptions
- terraform init
- terraform plan
- terraform apply
- terraform destroy
- tf variables
- tf modules
- Ambiente de prod