Azure Functions ist eine Serverless-Computing-Lösung, mit der Sie beliebige Funktionen auf Microsofts Cloudplattform Azure programmieren und ausführen können. Beim Serverless Computing stellt Ihnen der Cloud-Anbieter – hier: Microsoft – Rechenleistung und andere Ressourcen zur Verfügung, weshalb Sie keine eigene Serverhardware benötigen, sondern „serverless“ (englisch: ohne eigene Server) arbeiten können. Das Serverless Computing ist ein Teilgebiet von Function-as-a-Service (FaaS), also der grundsätzlichen Auslagerung von Funktionen in die Cloud. Im Unterschied zum Cloudmodell Platform-as-a-Service (PaaS) installieren Sie hier keine Anwendungen auf einer vom Provider bereitgestellten Betriebssystem-Infrastruktur, sondern führen ihre Funktionen direkt in der Cloud aus. Mit Azure Functions können Sie beispielsweise die Weiterleitung und Bearbeitung von eingehenden Mails automatisieren oder Anwendungen unternehmensweit verknüpfen, Such- und Überwachungsaufträge erstellen und mehrere Funktionen zu einer Art App zusammenfassen. Auch in der Software-Entwicklung werden Werkzeuge wie Azure Functions gerne genutzt, die Sie damit losgelöst vom Serverhosting sehr einfach testen können. Besonders interessant für Entwickler:innen: Microsoft folgt mit den Azure Functions dem robusten Architekturkonzept der Microservices, bei dem die einzelnen Funktionen unabhängig voneinander laufen und sich bei Fehlern so nicht gegenseitig blockieren.
Azure Functions unterstützt die Programmiersprachen C#, F#, Java, JavaScript, PowerShell, Python, TypeScript, sowie indirekt auch Rust und Go über sogenannte Custom Handler. Für die Programmierung und das Debugging (Fehlersuche) können Sie beispielsweise die Entwicklungsumgebung Visual Studio, den Editor Visual Studio Code und das Automatisierungswerkzeug Maven verwenden, aber auch das Azure-Portal und die Azure-Befehlszeilenschnittstelle (Command-Line Interface, CLI). Weitere Umgebungen sind mit Azure Functions grundsätzlich kombinierbar, wie etwa PyCharm und IntelliJ.
Azure Functions ist nicht der einzige Dienst, um Aufgaben innerhalb der Azure-Cloud oder innerhalb von cloudbasierter Microsoft-Software zu automatisieren. Weitere Services sind:
Sie alle haben ihre spezifischen Stärken und Ausrichtungen und werden daher auch weiterhin parallel zur Verfügung gestellt. So ist Power Automate für die einfache und einsteigerfreundliche Automatisierung von Abläufen beispielsweise innerhalb von Microsoft 365 Business konzipiert, während der Hersteller mit den Azure Logic Apps gleichzeitig eine deutlich leistungsfähigere, aber auch anspruchsvollere Plattform für IT-Expert:innen bereitstellt.
Die Azure WebJobs wiederum sind wie Azure Functions serverless, dienen aber primär zum Ausführen von Hintergrundaufgaben innerhalb laufender App-Dienste. Die WebJobs kennen deutlich weniger Trigger-Möglichkeiten als die Azure Functions und sind am ehesten mit den sogenannten cronjobs unter Unix zu vergleichen. Azure Functions und Azure WebJobs können innerhalb der Azure-Umgebung auch kombiniert werden und sich beispielsweise wechselseitig triggern.
Microsoft spricht hierbei von einem „bedarfsgesteuerten Clouddienst“ und berechnet Ihnen je nach Konfiguration nur die genutzte Rechenzeit, weshalb Sie mit Azure Functions in der Regel deutlich wirtschaftlicher arbeiten als mit eigener Server-Infrastruktur. Vergleichbare Produkte anderer Hersteller sind die Google Cloud Functions, die Cloud Functions von IBM oder AWS Lambda von Amazon.