Laissez-nous vos coordonnées, nous vous enverrons notre livre blanc par e-mail.
Je consens à ce que mes données personnelles soient traitées afin d'envoyer du matériel de marketing personnalisé conformément à la directive sur la protection des données. Politique de confidentialité. En confirmant la soumission, vous acceptez de recevoir du matériel de marketing
Merci !

Le formulaire a été soumis avec succès.
Vous trouverez de plus amples informations dans votre boîte aux lettres.

Innowise est une société internationale de développement de logiciels à cycle complet fondée en 2007. Nous sommes une équipe de plus de 1600+ professionnels de l'informatique développant des logiciels pour d'autres professionnels dans le monde entier.
À propos de nous
Innowise est une société internationale de développement de logiciels à cycle complet fondée en 2007. Nous sommes une équipe de plus de 1600+ professionnels de l'informatique développant des logiciels pour d'autres professionnels dans le monde entier.

Automatisation DevOps pour le système de gestion de laboratoire: plus de 70% de réduction des coûts de calcul.

L'équipe d'Innowise a optimisé l'infrastructure cloud et automatisé les processus CI/CD pour un leader du marché des tests ADN, augmentant ainsi l'évolutivité et l'efficacité de leurs opérations de traitement des données.

Client

Industrie
Soins de santé
Région
USA
Client depuis
2023

Notre client est un leader dans le domaine de la biotechnologie, spécialisé dans les tests ADN et l'analyse du microbiome. Il est connu pour fournir des analyses rapides et fiables en utilisant des techniques moléculaires avancées, répondant à un large éventail d'applications dans les domaines de la santé humaine, de l'agriculture et des études environnementales. Ses services vont de la conception d'études à l'analyse complète des données, contribuant ainsi à la recherche et au développement dans l'industrie des soins de santé.

Les informations détaillées concernant le client ne peuvent être divulguées en vertu des termes de l'accord de confidentialité.

Défi

Problèmes liés aux mises à jour de l'infrastructure, à la migration vers GitHub et à l'optimisation de CI/CD

Notre collaboration avec le client, initiée en 2023, était principalement axée sur la résolution de ses défis DevOps complexes. Le client était confronté à un ensemble de problèmes à multiples facettes, chaque aspect étant essentiel pour son efficacité opérationnelle dans la recherche sur le microbiome:
  • Expansion des infrastructures et migration: Le client était en train d'étendre son Environnements AWS avec des architectures modernisées. Cette expansion a nécessité la migration de plusieurs environnements existants vers de nouveaux systèmes. 
  • Gestion de l'infrastructure existante: Un autre aspect de leur défi était la gestion du code Terraform hérité et des ressources du cluster Kubernetes. La configuration existante était lourde et obsolète, et nécessitait une refonte substantielle pour répondre aux demandes actuelles et futures.
  • Épuisement du pool d'adresses IP: L'épuisement des adresses IP causé par un sous-réseau inefficace dans leur réseau constituait une préoccupation majeure. Cette situation entravait la gestion actuelle du réseau et constituait une menace importante pour les plans d'expansion futurs.
  • Migration de GitLab vers GitHub: Le client souhaitait également passer de GitLab à GitHub, ce qui incluait l'intégration de GitHub Codespaces. Cette évolution visait à faciliter le développement à distance et à éviter le stockage du code sur des machines locales, en améliorant la sécurité et la collaboration.
  • Optimisation des processus CI/CD: Il était urgent d'optimiser leurs processus d'intégration et de déploiement continus (CI/CD). L'amélioration de ces processus était essentielle pour accroître la vitesse et la fiabilité du déploiement.
  • Mise en œuvre de la stratégie de déploiement bleu/vert: Enfin, le client souhaitait mettre en œuvre une stratégie de déploiement bleu/vert. Cette approche visait à minimiser les risques liés au déploiement et à assurer un déploiement sans faille des nouvelles fonctionnalités et des mises à jour.
Le client attendait de notre équipe qu'elle relève ces défis et améliore son efficacité opérationnelle, réduise ses coûts et accélère son processus de développement. Comme ils sont spécialisés dans la recherche sur le microbiome avec de vastes besoins de traitement de données, l'amélioration de leurs pratiques DevOps était essentielle pour renforcer leur capacité à fournir des services rapidement.

Solution

Automatisation DevOps pour LMS

Notre solution pour le client s'est concentrée sur trois domaines fondamentaux: l'optimisation de l'infrastructure, l'automatisation DevOps et l'amélioration des processus CI/CD.

Optimisation de l'infrastructure

Nous avons commencé notre collaboration par la refonte de l'infrastructure du client. Notre équipe a opté pour une architecture sans serveur utilisant les services AWS. Cette approche était essentielle pour gérer les grandes quantités de données traitées dans l'analyse du microbiome.
  • Environnement AWS et migration de l'héritage: Nous avons étendu les environnements AWS, en incorporant de nouvelles architectures qui ont soutenu la croissance et les besoins diversifiés du client. Les systèmes existants ont été migrés en douceur vers ces nouveaux environnements, sans perturber les opérations en cours.
  • Gestion de réseau et attribution d'adresses IP: Le problème de la pénurie d'adresses IP a été résolu par la mise en œuvre d'une approche stratégique de sous-réseau. Cela a permis de résoudre le problème immédiat de la pénurie d'adresses et de rationaliser l'expansion future du réseau.
  • Refactoring IaC avec Terraform et Terraspace: Notre équipe a restructuré la configuration de l'infrastructure en tant que code (IaC), en migrant de l'ancien Terraform vers Terraspace. Ce changement a permis d'améliorer la gestion et l'évolutivité du code de l'infrastructure, en permettant la gestion de comptes multiples.

Automatisation DevOps

Les pratiques en matière d'opérations de développement étaient au cœur de notre solution, qui visait à améliorer les éléments suivants Automatisation de l'infrastructure DevOps et de simplifier les processus.
  • Mise en œuvre de Karpenter: L'introduction de Karpenter a marqué une étape importante dans l'optimisation des ressources. Cet outil a permis de réduire le nombre de machines nécessaires et de diminuer les coûts de calcul de 70%.
  • Intégration des outils du projet Argo: Nous avons utilisé ArgoCD, Argo Rollouts et ArgoCD Image Updater pour automatiser les processus de déploiement. Cette configuration a libéré les développeurs de la gestion manuelle du pipeline, ce qui leur a permis de se concentrer sur les tâches de développement essentielles.
  • Modèle de déploiement Blue/Green et Canary: Notre stratégie de déploiement a combiné les forces des modèles Blue/Green et Canary. Cette approche hybride a permis d'accélérer les cycles de développement et de minimiser les risques de déploiement, marquant ainsi une avancée significative dans les capacités opérationnelles du client.

Amélioration du processus CI/CD

Le dernier pilier de notre Services d'automatisation DevOps s'est concentrée sur l'amélioration des processus CI/CD. Cela a impliqué une série de mises en œuvre stratégiques visant à stimuler les performances.

  • Migration vers GitHub et intégration de Codespaces: Nous avons facilité la transition du client de GitLab à GitHub, en mettant en place des espaces de code GitHub pour une gestion du code plus sûre et plus efficace. Ce changement a permis d'améliorer la sécurité du code et de rationaliser les flux de développement.

  • Refonte et automatisation du pipeline: Nous avons restructuré les pipelines CI/CD pour séparer le déploiement continu de l'intégration. Cette segmentation a permis d'améliorer l'efficacité du processus de déploiement et de réduire les erreurs potentielles.

  • Suivi et optimisation des coûts: La mise en œuvre de Grafana Stack et de Prometheus nous a permis d'établir un système de surveillance complet. Ce système a aidé à suivre les coûts AWS et à optimiser l'utilisation des ressources pour des opérations rentables.

Technologies

System engineering

Python; FastAPI

Partie avant

React; Node.js; Material UI

Bases de données

PostgreSQL

Plateformes

Web

Cloud Services et plateformes

AWS; Fonctions Lambda; EKS; ECR

Conteneurisation et gestion

Docker; Kubernetes

Infrastructure as Code (IaC)

Helm; Terraform; Terraspace

Intégration et déploiement continus

ArgoCD; Argo Rollouts; ArgoCD Image Updater; GitLab; GitHub; Karpenter; Kubecost

Surveillance et journalisation

Grafana; Grafana Loki; Promtail; Prometheus

Gestion du réseau

Plugin CNI Kubernetes

Surveillance du serveur

Prometheus

Assurance qualité

Playwright

Systèmes d'exploitation

Linux; amd64; arm64

Systèmes de contrôle des versions

GitHub; ArgoCD

Intégrations

Microsoft AD SSO

Processus

Notre processus était basé sur la méthodologie Agile avec un cadre Scrum qui mettait l'accent sur la flexibilité, l'amélioration continue et la livraison rapide. Nous avons organisé notre travail en sprints d'une semaine, avec des réunions quotidiennes à 18 heures CET pour assurer l'alignement et répondre aux préoccupations immédiates. Nous organisions des sessions de planification de sprint tous les vendredis, au cours desquelles l'équipe examinait et planifiait collectivement les tâches de la semaine à venir. Ces sessions étaient accompagnées de rétrospectives et de présentations.
  • Gestion des tâches et communication
Nos développeurs avaient la pleine propriété du carnet de commandes, ce qui leur donnait l'autonomie nécessaire pour gérer et planifier les tâches. La communication directe avec le Product Owner (PO) était peu fréquente, car les principaux objectifs et exigences des tâches étaient fixés et souvent détaillés par le concepteur principal du projet.
  • Développement et documentation
Notre approche de la mise en œuvre des tâches a consisté à développer des modèles de démonstration du concept (POC) pour la plupart des tâches, puis à créer des diagrammes détaillés examinés par l'équipe. Cette pratique nous a permis de valider les idées et d'assurer la faisabilité avant le développement à grande échelle. Nous avons tenu à jour la documentation du projet afin d'assurer l'exécution harmonieuse de nos tâches.
  • Cloud les défis de la sécurité et de l'automatisation DevOps 
Un aspect important de notre projet était la gestion et l'optimisation des nombreux rapports de données de laboratoire du client, qui représentaient des pétaoctets de données. Cette masse de données a engendré des coûts AWS considérables.
  • Revues de sprint et adaptation
Nous avons organisé des revues de sprint à la fin de chaque semaine, qui comprenaient des démonstrations de nouvelles fonctionnalités et des discussions sur le sprint à venir. Ces réunions ont été cruciales pour adapter nos stratégies à l'évolution des besoins.

Équipe

2

Ingénieurs DevOps

1

Développeur Front-End

1

Développeur Full-Stack

Résultats

70% réduction des coûts de calcul

Notre collaboration avec le client a permis d'améliorer considérablement son infrastructure et ses processus DevOps. Les principaux résultats obtenus sont les suivants :
  • Optimisation des coûts: La mise en œuvre de Karpenter a permis de réduire le nombre de machines utilisées dans le cluster de 15 à 6, ce qui a entraîné une réduction de 70% des coûts de calcul. Cette économie substantielle a considérablement amélioré la rentabilité de leurs opérations.
  • Accélération du processus de développement: L'introduction du modèle de diffusion bleu-vert-canari a considérablement accéléré le processus de développement. Cette mise en œuvre stratégique a permis d'accélérer le développement et d'ajouter une couche de sécurité au processus de diffusion.
  • Améliorations grâce à l'automatisation DevOps: L'utilisation des outils du projet Argo a considérablement amélioré le pipeline de développement. L'équipe de développement du client peut désormais mettre à jour le cluster Kubernetes avec de nouvelles versions d'applications en poussant simplement du code, l'ensemble du processus de construction et de déploiement étant automatisé. Cela a considérablement réduit l'intervention manuelle dans les tâches de routine, permettant aux ingénieurs de se concentrer davantage sur les activités de développement stratégiques.
  • Simplification de la gestion de l'infrastructure: La migration du code Terraform vers le framework Terraspace, ainsi que le remaniement de la gestion des clusters Kubernetes, ont simplifié la gestion de l'infrastructure. Ces changements ont rendu la gestion de l'infrastructure plus simple et plus efficace.
  • Amélioration de l'observabilité: L'intégration de Grafana Stack et de Prometheus pour des mesures supplémentaires a considérablement amélioré l'observabilité du système. Cette amélioration s'est traduite par un meilleur suivi des données, facilitant une prise de décision et une gestion du système plus éclairées.
Actuellement, nous en sommes aux dernières étapes de la mise en place des environnements AWS, en veillant à ce qu'ils soient adaptés aux exigences du client. Pour l'avenir, nous prévoyons d'améliorer encore le modèle de mise à disposition, en nous appuyant sur la mise en œuvre réussie de la stratégie "bleu-vert-canari".
Durée du projet
  • Juillet 2022 - En cours

70%

réduction des coûts de calcul

2x

augmentation de la vitesse de développement

50%

diminution des interventions manuelles

Contactez nous!

Réserver un appel ou remplissez le formulaire ci-dessous et nous vous contacterons dès que nous aurons traité votre demande.

    S’il vous plaît, ajouter les détails du projet, la durée, la pile technologique, IT spécialistes nécessaires et d'autres informations pertinentes
    S’il vous plaît, ajouter les détails du projet, la durée, la pile technologique, IT spécialistes
    nécessaires et d'autres informations pertinentes
    Joindre des documents supplémentaires au besoin
    Charger file

    Vous pouvez joindre jusqu'à 1 fichier de 2MB au total. Fichiers valides : pdf, jpg, jpeg, png

    Nous vous informons que lorsque vous cliquez sur le bouton Envoyer, Innowise traitera vos données personnelles conformément à notre Politique de confidentialité dans le but de vous fournir des informations appropriées.

    Que se passe-t-il ensuite?

    1

    Après avoir reçu et traité votre demande, nous reviendrons vers vous pour détailler les besoins de votre projet et signer un accord de non-divulgation pour assurer la confidentialité des informations.

    2

    Après avoir examiné les exigences, nos analystes et nos développeurs élaborent une proposition de projet avec l'étendue des travaux, le nombre de membre de l'équipe, les délais et les coûts des coûts.

    3

    Nous organisons une réunion avec vous pour discuter de l'offre et parvenir à un accord.

    4

    Nous signons un contrat et commençons à travailler sur votre projet le plus rapidement possible.

    Merci !

    Votre message a été envoyé.
    Nous traiterons votre demande et vous recontacterons dès que possible.

    Merci !

    Votre message a été envoyé.
    Nous traiterons votre demande et vous recontacterons dès que possible.

    flèche