Share via


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.

Működési kiválósági ellenőrzőlista

Tekintse meg a javaslatok teljes készletét.