Azure Functions hibrid környezetben

Azure Functions
Azure Monitor
Azure Pipelines
Azure Storage
Azure Virtual Network

Ez a referenciaarchitektúra egy földrajzilag elosztott szervezet több helyi ágát mutatja be. Minden hely egy Microsoft Azure-függvényalkalmazást használ, amely a Prémium csomaggal van konfigurálva egy közeli felhőrégióban. Az architektúra fejlesztői egyetlen ablaktáblaként az Azure Monitor használatával figyelik az összes Azure-függvényalkalmazást.

Architektúra

Az ábra több helyi virtuális gépet (virtuális gépet) mutat be, amelyek különböző régiókban csatlakoznak az Azure Functionshez. A fejlesztők az Azure Monitor használatával figyelik a függvényalkalmazásaikat.

Töltse le az architektúra Visio-fájlját.

Összetevők

Az architektúra az alábbi összetevőkből áll:

  • Azure Functions-függvények. Az Azure Functions egy kiszolgáló nélküli platform szolgáltatásként (PaaS) az Azure-ban, amely kis méretű, egyfeladatos kódot futtat anélkül, hogy új infrastruktúrát kellene létrehozni. Az Azure Functions Premium-csomag lehetővé teszi az Azure Functions privát kommunikációját egy virtuális hálózaton keresztül.
  • Azure Virtual Network. Az Azure-beli virtuális hálózatok az Azure-felhőplatformra épülő magánhálózatok, így az Azure-erőforrások biztonságos módon kommunikálhatnak egymással. Az Azure-beli virtuális hálózatok szolgáltatásvégpontjai biztosítják, hogy az Azure-erőforrások csak a biztonságos virtuális hálózat gerincén keresztül kommunikálhassanak.
  • Helyszíni hálózat. Ebben az architektúrában a szervezet létrehozott egy biztonságos magánhálózatot, amely összeköti a különböző ágakat. Ez a magánhálózat helyek közötti kapcsolattal csatlakozik az Azure-beli virtuális hálózatához.
  • Fejlesztői munkaállomások. Ebben az architektúrában az egyes fejlesztők teljes mértékben a biztonságos magánhálózaton vagy bármely távoli helyről dolgozhatnak az Azure Functions kódján. Mindkét esetben a fejlesztők hozzáférhetnek az Azure Monitorhoz a függvényalkalmazások metrikáinak és naplóinak lekérdezéséhez vagy megfigyeléséhez.

Forgatókönyv részletei

Az architektúra gyakori használati módjai többek között a következők:

  • Az Azure Functions szolgáltatással való kommunikációhoz számos fizikai hellyel rendelkező szervezetek, amelyek egy Azure-beli virtuális hálózathoz csatlakoznak.
  • Nagy növekedésű számítási feladatok, amelyek helyileg használják az Azure Functionst, és fenntartják az Azure használatát a váratlan munkakitörések esetén.

Ajánlások

Az alábbi javaslatok a legtöbb forgatókönyvre vonatkoznak. Kövesse ezeket a javaslatokat, ha nincsenek ezeket felülíró követelményei.

Kiszolgáló nélküli architektúra tervezése

A hagyományos vállalati alkalmazások trendje egy monolitikus alkalmazásarchitektúra felé, amelyben egy kód "megoldás" futtatja a teljes szervezet üzleti logikáját. Az Azure Functions esetében az ajánlott eljárás egy kiszolgáló nélküli architektúra tervezése, amelyben az egyes függvények egyetlen feladatot hajtanak végre. Ezeket az önálló feladatokat úgy tervezték, hogy gyorsan fussanak, és nagyobb munkafolyamatokba integrálhatók legyenek.

Az Azure Functions kiszolgáló nélküli architektúrája számos előnnyel rendelkezik, például:

  • Az alkalmazások automatikusan méretezhetők az egyes üzleti függvények szerint a teljes megoldás skálázása helyett. Ez segíthet a költségek csökkentésében azáltal, hogy csak az egyes tevékenységekhez szükséges skálázást végzi a meglévő számítási feladatok kiszolgálásához.
  • Az Azure Functions deklaratív kötéseket biztosít számos Azure-szolgáltatáshoz, csökkentve a csapatnak az íráshoz, teszteléshez és karbantartáshoz szükséges kód mennyiségét.
  • Az egyes függvények újra felhasználhatók, csökkentve a nagyvállalati megoldásokhoz szükséges ismétlődő kód mennyiségét.

Az Azure Functions helyszíni futtatása

Dönthet úgy, hogy az Azure Functionst nem az Azure-ban, hanem a helyszínen futtatja; például:

  • Előfordulhat, hogy a csapat egy meglévő helyszíni Kubernetes-telepítésen belül szeretné futtatni az Azure Functionst.
  • A fejlesztés során a csapat könnyebben fejleszthet helyileg a parancssori felülettel a portálon belüli szerkesztő helyett.
  • A függvények helyileg fognak futni a helyszíni virtuális gépekre telepített eszközkészlettel.

Az Azure Functionst a helyszínen három módon futtathatja:

Hálózati kapcsolat

A függvényalkalmazások Premium-csomaggal történő létrehozása lehetővé teszi az Azure-beli virtuális hálózatok, az Azure és a helyszíni hálózatok, valamint az egyes helyszíni ágak hálózatai közötti magas szintű hálózatközi kapcsolatok lehetőségét.

Helyek közötti vagy Azure ExpressRoute-kapcsolatot kell használnia az Azure Virtual Network és a helyszíni hálózatok között. Ez lehetővé teszi, hogy a helyszíni ágak a szolgáltatásvégpontok használatával kommunikáljanak az Azure-beli függvényalkalmazásokkal.

Emellett az Azure-ban minden egyes virtuális hálózatnak virtuális hálózatok közötti társviszony-létesítést is kell használnia az egyes függvényalkalmazások közötti kommunikáció régiók közötti engedélyezéséhez.

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.

Méretezhetőség

  • Az Azure Functions-kódot úgy kell megtervezni, hogy végtelenül skálázható legyen. Fontolja meg a versenyfeltételeket, a bérelt fájlokat és az egyéb számítási feladatokat, amelyek miatt az egyik függvény futtatása blokkolhatja a másikat. Fontolja meg az összes Azure Functions-kód állapot nélküli és védekező írását is.
  • Az Azure Storage-fiókokat eseményindítókban vagy kötésekben használó függvényalkalmazások esetében ne használja újra ugyanazt a fiókot, amely a függvényalkalmazások és a futtatások metaadatainak tárolására szolgál.

Elérhetőség

  • A használati csomagban lévő Azure Functions általában nulla példányra skálázható le. Amikor egy új esemény elindít egy függvényalkalmazást, létre kell hoznia egy új példányt a rajta futó kóddal. A folyamathoz társított késést hideg kezdésnek nevezzük. Az Azure Functions Premium-csomag lehetővé teszi az előre felmelegített példányok konfigurálását, amelyek készen állnak az új kérésekre. Az előmelegített példányok számát a vertikális felskálázási konfigurációban szereplő példányok minimális számára konfigurálhatja.
  • Fontolja meg több Prémium csomag több régióban való használatát, és az Azure Traffic Manager használatával a kérések megfelelő irányítását.

Kezelhetőség

  • Az Azure Functionsnek egy üres alhálózatban kell lennie, amely más alhálózat, mint a többi Azure-erőforrás. Ez nagyobb tervezést igényelhet a virtuális hálózat alhálózatainak tervezésekor.
  • Érdemes lehet proxykat létrehozni minden olyan helyszíni erőforráshoz, amelyhez az Azure Functionsnek hozzá kell férnie. Ez megvédheti az alkalmazás integritását a nem várt helyszíni hálózati változásoktól.
  • Az Azure Monitor használatával megfigyelheti az Azure Functions elemzéseit és naplóit a teljes megoldásban.

DevOps

  • Ideális esetben az üzembehelyezési műveleteknek egyetlen csapatból (Dev vagy DevOps) kell származnia, nem pedig minden egyes ágból. Fontolja meg egy modern munkafolyamat-rendszer, például az Azure Pipelines vagy a GitHub Actions használatát a függvényalkalmazások megismételhető üzembe helyezéséhez az összes Azure-régióban és potenciálisan a helyszínen.
  • A munkafolyamat-rendszer használatával automatizálhatja a kód Azure Functionsbe való ismételt üzembe helyezését, mivel a kód frissül és fel van címkézve a kiadáshoz.
  • Üzembehelyezési pontok használatával tesztelheti az Azure Functionst a végső éles leküldés előtt.

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ó: A költségoptimalizálási pillér áttekintése.

  • Az Azure díjkalkulátorával megbecsülheti költségeit.
  • Az Azure Functions Premium-csomag szükséges az Azure Virtual Network-kapcsolathoz, a privát helyhozzáféréshez, a szolgáltatásvégpontokhoz és az előmelegített példányokhoz.
  • Az Azure Functions Premium-csomag a használat helyett a példányokra számlál. Az egyetlen példány minimuma biztosítja, hogy legalább egy havi számla fusson nélkül is. A példányok maximális számát úgy állíthatja be, hogy szabályozni tudja az olyan számítási feladatok költségeit, amelyek mérete kirobbanhat.

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerző:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések

Tekintse meg az Azure Functions következő architekturális útmutatóját:

Tekintse meg az azure-beli virtuális hálózatokra vonatkozó alábbi architekturális útmutatót: