Co je Azure Functions?

Dokončeno

Sledujete webový tým Společnosti Tailspin Space Game, který popisuje, jak nejlépe zajistit nové marketingové požadavky řízené správou. Tým potřebuje do procesu DevOps integrovat některé bezserverové technologie, konkrétně Azure Functions.

Pojďme se podívat za týmem.

Nové požadavky

Irwin: Díky za schůzku na tak krátkém oznámení. Věci jsou vyhřívání a marketingový tým udělal nějaké sliby, které by mohly komplikovat věci pro všechny z nás. Opravdu se jim líbí naše stránky. Myslí si, že tabulku výsledků lze použít k propagaci hry, když míříme k poslednímu startu a nad rámec. Chtějí ho škálovat mimo to, co jsme původně naplánovali.

Mara: To je skvělé, že? Pracujeme v Azure, abychom mohli škálovat službu podle potřeby.

Irwin: Jen chtějí, aby kdokoli mohl integrovat data tabulky výsledků do svých vlastních aplikací. Myslí si, že by bylo opravdu skvělé mít stejné možnosti žebříčku na našich stránkách, ve hře, na herních revizích a dokonce i na externí blogy a osobní weby. Jednou z výzev je, že tým herního stroje aktuálně vlastní produkční databázi, ze které načítáme data z tabulky výsledků. Myslí si, že by měli vytvářet a vlastnit rozhraní API.

Andy: Mara, máte nějaké myšlenky?

Mara: Jsem si jistá, že můžeme něco přijít. Tady jsou moje poznámky:

  • Potřebujeme rychle dodat, abychom našli řešení, kde můžeme používat náš kód a dovednosti.
  • Potřebujeme refaktorovat malou část funkcí do nezávislé služby.
  • Musíme minimalizovat administrativní režii v produkčním prostředí.
  • Musíme mít obrovský rozsah, aniž bychom se zavázali k masivnímu závazku.

Tým se dohodne.

Funguje na mém počítači

Schůzka se rozešla. Příští ráno andy nadšeně vyskočí do kanceláře Mara pro improvizovanou chatu.

Andy: Mám to! Našel jsem řešení, které splňuje všechny naše požadavky na rozhraní API pro tabulku výsledků. Jedná se o bezserverovou nabídku s názvem Azure Functions.

Mara: To je skvělé! Jak dlouho, než budeme mít něco, co můžeme demo?

Andy: Už jsem něco vytáhl. Rozvětvoval jsem naše úložiště GitHubu a refaktoroval kód tabulky výsledků do nového projektu Azure Functions. Zpřístupňuje data tabulky výsledků prostřednictvím jednoduchého požadavku HTTP GET. Aktualizoval(a) jsem také web tak, aby používal tento koncový bod při žádosti o tabulku výsledků a někdo jiný může udělat totéž.

Mara: Zní to přesně tak, co potřebujeme. Můžu pomoct rozšířit stávající kanál CI/CD tak, aby podporoval vytváření a nasazování, jako je tomu u hlavního projektu webu.

Poznámka:

V tomto modulu se nezaměříme na to, jak připojit aplikaci ke službě Azure Functions. Pokud vás zajímá, můžete si projít zdrojový kód. Kód používá modul runtime Azure Functions pro jazyk C# ke čtení dat tabulky výsledků ze služby Azure Functions.

Co je Azure Functions?

Azure Functions je specifická nabídka v širším spektru bezserverových výpočetních technologií Azure. Poskytuje vývojářům snadný způsob vytváření jednoduchých funkcí, které existují v bezstavovém bezserverovém prostředí. Funkce se dají aktivovat různými metodami, jako jsou požadavky HTTP, změny dat v úložišti, příjem zprávy z fronty a další. Další informace o vazbách triggerů najdete v konceptech triggerů a vazeb Azure Functions.

Tým Tailspin pro tento scénář vybral Službu Azure Functions, protože splňoval všechny její potřeby:

  • Potřebujeme rychle dodat, abychom našli řešení, kde můžeme používat náš kód a dovednosti.
    • Řešení můžeme rychle sestavit jako aplikaci ASP.NET Core, která používá kód, který už máme.
  • Potřebujeme refaktorovat malou část funkcí do nezávislé služby.
    • Můžeme dodat nezávislou funkci bez jiné plochy aplikace, na které bychom se mohli starat.
  • Musíme minimalizovat administrativní režii v produkčním prostředí.
    • Azure Functions eliminuje potřebu starat se o hostování prostředí.
  • Musíme mít obrovský rozsah, aniž bychom se zavázali k masivnímu závazku.
    • Bezserverové technologie mají prakticky neomezené škálování, které se může automaticky zvýšit a snížit rychleji než virtuální počítače nebo aplikační služby.

Azure Functions a další bezserverové technologie nejsou vždy vhodné pro každé řešení. Později probereme, kde najdete zdroje informací, které vám pomůžou vybrat správnou technologii pro tuto úlohu.

Prověřte si své znalosti

1.

Který z těchto projektů je vhodným kandidátem na bezserverovou architekturu?

2.

Který z následujících důvodů není dobrým důvodem pro použití Azure Functions?

3.

Který z následujících způsobů, jak přímo aktivovat aplikaci Azure Functions, není podporovaný?