Sobre

FV

Fabio Vige

Senior Software Engineer · PHP · +20 anos

Programador raiz que viveu a evolução do desenvolvimento de software de ponta a ponta. Mais de 20 anos escrevendo PHP — da era do código procedural às arquiteturas modernas com SOLID, Clean Code e Design Patterns. Não parou no tempo: absorveu novas stacks, cloud, infraestrutura como código e IA, acompanhando o mercado com a mesma curiosidade do primeiro dia.

Proativo por natureza, resolve problemas antes de virarem incêndio. Trabalha bem em equipe, comunica com clareza e carrega junto — seja no código, na arquitetura ou no dia a dia do time.

PHP +20 anos Clean Code SOLID Design Patterns AWS Terraform Docker CI/CD IA

Arquitetura

Stack

TF

Terraform

Toda a infra provisionada como código. State remoto no S3 com versionamento e criptografia AES256. Lock nativo via S3.

  • backend S3 us-east-2
  • provider AWS ~> 5.0
  • versão >= 1.10
AWS

AWS

Região us-east-2. EC2 t3.micro com Elastic IP fixo servindo o site via Docker. ECR armazenando a imagem. IAM Role com permissão mínima de leitura.

  • EC2 t3.micro · Amazon Linux
  • Elastic IP IP fixo · sobrevive a reinicializações
  • ECR website-prod
  • S3 terraform-state-fabiovigedev
  • IAM ec2-ecr-role (readonly)
CF

Cloudflare

DNS gerenciado pelo Cloudflare. Registro.br aponta os nameservers para o Cloudflare, que resolve o domínio para o Elastic IP da EC2.

  • registro.br nameservers → Cloudflare
  • A record fabiovigedev.com.br → Elastic IP
  • A record www → Elastic IP
GH

GitHub Actions

Dois pipelines automatizados. Infra via OIDC sem AWS keys. Deploy contínuo a cada push na main — build, ECR push e atualização na EC2 via SSH.

  • infra workflow_dispatch → Terraform
  • deploy push main → EC2
  • auth OIDC → GithubInfraRole

Pipeline — Infra

01 Checkout Baixa o código
02 OIDC Auth Assume GithubInfraRole
03 TF Init Backend S3
04 Validate + Fmt Lint e formatação
05 Plan Preview sempre
06 Apply se apply=true

Pipeline — Deploy

01 push main trigger automático
02 OIDC Auth Assume role ECR
03 Docker Build tag = github.sha
04 ECR Push website-prod
05 SSH → EC2 pull + restart

Recursos Provisionados

Recurso Nome Descrição
S3 terraform-state-fabiovigedev State remoto com versioning + criptografia
ECR website-prod Registry de imagens Docker
EC2 website_server Servidor t3.micro · Amazon Linux
IAM ec2-ecr-role Permite EC2 puxar imagens do ECR
SG website-sg SSH restrito ao IP do owner · HTTP/HTTPS aberto
IAM GithubInfraRole OIDC trust para GitHub Actions · gerenciado no bootstrap
EIP Elastic IP IP fixo associado à EC2 · não muda ao reiniciar
DNS Cloudflare Gerencia DNS do fabiovigedev.com.br · nameservers via registro.br