Migrering fra monolitiske til mikrotjenester: 25% hurtigere svar

Innowise har med succes migreret kundens platform fra en monolitisk arkitektur til mikrotjenester, hvilket har styrket både backend og frontend for at opnå bedre skalerbarhed og ydeevne.

Kunde

Industri
Sundhedspleje
Region
USA
Kunde siden
2023

Vores kunde er en amerikansk topbemandingstjeneste inden for sundhedssektoren, som hjælper sundhedsudbydere med at håndtere stigende personalebehov og forenkle ansættelsesprocessen. På den anden side får jobsøgende mulighed for at vælge stillinger, der passer perfekt til deres tidsplaner og præferencer. Hos vores kunde handler det om at matche de rigtige mennesker med de rigtige jobs.

Detaljerede oplysninger om klienten kan ikke videregives i henhold til bestemmelserne i NDA.

Udfordring

Hold trit med den stigende efterspørgsel uden at sprænge banken

I takt med at kundens forretning voksede hurtigt, stod de over for voksende tekniske og driftsmæssige udfordringer, som truede med at bremse deres fremskridt. Deres engang så pålidelige monolitiske system kæmpede for at holde trit med de stigende krav fra sundhedsfaciliteter og medicinsk personale. Som følge heraf oplevede de flaskehalse i ydelsen, forsinkede udrulninger af funktioner og ineffektivitet i driften.

Kunden havde brug for en systemrevision for at kunne fortsætte med at vokse, men ønskede ikke at overbemande og pådrage sig ekstra omkostninger. De ledte efter en IT-outsourcingpartner, der kunne levere fleksibel ressourceskalering baseret på specifikke opgaver og deadlines og samtidig holde omkostningerne i skak. Det var her, Innowise trådte til med vores ekspertindsigt for at få dem tilbage på sporet.

Løsning

Skift til mikrotjenester for at forbedre skalerbarhed og hastighed

Innowise byggede en skalerbar microservices-arkitektur til kunden, så deres platform nemt kunne vokse. Vi opdaterede både backend og frontend, så alt kører gnidningsløst, udrulles hurtigt og giver brugerne en langt bedre oplevelse. Og med automatiseret test og kontinuerlig levering sørgede vores eksperter for, at tingene var pålidelige og kørte, som de skulle.

Dybdegående analyse og planlægning

Innowise startede med en grundig revision af kundens monolitiske system, hvor vi kortlagde komponenter og identificerede flaskehalse. Vi arbejdede tæt sammen med kundens teams for at vurdere vigtige forretningsfunktioner og sikre, at alle interessenters behov blev dækket i planlægningen.

Vi identificerede de områder, der ville få mest ud af skiftet, og lavede en detaljeret køreplan for migrationen. Vores team fokuserede også på strategier til risikominimering og forberedte sig på ting som problemer med datamigrering, samtidig med at virksomheden fortsatte med at køre problemfrit under overgangen.

Migrering fra monolit til mikrotjeneste

Efter solid planlægning startede vores team en gnidningsløs migration fra et monolitisk system til mikrotjenester. Vi opdelte platformens nøglekomponenter i uafhængige mikrotjenester og lod dem skalere hver for sig. Denne modulære opsætning løste flaskehalsene i performance, så tjenesterne kunne håndtere ændringer i efterspørgslen uden at bremse hele platformen.

Vi oprettede også tjenestespecifikke databaser for at forbedre dataflowet og skære ned på afhængigheder, der forårsagede forsinkelser. Med Kubernetes og Docker på plads automatiserede vores team udrulningen og skaleringen af hver mikrotjeneste. På den måde kan platformen håndtere spidsbelastninger uden manuel indsats.

Serviceorkestrering og kommunikation

Vi oprettede et mikrotjeneste-orkestreringslag ved hjælp af Apache Kafka til meddelelsesdrevet kommunikation. Det gjorde, at tjenesterne var løst forbundne, så de kunne skaleres uafhængigt af hinanden. Ved at bruge asynkron kommunikation skar vores eksperter ned på ventetiden og gjorde systemet mere responsivt.

Refaktorering af frontend

Mens vi opgraderede backend, gav vi frontend den opmærksomhed, den fortjente. Vores team fornyede brugergrænsefladen ved at opdele den i modulære komponenter med Angular, hvilket fremskyndede udviklingen og sikrede hovedpinefri tilføjelse af funktioner. Vores specialister finjusterede også frontend'ens forbindelse med backend'en ved hjælp af brugerdefinerede CRUD API'er, hvilket garanterede opdateringer i realtid og minimal ventetid.

Integrationstestning

For at holde både den gamle kode og de nye mikrotjenester stabile sammensatte vi et solidt sæt integrationstests med JUnit. Vi fokuserede disse tests på vigtige interaktioner som datasynkronisering og brugergodkendelse for at forhindre fejl, når vi udrullede nye funktioner.

Ved at arbejde i vores eksisterende testmiljø sørgede vi for konsekvent testning på tværs af alle større brugsscenarier. Hver test undersøgte grundigt, hvordan de nye og ældre komponenter interagerede, hvilket reducerede migrationsrisici og øgede platformens stabilitet.

Teknologier

Frontend

Angular, TypeScript

Backend

Java 11

Beholdere

Docker, Docker Compose, Kubernetes

VCS

VCS: Git, BitBucket

Testning

JUnit

Cloud

Azure

Proces

Til dette projekt fulgte vi en Scrum-metode, der var tilpasset kundens behov, og kørte fokuserede to-ugers sprints for at holde fremskridtene på sporet. Vores team brugte Jira til at overvåge alle opgaver, hvilket gav fuldt overblik over projektets milepæle og leverancer. Daglig koordinering via Slack holdt teamet forbundet, så vi hurtigt kunne løse problemer.

Vores projektleder holdt ugentlige Zoom-møder med kunden, hvor vi delte detaljerede opdateringer om udviklingen, diskuterede eventuelle udfordringer og indsamlede feedback for at holde alle i sync. Denne velafprøvede tilgang minimerede nedetid og sikrede en stabil fremdrift i hele projektet.

Hold

1

Projektleder

1

Softwarearkitekt

3

Java-udviklere

2

Angular Udviklere

2

DevOps Engineers

2

QA Engineers

1

Forretningsanalytiker

Resultater

30% smidigere drift og 25% hurtigere svartider

Vores team moderniserede kundens platform og øgede driftseffektiviteten med 30%. Systemet håndterer nu flere forespørgsler uden at blive langsommere. Ved at skifte til en mikrotjenestearkitektur faldt svartiderne med 25%, så sundhedsudbydere kunne komme i kontakt med tilgængeligt medicinsk personale hurtigere og mere pålideligt.

Automatisering af udrulning og skalering reducerede den manuelle indsats og driftsomkostningerne, så kunden kunne håndtere spidsbelastninger uden behov for ekstra personale eller stigende infrastrukturudgifter.

Derudover, automatiseret testning reducerede antallet af systemfejl med 35%, hvilket gjorde platformen meget mere stabil. Nye funktioner kunne nu rulles ud uden at forstyrre igangværende tjenester.

Projektets varighed
  • Oktober 2023 - maj 2024

25%

Hurtigere svartider

30%

Forøgelse af den operationelle effektivitet

    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