Nubank, confrontée à une croissance exponentielle et à des coûts élevés liés à une solution externe de logging, a décidé de construire sa propre plateforme interne pour gérer plus d’1 trillion d’entrées de log par jour. L’ancienne architecture, dépendante d’un fournisseur tiers, souffrait de manque de visibilité, de coûts imprévisibles et de rigidité, rendant difficile la résolution des incidents et l’optimisation des ressources.
La nouvelle plateforme a été conçue en deux phases :
- Observability Stream : ingestion et traitement des logs, utilisant Fluent Bit pour la collecte, un service de buffer interne pour lisser les pics de trafic, et un service de filtrage/transformation extensible.
- Query and Storage Platform : stockage et requêtage, avec Trino comme moteur SQL distribué (optimisé pour le partitionnement), AWS S3 pour un stockage scalable et économique, et Parquet pour une compression efficace (95 %) et des requêtes rapides.
Résultats :
- 1 Po de données traitées/jour, 45 Po stockés (rétention 45 jours), 15 000 requêtes/jour.
- Réduction de 50 % des coûts par rapport à la solution précédente.
- Fiabilité, scalabilité et contrôle total sur l’infrastructure, permettant une meilleure observabilité et une réponse plus rapide aux incidents.
Cette approche, combinant outils open source et services internes, illustre comment une architecture découplée, modulaire et optimisée pour le cloud peut répondre aux défis de l’échelle tout en maîtrisant les coûts.
Shopify gère 30 To de données par minute pendant des événements comme le Black Friday, tout en maintenant une architecture "monolithique modulaire" et scalable. Leur secret ? Une approche disciplinée basée sur un monolithe modulaire en Ruby on Rails, organisé en "quartiers" logiques (checkout, paiements, commandes, etc.), chacun avec sa propre équipe et ses responsabilités claires. Ils utilisent l’architecture hexagonale (Ports and Adapters) pour isoler la logique métier des dépendances externes, et des Pods (clusters isolés) pour répartir la charge et limiter les pannes. Leur pipeline de données repose sur Debezium + Kafka pour du traitement en temps réel, tandis que MySQL, optimisé avec des centaines de shards et un équilibrage dynamique, supporte 10 millions de requêtes par seconde. Grâce à des outils internes comme Packwerk (pour la modularité) et Sorting Hat (pour le routage intelligent), Shopify prouve qu’un monolithe bien conçu peut rivaliser avec des architectures microservices, même à l’échelle mondiale — tout en restant simple, fiable et "ennuyeusement" efficace. Une leçon de sobriété technique à l’ère de l’hyperscale.