10. März 2022

„Platform as a Service“ am Beispiel Django auf Azure App Service

AuthorLuka Penezić
Kategorien

„Platform as a Service" (PaaS) definiert Cloud-Computing-Dienste, die von verschiedenen Cloud-Anbietern bereitgestellt werden, um unter anderem die Arbeit von Entwicklern zu erleichtern. Diese können sich dank dieser Art von Cloud Computing auf wichtigere Dinge konzentrieren, wie z. B. das Schreiben von Code. In den ersten Teilen unserer „Platform as a Service“-Blogserie haben wir bereits auf allgemeine Vorteile von PaaS und die Beispiele von Django auf Beanstalk, sowie Django auf Google App Engine betrachtet.

Im vierten Teil geht es nun speziell um Platform as a Service auf Azure App Service.

Microsoft Azure App Service: Definition und Vorteile

Microsoft Azure ist einer der besten Cloud-Anbieter überhaupt und bietet eine Vielzahl von Diensten für jeden Anlass. Einer der Hauptgründe für die hohe Qualität ist, dass Azure eine einfache Mobilität und eine zuverlässige, konsistente Plattform zwischen On-Premises und Public Cloud ermöglicht. (Quelle)

Für diese Einsatzzwecke ist Azure PaaS ideal

Wie bereits beschrieben, wird Platform as a Service in Unternehmen für Szenarien wie Development Framework und Business Intelligence eingesetzt. PaaS bietet mehr Funktionen von Business-Tools, Middleware und Entwicklungstools. Im Allgemeinen ist der Einsatz von Platform as a Service mit dem Azure App Service ideal für: (Quelle)

  • Entwicklungsteams in Unternehmen, die die Zeit, die ihre Anwendungen benötigen, um auf den Markt zu kommen, deutlich reduzieren möchten.
  • Organisationen, die hohe Betriebskosten haben und den Verwaltungsaufwand für eine Reihe von Anwendungen verringern wollen.
  • Organisationen, die kritische Support-Metriken für die Nutzung und Rückverrechnung benötigen.
  • Unternehmen, die ihre IT-Kosten senken und die Komplexität von Datenbankelementen und Betriebssystemen reduzieren und gleichzeitig die Skalierbarkeit erhöhen wollen.
  • Unternehmen, die die Servicequalität ihres Unternehmens verbessern wollen, können von PaaS stark profitieren.

Der wichtigste Dienst, der für dieses Thema interessant ist, ist App Service. Wie die offizielle Website sagt:

Django auf Azure App Service: Eine Schritt-für-Schritt-Anleitung

Azure App Service ist ein vollständig verwalteter Webhosting-Dienst, der in einer Linux-Serverumgebung gehostete Anwendungen mit Python 3.7 und höher unterstützt. Wenn Sie die offiziellen Anweisungen befolgen, sollte der gesamte Prozess einfach sein.

Hier eine Schritt-für-Schritt-Anleitung: (Quelle)

ERFORDERNISSE: Azure-Profil und fertiges Anwendungsbeispiel in Django

1) Richten Sie Ihre anfängliche Umgebung ein
2) Klonen Sie das Beispiel
3) Führen Sie das Beispiel aus
4) Setzen Sie das Beispiel ein
5) Suchen Sie nach der Anwendung
6) Aktualisierungen erneut bereitstellen
7) Streamen von Protokollen
8) Verwalten Sie die Azure-Anwendung
9) Ressourcen bereinigen

Wir werden in den nächsten Abschnitten noch genauer auf die einzelnen Punkte eingehen.

Django auf Azure App Service: Umsetzung im Detail

Zunächst einmal benötigen wir eine Anwendung im Django-Framework, die wir verwenden können. Azure hat zum Beispiel eine Beispielanwendung auf GitHub, so dass jeder das Repository klonen und für Schulungen verwenden kann.

Um die Anwendung lokal auszuführen, müssen wir in CMD zum geklonten Repository wechseln, eine virtuelle Umgebung für die Anwendung erstellen, die Abhängigkeiten installieren und schließlich die Anwendung ausführen.

Geben Sie im Webbrowser http://localhost:8000 ein und es sollte die Django-Python-Anwendung sichtbar sein.

Um Ihre Anwendung in Azure zu hosten, müssen Sie eine Azure App Service-Webanwendung in Azure erstellen. Sie können eine Web-App über das Azure-Portal, VS Code mit dem Azure Tools Extension Pack oder die Azure CLI erstellen. Am einfachsten ist es, über das Azure-Portal in der Suchleiste oben "App Services" einzugeben. Wählen Sie den Eintrag "App Services" unter der Überschrift "Under Services" im Menü, das unterhalb der Suchleiste erscheint. Klicken Sie auf +Create und füllen Sie die erforderlichen Felder aus: Ressourcengruppe, Name, Runtime Stack, Region und App Service Plan.

Azure App Service unterstützt mehrere Methoden, um Ihren Anwendungscode auf Azure bereitzustellen, einschließlich Unterstützung für GitHub Actions und alle wichtigen CI/CD-Tools. In diesem Artikel erklären wir die Bereitstellung über eine ZIP-Datei.

Wenn Sie eine ZIP-Datei Ihres Python-Codes bereitstellen, müssen Sie ein Flag setzen, um die Azure-Build-Automatisierung zu aktivieren. Die Build-Automatisierung installiert alle erforderlichen Anforderungen und verpackt die Anwendung, damit sie in Azure ausgeführt werden kann. Die Build-Automatisierung in Azure wird aktiviert, indem Sie die App-Einstellung SCM_DO_BUILD_DURING_DEPLOYMENT entweder im Azure-Portal oder in der Azure-CLI festlegen. Als nächstes erstellen Sie eine ZIP-Datei Ihrer Anwendung. Sie müssen nur die Komponenten der Anwendung selbst enthalten. Sobald Sie eine ZIP-Datei haben, können Sie die Datei entweder mit Azure CLI oder einem HTTP-Client wie Postman oder cURL zu Azure hochladen.

Herzlichen Glückwunsch! Sie haben Ihre Django-Anwendung auf App Service bereitgestellt.

Um Ihre App zu überprüfen, öffnen Sie den Webbrowser und geben Sie die URL ein: http://<app-name>.azurewebsites.net. Es kann ein oder zwei Minuten dauern, bis die Anwendung startet. Wenn Sie also eine Standardseite der Anwendung sehen, warten Sie eine Minute und aktualisieren Sie den Browser.

Alles in allem können wir auch anhand dieses Platform-as-a-Service-Beispiels von Django auf Azure App Service sehen, dass Cloud Computing generell und speziell auch PaaS immer populärer und ausgereifter wird. Sie möchten noch mehr Blogbeiträge zu Themen wie Cloud, Cloud Computing oder Platform as a Service lesen? Dann besuchen Sie gerne unseren Blog und die Cloud-Blogkategorie.


Empfohlenene Artikel
22. Dezember 2022 Libelle IT-Glossar Teil 22: Was ist DevOps?
30. November 2022 Die 12-Faktor-App Teil 3: (Einweggebrauch, Dev-Prod-Vergleichbarkeit, Logs, Admin-Prozesse)

Alle Blogartikel