Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Revisitando os 12 fatores para Cloud Native em ...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Revisitando os 12 fatores para Cloud Native em 2026

Nesta palestra revisitamos os 12 fatores sob a perspectiva de 2026 e discutimos o que realmente significa ser cloud native hoje. Mais do que seguir um checklist, o objetivo é construir aplicações que não dependam do modelo de execução — capazes de rodar em VM, containers ou Kubernetes sem reescrita. Usando Java e Helidon como exemplo, exploramos como princípios como configuração externa, observabilidade, build reprodutível e processos stateless garantem portabilidade real e resiliência em ambientes modernos.

Avatar for Víctor Orozco

Víctor Orozco

February 21, 2026
Tweet

More Decks by Víctor Orozco

Other Decks in Technology

Transcript

  1. Revisitando os 12 fatores para Cloud Native em 2026 Java

    Edition Víctor Orozco - @tuxtor 2026-02-21 Revisitando os 12 fatores para Cloud Native em 2026 1 / 26
  2. O ponto central A aplicação não depende do modelo de

    execução. VM, container ou Kubernetes — o código permanece o mesmo na nuvem Revisitando os 12 fatores para Cloud Native em 2026 2 / 26
  3. Exemplos Sumário 1 Exemplos 2 Os 12 fatores Revisitando os

    12 fatores para Cloud Native em 2026 4 / 26
  4. Exemplos Aplicação em VM (Oracle Linux) VM — Oracle Linux

    Oracle Linux JVM (ou JVM+Docker) Aplicação Cliente Evolução de execução — VM tradicional 5 / 26
  5. Exemplos Aplicação em Oracle Container Instances Oracle Cloud — Container

    Instances Container Runtime Imagem (JDK + libs) Aplicação Cliente Evolução de execução — Container gerenciado 6 / 26
  6. Exemplos Aplicação em Kubernetes (k3d) Kubernetes Cluster Worker Node Pod

    Container — Aplicação Service Ingress/LB Evolução de execução — Orquestração 7 / 26
  7. Exemplos Oracle Helidon Helidon é um framework Java cloud native,

    leve e orientado a microserviços Suporte a Jakarta EE e MicroProfile Implementa padrões essenciais para cloud native: Configuração externa (MicroProfile Config) Health checks e readiness/liveness Métricas e OpenTelemetry Fault tolerance (retry, timeout, circuit breaker) CDI e injeção de dependências Servidor HTTP embutido (Netty) — ideal para containers Artefatos pequenos, inicialização rápida e suporte a GraalVM Mesmo código. Múltiplos modelos de execução. Revisitando os 12 fatores para Cloud Native em 2026 8 / 26
  8. Os 12 fatores Sumário 1 Exemplos 2 Os 12 fatores

    Revisitando os 12 fatores para Cloud Native em 2026 9 / 26
  9. Os 12 fatores Os 12 fatores (revisão) 1 IJ Base

    de código — uma base de código, múltiplas implantações 2 ɔ Dependências — declare e isole explicitamente 3 Ð Configuração — armazene no ambiente 4 Ɓ Serviços de apoio — trate como recursos anexáveis 5 Ż Construir, lançar, executar — separação estrita 6 Ŏ Processos — aplicações sem estado 7 Ʈ Vinculação de porta — exponha serviços via porta 8 é Concorrência — escale via modelo de processos 9 ï Descartabilidade — inicialização e desligamento rápido 10 ʶ Paridade entre dev e prod 11 ı Logs e observabilidade — telemetria como stream de eventos 12 ̪ Processos administrativos — tarefas administrativas como processos de primeira classe Revisitando os 12 fatores para Cloud Native em 2026 10 / 26
  10. Os 12 fatores Base de código Uma única base de

    código com múltiplas implantações (deploys) Uma disciplina de ramificação (Gitflow, Trunk Based etc.) para gerenciar mudanças Base de código Implantações produção homologação demo desenvolvedores 12F #1 — Base de código 11 / 26
  11. Os 12 fatores Dependências Uma aplicação cloud native não deve

    “depender” de algo pré-instalado no ambiente Dependências isoladas e builds reproduzíveis Maven § ¤ 1 <dependency> 2 <groupId>io.helidon^/groupId> 3 <artifactId>helidon-webserver^/artifactId> 4 ^/dependency> ¦ ¥ Docker (Java 21) § ¤ 1 FROM eclipse-temurin:21-jdk 2 WORKDIR /app 3 COPY target/app.jar app.jar 4 CMD ["java","-jar","app.jar"] ¦ ¥ 12F #2 — Dependências 12 / 26
  12. Os 12 fatores Configuração A configuração deve ser dinâmica, sem

    recompilação ou reempacotamento Configure via ambiente (variáveis, secrets, config servers) Aplicação Ambiente DB_HOST=prod-db PORT=8080 variáveis de ambiente § ¤ 1 @Inject 2 @ConfigProperty(name = "REALLY_IMPORTANT_CONFIG") 3 String notAtAllSensitive; ¦ ¥ 12F #3 — Configuração 13 / 26
  13. Os 12 fatores Serviços de apoio (backing services) Baixo acoplamento:

    trate serviços externos (DB, cache, fila, storage) como recursos anexáveis Troca de provedor sem alterar o código (apenas configuração) App Oracle XE (dev) Oracle (prod) H2 (testes) 12F #4 — Serviços de apoio 14 / 26
  14. Os 12 fatores Construir, lançar, executar (build, release, run) Separação

    das etapas de build, release e execução CI/CD torna-se essencial Build Release Run artefato (.jar / imagem) imagem + config Pipeline CI/CD 12F #5 — Build, release, run 15 / 26
  15. Os 12 fatores Processos Execute a aplicação como um ou

    mais processos sem estado (stateless) Sessões portáveis com tokens (ex.: JWT) e estado externo Processo Processo Processo Estado externo 12F #6 — Processos 16 / 26
  16. Os 12 fatores Vinculação de porta (port binding) Exponha serviços

    via porta (configurável/dinâmica) O servidor web está embutido no artefato Microservice chassis + imagem de container Aplicação (Helidon + Netty) HTTP : 8080 Cliente Imagem de container 12F #7 — Vinculação de porta 17 / 26
  17. Os 12 fatores Concorrência Escale via modelo de processos Aumente

    concorrência adicionando mais instâncias (horizontal) Web process Web Web Web Worker Worker 12F #8 — Concorrência 18 / 26
  18. Os 12 fatores Descartabilidade (disposability) Processos iniciam rápido, morrem rápido

    e reiniciam rapidamente Tolerância a falhas e desligamento gracioso (graceful shutdown) Pet vs. cattle: não há necessidade de “cuidar” de instâncias individuais Processo Processo Processo X Processo 12F #9 — Descartabilidade 19 / 26
  19. Os 12 fatores Paridade entre dev e prod Ambientes de

    desenvolvimento, homologação e produção o mais homogêneos possível Infraestrutura como código (IaC) para reduzir drift e “surpresas” em produção § ¤ 1 resource "oci_core_instance" "app" { 2 shape = "VM.Standard.E4.Flex" 3 source_details { source_type = "image" } 4 } 5 ^^. ¦ ¥ 12F #10 — Paridade dev/prod 20 / 26
  20. Os 12 fatores Logs e observabilidade (2026) No 12-factor: logs

    como stream de eventos Em 2026, isso normalmente vira telemetria: logs, métricas e traces (OpenTelemetry) Permite análise posterior e monitoramento em tempo real App App App OpenTelemetry Collector Backend de observabilidade 12F #11 — Logs e observabilidade 21 / 26
  21. Os 12 fatores Processos administrativos Tarefas administrativas executadas como processos

    únicos Mesmo código e mesma configuração da aplicação Exemplo: migração de banco com Flyway § ¤ 1 public class AdminTask { 2 public static void main(String[] args) { 3 Flyway flyway = Flyway.configure() 4 .dataSource(System.getenv("DB_URL"), 5 System.getenv("DB_USER"), 6 System.getenv("DB_PASS")) 7 .load(); 8 flyway.migrate(); 9 } 10 } ¦ ¥ 12F #12 — Processos administrativos 22 / 26
  22. Os 12 fatores Exemplos (ferramentas comuns em 2026) 1 IJ

    Base de código — Gitflow, Trunk Based 2 ɔ Dependências — Maven, npm 3 Ð Configuração — OCI Vault, HashiCorp Vault, Kubernetes Secrets 4 Ɓ Serviços de apoio — Object Storage 5 Ż Build/release/run — Jenkins, GitHub Actions 6 Ŏ Processos — Helidon, Node.js 7 Ʈ Vinculação de porta — Netty, Undertow, Kestrel 8 é Concorrência — Kubernetes, OCI, Fargate 9 ï Descartabilidade — Docker, Knative 10 ʶ Paridade dev/prod — Pulumi, Docker 11 ı Logs e observabilidade — ServiceMonitors, OpenTelemetry, OCI Logging, Grafana 12 ̪ Processos administrativos — Flyway Revisitando os 12 fatores para Cloud Native em 2026 23 / 26
  23. Os 12 fatores Os 12 fatores ainda são suficientes? Não

    Não falam de segurança Não falam de supply chain Não falam de multi-tenant Não falam de platform engineering Revisitando os 12 fatores para Cloud Native em 2026 24 / 26
  24. Os 12 fatores Víctor Orozco [email protected] @tuxtor https://vorozco.com https://tuxtor.shekalug.org This

    work is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Guatemala (CC BY-NC-SA 3.0 GT). Revisitando os 12 fatores para Cloud Native em 2026 26 / 26