{"id":27171976,"url":"https://github.com/clubedojava/rinha-de-devops","last_synced_at":"2026-02-18T22:37:26.388Z","repository":{"id":285415978,"uuid":"957186325","full_name":"ClubeDoJava/rinha-de-devops","owner":"ClubeDoJava","description":"O desafio consiste em implementar a infraestrutura completa para um sistema de e-commerce simulado, tudo isso com recursos computacionais extremamente limitados","archived":false,"fork":false,"pushed_at":"2025-04-03T14:31:56.000Z","size":54,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-05T22:40:02.296Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://clubedojava.com.br/rinha","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ClubeDoJava.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-29T18:56:49.000Z","updated_at":"2025-05-14T18:12:58.000Z","dependencies_parsed_at":"2025-03-31T16:59:37.842Z","dependency_job_id":"d8b98007-268c-44dc-8197-328d29d98e01","html_url":"https://github.com/ClubeDoJava/rinha-de-devops","commit_stats":null,"previous_names":["clubedojava/rinha-de-devops"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ClubeDoJava/rinha-de-devops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClubeDoJava%2Frinha-de-devops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClubeDoJava%2Frinha-de-devops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClubeDoJava%2Frinha-de-devops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClubeDoJava%2Frinha-de-devops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ClubeDoJava","download_url":"https://codeload.github.com/ClubeDoJava/rinha-de-devops/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClubeDoJava%2Frinha-de-devops/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29597308,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T22:25:43.180Z","status":"ssl_error","status_checked_at":"2026-02-18T22:25:42.766Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-09T09:19:49.941Z","updated_at":"2026-02-18T22:37:26.363Z","avatar_url":"https://github.com/ClubeDoJava.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://clubedojava.com.br/rinha\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/_site-da_rinha-blue\"\n            alt=\"Site da Rinha\"\u003e\u003c/a\u003e\n\u003ca href=\"https://discord.com/invite/msjsG55MGn\"\u003e\n        \u003cimg src=\"https://img.shields.io/discord/308323056592486420?logo=discord\u0026logoColor=white\"\n            alt=\"Chat on Discord\"\u003e\u003c/a\u003e\n\n# Rinha de DevOps - Edição 2025\n_________________________________________________________________________________________________\n\n\u003cdiv\u003e\n\u003cimg align=\"left\" alt=\"Logo da Rinha\" width=\"250px\" src=\"https://i.ibb.co/4RGr1hgn/rinha.png\"/\u003e\n\u003c/div\u003e\n\n-------------------------------------------------------------------------------------------------\n\u003cdiv\u003e\n  \n## O que é a Rinha de DevOps?\n\n\u003c/div\u003e\n\n\u003cdiv\u003e \n        \nInspirada na [Rinha de Backend](https://github.com/zanfranceschi/rinha-de-backend-2024-q1) , 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.\n\nO 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.\n\n\u003c/div\u003e\n\n\u003cdiv\u003e\n\n## Datas Importantes\n\n- **Início:** 01/06/2025\n- **Prazo de Submissão:** 30/06/2025 (23:59:59 BRT)\n- **Avaliação:** 01/07/2025 a 04/07/2025\n- **Divulgação dos Resultados:** 05/07/2025 [Twitter](https://x.com/RinhaDeDevOps ) , e no [Youtube](https://www.youtube.com/@RinhaDeDevOps)\n\u003c/div\u003e\n\n## Arquitetura \n(clique em saiba mais para exibir)\n\n\u003cdetails\u003e\n   \n                       +---------------------+\n                       |                     |\n                       |       Nginx         |\n                       |    Load Balancer    |\n                       |     (porta 4444)    |\n                       |                     |\n                       +---------------------+\n                                 |\n                                 |\n                                 v\n                       +---------------------+\n                       |                     |\n                       |     API Gateway     |\n                       |      (Traefik)      |\n                       |                     |\n                       +---------------------+\n                          /      |       \\\n                         /       |        \\\n           +-------------+  +-------------+  +-------------+\n           |             |  |             |  |              |\n           | API Catálogo|  | API Pedidos |  |API Pagamentos|\n           |(2 instâncias)  |(2 instâncias)  |(2 instâncias)|\n           |             |  |             |  |              |\n           +-------------+  +-------------+  +-------------+\n                  |               |                |\n                  |               |                |\n                  v               v                v\n           +-------------------------------------------------+\n           |                                                 |\n           |                   PostgreSQL                    |\n           |                                                 |\n           +-------------------------------------------------+\n                                 |\n                                 |\n                +----------------+----------------+\n                |                                 |\n                v                                 v\n        +---------------+                 +-----------------+\n        |               |                 |                 |\n        |     Cache     |                 |   Prometheus    |\n        |    (Redis)    |                 | (Monitoramento) |\n        |               |                 |                 |\n        +---------------+                 +-----------------+\n                                                 |\n                                                 |\n                                                 v\n                                          +----------------+\n                                          |                |\n                                          |     CI/CD      |\n                                          |(GitHub Actions)|\n                                          |                |\n                                          +----------------+\n\u003c/details\u003e\n\n## Regras\n\nConsulte o arquivo [desafio/regras.md](desafio/regras.md) para as regras detalhadas do desafio.\n\nPontos principais:\n- Limite de recursos: 1.5 CPUs e 3GB de RAM para toda a infraestrutura\n- Uso obrigatório de Docker/Docker Compose\n- Regra de ouro: Implementar alta disponibilidade mesmo com recursos limitados\n- APIs serão fornecidas como imagens prontas (não precisam ser desenvolvidas)\n\n## O Desafio\n\nImplementar a infraestrutura completa para suportar três microserviços:\n\n1. **API de Catálogo** - Responsável pelo catálogo de produtos\n2. **API de Pedidos** - Gerencia carrinhos e pedidos\n3. **API de Pagamentos** - Processa pagamentos\n\nSua solução deve garantir:\n- Alta disponibilidade (zero downtime durante atualizações)\n- Resiliência a falhas (recuperação automática)\n- Monitoramento e observabilidade\n- Pipeline de CI/CD automatizado\n- Tudo isso com recursos extremamente limitados!\n\n## Critérios de Avaliação\n\nOs projetos serão avaliados em quatro dimensões principais:\n\n1. **Performance** (30%)\n   - Throughput máximo sustentável\n   - Tempo de resposta sob carga\n   - Uso eficiente dos recursos\n\n2. **Resiliência** (30%)\n   - Tempo de recuperação após falha\n   - Zero downtime durante atualizações\n   - Resistência a cenários de falha\n\n3. **Observabilidade** (20%)\n   - Qualidade do monitoramento implementado\n   - Facilidade de diagnóstico de problemas\n   - Configuração de alertas\n\n4. **Código e Automação** (20%)\n   - Qualidade e legibilidade do código de infraestrutura\n   - Pipeline de CI/CD\n   - Documentação\n\n## Imagens Docker\n\nAs imagens dos serviços estão disponíveis no Docker Hub:\n\n- `rinhadevops/api-catalogo:latest`\n- `rinhadevops/api-pedidos:latest`\n- `rinhadevops/api-pagamentos:latest`\n\nVocê pode incorporá-las diretamente no seu docker-compose.yml.\n\n## Como Participar\n\n1. Faça um fork deste repositório\n2. Implemente sua solução\n3. Crie um Pull Request adicionando seu projeto na pasta `/participantes/seu-usuario-github/`\n4. Certifique-se de incluir um README.md explicando sua abordagem\n\nVeja instruções detalhadas em [participantes/SUBMISSAO.md](participantes/SUBMISSAO.md).\n\n## Executando os Testes Localmente\n\n### Testes de Carga\n\n```bash\n# Instalar Gatling\ncd testes/gatling\n./gatling.sh -s ECommerceSimulation\n```\n\n### Testes de Resiliência\n\n```bash\n# Instalar Chaos Toolkit\ncd testes/chaos\nchaos run chaos-test.json\n```\n\n## Perguntas Frequentes\n\n**P: Posso usar Kubernetes em vez de Docker Compose?**\nR: Não. Para manter a competição acessível e focada, exigimos Docker Compose.\n\n**P: Posso modificar as APIs?**\nR: Não. As APIs são fornecidas como imagens prontas e não devem ser modificadas.\n\n**P: Posso usar serviços em nuvem?**\nR: Não. A solução deve rodar localmente usando apenas Docker Compose.\n\n**P: Há alguma preferência quanto às tecnologias utilizadas?**\nR: Desde que seja compatível com Docker Compose e atenda aos requisitos de recursos, você pode usar as tecnologias que preferir.\n\n## Recursos Adicionais\n\n- [Documentação do Docker Compose](https://docs.docker.com/compose/)\n- [Arquitetura de referência](desafio/arquitetura-referencia.png)\n- [Canal no Discord para dúvidas](https://discord.gg/rinhadevops)\n\n## Organizadores\n\n- [Michael Bullet](https://github.com/bulletdev)\n- [Colaborador 1](https://github.com/colaborador1)\n- [Colaborador 2](https://github.com/colaborador2)\n\n---\n\nBoa sorte e que vença a melhor infraestrutura!\n\n[#RinhaDeDevOps](https://x.com/hashtag/RinhaDeDevOps) | [Site Oficial](https://clubedojava.com.br/rinha)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclubedojava%2Frinha-de-devops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclubedojava%2Frinha-de-devops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclubedojava%2Frinha-de-devops/lists"}