Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Découvrez comment Reddit a transformé sa gestion des infrastructures Kubernetes pour améliorer la performance et réduire les temps d'arrêt. Des solutions innovantes et une automatisation accrue sont en jeu.
Reddit, la plateforme de discussion en ligne, a récemment entrepris d’importantes améliorations de son infrastructure Kubernetes pour faire face aux défis croissants de gestion et de fiabilité.
Le 13 mars 2022, Reddit a connu une panne majeure, connue sous le nom de “panne du Pi Day”, qui a duré 314 minutes. Cet incident a mis en lumière la nécessité d’une gestion plus efficace de l’infrastructure, suite à une mise à niveau de Kubernetes 1.23 à 1.24 qui a entraîné des comportements imprévisibles. En réponse, l’équipe d’ingénieurs de Reddit a reconnu qu’une transformation opérationnelle était indispensable.
Avec l’expansion de sa pile de serveurs à travers plusieurs régions pour une fiabilité accrue, Reddit se préparait également à une introduction en bourse. Karan Thukral, ingénieur logiciel senior chez Reddit, a souligné que le besoin d’une nouvelle abstraction de plateforme était critique pour continuer à opérer efficacement au fur et à mesure que l’entreprise grandissait.
Lors de la récente KubeCon+CloudNativeCon en Amérique du Nord, Thukral et son collègue Harvey Xia ont expliqué comment l’équipe d’infrastructure a développé une nouvelle abstraction de plateforme. Cela leur a permis de passer d’une approche réactive à une planification proactive.
« Grâce à nos investissements des dernières années, nous avons pu résoudre des problèmes plus complexes avec moins de personnes », a déclaré Thukral.
En 2022, Reddit gérait 20 clusters de production basés sur Kubernetes avec 92 ingénieurs d’infrastructure, contre 706 ingénieurs d’application. Une grande partie de leur travail consistait à aider les développeurs d’application, notamment en ce qui concerne la création d’espaces de noms. Les erreurs dans ce processus entraînaient des retards considérables dans les revues d’applications, augmentant le temps nécessaire pour mettre en œuvre des changements.
Les configurations des clusters déviaient souvent des spécifications initiales, rendant leur gestion difficile. Xia a décrit cette situation comme un “cycle d’inefficacité auto-renforcé”, où l’équipe devait constamment lutter pour maintenir le bon fonctionnement des infrastructures.
Plutôt que d’utiliser un outil d’infrastructure en tant que code (IaC), Reddit a choisi d’implémenter une plateforme via des API déclaratives soutenues par des processus de contrôle Kubernetes. Ces ressources personnalisées permettent une gestion plus dynamique et précise des clusters.
Les contrôleurs Kubernetes garantissent que l’état actuel des clusters est toujours aligné avec l’état désiré, facilitant ainsi la gestion des opérations de cycle de vie.
Aujourd’hui, les ingénieurs d’infrastructure chez Reddit passent moins de temps à gérer les clusters, grâce à des API qui centralisent la gestion. Ils ont deux types de clusters : le cluster de contrôle, qui génère des configurations, et les clusters de charge de travail, qui sont facilement remplaçables.
Le temps nécessaire pour créer un nouveau cluster est désormais réduit à environ deux heures, tandis qu’une mise à jour peut être effectuée en une heure. Cela représente un succès considérable pour l’équipe d’ingénieurs.
Reddit observe déjà des résultats positifs, avec une gestion des espaces de noms simplifiée et une sécurité accrue. L’entreprise a commencé l’année avec quatre contrôleurs Kubernetes en production et en compte désormais douze, chacun gérant des aspects clés de l’infrastructure.
« Investir dans des abstractions de plateforme a déjà porté ses fruits », a déclaré Xia. Cela a permis à Reddit de remplacer de nombreux processus manuels par de l’automatisation, permettant à l’équipe de se concentrer sur des problèmes d’impact à long terme.
Source