Funkciókezelés áttekintése

Az új alkalmazásfunkciók szállításához hagyományosan az alkalmazás teljes újbóli üzembe helyezésére van szükség. A funkciók teszteléséhez gyakran szükség van az alkalmazás több központi telepítésére. Minden egyes üzembe helyezés megváltoztathatja a funkciót, vagy közzéteheti a szolgáltatást a különböző ügyfelek számára tesztelés céljából.

A funkciókezelés egy modern szoftverfejlesztési gyakorlat, amely leválasztja a funkciókiadást a kód üzembe helyezéséről, és lehetővé teszi a funkciók igény szerinti rendelkezésre állásának gyors módosítását. Funkciójelzőknek (más néven funkcióváltóknak és funkciókapcsolóknak) nevezett technikát használ egy szolgáltatás életciklusának dinamikus felügyeletéhez.

A funkciókezelés segít a fejlesztőknek a következő problémák megoldásában:

  • Kódág-kezelés: Funkciójelzők használatával burkolhatja a fejlesztés alatt álló új alkalmazásfunkciókat. Az ilyen funkciók alapértelmezés szerint "rejtettek". A funkció biztonságosan szállítható, még akkor is, ha még nincs befejezve, és továbbra is az éles környezetben marad. Ezzel a sötét üzembe helyezésnek nevezett megközelítéssel az összes kódot minden fejlesztési ciklus végén közzéteheti. Többé nem kell több fejlesztési ciklus kódágait fenntartania, mert egy adott funkció elvégzéséhez több ciklusra van szükség.
  • Éles tesztelés: Funkciójelzőkkel korai hozzáférést biztosíthat az éles környezetben lévő új funkciókhoz. Korlátozhatja például a csapattagok vagy a belső bétatesztelők hozzáférését. Ezek a felhasználók a tesztelési környezetben szimulált vagy részleges élmény helyett teljes körű éles környezetet fognak tapasztalni.
  • Repülés: Funkciójelzőkkel növekményesen új funkciókat hozhat létre a végfelhasználók számára. Először a felhasználói populáció egy kis százalékát célozhatja meg, és ezt a százalékos arányt fokozatosan növelheti az idő függvényében.
  • Azonnali leállítás kapcsoló: A funkciójelzők egy belső biztonsági hálót biztosítanak az új funkciók kiadásához. Az alkalmazásfunkciók be- és kikapcsolhatók anélkül, hogy újra üzembe helyezhetnek bármilyen kódot. Szükség esetén gyorsan letilthat egy funkciót az alkalmazás újraépítése és ismételt üzembe helyezése nélkül.
  • Szelektív aktiválás: Funkciójelzők használatával szegmentálta a felhasználókat, és adott funkciókat biztosít az egyes csoportoknak. Előfordulhat, hogy olyan funkciója van, amely csak egy bizonyos webböngészőben működik. Megadhat egy funkciójelzőt, hogy csak a böngésző felhasználói láthassák és használhassák a funkciót. Ezzel a módszerrel később egyszerűen kibonthatja a támogatott böngészőlistát anélkül, hogy bármilyen kódmódosítást kellene végrehajtania.

Alapfogalmak

Íme néhány új kifejezés a funkciókezeléshez:

  • Funkciójelző: A funkciójelző egy olyan változó, amelynek bináris állapota be- vagy ki van kapcsolva. A funkciójelölőhöz társított kódblokk is tartozik. A funkciójelző állapota aktiválja, hogy a kódblokk fut-e.
  • Funkciókezelő: A szolgáltatáskezelő egy alkalmazáscsomag, amely az alkalmazás összes funkciójelzőjének életciklusát kezeli. A funkciókezelő további funkciókat is biztosít, beleértve a funkciójelzők gyorsítótárazását és az állapotuk frissítését.
  • Szűrő: A szűrő egy funkciójelző állapotának kiértékelésére szolgáló szabály. A lehetséges szűrők közé tartoznak a felhasználói csoportok, az eszköz- vagy böngészőtípusok, a földrajzi helyek és az időablakok.

A funkciókezelés hatékony megvalósítása legalább két, összehangoltan működő összetevőből áll:

  • Funkciójelzőket használó alkalmazás.
  • Egy külön adattár, amely a funkciójelzőket és azok aktuális állapotát tárolja.

Funkciójelzők használata a kódban

A funkciójelzők alkalmazásbeli implementálásának alapszintű mintája egyszerű. A funkciójelölő egy logikai állapotváltozó, amely egy feltételes utasítást szabályoz a kódban:

if (featureFlag) {
    // Run the following code
}

A statikus érték featureFlag beállítható:

bool featureFlag = true;

A jelző állapotát bizonyos szabályok alapján értékelheti ki:

bool featureFlag = isBetaUser();

A feltételes feltételt kiterjesztve beállíthatja az alkalmazás viselkedését bármelyik állapothoz:

if (featureFlag) {
    // This following code will run if the featureFlag value is true
} else {
    // This following code will run if the featureFlag value is false
}

Funkciójelző-adattár

A funkciójelzők hatékony használatához ki kell külsőleg használnia az alkalmazásban használt összes funkciójelzőt. Ezzel a megközelítéssel anélkül módosíthatja a funkciójelző állapotát, hogy módosítaná és újra üzembe helyezi az alkalmazást.

Azure-alkalmazás Konfiguráció központosított adattárat biztosít a funkciójelzőkhöz. Segítségével különböző típusú funkciójelzőket definiálhat, és gyorsan és magabiztosan módosíthatja az állapotukat. Ezt követően az alkalmazáskonfigurációs kódtárak segítségével különböző programozási nyelvi keretrendszerekhez egyszerűen hozzáférhet ezekhez a funkciójelölőkhöz az alkalmazásból.

A ASP.NET Core-alkalmazások funkciójelzői bemutatják, hogyan használják együtt az alkalmazáskonfigurációs .NET-szolgáltatót és a szolgáltatásfelügyeleti kódtárakat a ASP.NET-webalkalmazás funkciójelzőinek implementálásához. A Azure-alkalmazás Configuration szolgáltatásjelzőiről az alábbi cikkekben talál további információt:

Következő lépések