DevOps-automatisering til laboratorieadministrationssystem: over 70% reduktion i beregningsomkostningerne

Innowise-teamet optimerede cloud-infrastrukturen og automatiserede CI/CD-processer for en markedsleder inden for DNA-test, hvilket øgede skalerbarheden og effektiviteten af deres databehandlingsoperationer.

Kunde

Region
USA
Kunde siden
2023

Vores kunde er førende inden for bioteknologi og har specialiseret sig i DNA-test og mikrobiomanalyse. De er kendt for at levere hurtige og pålidelige analyser ved hjælp af avancerede molekylære teknikker, der imødekommer et bredt spektrum af anvendelser inden for menneskers sundhed, landbrug og miljøundersøgelser. Deres tjenester spænder fra undersøgelsesdesign til omfattende dataanalyse og bidrager til forskning og udvikling i sundhedssektoren.

Detaljerede oplysninger om klienten kan ikke videregives i henhold til vilkårene i NDA'en.

Udfordring

Problemer med infrastrukturopdateringer, migration til GitHub og CI/CD-optimering

Vores samarbejde med kunden, der blev indledt i 2023, var primært centreret om at løse deres komplekse DevOps-udfordringer. Kunden stod over for et mangesidet problemsæt, hvor hvert aspekt var afgørende for deres driftseffektivitet inden for mikrobiomforskning:
  • Udvidelse af infrastruktur og migration: Kunden var i færd med at udvide deres AWS-miljøer med opgraderede arkitekturer. Denne udvidelse medførte migrering af flere ældre miljøer til nye systemer. 
  • Forvaltning af ældre infrastruktur: Et andet aspekt af deres udfordring var administrationen af ældre Terraform-kode og Kubernetes-klyngeressourcer. Den eksisterende opsætning var besværlig og forældet og krævede en betydelig overhaling for at opfylde nuværende og fremtidige krav.
  • Udtømning af IP-adressepuljen: En kritisk bekymring var udtømningen af IP-adresser forårsaget af ineffektiv subnetting i deres netværk. Det vanskeliggjorde deres nuværende netværksstyring og udgjorde en betydelig trussel mod deres fremtidige udvidelsesplaner.
  • Migration fra GitLab til GitHub: Kunden ønskede også at skifte fra GitLab til GitHub, hvilket omfattede integration af GitHub Codespaces. Dette skridt havde til formål at lette fjernudvikling og undgå behovet for at gemme kode på lokale maskiner, hvilket øger sikkerheden og samarbejdet.
  • Optimering af CI/CD-processer: Der var et presserende behov for at optimere deres processer for kontinuerlig integration og kontinuerlig udrulning (CI/CD). Forbedring af disse processer var afgørende for at øge implementeringshastigheden og pålideligheden.
  • Implementering af blå/grøn udrulningsstrategi: Endelig forsøgte kunden at implementere en blå/grøn implementeringsstrategi. Denne tilgang havde til formål at minimere implementeringsrisici og sikre problemfri udrulning af nye funktioner og opdateringer.
Kunden forventede, at vores team ville løse disse udfordringer og forbedre deres driftseffektivitet, reducere omkostningerne og fremskynde deres udviklingsproces. Da de specialiserede sig i mikrobiomforskning med store databehandlingsbehov, var forbedringer i deres DevOps-praksis afgørende for at styrke deres evne til at levere tjenester hurtigt.

Løsning

DevOps-automatisering til LMS

Vores løsning til kunden fokuserede på tre kerneområder: infrastrukturoptimering, DevOps-automatisering og forbedring af CI/CD-processen.

Optimering af infrastruktur

Vi startede vores samarbejde med at revidere kundens infrastruktur. Vores team valgte en serverløs arkitektur med brug af AWS-tjenester. Denne tilgang var afgørende for at kunne håndtere de store mængder data, der behandles i mikrobiomanalysen.
  • AWS-miljø og ældre migration: Vi udvidede AWS-miljøerne og indarbejdede nye arkitekturer, der understøttede kundens vækst og forskelligartede behov. De gamle systemer blev problemfrit migreret til disse nye miljøer uden afbrydelse af den igangværende drift.
  • Netværksstyring og tildeling af IP-adresser: Udfordringen med udtømte IP-adresser blev håndteret ved at implementere en strategisk subnetting-tilgang. Det løste det umiddelbare problem med adressemangel og strømlinede den fremtidige netværksudvidelse.
  • IaC-refactoring med Terraform og Terraspace: Vores team omstrukturerede Infrastructure as Code (IaC)-opsætningen og migrerede fra den gamle Terraform til Terraspace. Dette skridt forbedrede håndterbarheden og skalerbarheden af infrastrukturkoden og gav mulighed for administration af flere konti.

DevOps-automatisering

Praksis for udviklingsaktiviteter var kernen i vores løsning, der havde til formål at forbedre Automatisering af DevOps-infrastruktur og forenkling af processer.
  • Implementering af Karpenter: Introduktionen af Karpenter markerede en vigtig milepæl inden for ressourceoptimering. Dette værktøj reducerede antallet af nødvendige maskiner og skar ned på beregningsomkostningerne med 70%.
  • Integration af Argo Project Tools: Vi brugte ArgoCD, Argo Rollouts og ArgoCD Image Updater til at automatisere udrulningsprocesserne. Denne opsætning frigjorde udviklerne fra manuel pipeline-styring, så de kunne fokusere på kerneudviklingsopgaver.
  • Blå-grøn-kanarisk implementeringsmodel: Vores implementeringsstrategi kombinerede styrkerne ved Blue/Green- og Canary-modellerne. Denne hybride tilgang fremskyndede udviklingscyklusser og minimerede implementeringsrisici, hvilket markerede et betydeligt fremskridt i kundens operationelle kapacitet.

Forbedring af CI/CD-processen

Den sidste søjle i vores DevOps-automatiseringstjenester fokuserede på at forfine CI/CD-processerne. Dette involverede en række strategiske implementeringer, der havde til formål at øge ydeevnen.

  • Overgang til GitHub og Codespaces-integration: Vi lettede kundens overgang fra GitLab til GitHub og oprettede GitHub Codespaces til mere sikker og effektiv kodestyring. Dette skift forbedrede kodesikkerheden og strømlinede udviklingsworkflows.

  • Refaktorering og automatisering af pipeline: Vi omstrukturerede CI/CD-pipelines for at adskille den kontinuerlige udrulning fra integrationen. Denne opdeling forbedrede implementeringsprocessens effektivitet og reducerede potentielle fejl.

  • Overvågning og omkostningsoptimering: Implementeringen af Grafana Stack og Prometheus gav os mulighed for at etablere et omfattende overvågningssystem. Dette system hjalp med at spore AWS-omkostninger og optimere ressourceforbruget til omkostningseffektiv drift.

Teknologier

Python; FastAPI
React; NodeJS; Material UI

PostgreSQL

Platforme

Cloud Tjenester & Platforme

AWS; Lambda-funktioner; EKS; ECR

Containerisering og styring

Docker; Kubernetes

Infrastruktur som kode (IaC)

Helm; Terraform; Terraspace

Kontinuerlig integration og udrulning

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

Overvågning og logning

Grafana; Grafana Loki; Promtail; Prometheus

Netværksstyring

Kubernetes CNI-plugin

Overvågning af servere

Prometheus

Dramatiker

Operativsystemer

Linux; amd64; arm64

Versionskontrolsystemer

GitHub; ArgoCD

Integrationer

Microsoft AD SSO

Proces

Vores proces var baseret på den agile metode med en Scrum-ramme, der lagde vægt på fleksibilitet, løbende forbedringer og hurtig levering. Vi organiserede vores arbejde i sprints af en uges varighed med daglige stand-up-møder kl. 18.00 CET for at sikre overensstemmelse og løse eventuelle umiddelbare problemer. Vi holdt sprintplanlægningssessioner hver fredag, hvor teamet i fællesskab gennemgik og planlagde opgaver for den kommende uge. Disse sessioner blev kombineret med retrospektiver og præsentationer.
  • Opgavestyring og kommunikation
Vores udviklere havde fuldt ejerskab over backloggen, hvilket gav dem selvstændighed til at styre og planlægge opgaver. Direkte kommunikation med Product Owner (PO) var sjælden, da de primære mål og krav til opgaverne blev fastsat og ofte detaljeret af projektets ledende designer.
  • Udvikling og dokumentation
Vores tilgang til opgaveimplementering involverede udvikling af POC-modeller (Proof of Concept) for de fleste opgaver, efterfulgt af detaljerede diagrammer, der blev gennemgået af teamet. Denne praksis gav os mulighed for at validere ideer og sikre gennemførlighed inden udvikling i fuld skala. Vi vedligeholdt projektdokumentationen grundigt for at sikre en gnidningsløs udførelse af vores opgaver.
  • Cloud sikkerheds- og DevOps-automatiseringsudfordringer 
Et væsentligt aspekt af vores projekt var håndtering og optimering af kundens omfattende laboratoriedatarapporter, som udgjorde petabytes af data. Denne massive datastørrelse resulterede i betydelige AWS-omkostninger.
  • Sprint-gennemgang og tilpasning
Vi gennemførte sprint reviews i slutningen af hver uge, som omfattede demonstrationer af nye funktioner og diskussioner om det kommende sprint. Disse møder var afgørende for at tilpasse vores strategier til eventuelle ændrede krav.

Hold

2

DevOps Engineers

1

Front-end udvikler

1

Full-Stack-udvikler

Resultater

70% reduktion i beregningsomkostninger

Vores samarbejde med kunden har ført til betydelige forbedringer i deres DevOps-infrastruktur og -processer. De vigtigste resultater, der er opnået, er som følger:
  • Optimering af omkostninger: Implementeringen af Karpenter reducerede med succes antallet af maskiner i klyngen fra 15 til 6, hvilket førte til en reduktion på 70% i beregningsomkostningerne. Denne betydelige omkostningsbesparelse har i høj grad forbedret omkostningseffektiviteten af deres operationer.
  • Acceleration af udviklingsprocessen: Indførelsen af Blue-Green-Canary-udgivelsesmodellen fremskyndede i høj grad udviklingsprocessen. Denne strategiske implementering fremskyndede udviklingen og tilføjede et lag af sikkerhed til udgivelsesprocessen.
  • Forbedringer gennem DevOps-automatisering: Brugen af Argo Project-værktøjer har forbedret udviklingspipelinen markant. Kundens udviklingsteam kan nu opdatere Kubernetes-klyngen med nye programversioner ved blot at skubbe kode, og hele bygge- og udrulningsprocessen er automatiseret. Det har i høj grad reduceret den manuelle indgriben i rutineopgaver, så ingeniørerne kan fokusere mere på strategiske udviklingsaktiviteter.
  • Forenkling af infrastrukturstyring: Migreringen af Terraform-koden til Terraspace-frameworket har sammen med refaktoriseringen af Kubernetes-klyngeadministrationen forenklet infrastrukturadministrationen. Disse ændringer har gjort administrationen af infrastrukturen mere ligetil og effektiv.
  • Forbedret observerbarhed: Integrationen af Grafana Stack og Prometheus til yderligere målinger har forbedret systemets observerbarhed betydeligt. Denne forbedring har resulteret i bedre dataovervågning, hvilket letter mere informeret beslutningstagning og systemadministration.
I øjeblikket er vi i de sidste faser af opsætningen af AWS-miljøerne for at sikre, at de er skræddersyet til at opfylde kundens krav. Fremadrettet er der planer om at forbedre udgivelsesmodellen yderligere ved at bygge videre på den vellykkede implementering af Blue-Green-Canary-strategien.
Projektets varighed
  • Juli 2022 - Løbende

70%

reduktion i beregningsomkostninger

2x

Forøgelse af udviklingshastigheden

50%

færre manuelle indgreb

    Kontakt os

    Book et opkald eller udfyld formularen nedenfor, så vender vi tilbage til dig, når vi har behandlet din anmodning.

    Send os en talebesked
    Vedhæft dokumenter
    Upload fil

    Du kan vedhæfte 1 fil på op til 2 MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved at klikke på Send accepterer du, at Innowise behandler dine personlige data i henhold til vores Politik for beskyttelse af personlige oplysninger for at give dig relevante oplysninger. Ved at indsende dit telefonnummer accepterer du, at vi kan kontakte dig via taleopkald, sms og beskedapps. Opkalds-, besked- og datatakster kan være gældende.

    Du kan også sende os din anmodning
    til contact@innowise.com

    Hvad sker der nu?

    1

    Når vi har modtaget og behandlet din anmodning, vender vi tilbage til dig for at beskrive dine projektbehov og underskriver en NDA for at sikre fortrolighed.

    2

    Når vi har undersøgt dine ønsker, behov og forventninger, udarbejder vores team et projektforslag med forslag med arbejdets omfang, teamstørrelse, tids- og omkostningsoverslag.

    3

    Vi arrangerer et møde med dig for at diskutere tilbuddet og få detaljerne på plads.

    4

    Til sidst underskriver vi en kontrakt og begynder at arbejde på dit projekt med det samme.

    pil