Ábrahám Szilágyi

Szilágyi Ábrahám

  · 4 min read

Alkalmazásfejlesztés AWS EKS/ECS és serverless alapon

Modern alkalmazások fejlesztése AWS ECS/EKS, AWS Lambda és serverless architektúra segítségével

Modern alkalmazások fejlesztése AWS ECS/EKS, AWS Lambda és serverless architektúra segítségével

Az alkalmazásfejlesztés modernizálása azt jelenti, hogy olyan szolgáltatásokat, jógyakorlatokat és stratégiákat alkalmazunk, amelyek lehetővé teszik a fejlesztők számára, hogy rugalmasabb alkalmazásokat építsenek. A konténerek és a szerver nélküli számítástechnika térhódításával már nem csak példányokat (instances) lehet futtatni a felhőben. Ezen korszerű infrastruktúrák teljesítménye és megbízhatósága révén a fejlesztők biztonságosabb alkalmazásokat adhatnak ki, amelyek automatikusan skálázódnak több millió felhasználóig, és lehetővé teszik a változásokra való gyors reagálást.

Az alábbi cikkben az alkalmazásmodernizáció két jól bevált módszerét mutatjuk be: a menedzselt konténerszolgáltatásokat és a szerver nélküli működési modellt.

Modern alkalmazások építése menedzselt konténerekkel

Ma már a konténerek lettek a komplex alkalmazás-architektúrák elsődleges eszközei, amelyek rugalmasságot, gyors telepítést és folyamatos innovációt biztosítanak. A konténerekben egyszerűen, platformfüggetlenül és hordozható módon lehet az alkalmazásokat telepíteni és futtatni. A meglévő alkalmazások konténerizálása így gyakran az első lépés egy szervezet modernizációs folyamatában.

Sok vállalat helyezi át alkalmazásait konténerekbe, hogy csapataik az üzemeltetési feladatok helyett az alkalmazások fejlesztésére koncentrálhassanak. Egyre inkább az AWS menedzselt szolgáltatásaira, például az Amazon Elastic Kubernetes Service (AWS EKS) vagy az Amazon Elastic Container Service (AWS ECS) szolgáltatásokra építik workload-jaikat.

A menedzselt konténerszolgáltatás segít csökkenteni az üzemeltetési terheket, miközben javítja a skálázhatóságot, a biztonságot és a rendelkezésre állást. Az AWS menedzselt konténerszolgáltatásaival többé nem kell aggódnod a konténerek kezelése miatt. Ehelyett a csapatod erőforrásait arra fordíthatod, hogy korszerű alkalmazásokat fejlesszen egy szerver nélküli környezetben, felgyorsítva ezzel az innovációt.

Az AWS szolgáltatási stack-je segít, hogy kevesebbet menedzselj, és többet innoválj

Új alkalmazás fejlesztése serverless környezetben

A szervermentes működési modellben alkalmazásokat építhetsz és futtathatsz szerverek allokálása és kezelése nélkül. Ez kiküszöböli a szervermenedzsmentet, rugalmas skálázást biztosít, lehetővé teszi, hogy csak a valós használatért fizess, és automatizáld a rendelkezésre állást. Ezáltal az alkalmazás azon aspektusaira koncentrálhatsz, amelyek az ügyfélértéket biztosítják, anélkül, hogy a mögöttes infrastruktúrával kellene foglalkoznod. Akár új alkalmazásokat építesz, akár legacy alkalmazásokat migrálsz, a szerver nélküli komponensekből való építkezés a számítási kapacitás, az adatok és az integráció terén is lehetővé teszi, hogy kihasználd a felhő általi agilitás előnyeit.

Az AWS szolgáltatási stack-je segít, hogy kevesebbet menedzselj, és többet innoválj

Hogyan definiálják az AWS-nél a szervermentességet?

Szervermentesség (serverless) alatt a szerverüzemeltetés differenciálatlan és nehéz feladatainak megszüntetését értjük. Ez a működési modell lehetővé teszi, hogy az alkalmazást támogató infrastruktúra kezelése és skálázása helyett az alkalmazás fejlesztésére összpontosíts. A szervermentes üzemeltetési modell négy alapelve a következő:

1) Nincs szervermenedzsment

Nincs szükség szerverek allokálására vagy karbantartására. Nincs telepítendő, frissítendő vagy adminisztrálandó szoftver vagy runtime.

2) Rugalmas skálázás

Az alkalmazás automatikusan vagy a részegységek (pl. az átviteli sebesség, a memória) finomhangolásával skálázható. Nincs szükség újabb szerver példányok telepítésére.

3) Értékarányos fizetés

A szerverpéldányok helyett, az értékért fizetsz - a konzisztens átviteli teljesítményért vagy a végrehajtási időért.

4) Automatizált rendelkezésre állás

A serverless modell beépített rendelkezésre állást és hibatűrést biztosít. Nem kell ezekről a képességekről külön gondoskodni, mivel az alkalmazást futtató szolgáltatások alapértelmezés szerint biztosítják ezeket.

Az AWS szolgáltatási stack-je segít, hogy kevesebbet menedzselj, és többet innoválj

Az AWS Lambda és az AWS ECS kihasználása

Az ügyfeleink egyre gyakrabban döntenek a szervermenedzsment elhagyása mellett és az AWS ECS - vagy ahhoz hasonló - konténerszolgáltatásokra, illetve az AWS Lambdához hasonló eseményvezérelt szolgáltatásokra állnak át. (Az AWS Lambda az Amazon serverless számítási szolgáltatása, amely lehetővé teszi a kód futtatását szerverek biztosítása vagy kezelése nélkül.) A legtöbb vállalat praktikusan a fenti szolgáltatások kombinációját használja. (Az AWS konténeres ügyfeleinek mintegy 80 százaléka az AWS Lambdát is bevezette*.)

Mindkét lehetőség kihasználása előnyökkel jár - ilyenek többek között az AWS infrastruktúrájával szorosan integrált, teljes körűen menedzselt szolgáltatások, a felhasználási esetek széles körének támogatása, a komplexitástól való absztrahálás és a partnerek széles ökoszisztémája.

Hogyan érdemes dönteni?

Az AWS szolgáltatási stack-je segít, hogy kevesebbet menedzselj, és többet innoválj

Az AWS szolgáltatási stack-je segít, hogy kevesebbet menedzselj, és többet innoválj

A modern alkalmazásokhoz optimális számítástechnikai megoldás kiválasztásához több kérdést is meg kell válaszolnod:

  • Javítja-e az automatizált infrastruktúrakezelés az üzleti eredményeimet?
  • Megvan-e hozzá a szakértelem házon belül?
  • A többlet erőfeszítés végül értéket fog teremteni a csapatom és/vagy az ügyfeleim számára?

Jellemzően azok a vállalatok választják a konténerszolgáltatásokat, akik már használnak konténereket, vagy akik a nyílt forráskódot és a Kubernetes-t részesítik előnyben, illetve, ha az infrastruktúra kezelésével kapcsolatban speciális igényekkel rendelkeznek. A konténer a legnépszerűbb módja a kód újracsomagolásának, és remek választás a régebbi alkalmazások modernizálásához.

A vállalatok akkor választják az AWS Lambda-t, ha a csapataik elsősorban a kódolásra összpontosítanak, és nincsenek megkötéseik a meglévő példányok vagy konténerplatformok tekintetében. Az AWS Lambda az infrastruktúrától való maximális absztrakciót kínálja, így a cégek a lehető leggyorsabban adhatják ki a szoftvereiket - ezért az új alkalmazások kiválóan illeszkednek az AWS Lambdához.

A szerver nélküli működési modell ideális a gyors innovációra törekvő, dinamikus vállalatok számára. A szervermentes működés lehetővé teszi a csapataid számára, hogy még gyorsabban dolgozzanak, és lézerfókuszban tartsák azokat a tevékenységeket, amelyekkel megkülönböztethetitek magatokat a versenytársaktól.

Ha kíváncsi vagy, hogy mi a Code Factory-nál hogyan tudunk ebben segíteni, nézz körül a szolgáltatási oldalainkon.

Ha részletesebben is érdekel ez a téma, töltsd le az ingyenes e-book-unkat.


*Datalog State of Serverless, 2020 - https://www.datadoghq.com/state-of-serverless/

Vissza a cikkekhez