A Cloud Design Patterns (CDP) a felhőalapú számítástechnikai iparág szakértői szerint ” általános újrafelhasználható megoldás a felhőalapú architektúrában gyakran előforduló problémákra”. A látszólag tág meghatározás segíthet megérteni, hogy a CPD-k többféle, nem pedig egyformák. Tekintettel arra, hogy a CDP-ket “általános problémák” megoldására használják, elmondható, hogy összességében ezek a minták olyan újrafelhasználható megoldások könyvtárát jelentik, amelyek olyan egyedi vagy egyedi problémákra adnak megoldást, amelyekkel sok felhőépítő találkozik.
Ebben a bejegyzésben részletesebben tárgyaljuk a CDP-ket. Továbbá, az Amazon Web Service architektúráját segítendő, miközben feltárjuk, hogy mik azok a tervezési minták és hogyan használjuk őket, megnézzük az AWS CDP-ket és az AWS tervezési technológiák jövőjét.
A CDP-k általános áttekintése
Mint ahogy egy csempézett padló gondos mintázattal és tervezéssel történő lerakása, a felhőalkalmazások építése is megköveteli, hogy minden sor (szint) tökéletesen legyen lerakva (kódolva) a következő előtt. Ha az alsó szint instabil, akkor az azt megelőző szintek is instabilak lesznek. Képzeljük csak el egy padló lerakását anélkül, hogy törődnénk azzal, hogy az egyes csempék hogyan néznek ki, valószínűleg elég rosszul végződne. Egy felhőalkalmazás tervezésekor egy mérnök mindig gondosan figyel a problémákra. Ha általános problémák merülnek fel, a mérnök igyekszik azokat megbízhatóan és biztonságosan megoldani egy bevált megoldással. A CDP-k időt és lehetséges zűrös kimeneteleket takarítanak meg mindenki számára.
Általában szabványos formátumban érkezik, itt van, amit egyetlen Cloud Design Patternben talál:
- A minta neve és rövid leírása
- A tipikus probléma és kihívások azonosítása
- A probléma felhőben történő megoldásának vázlata
- A minta alkalmazásából származó előnyök
- Minden további megjegyzés, beleértve az előnyöket, hátrányokat, megjegyzésmagyarázatokat
- Minden egyéb, amit az építész hozzá kíván adni
Miért használjunk CDP-ket?
A felhőarchitektúrát fellendítő minták egyszerű használatán túl a könnyű migráció és a nagymértékben skálázható alkalmazások gyors fejlesztése érdekében, van még néhány egyéb előnye is ennek a megoldáskönyvtárnak. A nagyvállalatok és a startupok egyaránt használják a CDP-ket, hogy hihetetlen értéket szabadítsanak fel nagy léptékben. A platform teljes életciklusa során 100%-ban megismételhető eredmények biztosításán és a telepített alkalmazások karbantartásának megszüntetésén dolgozva a felhőrendszer működtetésének általános frusztrációs mintái csökkennek, miközben a termelékenység nő.
A rendszerszintű előnyökön felül az építészek is tapasztalják a CDP-k előnyeit. Képzelje el, hogy miközben egy AWS-alkalmazáson dolgozik, az internetes tárolás hatékonyságának növelése közben problémába ütközik. Leírja a problémát egy másik építésznek, ő pedig azt válaszolja, hogy “A tárolási indexminta erre is megfelel”. A minta nevének ismeretében azonnal munkához lát. Ez egy olyan nyelv, amelyet a problémák egyszerű kommunikációjára és megoldására használnak. Mivel minden projekt megkezdése előtt világos elképzelésünk van az összes felhőalkalmazásról, a CDP-k segítségével nem kell a nulláról kezdeni egy szoftverrendszer létrehozását.
Mi az AWS CDP-k?
Mivel az Amazon a Google és a Microsoft mellett a felhőalapú számítástechnikai iparág három nagyjának egyike, nem meglepő, hogy az AWS minden komponensével együtt rendelkezik CDP-kkel. Bár az AWS hivatalosan nem szerepel semmilyen konkrét hivatkozással, az AWS számára készült mintákat nem hivatalosan három Amazon-architekt tervezte. Az egyes AWS CDP-k részleteit egy wikin hagyva, ezen az erőforráson túl jó megjegyezni, hogy a legtöbb CDP eléggé felcserélhető a különböző felhőszolgáltatások esetében. Az egyes CDP-k nevei eltérőek lehetnek, azonban a fent említett szabványos részletekkel a minta leírása tartalmazza, hogyan kell megoldani az AWS-ben vagy az adott felhőszolgáltatásban.
Top AWS Basic Patterns
- Snapshot Pattern (adatmentések) – Az adatok biztonságának biztosítása, ez a minta ideális, amikor olyan programfrissítési ellenőrzéseket hajtanak végre, amelyek adatkeresztmetszeteket és az OS, valamint az adatok másolását igénylik. Lehetővé teszi egy “pillanatfelvétel” készítését, amikor használat közben minden operációs rendszerről másolat készül.
- Stamp Pattern (szerver replikáció) – A virtuális szerver beállításához szükséges munka, idő és költség csökkentésével ez a minta lényegében lemásolja a virtuális szervert a már beállított funkciókkal. Kiválóan alkalmas nagy mennyiségű virtuális kiszolgáló létrehozására.
- Scale-Up Pattern (dinamikus szerver-specifikáció fel/le) – Ez a minta lehetővé teszi az építők számára, hogy a szerver specifikációit a használathoz igazítsák anélkül, hogy a szervert le kellene cserélni és az operációs rendszert újra kellene telepíteni.
- Scale-Out Pattern (a szerverek számának dinamikus növelése) – A forgalom volumenének váratlan változásaihoz való igazodás a költségek növelése nélkül egy magas specifikációjú szerverben. Ez a minta megkönnyíti a “felskálázást” a feldolgozást végző virtuális kiszolgálók számának megváltoztatására.
- On-demand Dish Pattern (dinamikusan növekvő/csökkentett lemezkapacitás) – Hagyja abba a bonyolult lemezkapacitás-előrejelzéseket az építés előtt, és csökkentse az előzetes hardverberuházás költségeit. A virtuális lemezek telepítése ezzel a mintával korlátlan kapacitást biztosít.
AWS Pattern kategóriák
Az öt alapvető és leggyakrabban használt AWS CDP mellett az alábbi felhőalkalmazás minden egyes területe is többféle pattern megoldással rendelkezik:
- Nagyfokú rendelkezésre állás
- Dinamikus tartalom feldolgozása
- Sztatikus tartalom feldolgozása
- Adatok feltöltése
- Relációs adatbázis
- Batch. Processing
- Operation and Maintenance
- Network
Lambda és az AWS CDP jövője
A felhőszolgáltatások technológiáinak növekedésével és az újítások bevezetésével, lehetséges, hogy a CDP-k többé már nem alkalmazhatók. Ráadásul a közeljövőben talán már nem is lesz rájuk szükség az olyan technológiáknak köszönhetően, mint az AWS Lambda. Mint szerver nélküli számítási platform, “ez egy olyan számítási szolgáltatás, amely eseményekre reagálva kódot futtat, és automatikusan kezeli a kód által igényelt számítási erőforrásokat”. Ez azt jelenti, hogy a Lambda képes megoldani bizonyos felhőtervezési problémákat egy felhőarchitekt figyelme nélkül. Bár jelenleg nem oldja meg az összes CDP-problémát, van rá esély, hogy hamarosan az eseményvezérelt architektúra felváltja a manuálisan aktivált megoldásokat.
Bárhová is vezet a CDP jövője, egy biztos, a felhőszolgáltatások bővülése és növekedése elkerülhetetlen. Jelenleg ennek a növekedésnek a kezelésére az AWS rendelkezik egy Cloud Pattern Studio nevű szolgáltatással. Lényegében egy sablonfunkció, ahol egy minta megoldásait kombinálják a Cloud Formationnel, majd beviszik egy sablonba, és célja, hogy vizuálisan tervezzenek és telepítsenek környezeti szoftver stackeket az AWS-en.
Ha a felhőre való áttérésen gondolkodik, vagy már a felhőben működteti a szervezetét, a felhőalapú munkaterhelések futtatásának megértése és a platform valódi erejének felszabadítása hosszú távon pénzt és energiát takarít meg. A jól ismert minták kihasználása a felhőszoftverek futtatása során az építők által tapasztalt problémák megoldására rendkívül értékes ebben a fejlődő korban.