A megfelelő integrációs és automatizálási szolgáltatások kiválasztása az Azure-ban
Ez a cikk összehasonlítja az alábbi Microsoft-felhőszolgáltatásokat:
- Microsoft Power Automate (a Microsoft Flow volt)
- Azure Logic Apps
- Azure Functions
- Azure App Service WebJobs
Mindegyik szolgáltatás megoldhatja az integrációs problémákat és automatizálhatja az üzleti folyamatokat. Mindegyik képes bemenet, műveletek, feltételek és kimenet meghatározására. Futtathatók ütemezve vagy eseményindítóval is. Minden szolgáltatásnak egyedi előnyei vannak, és ez a cikk ismerteti a különbségeket.
Feljegyzés
Ha általánosabb összehasonlítást keres az Azure Functions és más Azure számítási lehetőségek között:
- Az Azure számítási szolgáltatásának kiválasztási kritériumai
- Azure számítási lehetőség kiválasztása mikroszolgáltatásokhoz
Az azure-beli automatizálási szolgáltatási lehetőségek összegzése és összehasonlítása:
A Microsoft Power Automate és az Azure Logic Apps összehasonlítása
A Power Automate és az Azure Logic Apps egyaránt tervezői integrációs szolgáltatások, amelyek munkafolyamatokat hozhatnak létre. Mindkét szolgáltatás integrálható különféle SaaS- és vállalati alkalmazásokkal.
A Power Automate az Azure Logic Apps platformra épül. Mindkettő hasonló munkafolyamat-tervezőket és összekötőket biztosít.
A Power Automate minden irodai dolgozó számára lehetővé teszi, hogy egyszerű integrációkat (például egy SharePoint-dokumentumtár jóváhagyási folyamatát) hajtson végre anélkül, hogy a fejlesztők vagy az informaták végigmennek rajta. A Logic Apps speciális integrációkat (például B2B-folyamatokat) is lehetővé tehet, ahol nagyvállalati szintű Azure DevOpsra és biztonsági eljárásokra van szükség. Az üzleti munkafolyamatokra jellemző, hogy idővel egyre összetettebbé válnak.
Az alábbi táblázat segít meghatározni, hogy a Power Automate vagy a Logic Apps a legjobb-e egy adott integrációhoz:
Power Automate | Logic Apps | |
---|---|---|
Felhasználók | Irodai dolgozók, üzleti felhasználók, SharePoint-adminisztrátorok | Professzionális integrátorok és fejlesztők, informatikai szakemberek |
Forgatókönyvek | Önkiszolgálás | Speciális integrációk |
Tervezőeszköz | Böngészőbeli és mobilalkalmazás, kizárólag felhasználói felület | Böngészőben, Visual Studio Code és Visual Studio elérhető kódnézettel |
Alkalmazás-életciklus-kezelés (ALM) | A Power Platform olyan eszközöket biztosít, amelyek integrálhatók a DevOps és a GitHub Actions használatával, így automatizált folyamatokat hozhat létre az ALM-ciklusban. | Azure DevOps: forráskövetés, tesztelés, támogatás, automatizálás és kezelhetőség az Azure Resource Managerben |
Rendszergazdai felület | Power Automate-környezetek és adatveszteség-megelőzési (DLP-) szabályzatok kezelése, licencelés nyomon követése: Felügyeleti központ | Erőforráscsoportok, kapcsolatok, hozzáférés-kezelés és naplózás kezelése: Azure Portal |
Biztonság | Microsoft 365 biztonsági auditnaplók, DLP, inaktív titkosítás bizalmas adatokhoz | Az Azure biztonsági garanciái: Azure security, Felhőhöz készült Microsoft Defender, auditnaplók |
Az Azure Functions és az Azure Logic Apps összehasonlítása
A Functions és a Logic Apps egy Azure-szolgáltatás, melyek kiszolgáló nélküli feladatokhoz nyújtanak támogatást. Az Azure Functions egy kiszolgáló nélküli számítási szolgáltatás, míg az Azure Logic Apps kiszolgáló nélküli munkafolyamat-integrációs platform. Mindkettő összetett vezényléseket hozhat létre. A vezénylés olyan függvények vagy műveletek gyűjteménye az Azure Logic Appsben, amelyeket egy összetett feladat elvégzéséhez futtathat. Egy rendelésköteg feldolgozásához például előfordulhat, hogy egy függvény számos példányát párhuzamosan hajtja végre, megvárja, amíg az összes példány befejeződik, majd végrehajt egy függvényt, amely kiszámítja az eredményt az összesítésen.
Az Azure Functions esetében a vezénylések fejlesztéséhez kódot kell írnia a Durable Functions bővítmény segítségével. Az Azure Logic Apps esetében grafikus felhasználói felület használatával vagy konfigurációs fájlok szerkesztésével hozhat létre vezényléseket.
Vezénylés létrehozásakor kombinálhatja és egyeztetheti a szolgáltatásokat, például meghívhat függvényeket logikai alkalmazás-munkafolyamatokból, és meghívhatja a logikai alkalmazás munkafolyamatait a függvényekből. A vezénylések építésének módját a szolgáltatások képességei és a személyes preferenciái szerint választhatja ki. Az alábbi táblázat néhány fő különbséget sorol fel a szolgáltatások között:
Tartós függvények | Azure Logic Apps | |
---|---|---|
Fejlesztés | Kódközpontú (imperatív) | Tervezőközpontú (deklaratív) |
Kapcsolatok | Számos beépített kötési típus, egyéni kötések létrehozása kód írásával | Nagyszámú beépített összekötők, Enterprise Integration Pack csomag B2B-forgatókönyvekhez, egyéni összekötők létrehozása |
Műveletek | Minden tevékenység egy Azure-függvény; kód írásával hozhat létre tevékenységfüggvényeket | Használatra kész műveletek széles választéka |
Figyelés | Azure Application Insights | Azure Portal, Azure Monitor-naplók, Felhőhöz készült Microsoft Defender |
Felügyelet | REST API, Visual Studio | Azure Portal, REST API, PowerShell, Visual Studio |
Végrehajtási környezet | Futtatható helyileg vagy a felhőben | Az Azure-ban, helyileg vagy a helyszínen fut. További információ: Mi az Az Azure Logic Apps? |
A Functions és a WebJobs összehasonlítása
Ugyanúgy, mint az Azure Functions, az Azure App Service WebJobs a WebJobs SDK-val is olyan integrációs szolgáltatás, ahol a kód a kiindulási pont, és mindkettőt fejlesztők részére tervezték. Mindkettő az Azure App Service szolgáltatásra épül, és támogatják többek között a következő funkciókat: verziókövetés integrálása, hitelesítés és Application Insights-integrációs monitorozás.
A WebJobs és a WebJobs SDK
Az App Service WebJobs funkciójával szkriptet vagy kódot futtathat egy App Service-webalkalmazás kontextusában. A WebJobs SDK egy, a WebJobshoz tervezett keretrendszer, amely leegyszerűsíti az Azure-szolgáltatások válaszadására írt kódokat. Egy, az Azure Storage-ban létrehozott képblobra például válaszolhat egy miniatűr létrehozásával. A WebJobs SDK .NET-konzolalkalmazásként fut, amelyet üzembe helyezhet egy WebJobon.
A WebJobs és a WebJobs SDK együtt működnek a leghatékonyabban, de használhatja az egyiket a másik nélkül is. A WebJobs képes bármilyen programot vagy szkriptet futtatni, amely képes futni az App Service tesztkörnyezetben. A WebJobs SDK-konzolalkalmazások bárhol futtathatók, ahol konzolalkalmazások futtathatók, például a helyszíni kiszolgálókon.
Összehasonlító táblázat
Az Azure Functions a WebJobs SDK-ra épül, így sok, más Azure-szolgáltatásokkal közös eseményindítóval és kapcsolattal rendelkezik. Az Alábbiakban néhány tényezőt érdemes figyelembe venni, amikor az Azure Functions és a WebJobs SDK között választ:
Függvények | WebJobs WebJobs SDK-val | |
---|---|---|
Kiszolgáló nélküli alkalmazásmodellautomatikus skálázással | ✔ | |
Fejlesztése és tesztelés böngészőben | ✔ | |
Használatalapú fizetés | ✔ | |
Integráció a Logic Apps szolgáltatással | ✔ | |
Eseményindítók | Időzítő Azure Storage üzenetsorok és blobok Azure Service Bus – üzenetsorok és témakörök Azure Cosmos DB Azure-eseményközpontok HTTP/WebHook (GitHub, Slack) Azure Event Grid |
Időzítő Azure Storage üzenetsorok és blobok Azure Service Bus – üzenetsorok és témakörök Azure Cosmos DB Azure-eseményközpontok Fájlrendszer |
Támogatott nyelvek | C# F# JavaScript Java Python PowerShell |
C#1 |
Csomagkezelők | npm és NuGet | NuGet2 |
1 WebJobs (a WebJobs SDK nélkül) olyan nyelveket támogat, mint a C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python stb. A WebJobs képes bármilyen programot vagy szkriptet futtatni, amely képes futni az App Service tesztkörnyezetben.
A 2 WebJobs (a WebJobs SDK nélkül) támogatja az npm-et és a NuGetet.
Összegzés
Az Azure Functions nagyobb fejlesztői hatékonyságot biztosít, mint Azure-alkalmazás Service WebJobs. Emellett további lehetőségeket is kínál a programozási nyelvekhez, a fejlesztési környezetekhez, az Azure-szolgáltatások integrációjához és a díjszabáshoz. A legtöbb forgatókönyvhöz ez a legjobb választás.
Az alábbiakban két olyan forgatókönyvet láthat, amelyekhez a WebJobs lehet a legjobb választás:
- Az eseményekre figyelő kódok nagyobb mértékű felügyeletére van szüksége –
JobHost
objektum. A Functions korlátozott számú módszert biztosít aJobHost
-viselkedés a host.json fájlban való testreszabására. Néha olyan műveletekre lehet szüksége, amelyek nem adhatók meg egy JSON-fájlbeli sztringben. Például csak a WebJobs SDK teszi lehetővé egyéni újrapróbálkozási szabályzat konfigurálását az Azure Storage-ban. - Van egy App Service-alkalmazása, amelyhez kódrészleteket szeretne futtatni, és közösen szeretné őket kezelni ugyanabban az Azure DevOps-környezetben.
Minden egyéb olyan forgatókönyv esetén, ahol kódrészletek futtatásával kíván Azure- vagy külső szolgáltatásokat integrálni, válassza az Azure Functionst a WebJobs és WebJobs SDK helyett.
A Power Automate, a Logic Apps, a Functions és a WebJobs együttes használata
Nem kell csak egyet választania ezek közül a szolgáltatások közül. Integrálhatók egymással és külső szolgáltatásokkal.
A Power Automate-folyamatok meghívhatnak egy Azure Logic Apps-munkafolyamatot. Az Azure Logic Apps-munkafolyamatok meghívhatnak egy függvényt az Azure Functionsben, és fordítva. Lásd például az Azure Logic Appsszel integrálható függvények létrehozását.
A Power Automate, a Logic Apps és a Functions között a szolgáltatások közötti integrációs élmény idővel tovább javul. Egy összetevőt egy szolgáltatásban hozhat létre, és ezt az összetevőt használhatja a többi szolgáltatásban.
Az integrációs szolgáltatásokról az alábbi hivatkozásokon kaphat további információt:
- Christopher Anderson: Leveraging Azure Functions & Azure App Service for integration scenarios (Az Azure Functions és az Azure App Service használata integrációs forgatókönyvekhez)
- Charles Lamanna: Integrations Made Simple (Integráció egyszerűen)
- Logic Apps Live webcast
- A Power Automate gyakori kérdései
Következő lépések
Első lépésként hozza létre az első folyamatot, a logikai alkalmazás munkafolyamatát vagy a függvényalkalmazást. Válassza ki az alábbi hivatkozások bármelyikét: