DevOps-automaatio laboratorion hallintajärjestelmään: laskentakustannuksia vähennetään yli 70%:llä.

Innowise-tiimi optimoi pilvi-infrastruktuurin ja automatisoi CI/CD-prosessit DNA-testauksen markkinajohtajalle ja lisäsi näin datan käsittelytoimintojen skaalautuvuutta ja tehokkuutta.

Asiakas

Teollisuus
Alue
YHDYSVALLAT
Asiakas vuodesta
2023

Asiakkaamme on johtava bioteknologia-alan toimija, joka on erikoistunut DNA-testaukseen ja mikrobiomin analysointiin. Yritys tunnetaan nopeista ja luotettavista analyyseistä, joissa käytetään kehittyneitä molekyylitekniikoita ja jotka soveltuvat monenlaisiin sovelluksiin ihmisten terveyden, maatalouden ja ympäristötutkimusten alalla. Heidän palvelunsa ulottuvat tutkimussuunnittelusta kattavaan data-analyysiin ja edistävät terveydenhuoltoalan tutkimusta ja kehitystä.

Yksityiskohtaisia tietoja asiakkaasta ei voida luovuttaa NDA:n ehtojen mukaisesti.

Haaste

Infrastruktuurin päivityksiin, GitHubiin siirtymiseen ja CI/CD-optimointiin liittyvät ongelmat.

Vuonna 2023 aloitettu yhteistyömme asiakkaan kanssa keskittyi ensisijaisesti heidän monimutkaisten DevOps-haasteidensa ratkaisemiseen. Asiakkaalla oli edessään monitahoinen ongelmakokonaisuus, jonka jokainen osa-alue oli olennainen heidän mikrobiomitutkimuksen operatiivisen tehokkuutensa kannalta:
  • Infrastruktuurin laajentaminen ja muuttoliike: Asiakas oli laajentamassa toimintaansa. AWS-ympäristöt päivitetyillä arkkitehtuureilla. Laajentamiseen liittyi useiden vanhojen ympäristöjen siirtäminen uusiin järjestelmiin. 
  • Vanhan infrastruktuurin hallinta: Toinen osa heidän haasteestaan oli vanhan Terraform-koodin ja Kubernetes-klusterin resurssien hallinta. Nykyinen järjestelmä oli hankala ja vanhentunut ja vaati huomattavaa uudistusta, jotta se vastaisi nykyisiä ja tulevia vaatimuksia.
  • IP-osoitepooli tyhjenee: Kriittinen huolenaihe oli IP-osoitteiden loppuminen, joka johtui tehottomasta aliverkonmuodostuksesta heidän verkossaan. Tämä haittasi heidän nykyistä verkonhallintaansa ja muodosti merkittävän uhan heidän tuleville laajentumissuunnitelmilleen.
  • Siirtyminen GitLabista GitHubiin: Asiakas halusi myös siirtyä GitLabista GitHubiin, mikä sisälsi GitHub Codespacesin integroinnin. Tämän siirron tavoitteena oli helpottaa etäkehitystä ja välttää koodin tallentaminen paikallisille koneille, mikä lisäsi turvallisuutta ja yhteistyötä.
  • CI/CD-prosessien optimointi: Heidän oli kiireesti optimoitava jatkuvan integroinnin ja jatkuvan käyttöönoton (CI/CD) prosessinsa. Näiden prosessien parantaminen oli välttämätöntä käyttöönoton nopeuden ja luotettavuuden parantamiseksi.
  • Sinisen/vihreän käyttöönottostrategian täytäntöönpano: Lopuksi asiakas pyrki toteuttamaan sinivihreän käyttöönottostrategian. Tämän lähestymistavan tarkoituksena oli minimoida käyttöönottoriskit ja varmistaa uusien ominaisuuksien ja päivitysten saumaton käyttöönotto.
Asiakas odotti, että tiimimme ratkaisisi nämä haasteet ja parantaisi heidän toimintansa tehokkuutta, vähentäisi kustannuksia ja nopeuttaisi kehitysprosessia. Koska he olivat erikoistuneet mikrobiomitutkimukseen, johon liittyy mittavia tietojenkäsittelytarpeita, DevOps-käytäntöjen parantaminen oli välttämätöntä, jotta he pystyisivät toimittamaan palvelut nopeasti.

Ratkaisu

DevOps-automaatio LMS:lle

Asiakkaalle tarjoamamme ratkaisu keskittyi kolmeen keskeiseen osa-alueeseen: infrastruktuurin optimointiin, DevOps-automaatioon ja CI/CD-prosessien parantamiseen.

Infrastruktuurin optimointi

Aloitimme yhteistyömme uudistamalla asiakkaan infrastruktuurin. Tiimimme valitsi palvelimeton arkkitehtuurin, jossa käytettiin AWS-palveluja. Tämä lähestymistapa oli kriittinen mikrobiomianalyysissä käsiteltävien valtavien tietomäärien käsittelyssä.
  • AWS-ympäristö ja vanhan järjestelmän siirtyminen: Laajensimme AWS-ympäristöjä sisällyttämällä niihin uusia arkkitehtuureja, jotka tukivat asiakkaan kasvua ja monipuolistuneita tarpeita. Vanhat järjestelmät siirrettiin sujuvasti näihin uusiin ympäristöihin ilman häiriöitä käynnissä oleville toiminnoille.
  • Verkonhallinta ja IP-osoitteiden jakaminen: IP-osoitteiden loppumisen aiheuttamaan haasteeseen vastattiin ottamalla käyttöön strateginen aliverkkojako. Näin ratkaistiin välitön osoitepulan ongelma ja tehostettiin verkon tulevaa laajentamista.
  • IaC-refaktorointi Terraformin ja Terraspacen avulla: Tiimimme rakensi infrastruktuurin koodina (IaC) -asetukset uudelleen siirtymällä vanhasta Terraformista Terraspaceen. Tämä siirto paransi infrastruktuurikoodin hallittavuutta ja skaalautuvuutta ja mahdollisti usean tilin hallinnan.

DevOps-automaatio

Kehitystoiminnan käytännöt olivat ratkaisumme ytimessä, jonka tavoitteena oli parantaa DevOps-infrastruktuurin automatisointi ja prosessien yksinkertaistaminen.
  • Karpenterin toteuttaminen: Karpenterin käyttöönotto oli merkittävä virstanpylväs resurssien optimoinnissa. Tämä työkalu vähensi tarvittavien koneiden määrää ja laski laskentakustannuksia 70%.
  • Argo Project Tools -integraatio: Käytimme ArgoCD:tä, Argo Rolloutsia ja ArgoCD Image Updateria käyttöönottoprosessien automatisointiin. Tämä asetus vapautti kehittäjät manuaalisesta putkenhallinnasta, jolloin he pystyivät keskittymään keskeisiin kehitystehtäviin.
  • Sinivihreä-kanarian käyttöönottomalli: Käyttöönottostrategiassamme yhdistettiin Blue/Green- ja Canary-mallien vahvuudet. Tämä hybridilähestymistapa nopeutti kehityssyklejä ja minimoi käyttöönottoriskit, mikä merkitsi merkittävää edistystä asiakkaan operatiivisissa valmiuksissa.

CI/CD-prosessin parantaminen

Viimeinen pilari meidän DevOps-automaatiopalvelut keskityttiin CI/CD-prosessien hiomiseen. Tähän liittyi joukko strategisia toteutuksia, joilla pyrittiin parantamaan suorituskykyä.

  • Siirtyminen GitHubiin ja Codespaces-integraatio: Autoimme asiakasta siirtymään GitLabista GitHubiin ja perustimme GitHub Codespaces -tilat turvallisempaa ja tehokkaampaa koodinhallintaa varten. Tämä muutos paransi koodin turvallisuutta ja virtaviivaisti kehitystyönkulkuja.

  • Putkiston uudelleenkäsittely ja automatisointi: Rakensimme CI/CD-putket uudelleen erottamalla jatkuvan käyttöönoton ja integroinnin toisistaan. Tämä erottelu paransi käyttöönottoprosessin tehokkuutta ja vähensi mahdollisia virheitä.

  • Seuranta ja kustannusten optimointi: Grafana Stackin ja Prometheus:n käyttöönotto mahdollisti kattavan seurantajärjestelmän luomisen. Järjestelmä auttoi AWS-kustannusten seurannassa ja resurssien käytön optimoinnissa kustannustehokkaan toiminnan varmistamiseksi.

Teknologiat

Python; FastAPI
React; NodeJS; Material KÄYTTÖLIITTYMÄ

PostgreSQL

Alustat

Cloud Palvelut & Alustat

AWS; Lambda-funktiot; EKS; ECR

Säiliöinti ja hallinta

Docker; Kubernetes

Infrastruktuuri koodina (IaC)

Helm; Terraform; Terraspace

Jatkuva integrointi ja käyttöönotto

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

Seuranta ja kirjaaminen

Grafana; Grafana Loki; Promtail; Prometheus

Verkon hallinta

Kubernetesin CNI-lisäosa

Palvelimen valvonta

Prometheus

Näytelmäkirjailija

Käyttöjärjestelmät

Linux; amd64; arm64

Versionhallintajärjestelmät

GitHub; ArgoCD

Integraatiot

Microsoft AD SSO

Prosessi

Prosessimme perustui ketterään menetelmään ja Scrum-kehykseen, jossa korostettiin joustavuutta, jatkuvaa parantamista ja nopeaa toimitusta. Järjestimme työmme viikon mittaisiin sprintteihin ja pidimme päivittäiset stand-up-kokoukset klo 18.00 CET, jotta varmistimme yhdenmukaisuuden ja käsittelimme välittömät huolenaiheet. Pidimme joka perjantai sprintin suunnittelukokouksia, joissa tiimi yhdessä tarkasteli ja suunnitteli tulevan viikon tehtäviä. Näihin istuntoihin liittyi retrospektiivejä ja esityksiä.
  • Tehtävien hallinta ja viestintä
Kehittäjämme olivat täysin vastuussa backlogista, mikä antoi heille itsenäisen mahdollisuuden hallita ja suunnitella tehtäviä. Suora yhteydenpito tuoteomistajan kanssa oli harvinaista, sillä ensisijaiset tavoitteet ja vaatimukset tehtäville asetti ja usein myös yksityiskohtaisesti määritteli projektin johtava suunnittelija.
  • Kehittäminen ja dokumentointi
Lähestymistapamme tehtävien toteuttamiseen sisälsi useimmille tehtäville Proof of Concept (POC) -mallien kehittämisen, minkä jälkeen laadimme yksityiskohtaisia kaavioita, jotka tiimi tarkisti. Tämän käytännön ansiosta pystyimme validoimaan ideat ja varmistamaan toteutettavuuden ennen täysimittaista kehittämistä. Ylläpidimme perusteellisesti hankkeen dokumentaatiota varmistaaksemme tehtäviemme sujuvan toteutuksen.
  • Cloud tietoturvan ja DevOps-automaation haasteet 
Merkittävä osa projektiamme oli asiakkaan laajojen laboratoriotietoraporttien hallinta ja optimointi, jotka muodostivat petatavun verran dataa. Tämä massiivinen datakoko johti huomattaviin AWS-kustannuksiin.
  • Sprintin tarkistukset ja mukauttaminen
Jokaisen viikon lopussa pidimme sprinttipalavereja, joissa esiteltiin uusia ominaisuuksia ja keskusteltiin tulevasta sprintistä. Nämä kokoukset olivat ratkaisevan tärkeitä, jotta strategioita voitiin mukauttaa muuttuviin vaatimuksiin.

Joukkue

2

DevOps Engineers

1

Front-End-kehittäjä

1

Full-Stack-kehittäjä

Tulokset

70% laskentakustannusten vähentäminen

Yhteistyömme asiakkaan kanssa on johtanut merkittäviin parannuksiin DevOps-infrastruktuurissa ja -prosesseissa. Tärkeimmät saavutetut tulokset ovat seuraavat:
  • Kustannusten optimointi: Karpenterin käyttöönotto vähensi onnistuneesti klusterissa käytettävien koneiden määrän 15:stä 6:een, mikä vähensi laskentakustannuksia 70%. Tämä huomattava kustannussäästö on parantanut huomattavasti niiden toiminnan kustannustehokkuutta.
  • Kehitysprosessin nopeuttaminen: Sinivihreä-kanarian julkaisumallin käyttöönotto nopeutti kehitysprosessia huomattavasti. Tämä strateginen toteutus nopeutti kehitystä ja lisäsi julkaisuprosessiin turvakerroksen.
  • Parannukset DevOps-automaation avulla: Argo Project -työkalujen käyttö on parantanut kehitysputkea huomattavasti. Asiakkaan kehitystiimi voi nyt päivittää Kubernetes-klusteriin uusia sovellusversioita yksinkertaisesti työntämällä koodia, ja koko rakentamis- ja käyttöönottoprosessi on automatisoitu. Tämä on vähentänyt huomattavasti manuaalista puuttumista rutiinitehtäviin, jolloin insinöörit voivat keskittyä enemmän strategisiin kehitystoimiin.
  • Infrastruktuurin hallinnan yksinkertaistaminen: Terraform-koodin siirtäminen Terraspace-kehykseen sekä Kubernetes-klusterin hallinnan uudelleenmuokkaus ovat yksinkertaistaneet infrastruktuurin hallintaa. Nämä muutokset ovat tehneet infrastruktuurin hallinnasta suoraviivaisempaa ja tehokkaampaa.
  • Parempi havainnoitavuus: Grafana Stackin ja Prometheus:n integrointi lisämittareita varten on parantanut merkittävästi järjestelmän havainnoitavuutta. Tämä parannus on johtanut tietojen parempaan seurantaan, mikä helpottaa tietoon perustuvaa päätöksentekoa ja järjestelmän hallintaa.
Tällä hetkellä olemme AWS-ympäristöjen perustamisen loppuvaiheessa ja varmistamme, että ne on räätälöity vastaamaan asiakkaan vaatimuksia. Tulevaisuutta ajatellen suunnitelmissa on parantaa edelleen julkaisumallia sinivihreän kanarian strategian menestyksekkään täytäntöönpanon pohjalta.
Hankkeen kesto
  • Heinäkuu 2022 - Jatkuva

70%

laskentakustannusten vähentäminen

2x

kehitysnopeuden kasvu

50%

manuaalisten toimenpiteiden väheneminen

    Ota yhteyttä

    Varaa puhelu tai täytä alla oleva lomake, niin otamme sinuun yhteyttä, kun olemme käsitelleet pyyntösi.

    Lähetä meille ääniviesti
    Liitä asiakirjoja
    Lataa tiedosto

    Voit liittää 1 enintään 2 Mt:n tiedoston. Hyväksytyt tiedostomuodot: pdf, jpg, jpeg, png.

    Klikkaamalla Lähetä, annat suostumuksesi siihen, että Innowise käsittelee henkilötietojasi meidän Tietosuojakäytäntö antaa sinulle asiaankuuluvia tietoja. Antamalla puhelinnumerosi suostut siihen, että voimme ottaa sinuun yhteyttä puheluiden, tekstiviestien ja viestisovellusten kautta. Puhelu-, viesti- ja datahintoja voidaan soveltaa.

    Voit myös lähettää meille pyyntösi
    osoitteeseen contact@innowise.com

    Mitä tapahtuu seuraavaksi?

    1

    Kun olemme vastaanottaneet ja käsitelleet pyyntösi, otamme sinuun yhteyttä ja kerromme yksityiskohtaisesti projektin tarpeet ja allekirjoitamme NDA-sopimuksen luottamuksellisuuden varmistamiseksi.

    2

    Tutkittuaan toiveesi, tarpeesi ja odotuksesi tiimimme suunnittelee projektin ehdotuksen, jossa esitetään työn laajuus, tiimin koko, aika- ja kustannusarviot.

    3

    Järjestämme kanssasi tapaamisen, jossa keskustellaan tarjouksesta ja sovitaan yksityiskohdista.

    4

    Lopuksi allekirjoitamme sopimuksen ja aloitamme projektisi toteuttamisen heti.

    nuoli