Mi az Azure Functions?
- 7 perc
Kövesse a Tailspin Space Game webes csapatát, mivel megvitassák, hogyan lehet a legjobban teljesíteni a vezetőség által vezérelt új marketingkövetelményeket. A csapatnak integrálnia kell néhány kiszolgáló nélküli technológiát, különösen az Azure Functionst a DevOps-folyamatba.
Kapcsolatba léphet a csapattal.
Az új követelmények
Irwin: Köszönöm, hogy ilyen rövid időn belül találkozunk. A dolgok felmelegednek, és a marketing csapat tett néhány ígéretet, ami megnehezítheti a dolgokat mindannyiunk számára. Nagyon szeretik a webhelyünket. Úgy vélik, hogy a ranglista használható a játék népszerűsítésére, ahogy közeledünk a végső indításhoz és az azt követő időszakhoz. Azt akarják, hogy sokkal inkább kibővítsék, mint amit eredetileg terveztünk.
Mara: Ez nagyszerű, ugye? Az Azure-ban vagyunk, így igény szerint skálázhatjuk a szolgáltatást.
Irwin: Csak azt szeretnék, hogy bárki integrálhassa a ranglista adatait a saját alkalmazásaiba. Úgy gondolják, hogy nagyon jó lenne, ha ugyanazokat a ranglista-lehetőségeket kínálnánk a webhelyünkön, a játékban, a játék-felülvizsgálati webhelyeken, és még a külső blogokon és személyes webhelyeken is. Az egyik kihívás az, hogy a játékmotor csapata jelenleg a gyártási adatbázis tulajdonosa, amelyből a ranglista adatokat szerezzük. Úgy vélik, hogy nekik kell felépíteniük és birtokolniuk az API-t.
Andy: Mara, van valami gondolatod?
Mara: Biztos vagyok benne, hogy elő tudunk jönni valamit. A jegyzeteim a következők:
- Gyorsan kell teljesítenünk, ezért olyan megoldást kell találnunk, ahol használhatjuk a kódunkat és a képességeinket.
- Át kell alakítanunk egy kis funkcionalitást egy független szolgáltatásba.
- Minimálisra kell csökkentenünk az adminisztratív terheket a gyártásban.
- Nagy léptékűre kell lépnünk anélkül, hogy nagy elkötelezettséget vállalnánk.
A csapat egyetért.
Működik a gépemen
Az értekezlet megszakad. Másnap reggel Andy izgatottan beugrik Mara irodájába egy rögtönzött csevegésre.
Andy: Megvan! Találtam egy megoldást, amely megfelel a ranglista API minden követelményének. Ez egy Azure Functions nevű kiszolgáló nélküli ajánlat.
Mara: Az nagyszerű! Mennyi ideig tart, amíg van valami, amit le tudunk demózni?
Andy: Már kijavítottam valamit. Elágaztattam a GitHub-adattárat, és átalakítottam a ranglista kódját egy új Azure Functions-projektben. A ranglista adatait egy egyszerű HTTP GET-kéréssel teszi elérhetővé. Frissítettem a webhelyet is, hogy ezt a végpontot használhassam a ranglista kérésekor, és bárki más is megteheti ugyanezt.
Mara: Ez pontosan úgy hangzik, mint amire szükségünk van. Segíthetek kiterjeszteni a meglévő CI/CD-folyamatot, hogy támogassam annak kiépítését és üzembe helyezését, ahogyan a fő telephely projektje esetében tesszük.
Jegyzet
Ez a modul nem arra összpontosít, hogyan csatlakoztathatja az alkalmazást az Azure Functionshez. Ha érdekli, tekintse át a forráskódot. A kód a C# Azure Functions-futtatókörnyezetével olvassa be a ranglista adatait az Azure Functionsből.
Mi az Azure Functions?
Az Azure Functions egy konkrét ajánlat az Azure kiszolgáló nélküli számítási technológiáinak szélesebb spektrumán belül. Segítségével a fejlesztők egyszerűen készíthetnek olyan egyszerű függvényeket, amelyek állapot nélküli, kiszolgáló nélküli környezetben léteznek. A függvények különböző módszerekkel aktiválhatók, például HTTP-kérések, a tárolóban lévő adatok módosítása és üzenetsorból érkező üzenetek fogadása. Az Azure Functions eseményindítók és kötések koncepciói részben további információkat találhat az eseményindító kötésekről.
A Tailspin csapata azért választotta ki az Azure Functionst ehhez a forgatókönyvhöz, mert minden igényüknek megfelel:
- Gyorsan kell teljesítenünk, ezért olyan megoldást kell találnunk, ahol használhatjuk a kódunkat és a képességeinket.
- A megoldást gyorsan elkészíthetjük egy ASP.NET Core-alkalmazásként, amely már rendelkezik kóddal.
- Át kell alakítanunk egy kis funkcionalitást egy független szolgáltatásba.
- Olyan független függvényt tudunk biztosítani, amely nem rendelkezik más alkalmazásfelülettel, amely miatt aggódnia kell.
- Minimálisra kell csökkentenünk az adminisztratív terheket a gyártásban.
- Az Azure Functions megszünteti az aggodalmat az üzemeltetési környezetek miatt.
- Nagy léptékűre kell lépnünk anélkül, hogy nagy elkötelezettséget vállalnánk.
- A kiszolgáló nélküli technológiák gyakorlatilag korlátlan méretűek, amelyek automatikusan gyorsabban fel- és lecsúszhatnak, mint a virtuális gépek vagy az appszolgáltatások.
Az Azure Functions és más kiszolgáló nélküli technológiák nem mindig megfelelőek minden megoldáshoz. Később megtudhatja, hol találhat erőforrásokat a feladathoz megfelelő technológia kiválasztásához.