Alkalmazások felhőbeköltöztetése

A felhőalapú technológiák bevezetése napjainkban szinte minden vállalatot érint. Míg egyesek még mindig hezitálnak, sokan már részben vagy teljesen a felhőbe költöztették alkalmazásaikat. Az alkalmazásportfólió felhőbe való áthelyezése összetett folyamat, amely időt és alapos tervezést igényel. Számos vállalat jelenleg is ezen az úton halad, törekedve a teljes vagy részleges átállásra.

Egy vállalat számára, amely akár több száz rendszert tartalmazó, összetett alkalmazásportfólióval rendelkezik, kihívást jelenthet eldönteni, mely alkalmazásokat és milyen módon migrálják a felhőbe. A lehetőségek széles skálája létezik, kezdve azzal, hogy egy alkalmazást nem költöztetnek át, vagy kivezetik, folytatva az alkalmazás felhőalapú megoldással történő helyettesítésén, egészen addig, hogy kisebb-nagyobb módosításokkal áthelyezik a felhőbe.

Kivezetés (Retire)
Vannak olyan alkalmazások, amelyeket nyugdíjazhatunk, és nem szükséges a felhőbe költöztetni. A kivezetés jó döntés lehet, ha az alkalmazás funkcióit már más alkalmazások lefedik vagy integrálhatók más rendszerekbe, illetve ha az alkalmazást alig vagy egyáltalán nem használják. Továbbá, ha a vállalat működési modellje vagy stratégiája megváltozik, és az alkalmazásra nincs már szükség, a kivezetés ésszerű megoldás.

Megtartás (Retain)
Ha egy alkalmazásnak speciális hardver követelményei vannak, amelyek a felhőben nem biztosíthatók, vagy olyan szigorú adatvédelmi és szabályozási előírások vonatkoznak rá, hogy a felhőbe költöztetése jogi akadályokba ütközhet, akkor a helyes döntés az alkalmazás helyi infrastruktúrán tartása. Amikor egy alkalmazás kiemelten kritikus az üzletmenet szempontjából, és bármilyen változtatás jelentős kockázatot hordoz, vagy olyan komplex integrációkkal rendelkezik a helyi infrastruktúrán vagy ahhoz kapcsolt alkalmazásokkal, hogy a költöztetés nagyon magas költségeket vonna maga után, akkor szintén megfontolandó a megtartás. Ezekben az esetekben a megtartás nem feltétlenül végleges döntés; előfordulhat, hogy bizonyos előkészületek elvégzése után újra érdemes megvizsgálni a kérdést.

Áttérés felhő változatra (Repurchase)
Számos helyi infrastruktúrán működtetett alkalmazásnak létezik már felhős változata, ami megkönnyíti a felhőbe költözést, hiszen csak át kell térni a felhős verzióra. A vállalatok számára kritikus, nagy alkalmazások esetében, mint például az ügyfélportálok és vállalatirányítási rendszerek, a szállítók jellemzően már rendelkeznek felhőalapú változatokkal is. Előfordulhat az is, hogy a szóban forgó alkalmazásnak nincs közvetlen felhős változata, de elérhető egy olyan felhőalapú alkalmazás, amely megegyező vagy fejlettebb funkcionalitást kínál, és akár a migrációt is támogatja. Ilyen esetekben a megegyező vagy jobb funkcionalitású felhőalkalmazásra való áttérés az ésszerű döntés.

Mikor kell módosítani az alkalmazásokat?
A kritikus nagy alkalmazások mellett, amelyekre a szállítók jellemzően már kínálnak felhőmegoldásokat, a vállalati alkalmazásportfóliókban számos egyéb alkalmazás is található, amelyek szintén az üzleti folyamatokat támogatják, és gyakran kapcsolódnak ezekhez a nagy alkalmazásokhoz. Ezek az alkalmazások gyakran egyedi fejlesztésűek, ami még komplexebbé teszi a döntést a felhőbe migrálás mikéntjéről. A megoldás spektruma az egyszerű felhőbe helyezéstől kezdve, ahol az alkalmazás a felhőben fut, egészen addig terjed, hogy a felhőplatform előnyeit kihasználva átalakítjuk az alkalmazást teljes értékű felhőalkalmazássá. Ahogy egyre jobban alkalmazkodunk a felhőhöz, az átfutási idő és a költségek is ennek megfelelően növekednek.

Felhőben futtatás (Rehosting)
Vannak olyan helyzetek, amikor a vállalatok időszűkében vannak, korlátosak a rendelkezésre álló erőforrások, vagy nagyon kockázatkerülők a felhőbe való migráció során. Ilyenkor optimális lehet a felhőben való futtatás, amihez minimálisan vagy egyáltalán nem kell átalakítani az alkalmazásokat. A vállalatok gyakran akkor is fontolóra veszik ezt a megoldást, amikor csak a hardvert szeretnék megújítani anélkül, hogy új hardvert vásárolnának, vagy előkészítik az alkalmazás későbbi átalakítását felhőalapú alkalmazássá. A felhőmigráció elején gyakran ez a migrációs típus a legmegfelelőbb, különösen akkor, amikor az alkalmazást fejlesztő csapat még tanulja a felhő technológiát, hiszen a felhőben futtatás egy gyorsan megvalósítható kezdeti lépés.

Teendők
Még ennél a migrációs típusnál is számos teendőnk akad. Az alkalmazásokat futtató helyi virtuális gépeket át kell migrálnunk a felhőbe, beleértve a webszervereket, alkalmazásszervereket, adatbázisokat és egyéb komponenseket. El kell végeznünk a szükséges hálózati beállításokat, és át kell konfigurálnunk az alkalmazás beállításait a felhő környezetnek megfelelően. Továbbá biztosítanunk kell, hogy az alkalmazás telepítési eljárásai a felhőben is működjenek, és az alkalmazást integrálni kell a felhőben elérhető logging, monitoring és mentési megoldásokkal. Szükség esetén az alkalmazást át kell kapcsolnunk a felhőben elérhető azonosítási és hozzáférés-szabályozási szolgáltatásokra is. Végül, szükség lehet bizonyos felhő, alkalmazás komponens (pl. adatbázis) vagy alkalmazás paraméter hangolására a megfelelő teljesítmény elérése érdekében.

Előnyök-hátrányok
A felhőben futtatásra való áttérés kétségtelen előnye, hogy rövid átfutási idővel, költséghatékonyan és viszonylag kockázatmentesen megoldható, mivel nincs szükség kódmódosításra. Azonban ez a megoldás nem használja ki a felhőspecifikus előnyöket, mint a rugalmasság, a skálázhatóság és a költséghatékonyság teljes mértékben.

Felhőre optimalizálás (Replatforming)
Amikor a vállalatok jobban szeretnék kihasználni a felhőspecifikus előnyöket, akkor jön szóba a felhőre optimalizálás, amely az alkalmazás kisebb mértékű átalakításával teszi ezt lehetővé. Ilyen előnyök közé tartozik a felhőplatformok nagyfokú rugalmassága és skálázhatósága, valamint a felhőalapú tárolási és adatbázis-megoldások, amelyek lehetővé teszik a költségek optimalizálását. Felmerülhet az igény olyan felhőspecifikus szolgáltatások használatára is, mint például a big data elemzés és a mesterséges intelligencia, amelyek magasabb fokú integrációt igényelnek a felhőplatformokkal. A felhőre optimalizálás logikus állomás a lépésenkénti migráció során is, amikor egy vállalat először csak a felhőben futtatja az alkalmazást, majd optimalizálja, végül teljes értékű felhőalkalmazássá alakítja.

Teendők
A felhőben futtatás környezetet érintő teendőin felül ebben az esetben már az alkalmazás kódját is módosítanunk kell. Az alkalmazás infrastruktúráját átalakítjuk, ami alapvetően konténerizálást jelent, például Docker használatával. A konténerizálás megkönnyíti a telepítést és a skálázást a felhőben. Bizonyos funkciók esetében érdemes átgondolni a serverless szolgáltatások használatát, mint például az AWS Lambda. A serverless szolgáltatások esetében az adott funkció futtatásához még szervereket sem kell kezelnünk, ami nagy előrelépés a skálázhatóság és a költséghatékonyság terén. Kiválasztjuk, hogy az alkalmazás különböző adatait mely felhős objektum- vagy struktúrált adat tárolón vagy adatbázis-szolgáltatáson tároljuk, és átalakítjuk az alkalmazás adattárolási mechanizmusait ennek megfelelően. Az alkalmazás integrációját is újratervezzük, részlegesen vagy teljesen áttérve a felhő által nyújtott API Gateway és Message Queue szolgáltatások használatára.
 
Előnyök-hátrányok
A felhőre optimalizálás előnye, hogy jobb teljesítmény és költséghatékonyság érhető el, mint a felhőben futtatás esetében, anélkül, hogy az alkalmazást jelentős mértékben meg kellene változtatni. Azonban hátránya, hogy mivel csak részleges átalakításokat végez, még nem használja ki teljes mértékben a felhő nyújtotta összes lehetőséget.

Felhőalkalmazássá alakítás (Refactoring/Re-architecting)
Ennek a típusú migrációnak a nehézségét jelzi, hogy az első kérdés gyakran az, hogy meglévő alkalmazás jelentős átalakításáról vagy teljes újraépítéséről van szó. Számos oka lehet annak, hogy a vállalatok ezt az utat választják. Amikor az alkalmazásnak nagyon magas skálázási elvárásoknak kell megfelelnie, ami a jelenlegi architektúrával nem lehetséges, ez a helyes út. Ez a döntés akkor is indokolt, ha az alkalmazás teljesítményproblémákkal küzd vagy magasak a karbantartási költségei, amelyek a jelenlegi architektúrára vezethetők vissza. További indikáció ehhez a migrációs típushoz, ha az alkalmazás elavult technológiái nem teszik lehetővé modern fejlesztési és üzemeltetési eljárások használatát, vagy ha az alkalmazás nem tud megfelelni az adatvédelmi és szabályozói előírásoknak. Erős érv a felhőalkalmazássá alakítás mellett, ha a vállalati stratégiából fakadó üzleti, technológiai, integrációs elvárásoknak, valamint a gyors üzleti változások lekövetésének csak így tud megfelelni az alkalmazás.

Teendők
A felhőre optimalizáláson felül egy jelentős teendőnk van: az alkalmazás architektúrájának újratervezése és ennek megfelelő átalakítása. A cél az, hogy olyan alkalmazásunk legyen, amely az üzleti funkciók mentén több önálló darabként futtatható. A hagyományos alkalmazások esetében használt „clean architecture,” amely a különböző alkalmazásrétegek elkülönítésére szolgál, mellett bejönnek azok az architekturális elvek, amelyek az alkalmazás üzleti funkciók mentén történő szervezését támogatják, mint például a mikroszolgáltatások (microservices), mikro front-endek és a vertical slice megközelítés. Az alkalmazás architektúrájának átalakításán felül nagyobb mértékben támaszkodunk a serverless szolgáltatásokra és a felhő nyújtotta integrációs képességekre, mint az API gateway-ek és a message queue-k. A felhőalkalmazássá alakítás során elengedhetetlen a CI/CD folyamatok teljes körű automatizálása is.

Előnyök-hátrányok
A felhőalkalmazássá alakítás kétségtelen előnye, hogy maximálisan kihasználja a felhő nyújtotta rugalmasságot és skálázhatóságot. Hátránya viszont, hogy idő- és költségigényes, valamint jelentős kockázatokat hordoz a megvalósítása.

További tartalmak

A szoftverfejlesztési folyamat két kulcsa: megértés és megépítés. Az utóbbiban az AI egyre nagyobb szerepet vállal, ám az előbbi továbbra is emberi feladat marad. Milyen
Vállalati szoftverfejlesztés kockázatok és macera nélkül?! Bár mindenki szereti az egyedi szoftverekkel járó versenyképesség előnyeit, annál kevesebben készek vállalni a zöldmezős fejlesztésekkel járó kockázatokat. Nekik

December 14-én egy igazán színes karácsonyi bulival zártuk az évet. Az esemény során köszöntöttük a jubiláló kollégáinkat, akik már 5 éve a Mikrum csapatát erősítik,