Megosztás a következőn keresztül:


A kritikus fontosságú számítási feladatok tervezési alapelvei

A kritikus fontosságú tervezési módszertant öt fő tervezési alapelv támasztja alá, amelyek iránytűként szolgálnak a kritikus tervezési területek későbbi tervezési döntéseihez. Javasoljuk, hogy ismerkedjen meg ezekkel az alapelvekkel, hogy jobban megértse azok hatását és a be nem tartásával kapcsolatos kompromisszumokat.

Fontos

Ez a cikk az Azure Well-Architected kritikus fontosságú számítási feladatok sorozatának része. Ha nem ismeri ezt a sorozatot, javasoljuk, hogy kezdje a kritikus fontosságú számítási feladatokkal?

Kritikus fontosságú tervezési alapelvek

Ezek a kritikus fontosságú tervezési alapelvek rezonálják és bővítik az Azure Well-Architected-keretrendszer minőségi pilléreit – megbízhatóság, biztonság, költségoptimalizálás, működési kiválóság és teljesítményhatékonyság.

Megbízhatóság

Maximális megbízhatóság – A legmegbízhatóbb megoldás alapvető törekvése, a kompromisszumok megfelelő értelmezése.

Tervezési elv Megfontolandó szempontok
Aktív/aktív kialakítás A rendelkezésre állás maximalizálása és a regionális hibatűrés elérése érdekében a megoldás összetevőit több Availability Zones és Azure-régióban is el kell osztani egy aktív/aktív üzemi modell használatával, ahol lehetséges.
Sugárcsökkentés és hibaelkülönítés A meghibásodást nem lehet elkerülni egy nagy mértékben elosztott több-bérlős felhőkörnyezetben, például az Azure-ban. A hibák és a korrelált hatások előrejelzésével az egyes összetevőktől a teljes Azure-régiókig rugalmasan tervezhető és fejleszthető megoldás.
Alkalmazás állapotának megfigyelése Mielőtt az alkalmazás megbízhatóságát érintő problémák elháríthatók lennének, először észlelni és értelmezni kell őket. Az alkalmazás működésének egy ismert kifogástalan állapothoz viszonyított monitorozásával lehetővé válik a megbízhatósági problémák észlelése vagy akár előrejelzése, ami lehetővé teszi a gyors javítási műveletek végrehajtását.
Meghajtóautomatizálás Az alkalmazás állásidejének egyik fő oka az emberi hiba, akár a nem megfelelően tesztelt szoftverek üzembe helyezése, akár a helytelen konfiguráció miatt. Az emberi hibák lehetőségének és hatásának minimalizálása érdekében elengedhetetlen, hogy a felhőmegoldások minden területén törekedjünk az automatizálásra a megbízhatóság javítása érdekében; automatizált tesztelés, üzembe helyezés és felügyelet.
Tervezzen az önjavítást szem előtt tartva Az önjavítás azt írja le, hogy a rendszer képes-e automatikusan kezelni a hibákat a megoldáson belüli hibamódokhoz csatlakoztatott előre definiált javítási protokollokkal. Ez egy fejlett koncepció, amely magas szintű rendszerérettséget igényel monitorozással és automatizálással, de a kezdetektől a megbízhatóság maximalizálására kell törekednie.
Összetettség elkerülése Kerülje a szükségtelen összetettséget a megoldás és az összes üzemeltetési folyamat tervezésekor a megbízhatóság és a felügyeleti hatékonyság növelése érdekében, minimalizálva a hibák valószínűségét.

Teljesítménybeli hatékonyság

Fenntartható teljesítmény és méretezhetőség – A teljes körű megoldás skálázhatóságának megtervezése teljesítménybeli szűk keresztmetszetek nélkül.

Tervezési elv Megfontolandó szempontok
Tervezés vertikális felskálázáshoz A horizontális felskálázás egy olyan fogalom, amely arra összpontosít, hogy a rendszer képes-e horizontális növekedéssel reagálni a keresletre. Ez azt jelenti, hogy a forgalom növekedésével párhuzamosan több erőforrásegység lesz hozzáadva a meglévő erőforrások méretének növelése helyett. A várt és váratlan forgalom skálázási egységeken keresztüli kezelésére képes rendszerek alapvető fontosságúak az általános teljesítmény és megbízhatóság szempontjából, mivel így tovább csökkentik az egyetlen erőforráshiba hatását.
Automatizálás rugalmas skálázáshoz A skálázási műveleteket a megoldás teljes egészében automatizálni kell, hogy a forgalom váratlan vagy várható növekedése által okozott teljesítmény- és rendelkezésre állási hatás minimálisra csökkenjen, így biztosítva, hogy a skálázási műveletek végrehajtásához szükséges idő érthető legyen, és igazodjon az alkalmazásállapot-modellhez.
Folyamatos ellenőrzés és tesztelés Az automatikus tesztelést CI/CD-folyamatokon belül kell elvégezni, hogy az alkalmazásváltozások folyamatos ellenőrzést hajtson végre. A meglévő küszöbértékek, célok és feltételezések ellenőrzése, valamint a rugalmasság és a rendelkezésre állás kockázatainak gyors azonosítása érdekében be kell vonni a terheléstesztelést egy szinkronizált káoszkísérlettel rendelkező teljesítmény-alapkonfigurációhoz. Ezt a tesztelést előkészítési és tesztelési környezetekben, de opcionálisan a fejlesztési környezetekben is el kell végezni. Hasznos lehet a tesztek egy részhalmazának futtatása az éles környezetben, különösen egy kék/zöld üzemi modellel együtt, hogy az éles forgalom fogadása előtt érvényesítse az új üzembehelyezési bélyegeket.
A felügyelt számítási szolgáltatások többletterhelésének csökkentése A felügyelt számítási szolgáltatások és a tárolóalapú architektúrák használata jelentősen csökkenti az alkalmazások tervezésének, üzemeltetésének és skálázásának folyamatos adminisztrációs és üzemeltetési többletterhelését azáltal, hogy az infrastruktúra üzembe helyezését és karbantartását a felügyelt szolgáltatóra váltja.
Alapkonfiguráció teljesítménye és a szűk keresztmetszetek azonosítása A teljesítménytesztelés minden rendszerösszetevő részletes telemetriájával lehetővé teszi a rendszeren belüli szűk keresztmetszetek azonosítását, beleértve azokat az összetevőket is, amelyeket más összetevőkhöz képest kell skálázni, és ezeket az információkat egy kapacitásmodellbe kell beépíteni.
Modellkapacitás A kapacitásmodell lehetővé teszi egy adott terhelésprofil erőforrás-méretezési szintjeinek tervezését, valamint azt is, hogy a rendszerösszetevők hogyan teljesítenek egymáshoz képest, így lehetővé teszi a rendszerszintű kapacitáselosztás tervezését.

Működésbeli kiválóság

Műveletek tervezés alapján – Robusztus és magabiztos üzemeltetési felügyelettel tervezve.

Tervezési elv Megfontolandó szempontok
Lazán összekapcsolt összetevők A laza összekapcsolás lehetővé teszi az alkalmazás összetevőinek független és igény szerinti tesztelését, üzembe helyezését és frissítését, miközben minimalizálja a csapatközi függőségeket a támogatáshoz, szolgáltatásokhoz, erőforrásokhoz vagy jóváhagyásokhoz.
Buildelési és kiadási folyamatok automatizálása A teljesen automatizált buildelési és kiadási folyamatok csökkentik a súrlódást, és növelik a frissítések üzembe helyezésének sebességét, így megismételhető és konzisztenciát biztosítanak a környezetekben. Az Automation lerövidíti a fejlesztők visszajelzési ciklusát, amely módosításokat hajt végre, hogy betekintést nyerjen a kódminőségbe, a tesztelési lefedettségbe, a rugalmasságba, a biztonságba és a teljesítménybe, ami növeli a fejlesztői hatékonyságot.
Fejlesztői rugalmasság A folyamatos integráció és a folyamatos üzembe helyezés (CI/CD) automatizálása lehetővé teszi a rövid élettartamú fejlesztési környezetek használatát egy társított funkcióág életciklusához kötött életciklusokkal, ami elősegíti a fejlesztői rugalmasságot, és a mérnöki cikluson belül a lehető leghamarabb ösztönzi az ellenőrzést a hibák mérnöki költségeinek minimalizálása érdekében.
Működési állapot számszerűsítve Az összes összetevő és erőforrás teljes diagnosztikai rendszerezése lehetővé teszi a naplók, metrikák és nyomkövetések folyamatos megfigyelhetőségét, de az állapotmodellezést is lehetővé teszi az alkalmazás állapotának mennyiségi meghatározásához a rendelkezésre állási és teljesítménykövetelményekkel összefüggésben.
Helyreállítási és gyakorlási hiba próbája Az üzletmenet-folytonossági (BC) és vészhelyreállítási (DR) tervezési és gyakorlati próbák alapvető fontosságúak, amelyeket gyakran kell elvégezni, mivel a tanulás iteratív módon javíthatja a terveket és eljárásokat, hogy a lehető legnagyobb rugalmasságot biztosíthassa a nem tervezett állásidő esetén.
Folyamatos működésfejlesztés Rangsorolja a rendszer és a felhasználói élmény rutinszerű fejlesztését egy állapotmodell használatával a működési hatékonyság megértéséhez és méréséhez visszajelzési mechanizmusokkal, hogy az alkalmazáscsapatok iteratív módon értelmezhessék és oldhassák meg a hiányosságokat.

Biztonság

Mindig biztonságos – Tervezés a végpontok közötti biztonság érdekében az alkalmazás stabilitásának fenntartása és a rendelkezésre állás biztosítása érdekében.

Tervezési elv Megfontolandó szempontok
A teljes megoldás biztonságának monitorozása és az incidensekre adott válaszok megtervezése A biztonsági és naplózási események korrelálása az alkalmazás állapotának modellezéséhez és az aktív fenyegetések azonosításához. Automatizált és manuális eljárásokat hozhat létre az incidensekre való reagáláshoz a Biztonsági információ és eseménykezelés (SIEM) eszköz használatával a nyomon követéshez.
Lehetséges fenyegetések modellezése és tesztelése Biztosítsa a megfelelő erőforrás-megerősítést, és hozzon létre eljárásokat az ismert fenyegetések azonosítására és enyhítésére, behatolástesztelés használatával a fenyegetéscsökkentés ellenőrzéséhez, valamint a statikus kódelemzéshez és a kódvizsgálathoz.
Végpontok azonosítása és védelme A belső és külső végpontok hálózati integritásának monitorozása és védelme biztonsági képességekkel és berendezésekkel, például tűzfalak vagy webalkalmazási tűzfalak segítségével. Iparági szintű megközelítések használatával védheti az olyan gyakori támadásvektorokat, mint az elosztott szolgáltatásmegtagadási (DDoS) támadások, például a SlowLoris.
Védelem a kódszintű biztonsági rések ellen Azonosítsa és csökkentse a kódszintű biztonsági réseket, például a helyek közötti szkriptelést vagy az SQL-injektálást, és a biztonsági javításokat beépítse a kódbázis minden részének működési életciklusába, beleértve a függőségeket is.
A minimális jogosultság automatizálása és használata Automatizálja az automatizálást, hogy minimálisra csökkentse az emberi interakció szükségességét, és a legkisebb jogosultságot implementálja mind az alkalmazás, mind a vezérlősíkon az adatkiszivárgás és a rosszindulatú szereplői forgatókönyvek elleni védelem érdekében.
Adatok osztályozása és titkosítása Sorolja be az adatokat a kockázatnak megfelelően, és alkalmazza az iparági szabványnak megfelelő titkosítást inaktív és átvitel közben, biztosítva a kulcsok és tanúsítványok biztonságos tárolását és megfelelő kezelését.

Költségoptimalizálás

A nagyobb megbízhatóság bevezetéséhez nyilvánvaló költségelvonások társulnak, amelyeket a számítási feladatokra vonatkozó követelményekkel összefüggésben gondosan figyelembe kell venni.

A megbízhatóság maximalizálása hatással lehet a megoldás teljes pénzügyi költségére. Például az erőforrások duplikálása és az erőforrások régiók közötti elosztása a magas rendelkezésre állás elérése érdekében egyértelmű költségekkel jár. A többletköltségek elkerülése érdekében ne használjon túl mérnököt vagy túlkiépítést a vonatkozó üzleti követelményeken túl.

Emellett az alapvető megbízhatósági fogalmak, például az infrastruktúra kódként való használata, az üzembe helyezés automatizálása és a káosztechnika terén hozzáadott költségek is társulnak a mérnöki beruházásokhoz. Ez idő és erőfeszítés szempontjából is költséggel jár, amelyet máshol is be lehetne fektetni az új alkalmazásfunkciók és funkciók biztosításához.

Natív felhőtervezés

  • Azure-natív felügyelt szolgáltatások – Az Azure-natív felügyelt szolgáltatások az alacsonyabb felügyeleti és üzemeltetési terhelés, valamint a konzisztens konfigurációval és kialakítással való szoros integráció miatt vannak rangsorban az alkalmazás veremében.

  • Ütemterv igazítása – A közelgő új és továbbfejlesztett Azure-szolgáltatási képességek beépítése az Általánosan elérhető (GA) funkcióval az Azure élvonalához való közelség érdekében.

  • Az előzetes verziójú funkciók használata és az ismert hiányosságok elhárítása – Bár az általánosan elérhető (GA) szolgáltatások prioritást élveznek a támogatás szempontjából, az Azure-szolgáltatás előzetes verzióit aktívan tanulmányozni kell a gyors beépítéshez, és technikai és végrehajtható visszajelzést nyújt az Azure-termékcsoportoknak a hiányosságok elhárításához.

  • Azure-beli célzóna igazítása – Üzembe helyezhető egy Azure-beli célzónán belül, és igazodik az Azure-beli célzóna tervezési módszertanához, de teljes mértékben működőképes és üzembe helyezhető a célzóna nélküli környezetben is.

Következő lépés

Tekintse át a kritikus fontosságú számítási feladatokhoz kapcsolódó, átfogó szempontokat.