Vásárlók akcióban (forrás: Mocsányi Ákos, solution architect)

Szeret vásárolni? A nők zöme e kérdésre vélhetőleg igennel felel, a férfiak esetében talán árnyaltabb a válasz. Az azonban bizonyos: az online shoppingolás lehetősége mindkét nem számára megkönnyíti az életet. A hétköznapokon is, ám a karácsony közeledtével főleg. Jószerével nincs olyan ajándékötlet, amelyet pár kattintással ne lehetne valóra váltani.

Ám elgondolkodtak már azon, milyen mértékű professzionalitást és kapacitást kíván meg mindez informatikai szempontból? Az, hogy a webshopok akciók ideje alatt vagy más, turbulens időszakokban zavartalanul üzemeljenek, ma már természetes elvárásunk, ám jó pár éve még korántsem volt magától értetődő, hogy egy félnapos netes kuponakció okozta roham nyomán nem fagy le az egész weboldal.

Mára ez a kérdés viszonylag egyszerűen megoldhatóvá vált.

A szakemberek ugyanis választ találtak arra a kérdésre, miképpen lehet számítógépes rendszerek teljesítményét minél kevesebb emberi interakcióval, terheléshez alkalmazkodóan, dinamikussá tenni. Régen szakítottak már azzal a koncepcióval, amely egy óriási, erős computer építésével igyekezett nagy teljesítményt elérni – ezt vertikális skálázásnak nevezzük –, hiszen egy idő után azt már nem lehetett tovább erősíteni, kapacitása korlátozott volt, gazdaságilag nem érte meg. Ehelyett az erőforrások optimális kihasználása érdekében sok hétköznapi számítógép teljesítményét adják össze. Utóbbi megoldás – a horizontális skálázás – olcsóbb és rugalmasabb megoldást biztosít.

E módszer a konténerizáció technológia révén is kihasználható.

Ez azt jelenti, hogy a különböző alkalmazások egységes módon, „csomagban” kezelhetők. Azokat konténerben szállítják, magukat a konténereket pedig egy erre kitalált platform futtatja. A fejlesztő az elkészített programot beteszi tehát egy konténerbe: a sok kis gépből összeállított klasztert – ezt a „végtelenül” skálázható erőforráshalmazt – csupán arra kell fölkészíteni, hogy konténereket tudjon futtatni.

Miért forradalmi a konténerizáció megjelenése? Mert míg a hagyományos virtualizáció alatt hosszú percekig tart, míg egy virtuális gép elindul, a konténerizáció révén mindez milliszekundumok kérdése. Képzeljük el, hogy mondjuk egy karácsonyi akció indulásakor, amikor plusz 100 ezer felhasználó özönlik a webshopba és kezd el vásárolni, mekkora mértékben ugrik meg a teljesítményigény. A hagyományos, régi eszközök korában ilyenkor a rendszergazda kapott egy piros lámpát, majd elkezdte bekapcsolgatni az új gépeket. Várni kellett. A látogatók meg gutaütést kaptak a hibaüzenetektől. A konténerizáció jóvoltából a vásárlók mindebből ma már semmit nem érzékelnek: automatizált az egész folyamat. Szenzor figyeli a leterheltséget, és a küszöbérték elérésekor újabb erőforrásokat von be. Emberi beavatkozás nélkül adaptálódik a rendszer a teljesítményigényekhez.

A konténerizáció és a horizontális skálázás egyik lehetséges támogató eszközét a Google pár éve nyílt forrású szoftverré tette. Fejlesztéséhez programozók ezrei szabadidejükben, non-profit módon járulnak hozzá.

A neve: Kubernetes.

A görög szó – amelyből egyébként a kibernetika is származik – kormányost jelent. Az ókorban a tengerészeknek merészségre, leleményre volt szükségük: térkép és navigációs eszközök nélkül hajózva folyamatosan önálló gondolkodásra kényszerültek. Vélhetően így tettek kései örököseik, azok az informatikusok is, akik a Google-nél néhány éve megalkották ezt a fejlesztés gyorsítására és a műveletek egyszerűsítésre használható konténermenedzsment-eszközt. Használata révén a szoftverfejlesztőknek kevesebbet kell az infrastruktúra menedzselésével bíbelődniük, több idő marad az alkalmazások fejlesztésére.

Erre szükség is van.

Ma már egyre több webshop hirdet meg pár órás akciókat, amikor brutálisan alacsony áron lehet a termékeikhez jutni. Ilyenkor néhány órára a korábbi sokszorosára duzzad a forgalom. Nem lehet tudni, hogy a technológiai háttér elérhetősége indukálta e kampányokat, vagy az igény nyomán lendültek bele a fejlesztők a munkába, de tény, hogy manapság nem jelent gondot a technológiai háttér biztosítása az efféle „rohamok” idejére.

A háttérben pedig az történik, hogy a fejlesztő jelzi a Kubernetes felé, hogy egy bizonyos alkalmazásból fusson – mondjuk – minimum három, maximum tíz, a forgalom alakulásától függően. A rendszer pedig automatikusan eldönti, hogy a száz gépből álló pool-ból melyik gépen futnak majd az alkalmazások.

A fejlesztők pedig mindeközben levegőhöz jutnak. Ezt ki is használják.

Sokan éppen arra, hogy az ilyen jellegű eszközöket tovább fejlesszék.


Vissza a Tech Corner oldalra