Siirtyminen monoliittisista mikropalveluihin: 25% nopeampi vaste

Innowise siirsi onnistuneesti asiakkaan alustan monoliittisesta arkkitehtuurista mikropalveluihin ja paransi sekä backendin että frontendin skaalautuvuutta ja suorituskykyä.

Asiakas

Teollisuus
Terveydenhuolto
Alue
US
Asiakas vuodesta
2023

Asiakkaamme on yhdysvaltalainen huippuluokan terveydenhuollon henkilöstöpalvelu, joka auttaa terveydenhuollon tarjoajia selviytymään kasvavista henkilöstötarpeista ja yksinkertaistamaan rekrytointiprosessia. Toisaalta työnhakijat voivat valita työpaikat, jotka sopivat täydellisesti heidän aikatauluihinsa ja mieltymyksiinsä. Asiakkaamme tavoitteena on yhdistää oikeat ihmiset oikeisiin työpaikkoihin.

Yksityiskohtaisia tietoja asiakkaasta ei voida luovuttaa NDA:n määräysten nojalla.

Haaste

Pysytään kasvavan kysynnän vauhdissa pankkia säästämättä

Kun asiakkaan liiketoiminta laajeni nopeasti, se kohtasi yhä suurempia teknisiä ja toiminnallisia haasteita, jotka uhkasivat hidastaa kehitystä. Heidän kerran luotettava monoliittinen järjestelmänsä ei pystynyt vastaamaan terveydenhuollon laitosten ja hoitohenkilökunnan kasvaviin vaatimuksiin. Tämän seurauksena he kohtasivat suorituskyvyn pullonkauloja, viivästyneitä toimintojen käyttöönottoja ja toiminnan tehottomuutta.

Asiakas tarvitsi järjestelmän uudistamista jatkaakseen kasvuaan, mutta ei halunnut liikaa henkilöstöä ja ylimääräisiä kustannuksia. Asiakas etsi IT-alan ulkoistuskumppania, joka voisi tarjota joustavaa resurssien skaalausta erityistehtävien ja määräaikojen mukaan ja samalla pitää kustannukset kurissa. Silloin Innowise astui kuvioihin ja tarjosi asiantuntevia näkemyksiämme, jotta yritys saatiin takaisin raiteilleen.

Ratkaisu

Siirtyminen mikropalveluihin parantaa skaalautuvuutta ja nopeutta.

Innowise rakensi asiakkaalle skaalautuvan mikropalveluarkkitehtuurin, jonka avulla heidän alustansa on helppo kasvattaa. Päivitimme sekä backendin että frontendin, joten kaikki toimii sujuvasti, käyttöönotto on nopeaa ja käyttäjät saavat paljon paremman käyttökokemuksen. Lisäksi automatisoidun testauksen ja jatkuvan toimituksen avulla asiantuntijamme pitivät asiat luotettavina ja toimivina juuri niin kuin pitääkin.

Perusteellinen analyysi ja suunnittelu

Innowise aloitti asiakkaan monoliittisen järjestelmän perusteellisella tarkastuksella, jossa kartoitettiin komponentit ja tunnistettiin pullonkaulat. Teimme tiivistä yhteistyötä asiakkaan tiimien kanssa arvioidaksemme keskeiset liiketoimintatoiminnot ja varmistaaksemme, että kaikki sidosryhmien tarpeet katetaan suunnittelussa.

Tunnistimme alueet, jotka saisivat tästä muutoksesta suurimman hyödyn, ja laadimme yksityiskohtaisen siirtymäsuunnitelman. Tiimimme keskittyi myös riskinhallintastrategioihin, joilla valmistauduttiin esimerkiksi tiedonsiirtoon liittyviin ongelmiin ja pidettiin liiketoiminta sujuvana siirtymän aikana.

Siirtyminen monoliitista mikropalveluihin

Tiimimme aloitti vankan suunnittelun jälkeen sujuvan siirtymisen monoliittisesta järjestelmästä mikropalveluihin. Jaoimme alustan keskeiset komponentit itsenäisiksi mikropalveluiksi ja annoimme jokaisen skaalautua yksinään. Tämä modulaarinen kokoonpano korjasi suorituskyvyn pullonkaulat, joten palvelut pystyivät käsittelemään kysynnän muutoksia hidastamatta koko alustaa.

Perustimme myös palvelukohtaisia tietokantoja tiedonkulun parantamiseksi ja hidasteita aiheuttavien riippuvuuksien vähentämiseksi. Kun Kubernetes ja Docker olivat käytössä, tiimimme automatisoi jokaisen mikropalvelun käyttöönoton ja skaalauksen. Näin alusta pystyy käsittelemään käyttöpiikkejä ilman manuaalista työtä.

Palvelujen organisointi ja viestintä

Perustimme mikropalvelun orkestrointikerroksen, jossa käytetään Apache Kafkaa viestipohjaista viestintää varten. Näin palvelut pysyivät löyhästi kytkettyinä toisiinsa, jotta ne voisivat skaalautua itsenäisesti. Käyttämällä asynkronista viestintää asiantuntijamme vähensivät latenssia ja tekivät järjestelmästä reagoivamman.

Frontendin uudelleenkäsittely

Samalla kun päivitimme backendiä, annoimme frontendille sen ansaitsemaa huomiota. Tiimimme uudisti käyttöliittymän jakamalla sen modulaarisiin osiin Angular:n avulla, mikä nopeutti kehitystä ja varmisti, että ominaisuuksien lisääminen ei tuota päänvaivaa. Asiantuntijamme myös hienosäätivät frontendin yhteyden backendiin käyttämällä mukautettuja CRUD-API:ita, mikä takaa reaaliaikaiset päivitykset ja minimaalisen viiveen.

Integrointitestaus

Pitääksemme sekä vanhan koodin että uudet mikropalvelut vakaina, kokosimme JUnitilla vankan joukon integrointitestejä. Nollasimme nämä testit tärkeimpiin vuorovaikutustapoihin, kuten tietojen synkronointiin ja käyttäjän todennukseen, jotta voimme estää epäonnistumiset uusien ominaisuuksien käyttöönoton yhteydessä.

Työskentelemällä nykyisessä testiympäristössämme tarjosimme johdonmukaisen testauksen kaikissa tärkeimmissä käyttötapauksissa. Jokaisessa testissä tutkittiin perusteellisesti, miten uudet ja vanhat komponentit olivat vuorovaikutuksessa keskenään, mikä vähensi siirtymisriskejä ja lisäsi alustan vakautta.

Teknologiat

Frontend

Angular, TypeScript

Backend

Java 11

Säiliöt

Docker, Docker Compose, Kubernetes

VCS

VCS: Git, BitBucket

Testaus

JUnit

Cloud

Azure

Prosessi

Tässä projektissa noudatimme Scrum-menetelmää, joka oli räätälöity asiakkaan tarpeisiin sopivaksi, ja toteutimme kohdennettuja kahden viikon sprinttejä, jotta edistyminen pysyisi oikealla tiellä. Tiimimme käytti Jiraa jokaisen tehtävän seurantaan, mikä antoi täyden näkyvyyden projektin välitavoitteisiin ja suoritteisiin. Päivittäinen koordinointi Slackin kautta piti tiimin yhteydessä toisiinsa, jolloin pystyimme puuttumaan ongelmiin nopeasti.

Projektipäällikkömme piti asiakkaan kanssa viikoittaisia Zoom-kokouksia, joissa hän jakoi yksityiskohtaisia päivityksiä kehityksestä, keskusteli mahdollisista haasteista ja keräsi palautetta, jotta kaikki pysyivät ajan tasalla. Tämä kokeiltu ja testattu lähestymistapa minimoi käyttökatkokset ja piti yllä tasaista edistymistä koko projektin ajan.

Joukkue

1

Projektipäällikkö

1

Ohjelmistoarkkitehti

3

Java-kehittäjät

2

Angular Kehittäjät

2

DevOps Engineers

2

QA Engineers

1

liiketoiminta-analyytikko

Tulokset

30% sujuvammat toiminnot ja 25% nopeammat vasteajat.

Tiimimme uudisti asiakkaan alustan ja lisäsi toiminnan tehokkuutta 30%. Järjestelmä käsittelee nyt enemmän pyyntöjä hidastumatta. Siirtymällä mikropalveluarkkitehtuuriin vasteajat lyhenivät 25%, joten terveydenhuollon tarjoajat saivat yhteyden käytettävissä olevaan hoitohenkilökuntaan nopeammin ja luotettavammin.

Käyttöönoton ja skaalautumisen automatisointi vähensi manuaalista työtä ja toimintakustannuksia, jolloin asiakas pystyi käsittelemään kysyntäpiikkejä tarvitsematta lisähenkilöstöä tai kasvattamatta infrastruktuurikustannuksia.

Lisäksi, automaattinen testaus vähentää järjestelmävikoja 35%:llä, mikä tekee alustasta paljon vakaamman. Uudet ominaisuudet voitiin nyt ottaa sujuvasti käyttöön ilman, että käynnissä olevat palvelut häiriintyivät.

Hankkeen kesto
  • lokakuu 2023 - toukokuu 2024

25%

nopeammat vasteajat

30%

toiminnan tehokkuuden lisääminen

    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