Lailio on ollut luotettava latvialainen IT-kumppani vuodesta 2008 alkaen auttaen yrityksiä modernisoimaan tietojärjestelmiään. Tässä projektissa Lailion IT-ylläpito- ja palveluosasto teki tiivistä yhteistyötä Rīgas Satiksme -yrityksen kanssa DevOps-prosessin kehittämiseksi, toimittamiseksi ja käyttöönottamiseksi sekä Odoo-alustan jatkuvan ylläpidon varmistamiseksi. Tämä järjestelmä palvelee päivittäin noin 3000 käyttäjää. Kehitetty ratkaisu perustuu avoimen lähdekoodin (open source) lähestymistapaan, joka yhdistetään nykyaikaiseen kontitukseen ja moderneihin toimituskäytäntöihin.
Alustan arkkitehtuuri
Odoo-alustan teknologinen perusta on rakennettu käyttämällä modernia ja mukautuvaa arkkitehtuuria, joka takaa järjestelmän turvallisuuden ja palveluiden tarkan eristämisen. Infrastruktuuri on loogisesti jaettu kolmeen erilliseen ympäristöön: kehitys-, testaus- ja tuotantoympäristöön. Tällainen arkkitehtuurin jako takaa vahvasti sen, että kaikki muutokset ohjelmointikoodiin tai järjestelmäpäivityksiin testataan ensin huolellisesti valvotuissa olosuhteissa. Vasta onnistuneen testauksen jälkeen ne siirtyvät tuotantoympäristöön loppukäyttäjille. Tämä sulkee tehokkaasti pois odottamattomat häiriöt tuotantoympäristössä. Lisäksi avoimen lähdekoodin arkkitehtuuri tarjoaa merkittävää teknologista riippumattomuutta, mikä mahdollistaa sen, että IT-tiimi voi tehdä perusteellisia muutoksia Rīgas Satiksmen erityisten liiketoimintatarpeiden mukaisesti.
DevOps-prosessi Azure DevOpsin avulla
Järjestelmän kehitys- ja toimitusprosessin päämoottorina toimii Azure DevOps, joka palvelee tietovarastojen ja CI/CD-liukuhihnojen keskitettynä työkaluna. Luotu prosessi on täysin automatisoitu: heti kun kehittäjät vievät koodimuutoksia tietovarastoon, käynnistyy välittömästi standardoitu toimitus- ja tarkastussykli. Ensin suoritetaan koodikatselmointi, jotta tiimi voi varmistua ohjelmiston laadusta ja sisäisten standardien noudattamisesta. Sen jälkeen automaattiset testit käynnistyvät automaattisesti. Uudet versiot toimitetaan tuotantoympäristöön saman liukuhihnan kautta, joten jokainen julkaisu on toistettavissa ja jäljitettävissä.
Kubernetes ja skaalautuvuus
Laskentaresurssien tehokkaaksi hallitsemiseksi ja tasaisen vakaan toiminnan takaamiseksi jopa vaihtelevalla kuormituksella, alustan infrastruktuuri on sijoitettu Kubernetes-konttialustalle. Kubernetes hallitsee automaattisesti sovelluskontteja ja seuraa niiden terveydentilaa reaaliajassa. Jos jokin Odoo-järjestelmän konteista lakkaa vastaamasta tai toimii viiveellä, Kubernetes käynnistää sen automaattisesti uudelleen ilman järjestelmänvalvojan manuaalista puuttumista. Tämä teknologia mahdollistaa myös alustan skaalaamisen: suurempaa kuormitusta varten voidaan lisätä ylimääräisiä Odoo-kontteja muuttamatta itse sovellusta.
Valtuutus ja pääsy
Järjestelmän ja sen datan turvallisuuden perustana on keskitetty käyttäjien todennus ja tiukka pääsyoikeuksien hallinta. Ottaen huomioon, että alustaa käyttää päivittäin noin 3000 käyttäjää, joilla on erilaisia rooleja, osastoja ja vastuualueita, modernin valtuutuksen käyttöönotto oli kriittisen tärkeää. Käyttöönotettu keskitetty järjestelmä takaa vahvasti sen, että jokaisella työntekijällä on kirjautumisen jälkeen pääsy ainoastaan siihen järjestelmän toiminnallisuuteen, joka vastaa suoraan hänen työtehtäviään. Tämä vähentää merkittävästi sisäisiä tietoturvariskejä ja estää luvattoman pääsyn luottamuksellisiin liiketoimintatietoihin.
Odoon suorituskyky raskaassa kuormituksessa
Vakio-Odoo-ohjelmiston arkkitehtuurilla on tapana kohdata vakavia suorituskykyhaasteita tilanteissa, joissa järjestelmässä on samanaikaisesti aktiivisena tuhansia käyttäjiä. Jotta tämä alusta kestäisi moitteettomasti suuren volyymin asiakaspalvelua intensiivisissä olosuhteissa, Lailion tiimi teki perusteellista insinöörityötä. Alkuperäinen Odoo-koodi kirjoitettiin uudelleen ja sitä optimoitiin merkittävästi. Nämä merkittävät koodimuutokset järjestivät datankäsittelyprosessit rakenteellisesti ja optimoivat tietokantakyselyt, mikä mahdollistaa järjestelmän erittäin nopean reagoinnin. Tuloksena järjestelmä on suunniteltu toimimaan olosuhteissa, joissa on paljon samanaikaisia käyttäjiä ja korkea pyyntötiheys.
Varmuuskopiot ja palautus
Infrastruktuuriin on luotu tiukka ja täysin automatisoitu tietojen varmuuskopiointi- ja palautusprosessi. Järjestelmä luo säännöllisesti varmuuskopiot kaikista tietokannoista sekä tiedostovarastoista. Prosessi sisältää myös palautusmenettelyn: miten ja missä järjestyksessä tiedot palautetaan varmuuskopiosta, jotta vikatilanteessa järjestelmä voidaan palauttaa ennakoitavasti ja hallitusti.
Ylläpito ja monitorointi
Projektin puitteissa Lailion IT-ylläpito- ja palveluosasto tarjoaa jatkuvaa, päivittäistä alustan ylläpitoa ja teknistä tukea. Jotta tämä ylläpito olisi aidosti proaktiivista, infrastruktuuriin on integroitu kattava monitorointi sekä älykkäät hälytykset. Monitorointialusta kerää jatkuvasti reaaliajassa tärkeitä metriikkatietoja Kubernetes-klusterin, konttiresurssien ja Odoo-sovelluksen kokonaissuorituskyvystä. Heti kun järjestelmä havaitsee mitä tahansa virheitä tai epätavallista laskentaresurssien kulutusta, IT-insinöörit saavat välittömästi automaattiset hälytykset. Tämän varhaisen havaitsemisen ansiosta poikkeamien käsittely on erittäin tehokasta.
Mitä se hyödyttää
Kehitetty DevOps-prosessi ja huolellisesti rakennettu tekninen perusta helpottavat merkittävästi suuren mittakaavan liiketoiminnan johtamista. Uudelleenkirjoitettu ja optimoitu Odoo-koodi yhdistettynä Kubernetesin tarjoamaan joustavaan skaalautuvuuteen mahdollistaa sen, että alusta voi vakaasti ja sujuvasti palvella noin 3000 päivittäistä käyttäjää. Avoimen lähdekoodin strategia yhdessä automatisoitujen koodaus-, testaus- ja integraatioprosessien kanssa Azure DevOps -ympäristössä takaa hallitun ja jäljitettävän uusien toiminnallisuuksien toimituksen. Tämä johtaa tehokkaaseen, nopeaan ja innovatiiviseen IT-ratkaisuun suuren volyymin asiakaspalvelussa, joka kehittyy jatkuvasti asiakkaan tarpeiden mukana.