Infobip: do kraja 2020. godine većina proizvoda na Kubernetesu

Infobip, globalna tvrtka s hrvatskom adresom koja razvija vrhunske svjetske komunikacijske platforme u cloudu, od prije nekoliko mjeseci započela je raditi s platformom Kubernetes. Svoja iskustva u tom području s nama je podijelio Mario Žagar, Senior Software Architect u Infobipu.

“S Kubernetesom smo u Infobipu počeli raditi prije nekoliko mjeseci. Imamo konkretno područje primjene za njega te smo ocijenili da bi nam mogao pomoći da brže i jednostavnije deployamo aplikacije, uz pet puta bolju iskoristivost resursa nego li je to slučaj sada”, kaže Žagar.

.debug: Koji vam je bio glavni izazov kad je riječ o prelasku na Kubernetes za jednu tako veliku tvrtku koja posluje u cijelom svijetu?

MŽ: Glavni izazov koji smo u našem slučaju prepoznali kod Kubernetesa je potrebni know-how koji moramo imati unutar vlastite kompanije da bismo Kubernetes clustere na kojima bismo vrtjeli svoje aplikacije mogli održavati u više od 15 različitih podatkovnih centara. Zbog činjenice da se cijela Infobipova komunikacijska platforma većinom vrti na našem hardwareu u podatkovnim centrima razmještenima diljem svijeta, nažalost ne možemo posvuda iskoristiti gotova Amazonova, Microsoftova ili Googleova cloud kubernetes-as-a-service rješenja kako bismo zaobišli operativne probleme održavanja Kubernetes clustera i potrebne popratne infrastrukture – već to moramo znati raditi sami.”

.debug: Možete li nam na konkretnom primjeru pojasniti prednosti Kubernetesa koje ste uspjeli iskoristiti?

MŽ: U ovom konkretnom slučaju radi se o slanju WhatsApp poruka, a za koje je potrebno u naše datacentre instalirati posebne aplikacije koje je razvio WhatsApp. Preko tih se aplikacija obavlja slanje i primanje poruka prema/od Whatsapp korisnicima. U početku smo napravili najjednostavnije moguće rješenje i te smo aplikacije instalirali direktno na našim virtualnim mašinama. Kako nije bilo puno klijenata to nam nije predstavljao niti operativni problem niti problem u resursima. No s vremenom, kako je WhatsApp segment poruka rastao sve više, taj način instalacije aplikacije počeo nam je oduzimati sve više vremena i resursa – u jako kratkom vremenu smo došli u situaciju da moramo voditi brigu o preko tisuću virtualnih mašina dediciranih samo za WhatsApp aplikacije. Iako smo automatizirali sami proces instalacije, postali smo svjesni da mnogo tih virtualnih mašina, osim potrebnih resursa za samu aplikaciju, moraju imati još i dodatni RAM, CPU i disk koji služe samo za potrebe operativnog sustava i praktički ostaju neiskorišteni.

Prelaskom na Kubernetes odmah dobivamo dva benefita: puno jednostavniji proces instalacija te bolju iskoristivost resursa potrebnih aplikacijama.

Na Kubernetes platformi nam se proces instalacije svodi na ‘jedan klik’ koji u pozadini izvršava jednu komandu za instalaciju potrebnih aplikacija, nakon čega je taj ‘set aplikacija’ spreman za korištenje – sve unutar 5 minuta bez ljudske intervencije. Glavna razlika u odnosu na prethodni proces automatizacije koji smo sami implementirali je da nam Kubernetes omogućava da taj proces automatizacije napravimo puno jednostavnije i stabilnije. Implementirali smo ga za dva dana, dok smo vlastiti kontinuirano razvijali i poboljšavali u periodu od dva mjeseca.

U smislu uštede resursa, Kubernetes nam omogućava da aplikacije gusto instaliramo ‘jednu do druge’, a da prepustimo Kubernetesu da se brine o tome da taj raspored i iskoristivost resursa bude optimalan. Primjerice, za instalaciju aplikacija za koji nam na postojećoj infrastrukturi treba 200CPU-a, 400GB RAM-a i 2TB diska, na Kubernetesu možemo realizirati isto sa 100CPU-a, 80GB RAM-a i 400GB diska – dakle dvostruko manje CPU-a, pet puta manje RAM-a i diskovnog prostora.

Usput nam je iskustvo s Kubernetesom na konkretnom i ograničenom use caseu poslužilo da evaluiramo Kubernetes kao potencijalni next-step u evoluciji naše Infobip komunikacijske platforme, tj. da ga iskoristimo kao osnovnu aplikacijsku platformu za sve naše usluge te da tako omogućimo da više od 200 naših developera u preko 20 produktnih timova svoja biznis rješenja pružaju korisnicima na korištenje još lakše, sigurnije i brže.

Kubernetes je open source plaforma za deployment aplikacija na standardizirani način. Želimo se fokusirati se što više na poslovanje, a ne na infrastrukturu potrebnu da bi platforma i biznis koji se na njoj vrti funkcionirao. Naša je trenutna procjena da takvo što s Kubernetesom možemo postići lakše i brže nego razvijajući i održavajući vlastitu platformu.

.debug: U kojoj je trenutačno fazi njegova primjena kao glavne platforme kod vas?

MŽ: Trenutno smo u fazi prebacivanja poslovanja jednog produkta, odnosno rješenja u potpunosti na Kubernetes i planiramo to završiti do kraja godine.

Paraleno nam je u planu do kraja ove godine imati Kubernetes platformu spremnu za korištenje u svim našim datacentrima, a zatim početi prebacivati, jednog po jednog, sve one produkte za koje takvo što ima smisla i za koje vidimo korist.

Produkte koje je nepraktično prebacivati na Kubernetes, koji su usko vezani uz neko specifično hardversko rješenje, poput onih koji se ne vrte u našim datacentrima, već “on premise” u datacentru kod klijenta ili za koje prebacivanje nema koristi, njih ne planiramo prebacivati jer u suprotnome ne bismo dobili ništa.

Cilj nam je da do kraja iduće godine svi produkti i timovi, za koje to ima smisla, koriste Kubernetes platformu za deployment svojih rješenja.


Više o svemu saznajte na .debug konferenciji 12. i 13. prosinca 2019.