Mi a PodSpace?
A PodSpace tulajdonképpen egy konténer-mint-szolgáltatás (CaaS) és platform szolgáltatás (PaaS) felhő egyben. A felhő alapú számítástechnika egy olyan Internetes technológia, amelyben a felhasználók megosztva használják egy központi szolgáltató számítási, adattárolási és hálózati infrastruktúráját.
A PodSpace egy publikus felhőszolgáltatás, amelyben webes alkalmazásokat lehet futtatni (hosztolni) - ilyen szempontból hasonlít egy webtárhelyhez, vagy bérelt virtuális géphez.
Hogy megértsük, hogy a PodSpace által nyújtott szolgáltatások hogyan helyezkednek el a jelenleg elérhető felhőszolgáltatások palettáján, tekintsük át a különböző kategóriájú felhőszolgáltatásokat:
IaaS - Infrastructure as a Service
Egy IaaS felhőben lényegében virtuális gépeket lehet bérelni, hasonlóan egy VPS szolgáltatáshoz. A különbség elsősorban abban áll, hogy amíg hagyományos VPS szolgáltatás esetében a virtuális gépeink száma, topológiája viszonylag ritkán változik, addig egy IaaS felhő gyorsan változó körülményekre van optimalizálva: könnyen lehet további VPS-eket létrehozni akár előre gyártott sablonok alapján, és a felhő részeként rendelkezésre áll egy olyan kiszolgáló környezet (hálózat, tűzfal, terheléselosztók, storage, stb.) ami képes gyorsan és automatikusan adaptálódni a váltózó topológiához. Az IaaS előnye, hogy a benne létrehozott virtuális gépek tetszőlegesen testreszabhatóak, gyakorlatilag nincs megkötés arra vonatkozóan, hogy a virtuális gépekben mit futtatunk. Hátránya, hogy a virtuális gépeket adminisztrálni kell, ami sok gép esetében jelentős (emberi) erőforrásokat követel meg.
PaaS - Platform as a Service
A PaaS felhő esetében alkalmazás-futtatókörnyezeteket veszünk igénybe a felhőből. Egy PaaS felhőben jellemzően egy előre definiált katalógusból választhatunk tetszőleges futtatókörnyezetet (pl. Ruby on Rails, Node.js, PHP, JBoss, stb.), és egy ilyen futtatókörnyezetbe telepítjük az alkalmazásunkat, jellemzően forráskódból. A PaaS felhők előnye, hogky készen megkapjuk a teljes értékű futtatókörnyezetet, nem kell dolgozni azok összeállításával. Hátránya, a PaaS-ban lévő futtatókörnyezetek teljesen zárt rendszert képeznek, ami vagy jó nekünk, vagy nem - azok módosítására nincs lehetőség.
CaaS - Container as a Service
A legújabb szereplő a felhő alapú számítástechnikai szolgáltatások palettáján a konténer felhő. A konténer tulajdonképpen egyfajta virtualizációs technológia, ezért a konténer felhő sok tekintetben az IaaS felhőhöz hasonlít. A különbség abból adódik, ami a virtuális gépek és a konténerek közötti különbség: a konténer nem egy teljes virtuális gép, hanem csak egy izoláltan futó folyamat (process) ami egy virtuális géphez hasonló izolált környezetben fut. Ezáltal lényegesen kisebb az erőforrásigénye, és lényegesen egyszerűbb az adminisztrációja - ezek a CaaS felhő legfőbb előnyei az IaaS-el szemben.
A CaaS valahol “félúton” van az IaaS és a PaaS között: az IaaS esetében a virtuális hardvert a felhő adja, a felhasználó telepíti rá az operációs rendszert. A PaaS esetében a virtuális hardvert, az operációs rendszert, és a futtatókörnyezetet is a felhő adja, a felhasználó pedig csak az alkalmazást telepíti rá. A CaaS esetében a hardvert és az operációs rendszer magját (kernel) a felhő adja, minden egyéb szoftverkomponens a felhasználó kezében van.
Mivel nyújt többet a PodSpace?
A PodSpace tulajdonképpen egy CaaS és egy PaaS felhő egyben.
Alapjait tekintve CaaS: legfőbb szolgáltatása, hogy Docker konténereket futtat, és a konténer alapú alkalmazáskörnyezetekhez szükséges kiegészítő szolgáltatásokat nyújtja, úgy mint:
-
Docker Registry
-
Integrált terheléselosztók
-
Konténerek skálázása a terhelés függvényében
-
Szolgáltatás-felderítés: hogy az egymással kommunikáló konténerek megtalálják egymást a változó topológiától (pl. skálázás) függetlenül
A PodSpace valódi erőssége abban rejlik, hogy a fenti alapokra építkezve egy teljes értékű PaaS megoldást is tartalmaz, ami a fejlesztéssel, tesztelésel és élesítéssel kapcsolatos feladatokra ad integrált megoldásokat:
-
Szabadon választható futtatókörnyezetek (Docker image formában)
-
Alkalmazások fordítása, elhelyezése a futtatókörnyezetekben (szintén Docker image formában)
-
Automatizálható és megismételhető build folyamatok - beleértve nem csak az alkalmazás fordítását, hanem a futtatókörnyezet összeállítását
-
Intelligens verziókihelyezés: leállásmentes rolling upgrade, rollback, blue/green deployment
-
Logikai alkalmazáskörnyezetek kialakítása (fejlesztői-, teszt-, éles környezetek)
-
Alkalmazás verziók automatikus mozgatása a különböző logikai környezetek között
-
Automatizált tesztelés és élesítés
A PodSpace amiatt emelkedik ki a hagyományos felhőszolgáltatások mezőnyéből, hogy konténer alapokra helyezve valósítja meg a platform felhő funkcionalitást, ezáltal az infrastruktúra-felhők által nyújtott testreszabhatóságot ötvözi a platform felhők által nyújtott magas fokú integrációs szinttel.

