Cloud Computing és a felhőalapú szolgáltatások 1. rész

Attila | 2022. 05. 09. 18:34 | Olvasási idő: 4 perc

Címkék: #Cloud #Digitalizáció (Digitalization) #IoT (Internet of Things) #Ipar 4.0 (Industry 4.0) #Kutatás (Research) #Társadalmasítás #ÚNKP #Vendégblogger

Munkánk során már számos alkalommal használtuk és mutattuk be a felhőszolgáltatások használatát, gondoljunk csak a Microsoft Azure-re vagy a Heroku-ra. De mik is azok a felhőalapú szolgáltatások és mit érdemes tudni róluk? Az ELTE-n van egy tárgyam (IoT ipari programozás), amelynek során érintem ezek használatát és elméleti hátterét. Talán ez is felkelthette Bozzai Enikő hallgatóm érdeklődését a téma iránt, akivel közösen feldolgoztuk a Cloud Computing alapjait, itt főleg a felhőtípusok csoportosítására koncentráltunk. A bejegyzés készítése során Enikő összefoglaló munkáját is felhasználtam, amely az én ÚNKP pályázatom elkészítéséhez is nagy segítség volt.
cloud_computing_1

Bevezető

2010-es évektől napjainkig kedvelt informatikai ágazat a Cloud Computing (Felhőalapú számítástechnikaként fordíthatnánk). A neves informatikus John McCarthy nevéhez fűződik, hogy a technológiát az áramhoz és vízhez hasonlóan közüzemi szolgáltatásként akarta értékesíteni.

Egyik fontos tulajdonsága, hogy a szolgáltatások nem csak egy eszközön, hanem a szolgáltató eszközein elosztva, a felhasználóktól rejtve működnek. A szolgáltatásokat a felhasználók publikus felhő esetében az interneten keresztül, míg privát felhő esetén a helyi hálózaton vagy szintén az interneten keresztül érhetik el.

Fő jellemzője még az önkiszolgálás, a felhasználók dönthetnek a számítási kapacitás igénybevételéről és mértékéről. A hálózati tárolás vagy szerver idő igénylés a szolgáltatótól függetlenül, automatikusan, interakció nélkül történik. Továbbá még rugalmasság jellemzi, hiszen az aktuális igénybevétel alapján változtathatják a kapacitást.

A Cloud rendszerek automatikusan vezérlik és optimalizálják az erőforrásaikat a szolgáltatás típusának megfelelően. Az erőforrás-felhasználás jól megfigyelhető, ellenőrizhető és pontosan mérhető, ezzel biztosítva átláthatóságot a felhasználók számára. Ehhez szorosan kapcsolódik még, hogy a felhőszolgáltatásoknál az ügyfél sosem havidíjat, hanem az általa használt erőforrások arányában fizet.

A legfontosabb tulajdonsága a közös erőforrás használata, ami lehet memória, sávszélesség vagy tárhely is. Nagy mennyiségű fizikai és virtuális erőforrásokat gyűjtenek össze, hogy azonos időben a sok ügyfél összes igényét ki tudják szolgálni. (forrás)


A Cloud szolgáltatások fajtái

Az „as a Service” kifejezés a felhőalapú számítástechnikai szolgáltatásokat jelenti, amelyeket egy harmadik fél biztosít a felhasználóknak. A Cloud Computing minden típusa arra törekszik, hogy felhasználóinak kevesebb helyszíni hálózatot kelljen üzemeltetni.

A továbbiakban ezeket a típusokat fogjuk részletesen bemutatni.

SaaS (Software as a Service), vagyis Szoftver, mint Szolgáltatás

A szoftverfrissítéseket, hibajavításokat, beállításokat és általános szoftver karbantartásokat a szolgáltató kezeli. A végfelhasználók a szolgáltatói alkalmazásokat egy webböngészőn (irányítópulton vagy API-n) keresztül érik el, ezért nincs szükség az alkalmazások telepítésére minden egyes számítógépen.

SaaS típusú szoftverek az online levelezők (például Yahoo mail, Gmail), a számviteli rendszerek, az elemző és kommunikációs eszközök, valamint a tárolási kapacitást, másnéven felhőtárhelyet kínáló szolgáltatások (például Dropbox, OneDrive, Google Drive). A szolgáltatásokat nem minden esetben csak számítógépen keresztül lehet használni, gondoljunk akár a Gmail-re, amihez a számítógép mellett okostelefonon, táblagépen is hozzá tudunk férni, és el tudjuk olvasni üzeneteinket, vagy akár a felhőtárhelyek esetén láthatjuk, hogy bármilyen okoseszközről el tudjuk érni az ott tárolt adatainkat.

A SaaS jó lehetőség lehet azon kisvállalkozások számára, akiknek nincs külön alkalmazottja vagy megfelelő sávszélessége (lehetősége) a szoftverek telepítésére és frissítésére, esetleg nem akarnak telepíteni és beállítani olyan alkalmazásokat, amelyeket csak időszakosan fognak használni. A felhasználók a szolgáltatásokért cserébe díjat fizetnek, ezt nevezzük licenc díjnak, amit fizethetnek havonta vagy akár évente is.

Összességében a SaaS időt és karbantartást takaríthat meg a felhasználóknak, ez viszont a biztonságukba és a teljesítményükbe kerülhet, ezért fontos, hogy megbízható és jó hírnévvel rendelkező szolgáltatót válasszanak.

PaaS (Platform as a Service), vagyis Platform, mint Szolgáltatás

Akkor beszélünk platformról, mint szolgáltatásról, amikor a szolgáltató biztosítja a mögöttes platformot (operációs rendszert), illetve a teljes hálózatot, tárolást, kiszolgálást és a virtualizációt is. Ezt internetkapcsolaton keresztül nyújtja a felhasználóknak.

A PaaS főként a fejlesztők és programozók számára hasznos, mert lehetővé teszi saját alkalmazásaik fejlesztését és futtatását anélkül, hogy egy infrastruktúrát vagy platformot kellene kiépíteniük és karbantartaniuk. Ez a módszer egy keretrendszert biztosít a fejlesztők számára webes alkalmazásaik felépítésére és testreszabására. A fejlesztők beépített szoftverösszetevőket használnak, ezzel csökkentve az írandó kód mennyiségét.

A felhasználóknak, vagy jelen esetben a fejlesztőknek elegendő kifejleszteniük az alkalmazást és azt a felhőbe telepíteni. Nem kell foglalkozniuk a szoftverek frissítésével és hardvereszközök karbantartásával, a fejlesztéshez szükséges környezet biztosítva van számukra a szolgáltató által. PaaS rendszert kínál például az AWS Elastic Beanstalk, a Heroku vagy a Red Hat OpenShift.

Látható, hogy a PaaS magába foglalja az operációs rendszereket, a webes kiszolgálást, biztonságot, adatbázis-kezelést, hálózati hozzáférést, sőt a SaaS-t is, de erről lesz egy összefoglaló táblázat ennek a résznek a végén, ami mutatja, hogy melyik szolgáltatás miket foglal magába és ki (a felhasználó vagy a szolgáltató) felügyeli az egyes részeket csoportonként. (Az ábra forrása itt van.)

IaaS (Infrastructure as a Service), vagyis Infrastruktúra, mint Szolgáltatás

Az IaaS egy olyan szolgáltatás, ahol a felhasználók egy harmadik fél (magán) infrastruktúráját, hardvereit tudják kibérelni. Interneten keresztül tárolási és virtualizációs szolgáltatásokat nyújt nekik. Fontos tulajdonsága, hogy a felhasználók nem havi- vagy licenc díjat kell fizetniük, hanem a felhasznált erőforrással arányos összeget. Alacsony rezsi jellemzi és nincsenek karbantartási költségek, ezért megfizethető lehetőséget kínál bármely cég számára.

Látható, hogy ez már jóval komplexebb "üzemeltetést" tartalmaz, mint a PaaS. Itt már magunknak kell figyelnünk, beállítanunk a futtató szerver operációs rendszert, a tárhelyet menedzselnünk kell, a tűzfalat beállítani stb.

Akkor érdemes egy IaaS-t igénybe venni, amikor semmilyen berendezést, hardvert vagy szervert sem szeretnénk fenntartani, de a szoftvereink feletti kontrollt szeretnénk megőrizni. A feladat ellátására egy virtuális gépet kell bérelnünk, ezen pedig az általunk választott alkalmazásokat és operációs rendszert tudjuk használni. Használatával gyors, rugalmas fejlesztési és tesztelési környezetet tudunk kialakítani. Az infrastruktúrát bármikor tudjuk növelni vagy csökkenti, továbbá annyiért fizetünk, amennyit használunk.

A hardveres részt a szolgáltató távolról biztosítja a felhasználóknak, így a felhasználóknak nem kell semmilyen karbantartási és frissítési feladatot ellátniuk, ezt a szolgáltató elvégzi majd helyettük. Az infrastruktúrát egy programozási felületen (API-n) vagy egy irányítópulton keresztül érhetjük el.

A rendszernek azonban hátránya a megbízhatósági és biztonsági problémák, amelyek a megosztott, több bérlő által használt infrastruktúrából erednek. Ezek elkerülhetőek, ha megbízható, szilárd múlttal és hírnévvel rendelkező szolgáltatót választunk. IaaS szolgáltatás az Amazon Web Services, a Microsoft Azure és a Google Cloud.

Ez az összefoglaló megmutatja nekünk, hogy melyik területeket felügyeli és menedzseli maga a felhasználó (user - szürke), vásárló, ügyfél, nevezhetjük többféleképpen. Illetve azt mutatja még meg, hogy melyiket menedzseli a "beszállító" (vendor - kék), vagy felhő szolgáltató. A bal oldali oszlopban gyakorlatilag egy saját szervergépet (vagy parkot) láthatunk, míg ahogy haladunk jobbra, egyre inkább átveszi "rólunk" a terhet a felhő szolgáltató.

További "as a Service" jellegű szolgáltatások (forrás)

A fenti fő elgondolások ihlették meg azokat a további szolgáltatásokat, amelyeket igénybe lehet venni a felhőben, de ezeket már nem írom le részletesen:

  • APIaaS: amikor egy harmadik féltől (3rd party) származó API-t használunk szolgáltatásként, mint például a Google Maps (lásd a Kapcsolat oldalamat), vagy az IMDb mozis alkalmazás API-ját.
  • AaaS: amikor valamilyen analitikát, adatelemzési szolgáltatást használunk szolgáltatásként. Ilyen például a Google Analytics, amivel a weboldalak látogatottsági számait tudjuk elemezni.
  • BaaS: amikor a weboldalak Backend csomagjait nyújtják szolgáltatásként, úgy mint adatbázis menedzsment, felhasználókezelés stb.
  • Data as a Service (rövidíthetnénk DaaS-ként is, de azt másra is használjuk, lásd alább): ennek segítségével hozzáférhetünk aggregálás és kalkulálás előtti adatokhoz, amelyek segítségével jobb üzleti döntéseket lehet hozni költséghatékonyan.
  • DBaaS: itt magát az adatbázist nyújtják szolgáltatásként publikus és privát felhőkben. Ennek segítségével belső és külső felhasználók is hozzáférhetnek az adatbáziskezeléshez. Példaként ide sorolható a MySQL, PostgreSQL, Redis, MongoDB menedzselése a ScaleGrid által.
  • DaaS: a D itt a Desktop, vagyis az asztal, ami virtuálisan áll az ügyfelek rendelkezésére. Ilyen szolgáltatást nyújt a V2 Cloud.
  • FaaS: ami funkcionalitásokat nyújt szolgáltatásként. Ennek segítségével csökkenthetjük a szerverek használatának komplexitását, vagy teljesen el is hagyhatjuk az infrastruktúrából a szervereket és tényleg csak a funkciókra koncentrálhatunk. Emiatt ez főleg programozóknak lehet hasznos. Példa: Cloudflare workers.
  • SECaaS: ez a biztonságra koncentrál, amivel megvédhetjük az alkalmazásunkat vagy az infrastruktúránkat a támadásoktól (vírusok, betörések, spamelés elkerülése). Példa ezekre az Avast, Norton vagy a McAfee szolgáltatásai.
  • XaaS: az X itt bármit jelenthet, amit szolgáltatásként lehet nyújtani az ügyfelek számára a felhőn keresztül: termékek, alkalmazások, tanácsadás, oktatás, gyártási eszközök, játékok stb.


Telepítési modellek

A szolgáltatások fajtái mellett létezik még egy csoportosítási mód, ez pedig a telepítési modellek halmazait jelképezi. Ebben a csoportosítási módszerben a hozzáférhetőség (a szolgáltatásokat ki, kinek és hogyan osztja meg) kerül előtérbe, ez alapján történik a kategorizálás. Az Amerikai Nemzeti Szabványügyi Intézet négy telepítési modellfajtát különböztet meg.

Nyilvános felhő (Public Cloud)

A legismertebb és leggyakrabban alkalmazott modell a nyilvános felhő. A hétköznapi emberek számára is könnyen elérhető, de az erőforrások a szolgáltatók tulajdonában vannak, ők birtokolják és működtetik az infrastruktúrát saját telephelyükön. A felhasználók általában interneten keresztül érik el, de ezen modell esetében nincs rálátásuk az infrastruktúrára és ellenőrizni sem tudják annak elhelyezkedését.

Nyilvános felhők esetében a platform megosztás miatt kisebb a biztonság, a rugalmasság és az irányíthatóság. A nyilvános felhőre (és szolgáltatóra) láthatunk néhány példát itt (Top 10 2021-ben):

Magán felhő (Private Cloud)

Ezt a fajta felhő infrastruktúrát kizárólag egy szervezet/ügyfél használhatja. Az üzemeltetés megoldható úgy, hogy csak a felhasználó szervezet maga kezeli, de itt is működhet harmadik fél által. Itt is igaz, hogy az infrastruktúra lehet fizikailag a felhasználó telephelyén vagy akár azon kívül is. A magánfelhő általában magasfokú biztonsággal rendelkezik, így kiváló választás lehet azon felhasználóknak, akiknél fontos szempont az adataik biztonsága. Emellett még nagyfokú rugalmasság és irányíthatóság jellemzi.

Hibrid felhő (Hybrid Cloud)

A hibrid szó itt is kettő vagy több dolog keverékére utal, jelen esetben általában a nyilvános és a magánfelhő erősségei vegyülnek (ezt láthatjuk az iménti ábrán is). A felhők megtartják jellegzetes tulajdonságaikat, valamint szabványosított és szabadalmaztatott technológiák kapcsolják őket össze a megfelelő működés érdekében. A hibrid felhő lehetővé teszi az adatok és az alkalmazások hordozhatóságát. Rugalmasság és többféle telepítési lehetőség jellemzi. Hátrányt jelent azonban a hálózat összetettsége és a megfelelőségi problémák.

Hibrid felhőnél a vállalatok érzékeny adataikat magánfelhőben tárolják, míg a támogatott szolgáltatásaikat a nyilvános felhőben, így adataikat ellenőrzésük alatt tudják tartani.

+1: Közösségi felhő (Community Cloud)

A közösségi felhő típusú infrastruktúrát több szervezet megosztottan használja, tehát az adott közösség közös érdekeit szolgálja. Ilyen érdekek lehetnek a közös küldetés, a biztonsági követelmények, az előírások és megfelelőségi szempontok. A menedzselést elvégezheti akár a felhasználó szervezet is, de ezt a feladatot kiadhatják egy harmadik félnek is. Az infrastruktúra fizikai elhelyezkedése lehet a felhasználó telephelyén vagy azon kívül is.


Együttműködés, köszönetnyilvánítás

A kutatást természetesen nem egyedül végeztem. Munkám során, ahogy a bejegyzés elején említettem, az Eötvös Loránd Tudományegyetemen (ELTE-n) hallgatómmal, Bozzai Enikővel együttesen tevékenykedtem, továbbá a kutatást doktoranduszom, Koncz Adrienn is segítette.