Lailio ir uzticams Latvijas IT partneris kopš 2008. gada, kas palīdz uzņēmumiem modernizēt to informācijas sistēmas. Šajā projektā Lailio IT Uzturēšanas un servisa dienests cieši sadarbojās ar uzņēmumu Rīgas Satiksme, lai izstrādātu, piegādātu un ieviestu DevOps procesu, kā arī nodrošinātu Odoo platformas nepārtrauktu uzturēšanu. Šī sistēma ikdienā apkalpo apmēram 3000 lietotāju. Izstrādātais risinājums balstās uz atvērtā koda (open source) pieeju, apvienojot to ar mūsdienīgu konteinerizāciju un modernu piegādes praksi.
Platformas arhitektūra
Odoo platformas tehnoloģiskais pamats ir veidots, izmantojot modernu un pielāgojamu arhitektūru, kas nodrošina sistēmas drošību un pakalpojumu precīzu izolāciju. Infrastruktūra ir loģiski sadalīta trīs nošķirtās vidēs: izstrādes, testēšanas un produkcijas vidē. Šāds arhitektūras dalījums stingri garantē, ka jebkuras izmaiņas programmēšanas kodā vai sistēmas atjauninājumi vispirms tiek rūpīgi pārbaudīti kontrolētos apstākļos. Tikai pēc veiksmīgas testēšanas tie nonāk produkcijas vidē pie gala lietotājiem. Tas efektīvi izslēdz negaidītus traucējumus ražošanas vidē. Turklāt atvērtā koda arhitektūra sniedz ievērojamu tehnoloģisko neatkarību, ļaujot IT komandai veikt padziļinātas modifikācijas atbilstoši specifiskajām Rīgas Satiksmes biznesa vajadzībām.
DevOps process ar Azure DevOps
Sistēmas izstrādes un piegādes procesa galvenais dzinējs ir Azure DevOps, kas kalpo kā repozitoriju un CI/CD konveijeru centrālais rīks. Izveidotais process ir pilnībā automatizēts: tiklīdz izstrādātāji ievieto koda izmaiņas repozitorijā, nekavējoties sākas standartizēts piegādes un pārbaudes cikls. Vispirms tiek veikta koda pārskatīšana, lai komanda pārliecinātos par programmatūras kvalitāti un atbilstību iekšējiem standartiem. Pēc tam automātiski tiek palaisti automatizētie testi. Jaunās versijas produkcijas vidē tiek piegādātas caur to pašu konveijeru, tāpēc katrs izlaidums ir atkārtojams un izsekojams.
Kubernetes un mērogošana
Lai efektīvi pārvaldītu skaitļošanas resursus un nodrošinātu nemainīgi stabilu darbību pat pie mainīgas slodzes, platformas infrastruktūra ir izvietota uz Kubernetes konteineru platformas. Kubernetes automātiski pārvalda aplikācijas konteinerus un reāllaikā seko līdzi to veselības stāvoklim. Ja kāds no Odoo sistēmas konteineriem pārstāj reaģēt vai strādā ar aizkavēšanos, Kubernetes to automātiski pārstartē, neprasot sistēmas administratora manuālu iejaukšanos. Tāpat šī tehnoloģija ļauj platformu mērogot: lielākai slodzei var pievienot papildu Odoo konteinerus, nemainot pašu lietotni.
Autorizācija un piekļuve
Sistēmas un tās datu drošības pamatā ir centralizēta lietotāju autentifikācija un strikta piekļuves tiesību pārvaldība. Ņemot vērā to, ka platformu ikdienā izmanto apmēram 3000 lietotāju ar atšķirīgām lomām, departamentiem un atbildības līmeņiem, modernas autorizācijas ieviešana bija kritiski nepieciešama. Ieviestā centralizētā sistēma stingri garantē, ka katram darbiniekam pēc pieteikšanās ir pieejama tikai un vienīgi tā sistēmas funkcionalitāte, kas tieši atbilst viņa amata pienākumiem. Tas ievērojami samazina iekšējos drošības riskus un novērš neatļautu piekļuvi konfidenciālai biznesa informācijai.
Odoo veiktspēja lielai slodzei
Standarta Odoo programmatūras arhitektūra mēdz saskarties ar nopietniem veiktspējas izaicinājumiem situācijās, kad sistēmā vienlaicīgi aktīvi darbojas tūkstošiem lietotāju. Lai šī platforma nevainojami izturētu liela apjoma klientu apkalpošanu intensīvos apstākļos, Lailio komanda paveica padziļinātu inženiertehnisko darbu. Tika pārrakstīts un būtiski optimizēts sākotnējais Odoo kods. Šīs nozīmīgās koda izmaiņas strukturāli sakārtoja datu apstrādes procesus un optimizēja datubāzes vaicājumus, ļaujot sistēmai ļoti ātri reaģēt. Rezultātā sistēma ir paredzēta darbam apstākļos ar daudziem vienlaicīgiem lietotājiem un augstu pieprasījumu blīvumu.
Rezerves kopijas un atjaunošana
Infrastruktūrā ir izveidots strikts un pilnībā automatizēts datu rezerves kopēšanas un atjaunošanas process. Sistēma regulāri veido visu datubāzu, kā arī failu krātuvju rezerves kopijas. Process ietver arī atjaunošanas kārtību: kā un kādā secībā dati tiek atgūti no rezerves kopijas, lai kļūmes gadījumā sistēmu varētu atjaunot paredzami un kontrolēti.
Uzturēšana un monitorings
Projekta ietvaros Lailio IT Uzturēšanas un servisa dienests nodrošina nepārtrauktu, ikdienas platformas uzturēšanu un tehnisko atbalstu. Lai šī uzturēšana būtu patiesi proaktīva, infrastruktūrā ir integrēts visaptverošs monitorings, kā arī inteliģenti brīdinājumi. Monitoringa platforma reāllaikā nemitīgi apkopo svarīgus metrikas datus par Kubernetes klastera, konteineru resursu un Odoo aplikācijas kopējo veiktspēju. Tiklīdz sistēma konstatē jebkādas kļūdas vai neparastu skaitļošanas resursu patēriņu, IT inženieri nekavējoties saņem automatizētus brīdinājumus. Pateicoties šādai agrīnajai pamanīšanai, incidentu apstrāde ir ļoti efektīva.
Ko tas dod
Izstrādātais DevOps process un rūpīgi veidotā tehniskā bāze ievērojami atvieglo liela mēroga biznesa vadību. Pārrakstītais un optimizētais Odoo kods kombinācijā ar Kubernetes nodrošināto elastīgo mērogošanu ļauj platformai stabili un plūstoši apkalpot apmēram 3000 ikdienas lietotājus. Atvērtā koda stratēģija kopā ar automatizētiem kodēšanas, testēšanas un integrācijas procesiem Azure DevOps vidē nodrošina kontrolētu un izsekojamu jaunu funkcionalitāšu piegādi. Tas rezultējas ar efektīvu, ātru un inovatīvu IT risinājumu liela apjoma klientu apkalpošanai, kas nepārtraukti attīstās kopā ar klienta vajadzībām.