Azure számítási lehetőség kiválasztása mikroszolgáltatásokhoz
A számítás kifejezés azon számítási erőforrások futtatási modelljére utal, amelyeken az alkalmazás fut. Ez a cikk előíró útmutatást nyújt a mikroszolgáltatásokhoz készült számítási platform kiválasztásához. A mikroszolgáltatás-számítási platform kiválasztása több árnyaltabb követelménytől függhet.
A mikroszolgáltatás-architektúrák esetében a következő megközelítések népszerűek:
- Mikroszolgáltatások üzembe helyezése dedikált számítási platformokon, jellemzően mikroszolgáltatás-vezénylő használatával.
- Mikroszolgáltatások üzembe helyezése kiszolgáló nélküli platformon.
Bár nem ezek a lehetőségek az egyetlenek, mindkettő bizonyított módszer a mikroszolgáltatások létrehozására. Az alkalmazások mindkét megközelítést tartalmazhatják.
Töltse le az architektúra Visio-fájlját.
Kiszolgáló nélküli platform használata
Kiszolgáló nélküli platformok használatával mikroszolgáltatásokat helyezhet üzembe az Azure Container Appsben vagy az Azure Functionsben. A Container Apps és a Functions egyaránt kiszolgáló nélküli számítási lehetőségeket biztosít, amelyek a kérések mennyisége alapján számláznak a számítási felhasználás helyett. Mindkét platform lehetővé teszi a számítási feladatok dedikált kapacitáson való üzemeltetését is.
Kódalapú mikroszolgáltatások üzembe helyezése
Ha a mikroszolgáltatásokat kódként szeretné üzembe helyezni a tároló helyett, érdemes lehet az Azure Functionst használnia. További információkért tekintse meg a Functions által támogatott programozási és szkriptelési nyelvek listáját. Más nyelveken fejlesztett mikroszolgáltatások esetén érdemes lehet egyéni kezelőt implementálni a Functionsben, vagy érdemes lehet tárolóba helyezni az alkalmazást.
GPU-modell használata
Ha a mikroszolgáltatás GPU-kapacitást igényel, például gépi tanulási feladatok futtatásához, fontolja meg a Container Apps vagy az Azure Kubernetes Service (AKS) kiválasztását a platformhoz. Az AKS bármilyen GPU-modellt használhat az Azure-ban, a Container Apps pedig a GPU-modellek egy részhalmazát kínálja.
Szolgáltatásvezénylők használata
A vezénylő kezeli a szolgáltatások egy csoportjának üzembe helyezésével és kezelésével kapcsolatos feladatokat. Ezek a feladatok közé tartozik a szolgáltatások üzembe helyezése a csomópontokon, a szolgáltatások állapotának figyelése, a nem megfelelő szolgáltatások újraindítása, a hálózati forgalom terheléselosztása a szolgáltatáspéldányok között, szolgáltatásfelderítés, a szolgáltatáspéldányok számának skálázása és a konfigurációs frissítések alkalmazása. A népszerű vezénylők közé tartozik a Kubernetes, az Azure Service Fabric, a DC/OS és a Docker Swarm.
Az Azure-platformon vegye figyelembe a következő lehetőségeket:
Az Azure Kubernetes Service (AKS) felügyelt Kubernetes-szolgáltatás. Az AKS kiépítja a Kubernetes-t, és elérhetővé teszi a Kubernetes API-végpontokat, üzemelteti és kezeli a Kubernetes vezérlősíkot, és automatizált frissítéseket, automatikus javításokat, automatikus skálázást és egyéb felügyeleti feladatokat hajt végre. Az AKS közvetlen hozzáférést biztosít a Kubernetes API-khoz.
A Container Apps a Kubernetesre épülő felügyelt szolgáltatás, amely absztrakciót végez a tárolóvezénylés és más felügyeleti feladatok összetettségén. A Container Apps leegyszerűsíti a tárolóalapú alkalmazások és mikroszolgáltatások kiszolgáló nélküli környezetben való üzembe helyezését és kezelését, miközben biztosítja a Kubernetes funkcióit. A Container Apps ideális olyan helyzetekben, amikor nincs szükség a Kubernetes API-khoz való közvetlen hozzáférésre.
A Service Fabric egy elosztott rendszerplatform mikroszolgáltatások csomagolására, üzembe helyezésére és kezelésére. Mikroszolgáltatásokat tárolóként, bináris végrehajtható fájlként vagy Reliable Servicesként helyezhet üzembe a Service Fabricben. A Reliable Services programozási modell használatával a szolgáltatások közvetlenül Használhatják a Service Fabric programozási API-kat a rendszer lekérdezéséhez, az állapotjelentéshez, a konfiguráció és a kódmódosítások értesítéseinek fogadásához, valamint egyéb szolgáltatások felderítéséhez.
Az Azure Red Hat OpenShift használatával teljes mértékben felügyelt OpenShift-fürtöket helyezhet üzembe. Az Azure Red Hat OpenShift kibővíti a Kubernetes-t. Az Azure Red Hat OpenShiftet a Red Hat és a Microsoft közösen tervezi, üzemelteti és támogatja.
Más lehetőségek, például a Docker Enterprise kiadás, az Azure-beli felhőalapú számítási környezetben is futtathatók. Üzembehelyezési sablonokat az Azure Marketplace-en találhat.
Kubernetes API-k használata
A Kubernetes API-khoz való hozzáférés gyakran döntő tényező a számítási lehetőség kiválasztásakor. Az AKS közvetlen hozzáférést biztosít a Kubernetes API-khoz, a Container Apps azonban nem. A Container Apps elrejti a Kubernetes összetettségeit, és leegyszerűsíti a tároló üzembe helyezését. Ha úgy tervezi meg a mikroszolgáltatás-üzembe helyezést, hogy közvetlenül kommunikáljon a Kubernetes API-kkal, az AKS lehet a megfelelő választás.
Egyéb döntési tényezők
Lehetnek más tényezők is, amelyek befolyásolják a mikroszolgáltatás számítási platformjának kiválasztását. Ezek közé tartoznak a szolgáltatásháló-beállítások, a platform méretezhetősége és a szervezeten belül esetleg használható képességkészletek.
Megfontolások
Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek halmaza. További információ: Microsoft Azure Well-Architected Framework.
Megbízhatóság
A megbízhatóság biztosítja, hogy az alkalmazás megfeleljen az ügyfelek felé vállalt kötelezettségeknek. További információkért tekintse meg a Megbízhatósági terv felülvizsgálati ellenőrzőlistát.
A megbízhatóság egyik fő pillére a rugalmasság. A rugalmasság célja, hogy egy hiba bekövetkezése után a számítási feladatot teljesen működőképes állapotba adja vissza.
Ha az Azure Functionst választja mikroszolgáltatás-számítási platformként, fontolja meg a Functions Premium-csomag vagy Azure-alkalmazás szolgáltatáscsomag zónaredundáns konfigurációban történő üzembe helyezését. További információ: Megbízhatóság a Functionsben.
Ha az AKS-t választja mikroszolgáltatás-számítási platformként, növelheti a mikroszolgáltatások megbízhatóságát egy rendelkezésre állási zónákat használó AKS-fürt üzembe helyezésével, az Azure Kubernetes-fürtök standard vagy prémium rétegének használatával, valamint a podok és csomópontok minimális számának növelésével. További információkért tekintse meg az AKS üzembe helyezési és fürt-megbízhatósági ajánlott eljárásait.
Ha a Container Appst választja mikroszolgáltatás-számítási platformként, a rendelkezésre állási zónák használatával növelheti a megbízhatóságot. További információ: Megbízhatóság a Container Appsben.
Biztonság
A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információkért lásd a Biztonsági terv felülvizsgálati ellenőrzőlistát.
Ha az Azure Functionst választja számítási platformként a mikroszolgáltatások üzembe helyezéséhez, az Azure Functions biztonságossá tételének alapelvei a mikroszolgáltatásokra is érvényesek.
Ha az AKS-t választja számítási platformként a mikroszolgáltatások üzembe helyezéséhez, az AKS biztonsági alaparchitektúrája útmutatást nyújt a számítási platform biztonságossá tételéhez. Az AKS mikroszolgáltatás-biztonságával kapcsolatos ajánlott eljárásokért tekintse meg az Advanced AKS mikroszolgáltatás-architektúrát.
Ha a Container Appst választja számítási platformként a mikroszolgáltatások üzembe helyezéséhez, tekintse meg a Container Apps biztonsági alapkonfigurációját a biztonsági ajánlott eljárásokhoz.
Költségoptimalizálás
A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információt a Költségoptimalizálás tervezési felülvizsgálati ellenőrzőlistájában talál.
Vezénylő használata esetén a fürtön futó virtuális gépekért kell fizetnie. Kiszolgáló nélküli alkalmazás használatakor csak a ténylegesen felhasznált számítási erőforrásokért kell fizetnie. Mindkét esetben figyelembe kell vennie a többletszolgáltatások, például a tárolás, az adatbázisok és az üzenetkezelési szolgáltatások költségeit.
Az Azure Functions, a Container Apps és az AKS automatikus méretezési lehetőségeket biztosít. A Container Apps and Functions kiszolgáló nélküli platformokat biztosít, ahol a költség a felhasználáson alapul, és nulla is lehet. Az AKS csak dedikált számítási lehetőségeket biztosít.
Ha az AKS-t választja számítási platformként a mikroszolgáltatások üzembe helyezéséhez, ismernie kell a költségoptimalizálás ajánlott eljárásait. További információ: Költségek optimalizálása az Azure Kubernetes Service-ben.
Ha a Container Appst választja mikroszolgáltatási számítási platformként, ismernie kell a különböző számlázási modelleket, és el kell döntenie a mikroszolgáltatások üzembehelyezési modelljét a számítási feladatok követelményei alapján. További információ: Számlázás a Container Appsben.
Ha az Azure Functionst választja mikroszolgáltatás-számítási platformként, ismernie kell a különböző számlázási modelleket, és el kell döntenie a Functions-csomagot a számítási feladatok követelményei alapján. További információt a fogyasztásalapú költségek becslése és az Azure Functions-csomag részletei című témakörben talál.
Működésbeli kiválóság
Az Operational Excellence azokat az üzemeltetési folyamatokat fedi le, amelyek üzembe helyeznek egy alkalmazást, és éles környezetben tartják azt. További információ: Az operatív kiválóság tervezési felülvizsgálati ellenőrzőlistája.
A jelen cikk által ismertetett összes mikroszolgáltatás-számítási lehetőséget automatikusan üzembe helyezheti a Terraform, a Bicep és más szkriptelési nyelvek használatával. Az Application Insights, az Azure Monitor és más monitorozási megoldások segítségével figyelheti ezeket a számítási platformokat és mikroszolgáltatásokat.
Vegye figyelembe a következő tényezőket, ha a vezénylői és a kiszolgáló nélküli megközelítés között választ:
Rugalmasság és vezérlés: A vezénylő segítségével szabályozhatja a szolgáltatások és a fürt konfigurálását és kezelését. A kompromisszum összetettebb. A kiszolgáló nélküli architektúra bizonyos fokú vezérlést ad meg, mert ezek a részletek absztrakcióra kerülnek.
Hordozhatóság: A cikkben felsorolt összes vezénylő, köztük a Kubernetes, a DC/OS, a Docker Swarm és a Service Fabric, a helyszínen vagy több nyilvános felhőben is futtatható.
Alkalmazásintegráció: Nehéz lehet olyan összetett alkalmazást létrehozni, amely kiszolgáló nélküli architektúrát használ, mivel számos kisebb, független függvényt kell koordinálnia, üzembe helyeznie és kezelnie. Az Azure-ban az egyik lehetőség az Azure Logic Apps használata az Azure-függvények egy halmazának koordinálására. Erre a megközelítésre példa: A Logic Appsbe integrálható függvény létrehozása.