Migrering fra monolittiske tjenester til mikrotjenester: 25% raskere respons

Innowise migrerte kundens plattform fra en monolittisk arkitektur til mikrotjenester, og forbedret både backend og frontend for bedre skalerbarhet og ytelse.

Kunde

Industri
Helsevesen
Region
USA
Kunde siden
2023

Vår kunde er en av USAs ledende bemanningsbyråer innen helsevesenet, som hjelper helsepersonell med å håndtere et skyhøyt bemanningsbehov og forenkle ansettelsesprosessen. På den andre siden får arbeidssøkerne mulighet til å velge stillinger som passer perfekt til deres timeplaner og preferanser. Vår klient er opptatt av å matche de rette menneskene med de rette jobbene.

Detaljert informasjon om kunden kan ikke utleveres i henhold til bestemmelsene i NDA.

Utfordring

Å holde tritt med den økende etterspørselen uten å ruinere banken

Etter hvert som kundens virksomhet ekspanderte raskt, møtte de stadig større tekniske og driftsmessige utfordringer som truet med å bremse fremgangen. Det en gang så pålitelige monolittiske systemet slet med å holde tritt med de økende kravene fra helseinstitusjoner og medisinsk personell. Resultatet var flaskehalser i ytelsen, forsinket utrulling av funksjoner og ineffektiv drift.

Kunden trengte en systemoverhaling for å kunne fortsette å vokse, men ønsket ikke å overbemanne og pådra seg ekstra kostnader. De var på utkikk etter en IT-outsourcingspartner som kunne tilby fleksibel ressursskalering basert på spesifikke oppgaver og tidsfrister, samtidig som kostnadene ble holdt i sjakk. Det var da Innowise kom inn i bildet med vår ekspertinnsikt for å få dem tilbake på sporet.

Løsning

Bytte til mikrotjenester for bedre skalerbarhet og hastighet

Innowise bygget en skalerbar mikrotjenestearkitektur for kunden, slik at plattformen deres enkelt kan vokse. Vi oppdaterte både backend og frontend, slik at alt kjører problemfritt, kan distribueres raskt og gir brukerne en langt bedre opplevelse. Med automatisert testing og kontinuerlig levering sørget ekspertene våre for at alt var pålitelig og kjørte akkurat som det skulle.

Dybdegående analyse og planlegging

Innowise startet med en grundig gjennomgang av kundens monolittiske system, kartla komponenter og identifiserte flaskehalser. Vi jobbet tett med kundens team for å vurdere viktige forretningsfunksjoner og sørge for at alle interessenters behov ble dekket i planleggingen.

Vi identifiserte hvilke områder som ville få størst utbytte av overgangen, og utarbeidet et detaljert veikart for migreringen. Teamet vårt fokuserte også på risikoreduserende strategier, der vi forberedte oss på ting som problemer med datamigreringen samtidig som vi sørget for at virksomheten fungerte smidig under overgangen.

Migrering fra monolitt til mikrotjenester

Etter solid planlegging startet teamet vårt en smidig migrering fra et monolittisk system til mikrotjenester. Vi delte plattformens nøkkelkomponenter inn i uavhengige mikrotjenester, slik at hver enkelt kunne skalere på egen hånd. Dette modulære oppsettet løste flaskehalsene i ytelsen, slik at tjenestene kunne håndtere endringer i etterspørselen uten å bremse ned hele plattformen.

Vi opprettet også tjenestespesifikke databaser for å forbedre dataflyten og redusere avhengighetene som forårsaket forsinkelser. Med Kubernetes og Docker på plass automatiserte teamet vårt distribusjonen og skaleringen av hver mikrotjeneste. På denne måten kan plattformen håndtere topper i bruken uten manuell innsats.

Tjenesteorganisering og kommunikasjon

Vi satte opp et mikrotjeneste-orkestreringslag ved hjelp av Apache Kafka for meldingsdrevet kommunikasjon. På denne måten ble tjenestene løst koblet sammen, slik at de kunne skaleres uavhengig av hverandre. Ved å bruke asynkron kommunikasjon reduserte ekspertene våre ventetiden og gjorde systemet mer responsivt.

Refaktorisering av frontend

Samtidig som vi oppgraderte backend, ga vi frontend den oppmerksomheten den fortjente. Teamet vårt fornyet brukergrensesnittet ved å dele det opp i modulære komponenter med Angular, noe som gjorde utviklingen raskere og gjorde det enklere å legge til nye funksjoner. Spesialistene våre finjusterte også frontend-forbindelsen med backend ved hjelp av tilpassede CRUD-API-er, noe som garanterte oppdateringer i sanntid og minimal ventetid.

Integreringstesting

For å holde både den gamle koden og de nye mikrotjenestene stabile, satte vi sammen et solid sett med integrasjonstester med JUnit. Vi fokuserte disse testene på viktige interaksjoner som datasynkronisering og brukerautentisering for å forhindre feil ved utrulling av nye funksjoner.

Ved å jobbe innenfor vårt eksisterende testmiljø kunne vi tilby konsistent testing på tvers av alle de viktigste brukstilfellene. Hver test undersøkte grundig hvordan de nye og gamle komponentene samhandlet, noe som reduserte risikoen ved migreringen og økte plattformstabiliteten.

Teknologier

Frontend

Angular, TypeScript

Backend

Java 11

Beholdere

Docker, Docker Compose, Kubernetes

VCS

VCS: Git, BitBucket</span

Testing

JUnit

Cloud

Azure

Prosess

I dette prosjektet fulgte vi en Scrum-metodikk som var tilpasset kundens behov, og kjørte fokuserte toukers sprinter for å holde fremdriften på sporet. Teamet vårt brukte Jira til å overvåke alle oppgaver, slik at vi fikk full oversikt over prosjektets milepæler og leveranser. Daglig koordinering gjennom Slack holdt teamet sammen, slik at vi kunne løse problemer raskt.

Prosjektlederen vår holdt ukentlige Zoom-møter med kunden, hvor vi delte detaljerte oppdateringer om utviklingen, diskuterte eventuelle utfordringer og innhentet tilbakemeldinger for å holde alle oppdatert. Denne velprøvde tilnærmingen minimerte nedetiden og sørget for jevn fremdrift gjennom hele prosjektet.

Team

1

Prosjekt-leder

1

Programvarearkitekt

3

Java-utviklere

2

Angular
Utviklere

2

DevOps-ingeniører

2

QA ingenieurs

1

Business
Analyst

Resultater

30% smidigere drift og 25% raskere responstid

Teamet vårt moderniserte kundens plattform og økte driftseffektiviteten med 30%. Systemet håndterer nå flere forespørsler uten å bli tregere. Ved å gå over til en mikrotjenestearkitektur ble svartidene redusert med 25%, slik at helsepersonell kunne komme i kontakt med tilgjengelig helsepersonell raskere og mer pålitelig.

Automatiseringen av distribusjon og skalering reduserte den manuelle innsatsen og driftskostnadene, slik at kunden kunne håndtere etterspørselstopper uten å måtte ansette ekstra personale eller øke utgiftene til infrastruktur.

I tillegg automatisert testing reduserte systemfeilene med 35%, noe som gjorde plattformen mye mer stabil. Nye funksjoner kunne nå rulles ut uten å forstyrre pågående tjenester.

Prosjektets varighet
  • Oktober 2023 - mai 2024

25%

raskere responstid

30%

økt driftseffektivitet

Kontakt oss

Bestill en samtale eller fyll ut skjemaet nedenfor, så kontakter vi deg så snart vi har behandlet forespørselen din.

    Ta med prosjektdetaljer, varighet, teknisk stack, behov for IT-fagfolk og annen relevant informasjon.
    Spill inn en talemelding om din
    prosjektet for å hjelpe oss å forstå det bedre
    Legg ved ytterligere dokumenter om nødvendig
    Last opp fil

    Du kan legge ved opptil 1 fil på totalt 2 MB. Gyldige filer: pdf, jpg, jpeg, png

    Vær oppmerksom på at når du klikker på Send-knappen, vil Innowise behandle personopplysningene dine i samsvar med vår personvernerklæring. Retningslinjer for personvern med det formål å gi deg relevant informasjon. Ved å oppgi et telefonnummer og sende inn dette skjemaet samtykker du til å bli kontaktet via SMS. Priser for meldinger og data kan påløpe. Du kan svare STOPP for å reservere deg mot ytterligere meldinger. Svar Hjelp for mer informasjon.

    Hva skjer videre?

    1

    Etter at vi har mottatt og behandlet forespørselen din, vil vi komme tilbake til deg innen kort tid for å beskrive prosjektbehovene dine og undertegne en taushetserklæring for å sikre informasjonens konfidensialitet.

    2

    Etter å ha undersøkt kravene, utarbeider våre analytikere og utviklere en prosjektforslag med arbeidsomfang, teamstørrelse, tid og kostnader estimater.

    3

    Vi arrangerer et møte med deg for å diskutere tilbudet og komme til en avtale.

    4

    Vi signerer en kontrakt og begynner å jobbe med prosjektet ditt så raskt som mulig.

    Спасибо!

    Cообщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Takk skal du ha!

    Meldingen din er sendt.
    Vi behandler forespørselen din og kontakter deg så snart som mulig.

    Takk skal du ha!

    Meldingen din er sendt. 

    Vi behandler forespørselen din og kontakter deg så snart som mulig.

    pil