© Liashko/Shutterstock.com
Entwickler Magazin
Eine Lösung für bedarfsgerechte Cloud-Computing-Kapazitäten

Serverless-Code in der Cloud

Azure Functions ist das Serverless-Computing-Angebot von Microsoft Azure. Doch was genau ist Serverless Computing, und haben wir damit wirklich keine Server mehr? Diese Fragen soll dieser Artikel beantworten und erklären, wie und für was wir Azure Functions nutzen können.

Boris Wilhelms


Als Entwickler ist es meist unsere Hauptaufgabe, Geschäftslogiken zu implementieren. Tatsächlich verbringen wir einen großen Teil der Zeit damit, Probleme um die eigentliche Geschäftslogik herum zu lösen. Sei es das Handling von Datenbankverbindungen oder die Frage, wie wir am effektivsten eingehende Nachrichten bearbeiten oder unser Programm am stabilsten als Dienst betreiben können. Und wenn wir dann schon beim Betrieb sind: Wie skalieren wir eigentlich? Azure Functions ist das Serverless-Angebot, oft auch Function as a Service (FaaS) genannt, von Microsoft Azure. Im Gegensatz zu anderen Computing-Angeboten, wie zum Beispiel virtuellen Maschinen oder Azure App Service, beleuchtet Azure Functions nicht nur die Betriebsseite, sondern bietet auch ein alternatives Entwicklungsmodell.

Auch wenn bei Azure Functions Server im Hintergrund laufen, so kommt man mit diesen kaum bis gar nicht mehr in Kontakt. Azure Functions befindet sich also auf einer sehr hohen Abstraktionsebene, bei der wir uns weder um Hardware und Betriebssystem noch um die Skalierung kümmern müssen. Ziel ist es, kleinen Code, Functions genannt, hochzuladen und diesen einfach laufen zu lassen. Neben der einfachen und automatischen Ausführung und Skalierung ist ein weiterer großer Unterschied, dass Functions je nach genutztem Plan pro Aufruf/Aufrufdauer bezahlt werden. Dadurch ist man in der Lage, erhebliche Kosten einzusparen, da man nicht 24/7 für Ressourcen bezahlt, die nur einen Teil der Zeit genutzt werden.

Hostingoptionen

In Azure Functions gibt es für das Cloudhosting drei Optionen/Pläne (Tabelle 1) mit unterschiedlichen Leistungs- und Preismerkmalen. Beim Consumption-Plan wird jeder Function-Anwendung 1,5 Gigabyte RAM und ein vCore zur Verfügung gestellt. Die Ausführungszeit einer Function ist auf zehn Minuten limitiert. Wird diese Zeit überschritten, wird die Ausführung der Function abgebrochen. Im Consumption-Plan gibt es keine Skalierungsoptionen, da die Function-Anwendung automatisch nach Bedarf auf beliebig vielen Nodes/Servern horizontal skaliert wird. Der Preis wird nach Anzahl der Ausführungen sowie des genutzten RAM pro Ausführungsdauer errechnet. Dank eines Freikontingents und der günstigen Ausführungspreise sind Azure Functions mit einem Consumption-Plan oft günstiger als eine klassische Web-App/APIs. Der größte Nachteil des Consumption-Plans ist, dass die komplette Function-Anwendung herunterfährt, wenn sie eine gewisse Zeit nicht genutzt wird. Dadurch verzögert sich der näc...

Entwickler Magazin
Eine Lösung für bedarfsgerechte Cloud-Computing-Kapazitäten

Serverless-Code in der Cloud

Azure Functions ist das Serverless-Computing-Angebot von Microsoft Azure. Doch was genau ist Serverless Computing, und haben wir damit wirklich keine Server mehr? Diese Fragen soll dieser Artikel beantworten und erklären, wie und für was wir Azure Functions nutzen können.

Boris Wilhelms


Als Entwickler ist es meist unsere Hauptaufgabe, Geschäftslogiken zu implementieren. Tatsächlich verbringen wir einen großen Teil der Zeit damit, Probleme um die eigentliche Geschäftslogik herum zu lösen. Sei es das Handling von Datenbankverbindungen oder die Frage, wie wir am effektivsten eingehende Nachrichten bearbeiten oder unser Programm am stabilsten als Dienst betreiben können. Und wenn wir dann schon beim Betrieb sind: Wie skalieren wir eigentlich? Azure Functions ist das Serverless-Angebot, oft auch Function as a Service (FaaS) genannt, von Microsoft Azure. Im Gegensatz zu anderen Computing-Angeboten, wie zum Beispiel virtuellen Maschinen oder Azure App Service, beleuchtet Azure Functions nicht nur die Betriebsseite, sondern bietet auch ein alternatives Entwicklungsmodell.

Auch wenn bei Azure Functions Server im Hintergrund laufen, so kommt man mit diesen kaum bis gar nicht mehr in Kontakt. Azure Functions befindet sich also auf einer sehr hohen Abstraktionsebene, bei der wir uns weder um Hardware und Betriebssystem noch um die Skalierung kümmern müssen. Ziel ist es, kleinen Code, Functions genannt, hochzuladen und diesen einfach laufen zu lassen. Neben der einfachen und automatischen Ausführung und Skalierung ist ein weiterer großer Unterschied, dass Functions je nach genutztem Plan pro Aufruf/Aufrufdauer bezahlt werden. Dadurch ist man in der Lage, erhebliche Kosten einzusparen, da man nicht 24/7 für Ressourcen bezahlt, die nur einen Teil der Zeit genutzt werden.

Hostingoptionen

In Azure Functions gibt es für das Cloudhosting drei Optionen/Pläne (Tabelle 1) mit unterschiedlichen Leistungs- und Preismerkmalen. Beim Consumption-Plan wird jeder Function-Anwendung 1,5 Gigabyte RAM und ein vCore zur Verfügung gestellt. Die Ausführungszeit einer Function ist auf zehn Minuten limitiert. Wird diese Zeit überschritten, wird die Ausführung der Function abgebrochen. Im Consumption-Plan gibt es keine Skalierungsoptionen, da die Function-Anwendung automatisch nach Bedarf auf beliebig vielen Nodes/Servern horizontal skaliert wird. Der Preis wird nach Anzahl der Ausführungen sowie des genutzten RAM pro Ausführungsdauer errechnet. Dank eines Freikontingents und der günstigen Ausführungspreise sind Azure Functions mit einem Consumption-Plan oft günstiger als eine klassische Web-App/APIs. Der größte Nachteil des Consumption-Plans ist, dass die komplette Function-Anwendung herunterfährt, wenn sie eine gewisse Zeit nicht genutzt wird. Dadurch verzögert sich der näc...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang