Lailio är en pålitlig lettisk IT-partner sedan 2008 som hjälper företag att modernisera sina informationssystem. I detta projekt samarbetade Lailios avdelning för IT-underhåll och service nära med företaget Rīgas Satiksme för att utveckla, leverera och implementera en DevOps-process, samt säkerställa kontinuerligt underhåll av Odoo-plattformen. Detta system betjänar dagligen cirka 3000 användare. Den utvecklade lösningen bygger på en open source-ansats, som kombineras med modern containerisering och moderna leveransmetoder.
Plattformsarkitektur
Den tekniska grunden för Odoo-plattformen är byggd med en modern och anpassningsbar arkitektur som säkerställer systemsäkerhet och exakt isolering av tjänster. Infrastrukturen är logiskt uppdelad i tre separata miljöer: utveckling, testning och produktion. Denna arkitektoniska uppdelning garanterar strikt att alla ändringar i programkod eller systemuppdateringar först testas noggrant under kontrollerade förhållanden. Först efter framgångsrik testning når de produktionsmiljön och slutanvändarna. Detta utesluter effektivt oväntade störningar i produktionsmiljön. Dessutom ger open source-arkitekturen betydande tekniskt oberoende, vilket gör att IT-teamet kan utföra djupgående modifieringar i enlighet med Rīgas Satiksmes specifika affärsbehov.
DevOps-process med Azure DevOps
Huvudmotorn för systemutvecklings- och leveransprocessen är Azure DevOps, som fungerar som det centrala verktyget för repositorier och CI/CD-pipelines. Den etablerade processen är helt automatiserad: så snart utvecklarna pushar kodändringar till repositoriet, startar en standardiserad leverans- och testcykel omedelbart. Först genomförs en kodgranskning för att teamet ska kunna säkerställa mjukvarans kvalitet och efterlevnad av interna standarder. Därefter körs automatiserade tester automatiskt. Nya versioner levereras till produktionsmiljön via samma pipeline, varför varje release är repeterbar och spårbar.
Kubernetes och skalning
För att effektivt hantera beräkningsresurser och säkerställa konsekvent stabil drift även vid varierande belastning, är plattformens infrastruktur driftsatt på containerplattformen Kubernetes. Kubernetes hanterar automatiskt applikationens containrar och övervakar deras hälsostatus i realtid. Om någon av Odoo-systemets containrar slutar svara eller arbetar med fördröjning, startar Kubernetes automatiskt om den, utan att kräva manuella ingrepp från en systemadministratör. Dessutom gör denna teknik det möjligt att skala plattformen: vid högre belastning kan ytterligare Odoo-containrar läggas till utan att själva applikationen behöver ändras.
Auktorisering och åtkomst
Grunden för systemets och dess datas säkerhet är en centraliserad användarautentisering och en strikt hantering av åtkomsträttigheter. Med tanke på att plattformen dagligen används av cirka 3000 användare med olika roller, avdelningar och ansvarsnivåer, var implementeringen av en modern auktorisering kritiskt nödvändig. Det implementerade centraliserade systemet garanterar strikt att varje anställd efter inloggning endast har tillgång till exakt den systemfunktionalitet som direkt motsvarar deras arbetsuppgifter. Detta minskar avsevärt de interna säkerhetsriskerna och förhindrar obehörig åtkomst till konfidentiell affärsinformation.
Odoo-prestanda för hög belastning
Standardarkitekturen för Odoo-programvaran tenderar att stöta på allvarliga prestandautmaningar i situationer där tusentals användare är aktiva i systemet samtidigt. För att plattformen felfritt ska klara av storskalig kundtjänst under intensiva förhållanden, genomförde Lailios team ett djupgående ingenjörsarbete. Den ursprungliga Odoo-koden skrevs om och optimerades avsevärt. Dessa betydande kodändringar strukturerade databehandlingsprocesserna och optimerade databasfrågorna, vilket gör att systemet kan svara mycket snabbt. Som ett resultat är systemet utformat för att fungera i miljöer med många samtidiga användare och en hög densitet av förfrågningar.
Säkerhetskopiering och återställning
En strikt och helt automatiserad process för säkerhetskopiering och återställning av data har etablerats i infrastrukturen. Systemet skapar regelbundet säkerhetskopior av alla databaser och fillagringar. Processen omfattar även en återställningsrutin: hur och i vilken ordning data återställs från säkerhetskopian, så att systemet i händelse av fel kan återställas på ett förutsägbart och kontrollerat sätt.
Underhåll och övervakning
Inom ramen för projektet tillhandahåller Lailios avdelning för IT-underhåll och service kontinuerligt dagligt underhåll och teknisk support för plattformen. För att detta underhåll ska vara verkligt proaktivt, har en omfattande övervakning samt intelligenta varningar integrerats i infrastrukturen. Övervakningsplattformen samlar kontinuerligt in viktiga mätdata i realtid gällande Kubernetes-klustret, containerresurser och Odoo-applikationens övergripande prestanda. Så snart systemet upptäcker några fel eller onormal förbrukning av beräkningsresurser, får IT-ingenjörerna omedelbart automatiserade varningar. Tack vare denna tidiga upptäckt är incidenthanteringen mycket effektiv.
Resultat och nytta
Den utvecklade DevOps-processen och den noggrant konstruerade tekniska basen underlättar avsevärt storskalig företagsledning. Den omskrivna och optimerade Odoo-koden i kombination med den flexibla skalningen som Kubernetes tillhandahåller, gör att plattformen stabilt och smidigt kan betjäna cirka 3000 dagliga användare. Open source-strategin tillsammans med automatiserade kodnings-, testnings- och integreringsprocesser i Azure DevOps-miljön säkerställer en kontrollerad och spårbar leverans av ny funktionalitet. Detta resulterar i en effektiv, snabb och innovativ IT-lösning för storskalig kundtjänst som kontinuerligt utvecklas i takt med kundens behov.