Ajánlott eljárások a felhőalkalmazásokban

A megbízható, skálázható és biztonságos felhőalkalmazások létrehozása szándékos architekturális döntéseket igényel. A cikkben ismertetett ajánlott eljárások útmutatást nyújtanak az elosztott rendszerekben felmerülő gyakori problémákhoz, például a gyorsítótárazáshoz, az adatparticionáláshoz, az API-tervezéshez és az átmeneti hibakezeléshez. Minden gyakorlat a Azure Well-Architected Keretrendszer egy vagy több pillérével foglalkozik, amely a számítási feladatok tervezéséhez a következő öt minőségi attribútumot határozza meg:

Ezek a gyakorlatok kiegészítik az Azure Architecture Center egyéb alapvető útmutatásait. Az Azure-alkalmazások tervezési alapelvei olyan magas szintű stratégiákat biztosítanak, mint az öngyógyítás és a horizontális felskálázás tervezése. A felhőtervezési minták újrafelhasználható megoldásokat kínálnak az ismétlődő architekturális problémákra. A teljesítmény-antipatternök olyan gyakori hibákat írnak le, amelyek nagy terhelés mellett skálázhatósági problémákat okoznak. Ezek az erőforrások segítenek megalapozott architekturális döntések meghozatalában.

Eljárások katalógusa

A táblázatban szereplő minden gyakorlat egy vagy több Well-Architected Framework pillérre van leképezve. Ezekkel a leképezésekkel megállapíthatja, hogy mely eljárások a leginkább relevánsak a számítási feladatban rangsorolandó minőségi attribútumok szempontjából.

Gyakorlat Összefoglalás Kapcsolódó pillérek
API tervezési Webes API-k tervezése a platformfüggetlenség támogatásához standard protokollok és elfogadott adatformátumok használatával. Előléptetheti a szolgáltatás fejlődését, hogy az ügyfelek módosítás nélkül fedezhessék fel a funkciókat. Javíthatja a válaszidőt a részleges válaszok támogatásával, valamint az adatok szűrésére és lapozására szolgáló módszerek biztosításával. Működési kiválóság, teljesítményhatékonyság
API implementáció Webes API-k implementálása hatékony, rugalmas, méretezhető és elérhető. Hozzon létre idempotens műveleteket, támogassa a tartalom egyeztetését, és kövesse a HTTP-specifikációt. Kezelje a kivételeket, és támogassa az erőforrások felderítését. Adjon meg módszereket a nagy kérések kezelésére és a hálózati forgalom minimalizálására. Működési kiválóság, teljesítményhatékonyság
automatikus skálázás Alkalmazások tervezése az erőforrások dinamikus lefoglalására és felszabadítására a teljesítménykövetelmények kielégítése és a költségek minimalizálása érdekében. Használja ki az Azure Monitor automatikus skálázási funkcióját, valamint a számos Azure-összetevő által biztosított beépített automatikus skálázási lehetőséget. Költségoptimalizálás, teljesítményhatékonyság
háttérfeladatok Kötegelt munkák, feldolgozási feladatok és munkafolyamatok háttérmunkaként való megvalósítása. Az Azure platformszolgáltatásokkal végezheti el ezeket a feladatokat. Események vagy ütemezések használatával aktiválhat tevékenységeket, és eredményeket ad vissza a tevékenységek meghívásához. Megbízhatóság, működési kiválóság
gyorsítótárazás Az adatok alkalmazásokhoz közeli gyors tárterületre másolásával javíthatja a teljesítményt. Tárolja gyorsítótárban azokat az adatokat, amelyeket gyakran olvas, de ritkán módosít. Az adatok lejáratának és egyidejűségének kezelése. Megtudhatja, hogyan tölthet fel gyorsítótárakat, és hogyan használhatja az Azure Managed Redis szolgáltatást. teljesítményhatékonyság
Tartalomkézbesítési hálózat Tartalomkézbesítési hálózatok (CDN-ek) használatával hatékonyan kézbesíthet webes tartalmakat a felhasználóknak, és csökkentheti a webalkalmazások terhelését. Az üzembe helyezés, a verziószámozás, a biztonság és a rugalmasság kihívásainak leküzdése. Megbízhatóság, teljesítményhatékonyság
Adatparticionálás Az adatok particionálása a méretezhetőség, a rendelkezésre állás és a teljesítmény javítása, valamint a versengés és az adattárolás költségeinek csökkentése érdekében. Használjon horizontális, függőleges és funkcionális particionálást hatékony módon. Költségoptimalizálás, teljesítményhatékonyság
adatparticionálási stratégiák (szolgáltatásonként) Particionálási stratégiák alkalmazása Azure szolgáltatásokban, például Azure SQL Database, Azure Cosmos DB, Azure Blob Storage, Azure Managed Redis és Azure Service Bus. A terhelések elosztása, a késés csökkentése és a horizontális skálázás támogatása. Költségoptimalizálás, teljesítményhatékonyság
hosztnév megőrzése Megtudhatja, miért fontos megőrizni az eredeti HTTP-állomásnevet a fordított proxy és a háttérbeli webalkalmazás között, és hogyan implementálhatja ezt a javaslatot a leggyakoribb Azure szolgáltatásokhoz. Megbízhatóság, biztonság
Üzenetkódolási szempontok Válassza ki a rendszerösszetevők között kicserélt aszinkron üzenetek terhelési struktúráját, kódolási formátumát és szerializálási könyvtárat. Fontolja meg a kompromisszumokat, például az interoperabilitást, a méretet, az emberi olvashatóságot és a sémafejlődést. Biztonság
Monitorozás és diagnosztika Monitorozási és diagnosztikai folyamattal nyomon követheti a rendszer állapotát, használatát és teljesítményét. Az adatok figyelését riasztásokká, jelentésekké és eseményindítókká alakíthatja, amelyek segítenek a különböző helyzetekben történő műveletek végrehajtásában. Ilyenek például a problémák észlelése és javítása, a lehetséges problémák elfogása, a teljesítménygaranciák teljesítése és a naplózási követelmények teljesítése. Működési kiválóság
Átmeneti hibakezelés Kezelje a nem elérhető hálózatok vagy erőforrások által okozott átmeneti hibákat. A megfelelő újrapróbálkozési stratégiák kidolgozásával leküzdhetők a kihívások. Kerülje az újrapróbálkozási kód és más antipatternek rétegeinek duplikálását. Megbízhatóság

Tervezési alapelvek

Mielőtt konkrét technikai problémákat kezel, hozzon létre egy erős architekturális alapokat. Az Azure-alkalmazások tervezési alapelvei olyan magas szintű stratégiákat biztosítanak, amelyek a számítási feladatokra vonatkoznak, például öngyógyításra, horizontális felskálázásra és a koordináció minimalizálására. Ezek az alapelvek meghatározzák azokat a döntéseket, amelyek megvalósításában az előző táblázatban felsorolt ajánlott eljárások segítenek.

Tervezési minták felhőkhöz

A tervezési alapelvek kialakítása után a felhőbeli tervezési minták újrafelhasználható megoldásokat nyújtanak az elosztott rendszerek ismétlődő problémáira. A cikkben szereplő ajánlott eljárások közül sok ilyen mintára támaszkodik. Az átmeneti hibakezelési útmutató például az Újrapróbálkozás mintára és a Áramkör-megszakító mintára épül. A gyorsítótárazással kapcsolatos útmutatás a Cache-Aside mintához kapcsolódik. A háttérfeladatok útmutató olyan mintákat alkalmaz, mint a Versengő fogyasztók és az Üzenetsoron alapuló terheléskiegyenlítés. Tekintse át a teljes katalógust, és azonosítsa a számítási feladat architekturális kihívásaival foglalkozó mintákat.

Teljesítmény-ellenminták

A hibák akkor is megjelenhetnek éles terhelés alatt, ha helyes alapelveket, jó mintákat és ajánlott eljárásokat alkalmaz. A felhőalkalmazások teljesítmény-elhárításai olyan gyakori kialakításokat írnak le, amelyek nem méretezhetők, vagy olyan billentyűparancsok, amelyek problémákat okoznak a funkciók hozzáadásakor. Annak érdekében, hogy a problémákat még azelőtt észlelje, hogy azok eljutnának az éles környezetbe, használja ezeket az antipatternöket ellenőrzőlistaként a tervfelülvizsgálatok és a kódfelülvizsgálatok során.

Következő lépés