Skip to content

Introdução

Este projeto foi desenvolvido com base na arquitetura apresentada na imagem abaixo, utilizando recursos da Oracle Cloud Infrastructure (OCI) e o Oracle Kubernetes Engine (OKE) para orquestrar os ambientes de desenvolvimento, homologação e produção. O principal objetivo foi construir uma infraestrutura escalável, segura e automatizada para a implantação do backend da aplicação "Rede IS", além do gerenciamento de serviços auxiliares e ferramentas DevOps.

Arquitetura Geral

Figura 1: Arquitetura Geral

Componentes Principais

  • OCI Region (eu-saojoaquim-1): Região da Oracle Cloud onde os recursos estão provisionados.
  • Fault Domains (1, 2 e 3): Domínios de falha que garantem alta disponibilidade e resiliência da infraestrutura.
  • OKE (Oracle Kubernetes Engine): Serviço gerenciado de Kubernetes da OCI, onde são executadas as aplicações em contêineres.
  • Worker Nodes: Máquinas virtuais onde os pods (unidades de execução) são executados.
  • Pods: Unidades que contêm um ou mais contêineres da aplicação.
  • Istio: Service Mesh responsável por tráfego, segurança e observabilidade entre serviços.
  • Internal Load Balancer: Balanceador interno responsável por distribuir tráfego para os gateways da aplicação.
  • Gateway API: Ponto de entrada para as aplicações hospedadas no OKE.
  • OCI Vault & External Secrets Operator: Solução para gerenciamento seguro de segredos, integrada ao cluster via operador Kubernetes.
  • HashiCorp Vault: Alternativa ou complemento para o gerenciamento de segredos.
  • HELM: Gerenciador de pacotes para Kubernetes utilizado para implantações complexas.
  • Argo CD: Ferramenta GitOps que sincroniza o estado do cluster com repositórios Git.
  • OCI Container Registry: Registro privado de imagens Docker hospedado na OCI.
  • GitHub & GitHub Actions: Plataforma de versionamento e automação de pipelines CI/CD.
  • Docker: Plataforma de containerização responsável pela criação de imagens.
  • Sentry & OpenTelemetry: Ferramentas para rastreamento de erros, métricas e observabilidade.
  • Firewall & Dynamic Routing Gateway (DRG): Componentes de rede utilizados para controle de acesso e roteamento entre VCNs e a internet.

Fluxo de Trabalho

  1. Desenvolvedor cria uma Pull Request (PR) com novas funcionalidades ou correções.
  2. GitHub Actions executa testes, validações e cria uma nova imagem Docker.
  3. Imagem Docker é gerada e enviada para o OCI Container Registry.
  4. Argo CD detecta alterações no repositório Git e sincroniza o cluster OKE.
  5. Nova versão da aplicação é implantada no cluster com a nova imagem.
  6. External Secrets Operator sincroniza segredos do OCI Vault ou HashiCorp Vault com o Kubernetes.
  7. Istio gerencia o tráfego e a segurança entre serviços.
  8. Internal Load Balancer distribui o tráfego para os gateways da aplicação.
  9. Sentry e OpenTelemetry monitoram desempenho, erros e métricas.

Conclusão

A arquitetura representa uma abordagem moderna e automatizada de CI/CD na Oracle Cloud, com foco em segurança, observabilidade e resiliência. A utilização do OKE integrada a ferramentas como Argo CD, Vault, GitHub Actions e OpenTelemetry permite uma entrega contínua eficiente, segura e auditável, alinhada às melhores práticas DevOps e GitOps.