Javaslatok az eszközök és folyamatok szabványosításához
Erre az Azure Well-Architected Framework Operational Excellence ellenőrzőlistára vonatkozó javaslatra vonatkozik:
OE:04 | Optimalizálja a szoftverfejlesztési és minőségbiztosítási folyamatokat az iparágban bevált fejlesztési és tesztelési eljárások követésével. Az egyértelmű szerepkör-kijelöléshez szabványosítsa a különböző összetevőkre vonatkozó eljárásokat, például az eszközkezelést, a forrásvezérlést, az alkalmazástervezési mintákat, a dokumentációt és a stíluskalauzokat. |
---|
Kapcsolódó útmutató: A build sebességének | javításaFolyamatos integráció használata
Ez az útmutató a szoftverfejlesztési eszközök és folyamatok szabványainak meghatározására vonatkozó javaslatokat ismerteti. A konzisztens eljárások meghatározása hatékony számítási feladatokat és kiváló minőségű munkát eredményez. A nagy teljesítményű csapatok iparágilag bevált eszközöket és folyamatokat használnak az elpazarolt munkamennyiség és a potenciális kódhibák minimalizálása érdekében.
Fő tervezési stratégiák
A fejlesztési eljárások optimalizálásának első lépése az eszközök és folyamatok szabványosítása. Ha lehetséges, használja az iparágban bevált megoldásokat ahelyett, hogy házon belüli megoldásokat fejlesztenél. A gyakorlatok további optimalizálásához alacsony kódszámú és kód nélküli eszközöket kell alkalmaznia. Ezekkel az eszközökkel az alkalmazásra összpontosíthat, és időt takaríthat meg. Minden szabványosított eszköz és folyamat esetében implementálja a betanítást, hogy a csapatok megértsék és hatékonyan használhassák őket. A fejlesztési eljárások optimalizálását segítő szabványok meghatározásához vegye figyelembe az alábbi javaslatokat.
Jól ismert és kiforrott, polcon kívüli eszközök használata
Jól ismert és kiforrott, polcon kívüli eszközöket használjon, és szabványosítsa használatukat. A rendkívül hatékony mérnöki csapatok a legjobb osztályon belüli eszközöket vezetik be. Ez a megközelítés minimálisra csökkenti a tervezéshez, fejlesztéshez, teszteléshez, együttműködéshez, folyamatos integrációhoz és folyamatos teljesítéshez (CI/CD) szükséges megoldásokat. Sok vállalat választ a fejlesztőknek néhány eszköz között, de minden lehetőség a szervezet szokásos eszközei, és belsőleg vannak érvényesítve. A legfontosabb, hogy olyan eszközöket válasszon, amelyek megfelelnek a számítási feladat követelményeinek. A polcon kívüli eszközöknek a következő funkciókat kell biztosítaniuk:
Munkatervezés és hátralékkezelés
Verziókövetés és adattárak
CI/CD-folyamatok
Tesztelés, például integráció, füst, szintetikus felhasználó, szimuláció, káosz és egyéb minőségi tesztek
Kódfejlesztés
Bizonyos esetekben egy eszköz vagy egy eszközkészlet több funkciót is biztosíthat. Győződjön meg arról, hogy tisztában van az eszközei képességeivel és korlátaival, hogy azok megfeleljenek a különböző funkciókra vonatkozó követelményeknek.
Döntse el, hogy drága eszközökbe vagy prémium szintű eszközökbe kell-e befektetnie. Fontolja meg a saját megoldások fejlesztésének idejét és fáradozását a prémium eszközök által biztosított funkciókhoz képest. Fontolja meg az egyszeri költségeket és az ismétlődő költségeket. A legtöbb esetben a polcon kívüli eszközök nagyobb értéket biztosítanak a csapatnak.
Ha praktikus, használjon alacsony kódú, kód nélküli és AI-eszközöket . Az alacsony kódszámú és kód nélküli eszközök időt takaríthatnak meg a tapasztalt fejlesztők számára azáltal, hogy lehetővé teszik számukra, hogy a teljes kódfejlesztési folyamat végrehajtása helyett egyszerűen csatlakoztatják a funkciókat. Ezek az eszközök azt is lehetővé teszik, hogy a nem betanított fejlesztők által betanított számítási feladatok csapattagok is hozzájáruljanak a számítási feladat működéséhez. Az AI-eszközök segíthetnek a kódfejlesztésben, a felülvizsgálatokban és az optimalizálásban.
Az elágaztatási stratégia szabványosítása
Ha lehetséges, válasszon egy csomagtartóalapú modellt. A csomagtartó-alapú elágaztatás szinkronban tartja a számítási feladat fejlesztési csapatát, és ösztönzi a folyamatos teljesítést. Ágszabályzatok definiálása a fontos ágak, például a főág védelme érdekében. További információ: Git-elágaztatási stratégia éságszabályzatok és -beállítások bevezetése.
Metrikák kiértékelése a fejlesztési hatékonyság számszerűsítéséhez
A szoftverfejlesztési és minőségbiztosítási csapatok csak akkor javíthatnak, ha számszerűsíthetik a hatékonyságukat. A hatékonyság számszerűsítéséhez azonosítaniuk kell a fejlesztői sebességet mérő metrikákat, és meg kell határozniuk a KPI-ket. Ilyen metrikák például a következők:
Üzembe helyezés gyakorisága: Az egyes fejlesztők által naponta üzembe helyezett üzemelő példányok száma.
Átfutási idő: Az az idő, amellyel egy feladat vagy felhasználói történet a hátralékból az éles üzembe helyezésbe kerül.
Átlagos megoldási idő: A kód hibáinak vagy hibáinak kijavításával töltött átlagos idő.
Hibaarány: A hibát eredményező módosítások százalékos aránya.
Annak érdekében, hogy az érdekelt felek és a számítási feladatokért felelős csapat könnyebben nyomon tudja követni a sebességet, irányítópultok vagy más jelentéskészítő eszközök használatával vizualizálhatja a KPI-ket.
A számítási feladatokkal foglalkozó csapat írási, véleményezési és dokumentumkódainak szabványosítása
Stíluskalauz használatával szabványosíthatja a számítási feladatokkal foglalkozó csapat írási, véleményezési és dokumentumkódjait. A szabványos stílus megkönnyíti az együttműködést, és segít az új fejlesztők beszállásában. A hatékony munkavégzéshez az új fejlesztőknek tudniuk kell, hogyan működik a számítási feladatokat üzemeltető csapat. A világosan meghatározott szabványokat tartalmazó stíluskalauz megkönnyítheti a betanítási folyamatot. A stíluskalauzban definiálja a fejlesztési nyelvekre, kódtárakra, keretrendszerekre és egyéb konvenciókra vonatkozó szabványokat.
Ha gyakorlatias, használjon eszközhasználatot a kódformázási szabványok kikényszerítéséhez. A Visual Studio például számos olyan eszközt kínál, amelyek stílust, minőséget, karbantarthatóságot, tervezést és egyéb problémákat keresnek. Az infrastruktúra kódként (IaC) való használatához használhatja a Checkov vagy a Terrascan for Terraformot.
A konzisztencia biztosítása és a lehetséges félreértések elkerülése érdekében a stíluskalauznak tartalmaznia kell az összetevők, környezetek, ágak, buildek és futtatások szabványos elnevezési konvencióit.
Emellett irányelveket és szabványokat is be kell állítania a környezetek megengedett eltérési fokára vonatkozóan. Ha vannak olyan új nyelvek, keretrendszerek vagy más technológiák, amelyeket a számítási feladatokért felelős csapat tagjai fel szeretnének venni a szabványos listára, implementáljon egy folyamatot az eszközök tesztkörnyezetben vagy alacsonyabb környezetben való használatára. Tesztelje életképességüket, és szükség esetén cserélje le a meglévő technológiákat.
Az architektúra-döntési rekordok (ADR-ek) használatával megőrizheti a számítási feladatokkal foglalkozó csapat tervezési döntéseinek előzményeit. Az ADR-ek segítenek a csapatoknak a számítási feladatok friss ismeretében. Emellett segítséget nyújtanak az új csapattagok számára a számítási feladat életciklusa során hozott tervezési döntések megismerésében. Győződjön meg arról, hogy az ADR-ek verzióvezéreltek.
Az ADR-ben a következőket kell tartalmaznia:
A csapat által választott konkrét eszközök és technológiák, például az SQL vagy a NoSQL használata.
A csapat döntéseinek okai.
Egyéb megfontolt lehetőségek, amelyek segítenek kontextusba hozni a végső döntést.
A döntésekbe beleért funkcionális és nem funkcionális követelmények.
A döntéshozatali folyamat kontextusa, például a megoldódott probléma.
A műszaki adósság kezelésére vonatkozó szabványok implementálása
Vegye figyelembe, hogy a technikai adósság szándékos és szükséges a számítási feladatokért felelős csapat termékeihez. Ez a gondolkodásmód arra ösztönzi csapatát, hogy a felhalmozás elkerülése érdekében rendszeresen fontolja meg és kezelje a technikai adósságokat. A technikai adósság kezelése rendszeresen ismétlődő feladatként a hátralékban.
Tegyük fel például, hogy a csapata szabványosított egy tárban. Idővel át kell váltania egy másik tárra a számítási feladat új funkcióihoz. Ez az átállás technikai adósságot eredményezhet. Az ilyen áttűnések gyakran két technológiát támogatnak a számítási feladatokkal foglalkozó csapat számára, mert nem tudnak zökkenőmentesen áttérni. A számítási feladatért felelős csapatnak rangsorolnia kell az átállás befejezését, mert amikor a számítási feladat eléri az új funkciókat, az érdekelt felek elégedettek, és kevésbé valószínű, hogy figyelembe veszik a technikai adósságot.
A verziószámozás alkalmazásának szabványosítása az összetevőkre
Szabványosítsa, hogyan alkalmazza a verziószámozást az összetevőkre, és hogyan érhető el a verziószámozás belsőleg és külsőleg. Az ügyféloldali rendszereknek például közzé kell tenniük a futó verziójukat a felhasználói felületen. Ez a technika akkor hasznos, ha a számítási feladatokkal foglalkozó csapat elhárítja a problémákat, mert az ügyfél könnyen kommunikálhatja, hogy melyik verziót használja. A REST-felületek bizonyos összetevők vagy adatbázisok verzióit is elérhetővé tehetik. Előfordulhat, hogy egy séma metaadataiban egy adott táblát használ a séma verziójának elérhetővé tételéhez.
Az iparágban bevált alkalmazástervezési mintákkal biztosíthatja, hogy az alkalmazás megbízható, hatékony és biztonságos legyen. Ezekkel a mintákkal időt és energiát takaríthat meg az alkalmazás saját megoldásainak fejlesztéséhez képest. Válassza ki azokat a mintákat, amelyek hasznosak a számítási feladat számára. Rendszeresen tekintse át a tervezési mintákat, és győződjön meg arról, hogy a megfelelő mintákat használja a számítási feladat fejlődésével.
A tesztelés bal oldali megközelítésének megvalósítása
A tesztelés bal oldali megközelítésének megvalósítása az egységtesztelés korai és gyakran a fejlesztési folyamat során történő végrehajtásával. Az egyes fejlesztési környezetekben végzett gyakori tesztelés segít a fejlesztőknek abban, hogy magabiztosan használják az alkalmazásaikat. A tesztelési stratégia balra váltásos megközelítéssel történő létrehozásához vegye figyelembe az alábbi alapelveket:
A teszteket a lehető legalacsonyabb szinten írja. A legkevesebb külső függőséggel rendelkező teszteket részesítse előnyben, és futtassa a teszteket a build részeként.
Egyszer írjon teszteket, és futtasson teszteket mindenhol, beleértve az éles üzemet is. Olyan teszteket írhat, amelyeket minden fejlesztőkörnyezetben futtathat anélkül, hogy figyelembe vegye azokat a tényezőket, amelyek egy adott környezetre vonatkoznak, például titkosított titkos kódokat vagy konfigurációkat.
Tervezheti meg a számítási feladatokat tesztelésre. Az alkalmazás fejlesztésekor tegye kötelezővé a tesztelhetőséget.
A tesztkódot alkalmazáskódként kezelje. Alkalmazza ugyanazokat a minőségi és fejlesztési szabványokat az alkalmazáskódra és a tesztkódra. Tárolja a tesztkódot az alkalmazáskód mellett. Tesztkód fejlesztése és karbantartása alkalmazáskóddal. A tesztek minőségének biztosítása érdekében elveti a nem megbízható teszteket.
Fontolja meg a teszt tulajdonjogát, amely a számítási feladatok tulajdonjogán alapul. A számítási feladatokat végző csapaté a tesztelés, és nem szabad más csapatokra támaszkodnia a kód teszteléséhez.
A lehető legnagyobb mértékben automatizálja a teszteket. Az automatizált kód csökkenti a számítási feladatokért felelős csapat terheit, és konzisztens minőséget biztosít.
A DevOps-tesztstratégiák implementálásával kapcsolatos részletes útmutatásért lásd: Shift testing left with unit tests (A shift testing left with unit tests).
A standard üzemeltetési eljárások részeként DevSecOps-eljárásokra van szükség. A számítási feladatokért felelős csapatnak ismernie kell a szoftverfejlesztéssel és a minőségbiztosítással kapcsolatos biztonsági eljárásokat. Ezeket a gyakorlatokat kivétel nélkül kell követniük. További információ: Biztonsági fejlesztési életciklus-útmutató.
Erőforrások elnevezésére és címkézésére vonatkozó szabványok implementálása
A címkézési és elnevezési konvenciók implementálása ajánlott eljárás az Azure-erőforrások kezeléséhez és rendszerezéséhez. A címkézési és elnevezési konvenciók segítenek azonosítani, besorolni és csoportosítani az erőforrásokat olyan gyakori attribútumok alapján, mint a környezet, az alkalmazás, a tulajdonos vagy a költséghely. Emellett lehetővé teszik az erőforrások biztonságát, automatizálását, jelentéskészítését és szabályozását az előfizetések és erőforráscsoportok között.
A szabványos címkézési és elnevezési konvenciók használatának néhány előnye:
- Konzisztenciát és egyértelműséget biztosítanak az erőforrások azonosításához és felügyeletéhez, megkönnyítve a felderítést és a keresést a Azure Portal, a PowerShellben, a parancssori felületen és az API-kban.
- Lehetővé teszik az erőforrások szűrését és csoportosítását számlázási, monitorozási, biztonsági és megfelelőségi célokra.
- Támogatják az erőforrások életciklusának kezelését, például az üzembe helyezést, a leszerelést, a biztonsági mentést és a helyreállítást.
- Biztonsági okokból nélkülözhetetlenek. Biztonsági incidens esetén kritikus fontosságú az érintett rendszerek, a rendszerek által támogatott funkciók és az esetleges üzleti hatás gyors azonosítása.
További információ az elnevezési konvenciók felhőbeli erőforrásokhoz való használatáról: Az elnevezési konvenció meghatározása. A metaadatcímkék felhőbeli erőforrásokra való alkalmazásával kapcsolatos további információkért lásd : Címkézési stratégia meghatározása.
Azure-beli segítségnyújtás
Az Azure DevOps olyan szolgáltatások gyűjteménye, amelyekkel együttműködési, hatékony és konzisztens fejlesztési gyakorlatot hozhat létre. Az Azure DevOps a következő megoldásokat csomagolja össze:
Az Azure Pipelines buildelési és kiadási szolgáltatásokat biztosít az alkalmazások CI/CD-jének támogatásához.
Az Azure Boards egy webalapú munkakezelő eszköz, amely támogatja az olyan agilis eljárásokat, mint a Scrum és a Kanban.
Az Azure Repos egy verziókövetési eszköz, amely támogatja a Git elosztott verziókövetési rendszerét és a Team Foundation verziókövetési rendszerét.
Az Azure Test Plans egy böngészőalapú tesztkezelési megoldás, amely a tervezett manuális teszteléshez, a felhasználói elfogadás teszteléséhez, a feltáró teszteléshez és az érdekelt felek visszajelzéseinek gyűjtéséhez szükséges képességeket biztosítja.
Az Azure Artifacts segítségével a fejlesztők hatékonyan oszthatják meg kódjukat és kezelhetik a csomagjaikat.
GitHub Actions az Azure-hoz egy olyan eszköz, amellyel automatizálhatja a CI/CD-folyamatokat. Az üzembe helyezés egyszerűsítése érdekében közvetlenül integrálható az Azure-ral. Létrehozhat olyan munkafolyamatokat, amelyek minden lekéréses kérelmet létrehoznak és tesztelnek az adattárban, vagy egyesített lekéréses kérelmeket helyeznek üzembe éles környezetben.
A GitHub Projects egy munkakezelő eszköz, amellyel Kanban-táblákat, jelentéseket, irányítópultokat és egyéb függvényeket hozhat létre.
Az alacsony kódú és a kód nélküli eszközök közé tartoznak a következők:
Az Azure Resource Manager-sablonok és a Bicep olyan natív Azure-eszközök, amelyekkel üzembe helyezheti az IaC-t. A Terraform egy másik, Az Azure által támogatott IaC-eszköz, amellyel üzembe helyezheti és kezelheti az infrastruktúrát.
A Visual Studio egy robusztus fejlesztőeszköz, amely integrálható az Azure-ral, és számos nyelvet támogat.
GitHub Copilot egy AI-szolgáltatás, amely programozópárként működik, és kód közben automatikus kiegészítési stílusjavaslatokat nyújt. A Copilot bővítményként érhető el a Visual Studióban és számos más fejlesztői eszközben.
Az Azure Load Testing egy teljes körűen felügyelt terheléstesztelési szolgáltatás, amellyel nagy léptékű terhelést hozhat létre az alkalmazások forgalmának szimulálásával, függetlenül attól, hogy hol vannak üzemeltetve.
Kapcsolódó hivatkozások
- Git-elágaztatási stratégia bevezetése
- Ágszabályzatok és -beállítások
- Felhőtervezési minták
- Fejlesztői sebesség
- Az Azure-erőforrások elnevezési és címkézési stratégiájának fejlesztése
- DevOps Resource Center
- A DevSecOps engedélyezése az Azure-ral és a GitHubbal
- A forráskódelemzés áttekintése
- Biztonsági fejlesztési életciklus-útmutató
- Biztonság a DevOpsban (DevSecOps)
- Műszaktesztelés balra egységtesztekkel
- Videósorozat: Bevezetés a GitHub CoPilot használatába
Működési kiválósági ellenőrzőlista
Tekintse meg a javaslatok teljes készletét.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: