Provoz aplikací bezserverových funkcí

Tento článek popisuje důležité informace o provozu Azure pro bezserverové aplikace Functions. Aby pracovníci provozního oddělení mohli podporovat aplikace Functions, musí:

  • Seznamte se s konfiguracemi hostování a implementujte je.
  • Budoucí škálovatelnost díky automatizaci zřizování infrastruktury
  • Udržujte provozní kontinuitu splněním požadavků na dostupnost a zotavení po havárii.

Plánování

Pokud chcete plánovat operace, porozumět úlohám a jejich požadavkům a pak navrhnout a nakonfigurovat nejlepší možnosti pro požadavky.

Volba možnosti hostování

Modul Azure Functions Runtime poskytuje flexibilitu při hostování. K určení nejvhodnější volby pro vaše požadavky použijte tabulku porovnání plánů hostování .

  • Azure Functions plány hostování

    Každý Azure Functions projekt nasazuje a běží ve své vlastní aplikaci Functions, což je jednotka škálování a nákladů. Tři plány hostování dostupné pro Azure Functions jsou plán Consumption, Plán Premium a Vyhrazený (App Service). Plán hostování určuje chování škálování, dostupné prostředky a podporu pokročilých funkcí, jako je připojení k virtuální síti.

  • Azure Kubernetes Service (AKS)

    Funkce založené na Kubernetes poskytují modul runtime funkcí v kontejneru Dockeru se škálováním řízeným událostmi prostřednictvím automatického škálování založeného na událostech (KEDA) založeného na Kubernetes.

Další informace o plánech hostování najdete tady:

Principy škálování

Bezserverové plány hostování Consumption a Premium se automaticky škálují a přidávají a odebírat Azure Functions hostitelských instancí na základě počtu příchozích událostí. Škálování se může lišit v několika dimenzích a chovat se odlišně podle plánu, triggeru a jazyka kódu.

Další informace o škálování najdete tady:

Vysvětlení a řešení studených startů

Pokud se počet instancí hostitelů škáluje na nulu, má další požadavek vyšší latenci restartování aplikace funkcí, která se označuje jako studený start. Studený start je rozsáhlým diskusním bodem pro bezserverové architektury a nejednoznačným bodem pro Azure Functions.

Plán hostování Premium zabraňuje studeným startům tím, že udržuje některé instance v teple. Omezení závislostí a použití asynchronních operací v aplikaci Functions také minimalizuje dopad studených startů. Požadavky na dostupnost ale můžou vyžadovat spuštění aplikace ve vyhrazeném plánu hostování s povolenou funkcí AlwaysOn . Plán Dedicated používá vyhrazené virtuální počítače, takže není bezserverový.

Další informace o studeném startu najdete v tématu Principy bezserverového studeného startu.

Určení důležitých aspektů úložiště

Každá aplikace Azure Functions spoléhá na Azure Storage při operacích, jako je správa triggerů a spouštění funkcí protokolování. Při vytváření aplikace Functions musíte vytvořit nebo propojit účet Azure Storage pro obecné účely, který podporuje úložiště objektů blob, front a tabulek. Další informace najdete v tématu Důležité informace o úložišti pro službu Azure Functions.

Identifikace aspektů návrhu sítě

Možnosti sítě umožňují aplikaci Functions omezit přístup nebo přístup k prostředkům bez použití internetových směrovatelných adres. Plány hostování nabízejí různé úrovně izolace sítě. Zvolte možnost, která nejlépe vyhovuje vašim požadavkům na izolaci sítě. Další informace najdete v tématu Azure Functions možnosti sítě.

Výroba

Pokud chcete aplikaci připravit na produkční prostředí, ujistěte se, že můžete snadno znovu nasadit plán hostování a použít pravidla škálování na více instancí.

Automatizace zřizování plánů hostování

S infrastrukturou jako kódem můžete automatizovat zřizování infrastruktury. Automatické zřizování poskytuje větší odolnost během havárií a větší flexibilitu pro rychlé opětovné nasazení infrastruktury podle potřeby.

Další informace o automatizovaném zřizování najdete tady:

Konfigurace možností horizontálního navýšení kapacity

Automatické škálování poskytuje správné množství spuštěných prostředků pro zpracování zatížení aplikace. Automatické škálování přidává prostředky pro zvládnutí zvýšeného zatížení a šetří peníze odebráním nečinných prostředků.

Další informace o možnostech automatického škálování najdete tady:

Optimalizace

Když je aplikace v produkčním prostředí, ujistěte se, že:

  • Plán hostování se může škálovat tak, aby splňoval požadavky aplikací.
  • Existuje plán provozní kontinuity, dostupnosti a zotavení po havárii.
  • Můžete monitorovat stav hostování a aplikací a přijímat upozornění.

Implementace požadavků na dostupnost

Azure Functions spustit v konkrétní oblasti. Pokud chcete získat vyšší dostupnost, můžete nasadit stejnou aplikaci Functions do několika oblastí. Ve více oblastech můžou funkce běžet ve vzoru dostupnosti aktivní-aktivní nebo aktivní-pasivní .

Další informace o dostupnosti Azure Functions a zotavení po havárii najdete tady:

Monitorování protokolování, monitorování aplikací a upozorňování

Application Insights a protokoly ve službě Azure Monitor automaticky shromažďují data protokolů, výkonu a chyb a detekují anomálie výkonu. Azure Monitor obsahuje výkonné analytické nástroje, které vám pomůžou diagnostikovat problémy a porozumět používání funkcí. Application Insights pomáhá neustále zlepšovat výkon a použitelnost.

Další informace o monitorování a analýze výkonu Azure Functions najdete tady:

Další kroky