IaaS, PaaS, BaaS - egy rossz választás milliókba kerülhet

Már a fejlesztés tervezési fázisában, árajánlatok összehasonlításánál segít ha a megrenedlő tisztában van a felhőszolgáltatások alapfogalmaival. Mit is jelentenek ezek a rövidítések, és milyen különbségek vannak köztük? Melyik megközelítésnek milyen költségvonzata van a fejlesztéskor és üzemeltetéskor. Ebben a cikkben megrendelőknek, döntéshozóknak bemutatom, hogy mi az IaaS, PaaS és BaaS és hogy mire figyeljenek egyik, másik technológia kiválasztásakor.

Kezdetek

Bár úgy tűnhet, hogy a felhőszolgáltatások csak kacifántos szó arra, aminek nem tudjuk, hogy mi van a hátterében, a valóságban viszont komoly történetisége van, és a felhasználói, megrendelői igények tették olyanná, mint amilyen ma.

Kezdetben voltak a szervertermek, melyek stabil internetkapcsolatot, áramforrást és megfelelő hűtést biztosítottak az ott elhelyezett gépeknek, amik valamilyen interneten elérhető szolgáltatást futtattak, legtöbbször weboldalt. Ezek nem kevés esetben sima asztali számítógépek voltak egy linux szerver operációs rendszerrel. Ezzel az volt a baj, hogy bár a bekerülési költsége és a szakember (a vállalkozás informatikusa) bére alacsony volt, hatalmas biztonsági kockázatot, bizonytalan működést és a leállás veszélyét hozta magávall.

Komolyabb vállalatok szerver gépet vásároltak, melyben minden alkatrészből legalább kettő volt és olyan szakemberrel végezték a munkát, akinek ez volt a szakterülete. Ez viszont azt eredményezte, hogy rengeteg olyan szabad kapacitás maradt kiaknázatlanul, mely csak a költségeket vitte. És itt nem csak a szerver szabad kapacitása a lényeg, ami felesleges áramfogyasztást és fajlagosan magasabb karbantartási költséget generált, hanem a szakember bére, akinek nem fedte le a munkaidejét, hogy a vállalat egy-két szerverét üzemeltette. Ráadásul ezeket a szervereket időnként karban kellett tartani, le kellett cserélni, mely további költségeket jelentettek.

Erre a helyzetre válaszul a szervertermek üzemeltetői regáltak úgy, hogy ők maguk vásároltak szervereket és kötötték össze őket úgy, hogy erőforrásaikat egyként tudták használni és szabadon darabolni akkora szeletekre, amekkorára szüksége van egy megrendelőnek. Az eredménye nagy rendelkezésre állás és olyan alacsony költségek, hogy nem érte már meg bevinni külön kis gépet a szerverterembe. Ez gyakorlatilag a felhő architektúrák kialakulásának kezdete a 1990-es évek végén, az IaaS megjelenése.

IaaS: Infrastruktúra mint szolgáltatás

Az IaaS (Infrastructure as a Service) azt jelenti, hogy a felhőszolgáltató biztosítja az alapvető informatikai infrastruktúrát - szervereket, tárhelyet, hálózati erőforrásokat - amelyeket az ügyfél igény szerint konfigurálhat és használhat. Az ügyfélnek nem kell foglalkoznia a hardver beszerzésével, telepítésével, karbantartásával vagy frissítésével, ezeket a feladatokat a felhőszolgáltató végzi el. Az ügyfél csak azért fizet, amennyit használ. Az IaaS előnye, hogy nagy rugalmasságot és skálázhatóságot biztosít az ügyfeleknek, akik gyorsan bővíthetik vagy csökkenthetik az erőforrásaikat a forgalom változásainak megfelelően. Az IaaS hátránya, hogy az ügyfélnek magának kell gondoskodnia az operációs rendszerről, az alkalmazásokról és az adatbiztonságról, tehát külön szakembert kell megbízni ezen feladatok ellátására. Az IaaS példái közé tartozik az Amazon Web Services (AWS), a Google Cloud Platform (GCP), az IBM Cloud és a Microsoft Azure.

PaaS: Platform mint szolgáltatás

A PaaS (Platform as a Service) azt jelenti, hogy a felhőszolgáltató nemcsak az infrastruktúrát, hanem egy teljes körű platformot is biztosít az alkalmazások fejlesztéséhez, futtatásához, karbantartásához és menedzseléséhez. A platform magában foglalja az operációs rendszert, a programozási nyelveket, a keretrendszereket, az adatbázisokat és más szoftvereszközöket. A PaaS előnye, hogy megkönnyíti a fejlesztők számára a webes vagy mobilalkalmazások létrehozását anélkül, hogy aggódniuk kellene az alapvető infrastruktúra beállítása vagy kezelése miatt. A PaaS hátránya, hogy kevesebb testreszabási lehetőséget kínál az ügyfeleknek, akiknek alkalmazkodniuk kell a felhőszolgáltató által kínált platform korlátaihoz és kompatibilitási követelményeihez. A PaaS kialakulása az 2000-es évek elején kezdődött, amikor az internetes cégek elkezdték nyilvánosságra hozni saját platformjaikat más fejlesztők számára. Az első PaaS szolgáltatók közé tartozott a Google App Engine (2008), az AWS Elastic Beanstalk (2011) és a Microsoft Azure (2010).

BaaS: Backend mint szolgáltatás

A BaaS (Backend as a Service) azt jelenti, hogy a felhőszolgáltató biztosítja az alkalmazások háttérrendszerét - adatbázisokat, fájlrendszereket, felhasználói hitelesítést, push értesítéseket stb. - amelyeket az ügyfél egy egyszerű API-n keresztül érhet el. A BaaS előnye, hogy tovább könnyíti a mobilalkalmazások létrehozását anélkül, hogy sok időt és erőforrást kellene fordítaniuk a háttérrendszer kialakítására és kezelésére. A BaaS hátránya, hogy csökkenti az ügyfelek ellenőrzését és tulajdonjogát az alkalmazás adatai és logikája felett, valamint függővé teszi őket a felhőszolgáltató által kínált szolgáltatások minőségétől. A BaaS kialakulása az 2010-es évek elején kezdődött, amikor a mobilalkalmazások robbanásszerű növekedése miatt megnőtt az igény a könnyen használható és skálázható háttérrendszerek iránt. Az első BaaS szolgáltatók közé tartozott a Parse (2011), a Firebase (2011) és a Kinvey (2011).

Összefoglalás

A felhőalapú szolgáltatások - IaaS, PaaS és BaaS - különböző szinteken nyújtanak segítséget a mobilalkalmazás fejlesztőknek. Az IaaS a legnagyobb rugalmasságot és testreszabhatóságot kínálja, de a legtöbb felelősséget is rója az ügyfélre. A PaaS egy kész platformot biztosít az alkalmazások fejlesztéséhez és futtatásához, de kevesebb szabadságot ad az ügyfélnek. A BaaS az alkalmazások háttérrendszerét kezeli, de csökkenti az ügyfél ellenőrzését és tulajdonjogát.

Úgy is nézhetjük, hogy milyen függőségeket alakít ki a megrendelő, amikor ez egyes megoldások közül választ egyet. Bár az IaaS adja a legnagyobb szabadságot, de ehhez szakemberre van szükség. Ha megnézzük, hogy ma magyarországon milyen nehéz informatikust találni, már önmagában az, hogy a projektre egy plusz ember kell, növeli a függőséget. Ebben a tekintetben vonzóbbá válhat egy BaaS szolgáltató egy nagyobb projektnél is, de a lehetőségeket természetesen minden esetben egyedileg kell mérlegelni a projekt nagyságának és a várható látogatószámnak, erőforrásigénynek megfelelően.