Blogue
Pipeline CI/CD entièrement automatisé pour plus de 900 robots et services : cas GotBit et Dysnix

Pipeline CI/CD entièrement automatisé pour plus de 900 robots et services : cas GotBit et Dysnix

Alex Vorona
April 4, 2024

Nous sommes heureux d'avoir GotBit parmi nos clients. Chaque fois que nous participons à un tel projet, nous pouvons configurer l'ensemble de l'infrastructure presque à partir de zéro, en résolvant simultanément la tâche principale.

À propos de GotBit

Créée en 2017, Gotbit.io a contribué de manière significative au secteur des cryptomonnaies en proposant des services de tenue de marché et de capital-risque.

Les services de tenue de marché fournissent des solutions de négociation aux émetteurs de jetons, leur permettant d'élaborer et d'exécuter diverses stratégies de tenue de marché et de fournir des liquidités à leurs jetons. Ce service aide les émetteurs à stimuler les échanges et à gérer la liquidité de leurs jetons, facilitant ainsi les transactions et une présence sur le marché plus contrôlée.

La société se concentre sur le développement et l'exécution de stratégies de marché, l'amélioration de la tokenomique et la fourniture de liquidités aux plateformes de cryptomonnaies. Principalement destiné à l'industrie des startups Web3, Gotbit.io a évolué pour englober diverses branches du marché de la cryptographie, notamment la tenue de marché, l'incubation de startups et le conseil.

Ils devaient repenser l'ensemble de leur infrastructure pour fournir leurs services avec une garantie de fiabilité.

Demander

Le défi consistait à développer une infrastructure supportée et évolutive pour faire fonctionner les services GotBit de manière fluide, sans retards ni pertes de données. Avant de s'adresser à nous, ils avaient déjà quelques projets, environnements et le cluster Kubernetes. L'équipe Dysnix avait donc un certain héritage et une certaine base à gérer. Compte tenu du travail préparatoire effectué par l'équipe GotBit, les ingénieurs de Dysnix ont dû créer une solution fiable et viable et mettre en œuvre des améliorations.

Une autre mise à niveau souhaitée par le client était de développer un pipeline CI/CD pour gérer des dizaines de services de base et les robots de plus de 900 clients. L'un des défis liés au pipeline était d'ajouter une fonction permettant de déployer automatiquement de tels robots dans le cluster Kubernetes à la demande sans l'intervention d'ingénieurs logiciels.

Avec tout cela à portée de main, l'équipe de Dysnix s'est mise au travail.

Les négociations et le SOW

L'ensemble du processus de négociation a été aussi court que possible. Nous avons eu un premier appel avec GotBit pour discuter des besoins et des attentes en matière de résultats. Ensuite, notre architecte cloud a créé une ébauche de l'architecture et préparé le SoW. Après approbation, l'équipe de Dysnix a commencé la mise en œuvre de l'infrastructure et a suivi le SoW.

Notre plan incluait d'abord les solutions d'infrastructure dans deux environnements et la solution CI/CD. GotBit a également demandé une solution de proxy personnalisée pour développer et implémenter quelques pools de proxy pour l'analyse des données avec des adresses IP fixes.

Pour gérer le processus, nous avons procédé à des synchronisations hebdomadaires afin de partager les mises à jour et les plans pour la prochaine période. Nous avons également effectué des démonstrations afin que le client puisse voir les progrès réalisés dans la présentation la plus simple possible. Nous avons ajouté toutes les nouvelles tâches et demandes au backlog et les avons classées par ordre de priorité au fur et à mesure de l'avancement du projet.

Pour communiquer efficacement et sans retards bureaucratiques, nous avons organisé un chat de travail pour des discussions rapides et des questions opérationnelles, où nos ingénieurs ont répondu avec gentillesse et attention à tous les problèmes.

Solution

À la base, nous avons créé une architecture et une infrastructure à partir de zéro sur Kubernetes avec GitLab CI/CD et des environnements de développement et de production. Nous avons tout conservé dans AWS, car un client l'avait déjà utilisé.

Nous avons effectué plusieurs mises à niveau majeures de la version de k8s, plusieurs itérations d'optimisation des coûts, une refonte des pools de nœuds et de nombreuses tâches de maintenance des données commerciales.

Le schéma d'architecture

Le projet a été mis en œuvre avec IaC et l'approche de déploiement en tant que code, rendant le processus de développement gérable, rapide et stable. L'équipe Dysnix a déployé deux environnements fiables, tous deux dotés d'une mise à l'échelle automatique et d'un CI/CD configuré, ainsi que d'un CI/CD personnalisé distinct pour déployer automatiquement les robots de plus de 900 clients.

Une autre solution que nous avons mise en œuvre est un système proxy à plusieurs niveaux dans AWS et Kubernetes pour maintenir la persistance des adresses IP sortantes et équilibrer sans problème la charge des requêtes sortantes entre les adresses IP. Il gère 2 milliards de demandes sortantes par mois avec une charge minimale.

Notre tâche consistait également à optimiser les performances et les coûts pour ce projet, car les paramètres EKS par défaut ne permettaient pas à GotBit d'atteindre le niveau de performance requis.

Un autre point que nous avons réussi à aborder pour GotBit est la mise à l'échelle automatique personnalisée et la surveillance avancée. Comme le client utilisait des utilitaires open source pour la collecte de métriques commerciales, l'équipe Dysnix a déployé et configuré Prometheus et Elastic Search avec des pipelines distincts pour tous les flux de données, qui envoyaient des données à Grafana et Kibana, en plus des utilitaires internes de surveillance et de journalisation.

Ingénieurs participants

Seuls deux spécialistes du côté de Dysnix ont participé au projet GotBit : un architecte cloud et un ingénieur DevOps senior. Comme le client s'y attendait, ils sont devenus un moteur expert pour le projet.

La fonctionnalité que Gotbit a le plus appréciée chez nos ingénieurs était la reconnaissance honnête de tout problème émergent et son engagement à trouver une solution. Nos experts ne restent jamais silencieux face à un problème, mais ils essaient toujours d'en trouver les racines. Ils éliminent les complications fondamentales avec toute leur passion et leur engagement. Même deux des ingénieurs de Dysnix pouvaient gérer un projet complexe comme GotBit.

Appréciations, projets et ambitions

Le client apprécie les consultations menées par les ingénieurs de Dysnix concernant l'architecture de l'application ; elles ont apporté une contribution précieuse au projet. Les ingénieurs de Dysnix travaillent sur le troisième environnement, sur de nouvelles améliorations des performances, sur l'optimisation de la vitesse CI/CD et sur la gestion des routines opérationnelles.

À partir d'août 2023, nous avons bénéficié de conseils supplémentaires pour les ingénieurs internes concernant leurs projets, en plus du SoW principal. Nous partageons nos meilleures pratiques avec l'équipe DevOps interne, soulevons des questions pertinentes et indiquons les améliorations à apporter à leur travail.

Grâce à l'entêtement de nos experts techniques, GotBit améliorera ses performances de façon exponentielle et les utilisera comme un avantage concurrentiel pour prospérer sur le marché.

Alex Vorona
DevOps Lead
Sharing the in-house secrets of DevOps mastery originated from Dysnix.
Table des matières
Articles connexes
Abonnez-vous au blog
La meilleure source d'informations pour le service client, les conseils de vente, les guides et les meilleures pratiques du secteur. Joignez-vous à nous.
Merci de votre inscription au blog Dysnix
Vous serez désormais le premier à savoir quand nous publierons un nouvel article
J'ai compris
Oups ! Une erreur s'est produite lors de l'envoi du formulaire.
Copié dans le presse-papiers
Collez-le où vous voulez