A számítási felhőről (cloud computing)
Egyre több helyen olvashatunk a számítási felhő előnyeiről, terjedéséről. A technikát flexibilis, könnyen változtatható környezetek, testre szabható eszközpark jellemzi, mely segítségére lehet a tesztelésnek is. Tesztkörnyezetből, hardver erőforrásból a tesztelés általában nem áll valami fényesen, így néha támaszkodhatunk egy-egy felhőszolgáltatásra.
Manapság széles körben, eltérő szolgáltatási területeken találkozhatunk a felhővel, ezért is nevezik sokan a következő évek IT-trendjének. A Wikipédia úgy határozza meg a felhő fogalmát, hogy olyan állományokkal és programokkal dolgozunk, melyek nem a saját gépünkön, hanem az interneten egy számunkra ismeretlen helyen vannak tárolva. A saját eszközünkön csak egy kis terjedelmű program, kliens-alkalmazás fut.
Az alapján, hogy az egyes informatikai rétegeket kik kezelik, fizikailag hol helyezkednek el, többféle számítási felhő típusról beszélhetünk:
- Privát számítási felhő (private cloud)
- Infrastrukturális számítási felhő (Infrastructure as a Service – IaaS)
- Platform-alapú számítási felhő (Platform as a Service – PaaS)
- Szoftver-alapú számítási felhő (Software as a Service – SaaS)
A webes technológiák alkalmazásával többféle eszközzel is elérhetővé válnak a felhőben tárolt alkalmazásaink, adataink. A felhő segíti a különböző eszközeinken lévő adataink szinkronizálását. (pl.: Google Calendar). Amennyiben használunk online levelező rendszert vagy a Google Docs-ban készítettünk dokumentumokat, máris olyan alkalmazásokkal, adatokkal dolgozunk, amelyek nem a gépünkön, hanem távoli szervereken vannak eltárolva.
Mivel pontosan nem tudni, a felhőben hol tárolódnak adataink, ezért nem lehetünk biztosak afelől, hogy illetéktelenek nem férhettek hozzájuk. Léteznek természetesen biztonságos technológiák, melyek alkalmazásával megszüntethetők ezek a problémák, így a kérdés valójában az, mi magunk mennyire bízunk meg a szolgáltatóban. Inkább külföldi viszonylatban látunk érdekes cloud megoldásokat, magyar cégek még nem igazán merészkedtek erre a szolgáltatói területre.
Környezet a teljes alkalmazás-életciklusra
Külföldön vannak olyan cégek, akik az ügyfeleiket a fejlesztési, tesztelési, alkalmazás hoszting kérdésekben egy egységes felülettel segítik. Itt a felhasználó ki tudja használni az adott cég szakértelmét, hardveres és szoftveres szolgáltatásait.
Milyen szolgáltatásokat kínálnak?
A modern felhőarchitektúra és a virtualizációs technológiák alkalmazásával az alábbi szolgáltatások érhetők el:
- Menedzsment rendszerbe szervezett funkciók (rendelés, konfigurálás, ügyféltámogatás, további szolgáltatások ajánlása)
- Összekapcsolt, egységesített, átjárhatóvá tett felületek
- Egy portálon keresztül elérhető felületek
- Bármikor kérhető tanácsadói támogatás
Olyan vállalatok vannak megcélozva a szolgáltatással, amelyek:
- Nagy hardver erőforrású rendszereket üzemeltetnek.
- Alkalmilag végeznek vagy végeztetnek szoftverfejlesztést és tesztelést (mert nem ez a fő profiljuk)
- Kis fejlesztő, tesztelő cégek, amelyek szolgáltatásaik elvégzéséhez nem tudják megvenni a szükséges erőforrásokat.
- Nagyvállalatok, ahol egyes projektek nagy erőforrás igénye miatt időszakosan hardver erőforrások bevonása szükséges.
A felhő főbb előnyei közé sorolhatjuk, hogy webes hozzáférést biztosít bárhonnan. Nagy értékű eszközparkon széles szolgáltatáscsomagot vehetünk igénybe megfelelő ár/érték arányban. Az árazás általában használat alapú. Az IT üzemeltetést megoldja a szolgáltató cég, mely folyamatos hozzáférést és stabil környezetet biztosít alkalmazásainknak, adatainknak.
Alkalmazáshoszting a felhőben
Az alkalmazáshoszting szolgáltatás lényege, hogy a felhőben pusztán egy infrastruktúrát hoznak létre (szervereket, klienseket, operációs rendszerrel telepítve), mely azután szabadon használható az ügyfél által megválasztott feladatokra (IaaS).
- Hozzáférés nagy számítási kapacitáshoz on-demand jelleggel
- Éles és tükörrendszerek is üzemeltethetők a felhőben
- A tervezés-fejlesztés-tesztelés után kényelmes alkalmazáshosztinghoz is a felhőben maradni
- Az alkalmazást az ügyfél üzemelteti
- Az alatta lévő operációs rendszert, virtualizációs környezetet, fizikai infrastruktúrát a szolgáltató üzemelteti
Miért jó a felhőbe vinni az alkalmazásokat?
- Kiugró alkalmi infrastruktúraszükséglet biztosítására ad megoldást
- Folytonos üzletmenet biztosítása
- Megoldás lehet a hardverigényes éles rendszer üzemeltetésére
- Ideális alkalmazás 2nd site üzemeltetésre: Az elsődleges hosztkörnyezet informatikai kiesése esetén a felhőben futó alkalmazás kerül éles üzembe
Kezdve az operációs rendszerektől a webhoszting, fejlesztői környezetek, adatbázis-kezelés, tartalomkezelés, üzleti folyamatokat lefedő programokon keresztül egészen az oktatásig, hang- és videószolgáltatásokig nagyon sok alkalmazást kínálnak a felhőt üzemeltető cégek. Egyes témakörökben (pl. tartalomkezelés – CMS) több program közül választhatunk (Joomla, Drupal, e107, stb.) az adott igényeinknek megfelelően. Ezek a programok előre telepítettek, minimális beállítás után azonnal használatba vehetőek.
Fejlesztési környezet a felhőben
A rendszerfejlesztők egy célszoftver segítségével könnyen és gyorsan beállíthatják a részükre létrehozott virtuális környezet jellemzőit, így az általuk fejlesztett szoftvereszközöket tetszőleges körülmények között vizsgálhatják.
- Fejlesztési kapacitás bérleti jelleggel
- Tetszőleges időben, bővíthetően
- Nagy értékű fejlesztőeszközök bérleti jelleggel
- Távolról is szabadon konfigurálható virtuális környezet
- A fejlesztési környezet mentése és historikus archiválása gyors és kényelmes
- Forráskód biztonságos tárolása és megőrzése, letétje
- Előre telepített kiegészítő alkalmazások, eszközök: Projektmenedzsment eszközök, felhasználószabályozás, monitoring, kódelemző eszközök, verziókövetés, ticketing rendszer, Wiki, üzenőfal, fájlmegosztás
- Saját, egyedi környezet alakítható ki igény szerint
Miért jó a felhőben fejleszteni?
- Szinte azonnal lehet kezdeni a fejlesztési környezetet kialakítani, nem kell várni a hardverbeszerzésre
- A fejlesztő cégnek nem kell nagy és sokféle infrastruktúrát fenntartani, hanem egyszerűen ki tudják bérelni azt
- Flexibilis szoftverbérleti konstrukció, nem kell megvenni a drága licenceket
- Biztonságos és bizalmas környezetben együtt tud működni a fejlesztendő alkalmazás megrendelőjével
Hogyan használhatjuk a felhőt tesztelésre?
A szoftvertesztelés jellemzően mindig idő-, információ- és hardverhiánnyal küzd egy átlagos vállalatnál. A hardverhiányon segíthet egy könnyen és gyorsan konfigurálható tesztelési környezet. Gondoljunk bele, mennyire egyszerű a felhőben gombnyomásra szervert bővíteni, CPU, RAM vagy HDD kapacitást növelni, esetleg új alkalmazást (HP Quality Center, IBM Functional Tester, SpiraTest, Mantis, …) telepíteni, vagy új platformokon tesztelni a programunkat mindenféle hardveres beruházás nélkül. Kifejezetten előnyös lehet a tesztelési folyamatokat a felhőbe vinniük azoknak a csapatoknak, melyeknek sokrétűen kell tesztelniük a fejlesztett rendszerüket.
Flexibilis környezet – kontrollált költségek
A tesztelési környezetek igény szerint tetszőleges időben bővíthetőek. A környezet jellemzői könnyes és gyorsan beállíthatóak, módosíthatóak. Tesztelési kapacitást növelhetünk gombnyomásra on-demand jelleggel. A flexibilitás eredménye a maximálisan kontrollált költségkeret. Ugyanolyan egyszerűen csökkenthető is a kapacitás, mint ahogy növelhető. Többféle operációs rendszeren, akár több különféle hardverkörnyezettel lehet tesztelni egyidejűleg. A hardverkörnyezet változtatásával megtervezhetjük az éles szerver hardver erőforrásait. Az előre telepített, választható kiegészítő alkalmazásokat használva új tesztelési eszközöket próbálhatunk ki. A projekttől és feladattól függően több tesztelést automatizáló szoftver, kódelemző, vagy hibakezelő közül választhatunk.
Ha a megrendelői oldalon vagy…
A legtöbb erőforrás-probléma a tesztadatokkal és tesztkörnyezetekkel kapcsolatos ebben a szegmensben. A tesztkörnyezeteket bonyolult beállítani, összehangolni a többi rendszerrel. Ha létrejön egy környezet, arra 10 projekt zúdul rá egyszerre.
A felhő használatával a rendszergazdák elkezdhetik beállítani a környezetet, a tesztelő csapat azonnal dolgozhat a projekten, nem kell várni a hardverbeszerzésre. Egy felhőben fejlesztett szoftvert könnyen át lehet vinni a tesztelési szakaszba, majd igény szerint visszatérni a fejlesztéshez úgy, hogy a feladatkörök és tevékenységek megfelelően elhatárolódnak. Bármely rendszer lemodellezhető, a vizsgálandó alkalmazások feltölthetők, telepíthetők és módosíthatók, így lehet ellenőrizni a változtatások hatásait.
Egy felhő támogathatja a fejlesztői teszteket, a manuális és automatikus teszteket, a végfelhasználói teszteket, az üzemeltetői teszteket, biztonsági teszteket.
Ha a szállítói oldalon vagy…
Tetszőleges, testreszabott körülmények között lehet tesztelni. Nem kell egy projekt miatt felesleges hardverberuházásokat végrehajtani. Flexibilis konstrukció segíti a céget, hogy bármilyen hardver-szoftver igényű projektet elvállalhasson. Előre telepített vagy saját magunk által implementált eszközöket használhatunk. Olcsó bérleti konstrukcióban juthatunk hozzá drága professzionális teszteszközökhöz.
Szerző: Kovács István
A szerző
- 1997-ben végzetem a Műszaki Egyetemen, majd programozó- ként dolgoztam kisebb fejlesztő cégeknél. 2001-től kezdve számos projektben tesztelőként, tanácsadóként tevékenykedtem. 2003-ban egy nemzetközi konferencián volt szerencsém több tesztelési módszertani előadást meghallgatnom. Azóta a tesztelési módszertanok, folyamatok és az automatizálási technikák érdekelnek leginkább. 2004-től tesztvezetőként dolgoztam néhány hazai pénzintézetben. Feladatom volt a tesztelési folyamatok kidolgo- zása, javítása, teszteszközök bevezetése és a tesztcsapat irányítása. Jelenleg tanácsadó- ként tevékenykedek.