Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

O desafio consiste em implementar a infraestrutura completa para um sistema de e-commerce simulado, tudo isso com recursos computacionais extremamente limitados

Notifications You must be signed in to change notification settings

ClubeDoJava/rinha-de-devops

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Site da Rinha Chat on Discord

Rinha de DevOps - Edição 2025


Logo da Rinha

O que é a Rinha de DevOps?

Inspirada na Rinha de Backend , a Rinha de DevOps é uma competição técnica para profissionais de DevOps e SRE demonstrarem suas habilidades na construção de infraestruturas resilientes, escaláveis e observáveis.

O desafio consiste em implementar a infraestrutura completa para um sistema de e-commerce simulado, com foco em alta disponibilidade, monitoramento, resiliência a falhas e automação de CI/CD, tudo isso com recursos computacionais extremamente limitados.

Datas Importantes

  • Início: 01/06/2025
  • Prazo de Submissão: 30/06/2025 (23:59:59 BRT)
  • Avaliação: 01/07/2025 a 04/07/2025
  • Divulgação dos Resultados: 05/07/2025 Twitter , e no Youtube

Arquitetura

(clique em saiba mais para exibir)

Details
                   +---------------------+
                   |                     |
                   |       Nginx         |
                   |    Load Balancer    |
                   |     (porta 4444)    |
                   |                     |
                   +---------------------+
                             |
                             |
                             v
                   +---------------------+
                   |                     |
                   |     API Gateway     |
                   |      (Traefik)      |
                   |                     |
                   +---------------------+
                      /      |       \
                     /       |        \
       +-------------+  +-------------+  +-------------+
       |             |  |             |  |              |
       | API Catálogo|  | API Pedidos |  |API Pagamentos|
       |(2 instâncias)  |(2 instâncias)  |(2 instâncias)|
       |             |  |             |  |              |
       +-------------+  +-------------+  +-------------+
              |               |                |
              |               |                |
              v               v                v
       +-------------------------------------------------+
       |                                                 |
       |                   PostgreSQL                    |
       |                                                 |
       +-------------------------------------------------+
                             |
                             |
            +----------------+----------------+
            |                                 |
            v                                 v
    +---------------+                 +-----------------+
    |               |                 |                 |
    |     Cache     |                 |   Prometheus    |
    |    (Redis)    |                 | (Monitoramento) |
    |               |                 |                 |
    +---------------+                 +-----------------+
                                             |
                                             |
                                             v
                                      +----------------+
                                      |                |
                                      |     CI/CD      |
                                      |(GitHub Actions)|
                                      |                |
                                      +----------------+

Regras

Consulte o arquivo desafio/regras.md para as regras detalhadas do desafio.

Pontos principais:

  • Limite de recursos: 1.5 CPUs e 3GB de RAM para toda a infraestrutura
  • Uso obrigatório de Docker/Docker Compose
  • Regra de ouro: Implementar alta disponibilidade mesmo com recursos limitados
  • APIs serão fornecidas como imagens prontas (não precisam ser desenvolvidas)

O Desafio

Implementar a infraestrutura completa para suportar três microserviços:

  1. API de Catálogo - Responsável pelo catálogo de produtos
  2. API de Pedidos - Gerencia carrinhos e pedidos
  3. API de Pagamentos - Processa pagamentos

Sua solução deve garantir:

  • Alta disponibilidade (zero downtime durante atualizações)
  • Resiliência a falhas (recuperação automática)
  • Monitoramento e observabilidade
  • Pipeline de CI/CD automatizado
  • Tudo isso com recursos extremamente limitados!

Critérios de Avaliação

Os projetos serão avaliados em quatro dimensões principais:

  1. Performance (30%)

    • Throughput máximo sustentável
    • Tempo de resposta sob carga
    • Uso eficiente dos recursos
  2. Resiliência (30%)

    • Tempo de recuperação após falha
    • Zero downtime durante atualizações
    • Resistência a cenários de falha
  3. Observabilidade (20%)

    • Qualidade do monitoramento implementado
    • Facilidade de diagnóstico de problemas
    • Configuração de alertas
  4. Código e Automação (20%)

    • Qualidade e legibilidade do código de infraestrutura
    • Pipeline de CI/CD
    • Documentação

Imagens Docker

As imagens dos serviços estão disponíveis no Docker Hub:

  • rinhadevops/api-catalogo:latest
  • rinhadevops/api-pedidos:latest
  • rinhadevops/api-pagamentos:latest

Você pode incorporá-las diretamente no seu docker-compose.yml.

Como Participar

  1. Faça um fork deste repositório
  2. Implemente sua solução
  3. Crie um Pull Request adicionando seu projeto na pasta /participantes/seu-usuario-github/
  4. Certifique-se de incluir um README.md explicando sua abordagem

Veja instruções detalhadas em participantes/SUBMISSAO.md.

Executando os Testes Localmente

Testes de Carga

# Instalar Gatling
cd testes/gatling
./gatling.sh -s ECommerceSimulation

Testes de Resiliência

# Instalar Chaos Toolkit
cd testes/chaos
chaos run chaos-test.json

Perguntas Frequentes

P: Posso usar Kubernetes em vez de Docker Compose? R: Não. Para manter a competição acessível e focada, exigimos Docker Compose.

P: Posso modificar as APIs? R: Não. As APIs são fornecidas como imagens prontas e não devem ser modificadas.

P: Posso usar serviços em nuvem? R: Não. A solução deve rodar localmente usando apenas Docker Compose.

P: Há alguma preferência quanto às tecnologias utilizadas? R: Desde que seja compatível com Docker Compose e atenda aos requisitos de recursos, você pode usar as tecnologias que preferir.

Recursos Adicionais

Organizadores


Boa sorte e que vença a melhor infraestrutura!

#RinhaDeDevOps | Site Oficial

About

O desafio consiste em implementar a infraestrutura completa para um sistema de e-commerce simulado, tudo isso com recursos computacionais extremamente limitados

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.