Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A megoldás megtervezése, összeállítása és konfigurálása után fejlesztési környezetben. Kövesse az ajánlott eljárásokat, és a teszteléssel biztosítsa a minőséget. A natív felhőmegoldások méretezhető, rugalmas és megfigyelhető architektúramintákat használnak a Azure szolgáltatások előnyeinek maximalizálása érdekében. Az erős tesztelési és automatizálási gyakorlatokkal rendelkező, nem termelési környezetben történő építés biztosítja a minőséget és a felkészültséget az éles üzembe helyezéshez.
Új natív felhőbeli megoldások fejlesztése
A natív felhőfejlesztéshez olyan strukturált megközelítésre van szükség, amely a kezdetektől integrálja a minőségi eljárásokat. Ez az útmutató segít megbízható, biztonságos és méretezhető megoldások kialakításában a bevált fejlesztési eljárások segítségével.
Well-Architected keretrendszer alapelveinek alkalmazása a fejlesztés során
A natív felhőmegoldások a Well-Architected-keretrendszer (WAF) alapelveinek alkalmazásával járnak. A Well-Architected-keretrendszer alapelveket biztosít a natív felhőbeli hatékony fejlesztéshez. Integrálja ezt az öt pillért a hatékony, jól teljesítő alkalmazások létrehozásához, amelyek kiválóan működnek éles környezetben.
Megoldások fejlesztése nem gyártási környezetben
Éles konfigurációkat tükröző fejlesztői környezetek létrehozása. Olyan nem termelési környezetek (fejlesztés, tesztelés, minőségbiztosítási) beállítása, amelyek szorosan tükrözik a termelést. Minél közelebb vannak a tesztkörnyezetek az éles környezethez, annál biztosabb lehetsz, hogy a dolgok a kiadáskor működnek. Ez a megközelítés különösen fontos, ha új funkciókat ad hozzá egy meglévő számítási feladathoz.
Valós adathalmazokat használjon, amelyek produkciós adat mennyiségeket képviselnek. Tesztelje az éles számítási feladatok méretével és összetettségével egyező adatokat. A nagy adathalmazok teljesítménybeli szűk keresztmetszeteket és skálázási problémákat fednek fel, amelyeket a kis tesztadatkészletek kihagynak. Az éles adatok anonimizálása vagy olyan szintetikus adatok létrehozása, amelyek a valós adatok statisztikai tulajdonságait megőrzik.
Költségvezérlők implementálása nem gyártási környezetekhez. A Azure DevTest Labs vagy az erőforrás-ütemezés használatával automatikusan elindíthatja és leállíthatja az erőforrásokat, ha nincs használatban. A fejlesztési számítási feladatokhoz megfelelő szolgáltatási szinteket alkalmazhat, és költségkereteket alkalmazhat a váratlan költségek elkerülése érdekében a tesztelés hatékonyságának fenntartása mellett.
További információ: Tesztkörnyezet konfigurálása a WAF-ban.
Módosítások implementálása a forráskövetés és a CI/CD használatával
Az összes kódot és konfigurációt egy Git-adattárban tárolhatja. Kövesse nyomon az alkalmazáskódot, az infrastruktúrasablonokat, az üzembehelyezési szkripteket és a konfigurációs fájlokat a verziókövetésben. Ez a gyakorlat a változások teljes előzményeit biztosítja, és lehetővé teszi a csapattagok közötti együttműködést.
A fejlesztési munkát kis, gyakori elkötelezettségekre bontsa. Végezze el a funkciófejlesztést kis lépésekben, amelyek egymástól függetlenül egyesíthetők és tesztelhetők. Ez a megközelítés csökkenti az integrációs ütközéseket, és megkönnyíti a problémák forrásának azonosítását.
A buildek és tesztek automatizálása minden kódmódosításon. Olyan CI-/CD-folyamatokat konfigurálhat, amelyek automatikusan lefordítják a kódot, teszteket futtatnak és üzembe helyeznek a nem gyártási környezetekben a módosítások véglegesítésekor. A gyors visszajelzési ciklusok segítségével a fejlesztők gyorsan elkapják és kijavítják a problémákat.
Az új funkciók kiadásának szabályozásához használjon funkciójelzőket. Olyan funkcióváltók implementálása, amelyek lehetővé teszik a kód éles környezetben való üzembe helyezését, miközben az új funkciók le vannak tiltva, amíg azok készen nem állnak a felhasználók számára. Ez a stratégia elkülöníti az üzembe helyezést a kiadástól, és biztonságosabb, szabályozottabb bevezetést tesz lehetővé.
Monitorozás megvalósítása a fejlesztés során
Integrálja a Azure Monitor és az Application Insightst az alkalmazáskódba. Monitorozási adatgyűjtés hozzáadása a fő teljesítménymetrikák, a felhasználói interakciók és a rendszerállapot-mutatók nyomon követéséhez. Konfigurálja ezeket az eszközöket a fejlesztés során, hogy biztosan megfelelően működjenek az éles üzembe helyezés előtt.
Strukturált naplózás implementálása az alkalmazás teljes területén. Használjon konzisztens naplóformátumokat, és adjon meg környezetfüggő információkat, például felhasználói azonosítókat, kérelemazonosítókat és üzleti folyamatazonosítókat. A naplók JSON-objektumként való strukturálása hatékony lekérdezési és elemzési képességeket tesz lehetővé.
Riasztások konfigurálása a főbb metrikákhoz és a hibafeltételekhez. Állítson be proaktív monitorozást, amely értesíti, ha a hibaarányok növekednek, a válaszidő csökken, vagy az üzleti metrikák a várt tartományon kívül esnek. Riasztási küszöbértékeket határozhat meg a szolgáltatásiszint-célkitűzések és az üzleti követelmények alapján.
Olyan irányítópultokat hozhat létre, amelyek betekintést nyújtanak a rendszer teljesítményébe. Olyan monitorozási irányítópultokat hozhat létre, amelyek az alkalmazás, az infrastruktúra és az üzleti folyamatok állapotát mutatják. Olyan metrikákat is tartalmazhat, amelyek mind a műszaki csapatok, mind az üzleti érdekelt felek számára fontosak az adatvezérelt döntések engedélyezéséhez.
További információ: Monitorozási rendszer tervezése és alkalmazás instrumentálása a WAF-ben.
Natív felhőmegoldások ellenőrzése teszteléssel
Az átfogó tesztelés ellenőrzi, hogy a megoldás megfelel-e az üzleti követelményeknek, és valós körülmények között megbízhatóan teljesít-e. Az egyes tesztelési típusok meghatározott célt szolgálnak a megoldásminőség biztosításához.
Az üzleti munkafolyamatok ellenőrzéséhez végezzen teljes körű funkcionális tesztelést. Valós adatok és interakciók használatával tesztelje a teljes felhasználói forgatókönyveket a hitelesítéstől a tranzakció befejezéséig. Ellenőrizze, hogy az új funkciók megfelelően működnek-e, és hogy a meglévő funkciók érintetlenek maradnak-e a módosítások után. Futtasson regressziós teszteket a nem kívánt mellékhatások észlelése érdekében.
Felhasználói elfogadási tesztelést végezhet az üzleti érdekelt felekkel. Tényleges felhasználók vagy üzleti képviselők bevonása annak ellenőrzéséhez, hogy a megoldás megfelel-e az igényeiknek és elvárásaiknak. Tesztelje a legfontosabb forgatókönyveket egy UAT-környezetben, és küldjön visszajelzést a használhatóságról és a funkciókról. Az éles üzembe helyezés megkezdése előtt kérje le az érdekelt felek hivatalos jóváhagyását.
A teljesítmény ellenőrzéséhez valós feltételek mellett végezzen terheléstesztelést. A Azure Load Testing használatával szimulálhatja a várt felhasználói köteteket és az adatok átviteli sebességét. A teljesítmény szűk keresztmetszeteinek és skálázási korlátainak azonosítása érdekében tesztelje a rendszert csúcsterhelési szinteken és azon túl. Mérje meg a válaszidőt, az átviteli sebességet és az erőforrás-kihasználtságot, hogy a megoldás megfeleljen a teljesítménykövetelményeknek.
Biztonsági és megfelelőségi tesztelés végrehajtása a biztonsági rések azonosításához. Automatizált biztonsági vizsgálatok futtatása alkalmazáskódokon, tárolólemezképeken és infrastruktúra-konfigurációkon. A Felhőhöz készült Microsoft Defender használatával ellenőrizze a biztonsági konfigurációkat és a megfelelőségi szabálysértéseket. A magas kockázatú biztonsági rések kezelése az üzembe helyezés előtt, és kompenzáló vezérlők implementálása az elfogadott kockázatokhoz.
Az éles üzembe helyezés előtt megoldhatja a kritikus problémákat. A tesztelési fázisokat olyan minőségi kapukként kezelje, amelyeket a folytatás előtt át kell adni. Javítsa ki azokat a teljesítményproblémákat, amelyek megakadályozzák a szolgáltatási szint megállapodások teljesítését, és orvosolja a jelentős kockázatot jelentő biztonsági réseket. Az alapvető üzleti folyamatokat érintő funkcionális hibák elhárítása. Ismert alacsony prioritású problémák dokumentálása a jövőbeli megoldási tervekkel kapcsolatban.
Automatizált egység- és integrációs tesztcsomagok karbantartása. Átfogó automatizált tesztek létrehozása, amelyek ellenőrzik az egyes összetevőket és azok külső függőségekkel való interakcióit. Végezze el ezeket a teszteket a CI/CD-folyamat részeként és minden hibajavítás után, hogy elkerülje a regressziókat. A robusztus automatizált tesztcsomag megbízható folyamatos teljesítést tesz lehetővé natív felhőkörnyezetekben.
Újrafelhasználható infrastruktúra létrehozása
Miután a modernizált megoldás minden tesztet átment a nem termelési környezetben, kódként kell rögzítenie az infrastruktúra beállítását és konfigurációit, hogy az könnyen replikálható legyen éles és jövőbeli környezetekben. Az újrahasználható infrastruktúra azt jelenti, hogy az infrastruktúra kódként (IaC) sablonokat és automatizálást használ a konzisztencia és a sebesség érdekében.
IaC-sablonokat hozhat létre a bevált konfigurációkhoz. Vegye a tesztkörnyezet végleges architektúráját (amely tükrözi, amit a produkciós környezetben szeretne), és kodifikálja azt. Az infrastruktúra meghatározásához használja Bicep, Terraform vagy Azure Resource Manager sablonokat. Paraméterezheti ezeket a sablonokat, hogy újra felhasználhatók legyenek különböző szakaszokban, például fejlesztéshez, teszteléshez, kis finomhangolásokkal, például névvel vagy méretekkel. Ez a beállítás biztosítja, hogy a létrehozott éles környezet megfeleljen a teszteltnek. Elkerüli az emberi hibát, ha manuálisan kattintgat az Azure portálon erőforrások létrehozása céljából. Azt is jelenti, hogy ha bármikor újra létre kell hoznia a környezetet, például vészhelyreállításhoz vagy új régiókba való üzembe helyezéshez, készen áll az infrastruktúra üzembe helyezése. További információkért lásd: CAF Manage - Kódalapú telepítések kezelése.
Sablonok tárolása verziókövetésben. Ellenőrizze az infrastruktúra-kódot egy Git-adattárban (az alkalmazáskód mellett vagy egy külön adattárban). A GitHub vagy Azure DevOps használatával megfelelő verziókövetéssel kezelheti az IaC-objektumokat. A verziókövetés lehetővé teszi a kódellenőrzéseket, támogatja a csapatmunkát, és ösztönzi a sablonok projektek közötti újrafelhasználását. Ez a megközelítés teljes nyomon követhetőséget biztosít az infrastruktúra változásaihoz, és támogatja a visszaállítási képességeket problémák esetén.
A függőségek telepítésének és konfigurálásának automatizálása. Szkripteket vagy folyamatfeladatokat hozhat létre a sablonok üzembe helyezéséhez, és kezelheti a szükséges konfigurációs vagy magolási feladatokat is. Használja a Azure Pipelines-t, valamint a GitHub Actions-t az IaC-sablon alapján történő üzembe helyezési feladatok futtatásához, amelyek egy meghatározott előfizetésben vagy erőforráscsoportban kerülnek végrehajtásra. Automatizálhatja az alkalmazásfüggőségek telepítését, a beállítások konfigurálását és a titkos kódok kezelését. A cél az egykattintásos (vagy egyparancsos) környezet beállítása: a semmiből egy teljesen futó környezetbe, amely megfelel a tesztelt környezetnek.
Tesztelje az IaC-t és az automatizálást teljes körűen. Használjon külön Azure előfizetést vagy erőforráscsoportot tesztkörnyezetként, és gyakorolja a teljes környezet üzembe helyezését a sablonok és szkriptek használatával. Tesztelje, hogy az IaC-sablonok, -folyamatok és -szkriptek képesek-e létrehozni a teljes infrastruktúra-vermet a semmiből. Tesztelje a különböző üzembehelyezési forgatókönyveket, például a kezdeti üzembe helyezést, a konfigurációfrissítéseket és a visszaállítási eljárásokat az automatizálás megfelelő működésének ellenőrzéséhez.
További információ: Számítási feladatok fejlesztési ellátási láncának és infrastruktúrájának tervezése kódként a WAF-ben.
Üzembehelyezési dokumentáció létrehozása
Az automatizálás mellett is elengedhetetlen a megfelelő dokumentáció az üzembe helyezésekkel kapcsolatban az audit, az új csapattagok előkészítése és a későbbi karbantartás szempontjából. Az üzembehelyezési dokumentációnak emberi olvasható formában kell kiterjednie a konfigurációkra, eljárásokra és visszaállítási lépésekre.
Dokumentumkonfigurációs beállítások és lépések. Rögzítse az összes környezetspecifikus beállítást, kapcsolati sztringet, szolgáltatásvégpontot és biztonsági konfigurációt az akadálymentes dokumentációban. Részletes üzembe helyezési utasításokat, előfeltétel-követelményeket és üzembe helyezés utáni érvényesítési lépéseket is tartalmaz. Ez a dokumentáció lehetővé teszi a konzisztens üzembe helyezéseket, és támogatja a hibák elhárítását. Ha egy új mérnöknek üzembe kell helyeznie, elolvashatja ezt a dokumentumot, és követheti vagy megértheti a folyamat kimenetét.
Visszaállítási és helyreállítási eljárások frissítése. A tesztek elvégzése után formalizálja a módosítások visszaállításának lépéseit az üzembe helyezési problémák esetén. A visszaállítási eseményindítók, az adatmentési és visszaállítási eljárások, valamint a helyreállítási érvényesítési lépések belefoglalása. Rendszeresen tesztelje a visszaállítási és helyreállítási eljárásokat, hogy szükség esetén megfelelően működjenek. Ez az előkészítés csökkenti az állásidőt.
Gyűjtse össze ezt a dokumentációt egy központi helyen. Ezeket az információkat SharePoint, GitHub vagy wiki használatával tárolhatja. Győződjön meg arról, hogy a csapat és a támogatási személyzet tudja, hol találja. Egy nagy stresszel járó incidens során, ha rendelkezésre állnak tiszta dokumentumok, életmentő.