PHP und MySQL unter Azure zu geringen Kosten

PHP und MySQL unter Azure zu geringen Kosten

Eine der häufigsten Konfigurationen bei der Erstellung einer kostengünstigen Webanwendung war bis anhin immer PHP + MySQL, doch unter Windows…

Mehr Lesen
azure db for mysql

Eine der häufigsten Konfigurationen bei der Erstellung einer kostengünstigen Webanwendung war bis anhin immer PHP + MySQL, doch unter Windows waren die Kosten immer etwas höher als unter Linux. In Windows Azure haben wir eine sehr interessante Option, um sowohl Ihre Kosten hinsichtlich der Lizenzen als auch der erforderlichen Entwicklungszeit zu senken, dies durch die Verwendung eines Azure App Services in Kombination mit MySQL-In-App.

Azure Web Apps Explained : A Step By Step Guide

Azure App Service ist eine verwaltete Plattform zum Erstellen von Webanwendungen, die eine Vielzahl von Technologien wie Java, Python, Node.js, PHP, .NET usw. unterstützt. Sie können Kosten senken, indem Sie keinen von Grund auf neuen klassischen Server konfigurieren müssen. Sie laden die Dateien einfach per FTP hoch und Ihre Webanwendung wird ausgeführt. Außerdem können Sie Sicherheitsprobleme im Zusammenhang mit dem Zugriff und der Konfiguration des Betriebssystems und der darin enthaltenen Anwendungen (z. B. IIS) vergessen. Es ist eine sogenannte Plattform als Service (PaaS).

Traditionell müssen in Azure, um Webanwendungen mit PHP und MySQL zu betreiben, prinzipiell zwei Dienste betrieben werden, einer für PHP und ein anderer für die MySQL-Datenbank. Dabei gilt es unterschiedliche Einschränkungen zu berücksichtigen. Während man bei PHP eine dynamische Skalierung der Ressourcen relativ einfach erreichen kann, ist dies bei MySQL nicht so einfach möglich.

In der Folge werden ein paar der üblichen Kombinationen erläutert.

Virtuelle Maschine:

Mit einer Virtuellen Maschine können beide Dienste betrieben werden

  • Vorteile:

    • Vollständige Kontrolle über die Installation, Konfiguration und Verwaltung der Maschine / Dienste
  • Nachteile:

    • Aufwändige Installation und stetige, eigene Wartung, welche des Öfteren auch wegen ungenügender Wartung zu erheblichen sicherheitsrelevanten Problemen führen kann.
    • Bei einem erhöhten Ressourcen Bedarf, kann man die Virtuelle Maschine mit gewissen Einschränkungen zwar erweitern, dieser Prozess ist jedoch manuell durchzuführen. Des Weiteren muss bei einer Ressourcen Anpassung die VM rebootet werden.

App Service:

Ein App Service kann sowohl für den Betrieb von PHP als auch für MySQL (MySQL in-App) verwendet werden. Dabei wird im gleichen App-Service eine zusätzliche virtuelle MySQL Instanz erstellt (MySQL in-App). Hier handelt es sich um durch Microsoft gemanagte Dienste, bei welchen man davon ausgehen kann, dass sie funktionstechnisch und in Bezug auf Security immer auf dem neuesten Stand sind.

Ein App-Service kann so konfiguriert werden, dass er bei Ressourcen Bedarf dynamisch skaliert, um so den punktuell benötigten Anforderungen zu genügen. Dieser Dienst erweitert und reduziert seine Ressourcen innerhalb der Vorkonfiguration automatisch. Hier gibt es jedoch eine Ausnahme, befindet sich innerhalb des App Services eine MySQL In-App Instanz, dann skaliert dieser App-Service nicht mehr automatisch, er kann jedoch manuell skaliert werden.

  • Vorteile:

    • Keine Installation der Dienste nötig
    • Durch Microsoft verwaltete Dienste, sprich keine systemtechnische Wartung nötig
    • Automatisch Ressourcen Skalierung, solange man keine MySQL In-App Instanz verwendet
    • Wird MySQL In-App verwendet, kann eine Ressourcen Anpassung ohne Downtime erfolgen
    • Günstige Lösung für einfache und wartungsarme Projekte
    • Direkter Zugriff auf MySQL über PHPMyAdmin
  • Nachteile:

    • Wird MySQL In-App verwendet, ist die Skalierung nur manuell möglich
    • Beide Dienste teilen sich die gleichen Ressourcen
    • Es werden nur In-App Services unterstützt, die unter Microsoft Windows erstellt wurden.

Azure Database for MySQL :

Mit dem „Azure Database for MySQL“ Endpunkt bietet Microsoft eine andere Variante eines verwalteten Dienstes an. Dieser ist jedoch explizit nur für Datenbanken, in diesem Fall für MySQL Datenbanken, gedacht. Möchte man also eine Webseite damit betreiben, muss hierfür zusätzlich ein Web Server Dienst dazu gerechnet werden, z. B. über die Konfiguration des oben erwähnten App Services.

  • Vorteile:
    • Keine Installation der Dienste nötig
    • Durch Microsoft verwaltete Dienste, sprich keine systemtechnische Wartung nötig
    • Die Abfragegeschwindigkeit und somit Performance Steigerung lässt sich dank KI-gestützten Funktionen optimieren
    • Hohe Verfügbarkeit bis zu 99.99%
    • Erweiterte Datensicherheit und -compliance
    • Kann automatisch skalieren
  • Nachteile:
    • Zusätzliche Betriebskosten

Fazit:

Es gibt also nicht eine einzige Lösung, die alle Anforderungen abdeckt.

Haben Sie aber keine hohe Anforderung an Performance und Konstanz, ist die Kombination des App-Services (für PHP) mit der integrierten MySQL In-App bestimmt eine interessante Lösung, um schnell eine kostengünstige, wartungsarme PHP + MySQL-Webanwendung zu betreiben.

Kontakt

Einen Anruf oder eine E-Mail an uns, wir sind gerne für Sie da - und kosten tut es Sie nichts. Was auch immer Ihr Anliegen ist, wir freuen uns über den Austausch mit Ihnen!

swiss smart media gmbh
Bielstrasse 29
2542 Pieterlen
Schweiz
Telefon: +41 79 618 94 09