Posodobitev aplikacije in optimizacija IT-operacij s procesi Kubernetes in DevOps

Cilji

Eden izmed glavnih ciljev projekta je bil posodobiti aplikacijo FitPass z migracijo v novo, kontejnersko okolje. Stabilnost aplikacije, hitro uvajanje novih funkcionalnosti in dosledna uporabniška izkušnja na vseh trgih so bile prioritete podjetja, ki trenutno posluje v Srbiji, Bosni in Hercegovini, Gruziji, Grčiji, Moldaviji, Turčiji in Črni gori.

Rezultati  

Z implementacijo okolja Kubernetes in vzpostavitvijo učinkovitega cevovoda CI/CD je FitPass precej izboljšal svoje aplikacije in IT-operacije. Aplikacije so postale stabilnejše in odpornejše na napake, skrajšal se je tudi čas, potreben za uvedbo novih različic, ekipa pa je dobila še boljši vpogled v delovanje in zdravje sistema.

Modernizacija v žarišču 

Pod vplivom tehnoloških trendov ter na podlagi ambicioznih razvojnih načrtov trženja aplikacije na novih trgih so se v podjetju FitPass odločili za posodobitev svoje IT-infrastrukture. Kompleksnost ekosistema IT, ki se je izkazala v več različicah operacijskih sistemov in različnih različic PHP in Node.js v različnih okoljih, je prinesla izzive pri posodabljanju in izboljšanju delovanja aplikacij, kar pa je upočasnilo inovacijo, ki je bila ena izmed prioritet podjetja. 

Glede na to, da je modernizacija aplikacij zahtevala različne vidike – od mikrostoritev do DevOps, varnosti, kontejnerjev in tehnologij za upravljanje kontejnerskega okolja, kot je Kubernetes, se je FitpPass odločil poiskati partnerja, ki bi znal združiti vsa ta znanja.

Mainstream, katerega storitve Managed Hosting je podjetje že uporabljalo v Srbiji, se je tudi v tem primeru izkazal kot zanesljiv partner za migracijo v novo IT-okolje in implementacijo tehnologij za posodobitev aplikacij.

 

Strateška uporaba načel Kubernetes in CI/CD načel za preoblikovanje operacij IT

Na samem začetku je ekipa Mainstream opravila temeljito analizo obstoječih FitPass sistemov in aplikacij, kar je omogočilo opredelitev izzivov in potrebe aplikacij ter načrtovanje migracije v kontejnersko okolje. 

Mainstreamovi strokovnjaki so po opravljeni analizi IT-ekosistema stranki pomagali implementirati širok nabor tehnologij in orodij za posodobitev infrastrukture. Ključni koraki tega projekta so bili:

Implementacija Kubernetes okruženja 

Eden od glavnih korakov je bila zasnova in implementacija robustne gruče Kubernetes za učinkovito orkestracijo kontejnerskih aplikacij. Mainstream je ustvaril dve gruči za FitPass: za produkcijsko okolje in za staging/testiranje. Vsaka gruča je konfigurirana s tremi upravljavskimi vozlišči za upravljanje stanja gruče in orkestriranje nalog, medtem ko je število delovnih vozlišč (worker nodes) prilagojeno potrebam okolja.

Kontejnerizacija in vzpostavitev CI/CD cevovoda 

Kontejnerizacija aplikacij PHP in Laravel je bila pomemben del posodobitve. Mainstream je uporabil Docker za ustvarjanje vsebnikov, zaradi česar so bile aplikacije bolj agilne in enostavnejše za uvajanje. Vsaka aplikacija je bila zapakirana s svojimi odvisnostmi, kar je odpravilo težavo »deluje v mojem računalniku«.

Po kontejnerizaciji so Mainstreamovi strokovnjaki vzpostavili učinkovit cevovod CI/CD z uporabo Jenkinsa, kot ključnega orodja za avtomatizacijo. Cevovodi Jenkins so konfigurirani za samodejno gradnjo, testiranje in uvajanje aplikacij v ustrezno okolje Kubernetes, odvisno od toka sprememb kode. To omogoča hitrejši zagon novih različic aplikacij in zmanjšuje možnost napak. 

Za aplikacije Laravel je bil v okviru cevovoda CI/CD razvit nabor skriptov, ki se ukvarjajo z migracijo baze podatkov, kar je pogosta potreba v projektih Laravel. Avtomatizacija tega koraka je bistveno izboljšala hitrost in zanesljivost postopka uvajanja, kar je ekipi omogočilo, da se osredotoči na razvoj novih funkcionalnosti namesto na rutinske naloge.

Spremljanje  

Mainstream je implementiral Prometheus za spremljanje infrastrukture in aplikacij, skupaj z nadzornimi ploščami Grafana za vizualizacijo delovanja v realnem času. To je ekipi FitPass omogočilo hitro prepoznavanje in odzivanje na morebitne težave, še preden utegnejo vplivati na izkušnjo končnega uporabnika. 

Uporaba sistema za agregacijo dnevnikov Loki je bistveno izboljšala analizo dnevnikov in diagnosticiranje težav. Z integracijo z okoljem Kubernetes je omogočeno samodejno združevanje dnevnikov iz vseh komponent, kar je močno povečalo učinkovitost procesa odpravljanja težav.

Implementacija okolja za obnovitev po nesreči

Implementacija okolja za obnovitev po nesreči (DR) je ključna za zagotavljanje neprekinjenega poslovanja in zmanjšanje tveganja izgube podatkov v primeru nepredvidenih incidentov. Ta proces je vključeval vzpostavitev sekundarne infrastrukture na drugi, neodvisni lokaciji. Z uporabo avtomatiziranih orodij za replikacijo podatkov in s prilagoditvijo procesa CI/CD je omogočen hiter prenos poslovnih operacij na lokacijo DR. 

Usposabljanje in oddaja dokumentacije 

Zadnja faza projekta je zajemala usposabljanje ekipe FitPass za delo z novimi tehnologijami in procesi. Mainstream je organiziral vrsto delavnic in treninge, ki so se osredotočali na upravljanje gruče Kubernetes, delo z orodji CI/CD in najboljše prakse za razvoj in uvajanje kontejnerskih aplikacij. Mainstream strokovnjaki so pripravili tudi podrobno projektno dokumentacijo z navodili za uporabo in vzdrževanje sistema.

Prednosti, ki smo jih dosegli

  • Postavitev trdnih temeljev za razvoj in skaliranje aplikacij 
  • Posodobljena arhitektura za večjo skalabilnost
  • Večja operativna učinkovitost in standardizacija IT-operacij
  • Hitrejša diagnostika in odpravljanje težav pri delovanju aplikacije

Skupaj z ekipo Mainstream smo postavili stabilen, robusten sistem, ki temelji na orkestraciji Kubernetes, ki podpira vse naše potrebe po razvoju, integraciji in uvajanju, tako za testiranje in uprizarjanje kot tudi za proizvodnjo, s čimer zmanjšamo človeške napake na minimum. Kar je zelo pomembno – naše okolje je razširljivo, varno in pripravljeni smo na nadaljnjo rast!

Damnjan Matejić

Chief Technology Officer

Odkrijte, kako lahko Mainstream izboljša vaše poslovanje.

Kontaktirajte nas na business.si@mainstream.eu ali izpolnite naš kontaktni obrazec.

Druge študije primerov

Intelisale: Migracija in upravljanje naročnine Microsoft Azure

Podjetje Intelisale, razvijalec napredne platforme omnichannel B2B, se je pri migraciji in upravljanju naročnine Microsoft Azure zaneslo na strokovno znanje ekipe Mainstream.

Šport Ljubljana: Migracija Office aplikacij, DMS in ERP programske opreme na Mainstream Managed Environment  

Šport Ljubljana je uspešno preselil aplikacije Office, ERP in programsko opremo DMS v Managed Environment podjetja Mainstream, pri čemer je pridobil stabilnost infrastrukture, varnost, razširljivost in strokovno podporo.

Migracija virov v oblak Azure in migracija iz oblaka v oblak iz MS Azure v GCP

Po selitvi virov z obstoječe arhivske kopije Azure na novo so strokovnjaki za Mainstream oblak pomagali OTA Sync-u za izvedbo prehoda na novo platformo v oblaku, Google Cloud.