Vorteile der Entwicklung mit Cloud-Native Apps

Vorteile der Entwicklung mit Cloud-Native Apps

Unter Cloud-Native Apps versteht man Anwendungen, welche speziell für eine Cloud Architektur entwickelt wurden. Diese Applikationen nutzen gezielt die Vorteile von Cloud Services, wie zum Beispiel: Skalierbarkeit, Georedundanz oder einfaches Deployment. Mit einem Augenzwinkern ausgedrückt handelt es sich bei Cloud-Native Apps um Anwendungen, die in der Cloud «geboren» wurden. Im Gegensatz dazu stehen Anwendungen die On Premises «geboren und aufgezogen» wurden.

Doch wie unterscheiden sich Cloud-Native Apps von herkömmlichen On Premises Apps? Dieser Blogeintrag zeigt konzeptionelle Besonderheiten von Cloud-Native Apps und eine Beispielarchitektur für Azure App Service auf.

Twelve Factor Cloud-Native Apps

Unter dem Begriff «Twelve Factor App» versteht man eine Sammlung von Empfehlungen und Best-Practices für Cloud-Native Anwendungen. Diese Regeln und Empfehlungen sollen Skalierbarkeit, Wartbarkeit und somit Zukunftssicherheit für Web-Apps sicherstellen. Die Empfehlungen teilen sich in zwölf Unterpunkte auf:

Beispielarchitektur mit Azure App Service

Im Folgenden ist eine beispielhafte Architektur für Cloud-Native Apps mit Azure App Service dargestellt. Als Code Repository wird Visual Studio Team Services (VSTS) verwendet. VSTS übernimmt auch den Teil des Builds und Deployments. Durch ein zentral gesteuertes Deployment existiert ein definiertes Deployment Vorgehen mit minimalen Abweichungen zwischen den einzelnen Stages.

Um die horizontale Skalierung zu gewährleisten, werden Session-Daten auf einem Azure Cache Service gehalten. Dadurch können dynamisch neue Instanzen hinzugefügt werden. Alle Services sind untereinander lose über Webservices gekoppelt.

Durch die Integration von Application Insights werden Performancedaten wie CPU Auslastung oder die durchschnittliche Ladedauer einer Page überwacht und Alerts versendet, falls ein Fehler auftritt.

Fazit

Cloud-Native Apps nutzen gezielt die Vorteile von Cloud Services, um beispielsweise Skalierbarkeit oder Wartbarkeit zu erhöhen. Azure App Service und Visual Studio Team Services bieten alles an, um effizient Cloud-Native Apps mit hohen Performance-, Skalierbarkeits- und Wartbarkeitsanforderungen umzusetzen.