Die Geschichte von Microsoft Azure geht eigentlich viele Jahre zurueck. Angefangen als Plattform fuer Entwickler, um .NET und ASP-Code zu testen, blickt Microsoft mittlerweile auf einen Zeitraum von 6 Jahren zurueck, in dem intensiv an Azure weitergearbeitet worden ist. Entstanden ist eine Cloud-Plattform als Konkurrenz zu …
zu was eigentlich? Einzig ernst zu nehmende Plattform, was Verfuegbarkeit und Funktionsumfang betrifft, sind Amazon Web Services (AWS). Im Netz gibt es bereits zahlreiche Vergleichsseiten, am besten gefallen hat mir dieses Video, was sich groesstenteils auf Zahlen, Daten, Fakten beschraenkt:
[video:youtube:egLLXmwAI1M]
Konzentrieren wir uns weiter auf Azure. Die Plattform besteht mittlerweile aus ueber 30 Regionen (https://azure.microsoft.com/de-de/regions/). Allein in die Rechenzentrumsinfrastruktur hat Microsoft 15 Milliarden Dollar investiert. Vieles davon geht schon fuer Forschung drauf, denn natuerlich zaehlt im Rechenzentrumsbetrieb immer mehr Energieeffizienz und Ausfallsicherheit. Die beste Loesung bietet derzeit der Container, der zusammen mit gewissen Redundanzen Compute- und Speicherleistung beherbergt. Faellt ein bestimmter Prozentsatz der Resourcen aus, wird der komplette Container getauscht. Ein interessantes Video zur Geschichte der Microsoft-Rechenzentren findet sich hier:
[video:youtube:0uRR72b_qvc]
Die zwei Rechenzentren der Azure-Cloud Deutschland stehen in Frankfurt-Niederrad bzw. Magdeburg/Biere und gehoeren zu T-Systems. Somit soll die deutsche Datentreuhandschaft gewaehrleistet bleiben.
Wozu brauche ich jetzt Microsoft Azure? Mit Azure kann ich Virtuelle Maschinen starten. Azure kann auch Linux. Ganz witzig fand ich einen Tweet Mitte letzten Jahres:
New Post: FreeBSD now available in Azure Marketplace https://t.co/EmjRJHz6yL @Azure #paas #cloud
— PaaS Magazine (@paasmag) 8. Juni 2016
FreeBSD werden die meisten schon gar nicht mehr kennen. Und sowas gibts (mittlerweile in Version 10) jetzt bei Azure? Diese Nachricht beinhaltet auch noch eine weitere Information: Der Azure Marketplace. Aehnlich dem AWS Marketplace gibts eine Vielzahl fertige Images mit Web-Applikationen wie Wordpress, Joomla oder Typo 3, die verschiedene Lieferanten dort anbieten. Microsoft bietet aber auch eigene Web-Apps mit und ohne SQL an. Web-Apps gehoeren zum Typ App-Services, die besonders tief in die Azure-Cloud verbunden sind. Der Anwender kuemmert sich nicht mehr um Betriebssystem und Netzwerkschnittstellen. Bei der Ersteinrichtung wird nach der Webadresse gefragt, unter der die Applikation erreichbar sein soll und die dazugehoerige Resourcegrouppe. Resourcegruppen sind einfach schematische Unterteilungen im Azure-Portal. Wenn man viele Dienste gleichzeitig laufen hat und sich mit der Namenskonvention noch nicht so ganz einig geworden ist, lassen sich durch Resourcegruppen schnell erkennen, welche Resource jetzt zu welchem Dienst gehoert, den man in Azure erstellt hat. Azure bietet auch immer einen Active Directory Dienst an, der den Zugriff zu dieser Applikation regelt. Eine andere Massnahme, die das Leben in der Cloud von Microsoft erleichtert, ist der Azure Resource Manager (ARM). Damit bietet das Azure-Portal Automatisierungsscripte zu jeder erstellten Resource in verschiedenen Programmiersprachen an: PowerShell, .NET, Ruby, CLI, denn natuerlich ist der Resource Manager ueber REST-API verfuegbar. Separiert sollte man die Scripte nicht verwenden, aber es gibt auch mehr oder weniger umfangreiche Templates, die die Wirkungsweise des Resource Managers mehr erahnen lassen: https://github.com/Azure/azure-quickstart-templates Ueber definierte Variablen kann ich Parameter eingeben und so die Templates fuer einen bestimmten Dienst nutzen, quasi die 1-Klick-Launch-Applikation. Natuerlich bietet Azure auch ein Command Line Interface an. Nicht allzu ueberraschend heisst es “azure” und eine Installationsanleitung findet man hier: https://docs.microsoft.com/de-de/azure/xplat-cli-install
Zurueck zur Web-App in Azure. Beschicken kann ich meine Web-Appklikation mit Continous Delivery von Github oder Visual Studio Team Service. Andere moegliche Datenquellen sind Microsoft OneDrive, Dropbox oder lokale Git-Repos, einfachste Variante waere ein FTP-Verzeichnis. Umfangreiche Ueberwachungs- und Diagnosemoeglichkeiten bietet der Web-App-Service von Hause aus an, wie etwa die Debugmoeglichkeiten von PHP oder Apache als HTTP-Livestream. Mit Application Insights wird noch tiefer in die Applikation geschaut, um bestmoegliche Performance zu erreichen. Appropos: Skalierungsmoeglichkeiten gibt es sowohl vertikal durch hoehere Rechenleistung und Speicher und horizontal durch mehr Instanzen. Verbunden ist dies mit einem Service-Plan, den es fuer die Web-App einzurichten gilt. Dort sind dann auch Backups zu definieren oder ob der Web-Service etwa ueber SSL erreichbar sein soll. Dazu kann man natuerlich eine eigene Domain ordern und entsprechend fuer die Webapp konfigurieren. Die Sicherheit kommt bei Internetanwendungen bei Azure natuerlich auch nicht zu kurz. Tinfoil Security laesst sich fuer jede Web-App aktivieren und fuehrt entsprechend der gebuchten Option ein- oder mehrmals Sicherheitsueberpruefungen an der Applikation durch.
Das ist nur die Beschreibung von einem Microsoft Azure Web-App-Service. Serverless Computing wird diese auch oft bezeichnet, denn von Server und Betriebssystem ist bei diesem Dienst nicht viel zu sehen. Wer dennoch in der Cloud Layer Schicht ein paar Level tiefer steigen moechte, findet natuerlich auch Images von SuSE oder Ubuntu im Marketplace vor. Fuer die kann ich auch Verfuegbarkeitsgruppen bei der Erstellung definieren: Fehlerdomain und Updatedomain - was soll also passieren, wenn die VM ausfaellt oder darunterliegende Infrastruktur gewartet wird? An wievielen Stromkreisen oder physikalischem Netzwerk soll mein VM-Service haengen? Wieder gibt es Diagnosemoeglichkeiten und Monitoring. Backups meiner VM kann ich natuerlich auch automatisch einrichten lassen. In der DefaultPolicy ist das Backup einmal taeglich, aber auch das laesst sich ueber das Portal konfigurieren, aber nicht so oft wie das Backup im Web-App-Service weiter oben. Dort sind Backups bis zu 50 Mal taeglich moeglich.
Updaten kann man seine VM natuerlich auch. Dazu gibt es die Microsoft Operations Management Suite, beschrieben etwa hier: https://docs.microsoft.com/de-de/azure/operations-management-suite/oms-solution-update-management#installing-updates. Man muss einen Agenten in der VM installieren: https://github.com/microsoft/oms-agent-for-linux und mit den generierten Credentials auf https://www.mms.microsoft.com/ gehts auch schon los. Der installierte Agent liefert Updates fuer alle gaengigen Betriebssysteme wie RedHat, Suse und Ubuntu. Ausserdem werden Metriken wie aktueller Speicherverbrauch an die Operation Management Suite gemeldet. Auch Sysloginformationen werden dort aufbereitet und sind durchsuchbar.
Zurueck zum Azure-Portal. Dort sind noch interessante Funktionen zu finden wie Lastenausgleichsmodule (Loadbalancer) mit diversen Konfigurationsmoeglichkeiten, diverse Datenbankdienste (incl. NoSQL und Data Warehouse), den schon erwaehnten Active Directory Service, Ueberwachung, virtuelle Netzwerke und Speicherkonten. In die lohnt sich auch nochmal ein genauerer Blick. Zum Zugriff auf Speicherkonten werden immer Zugriffsschluessel generiert, mit denen aus Applikationen auf diesen Speicher zugegriffen werden kann. Speicher werden in der Leistung unterschieden in Standard (Magnetspeicher) und Premium (SSD). Die Daten im Speicher werden immer dreifach repliziert. Es gibt lokal redundanten Speicher, geo-redudanten Speicher und read-only geo-redudanten Speicher. Bei Blob-Speicher wird noch zwischen heissen und kalten Daten unterschieden, also ob haeufig oder weniger haeufig auf die Daten zugegriffen wird. Neben der Performance spielt hier natuerlich der Preis eine grosse Rolle, welche Art von Speicher man fuer seine Anwendung bucht.
Weiter im Azure Portal gibt es noch Automatisierungs-Konten, wo ueber Runbooks Dinge ausgefuehrt werden koennen. Ganz einfach waere das jetzt das Starten einer VM jeden Tag um 6 Uhr und beenden derselben um 8 Uhr, um darin einen bestimmten Task auszufuehren. Es gibt einen ganzen Runbook-Katalog, wo es zu verschiedenen Szenarien schon Templates gibt. Eine weitere interessante Sache sind noch API-Management-Dienste. Hier kann der Webentwickler eine eigene API erstellen und entsprechende Aufrufe dahinter entwickeln. Andere Dienste sind Microsoft nicht so wichtig und hat sie hinter dem Menuelink “Weitere Dienste” versteckt. Dazu gehoert zum Beispiel das komplette Thema Containerdienste, was ich mir jetzt nicht weiter angesehen habe. Und klassische Dienste fuer virtuelle Computer. Dort gibt es auch noch einen Dienst VM-Skalierungsgruppen, die bei Ausfall oder Ueberlast entsprechende virtuelle Maschinen nachstarten wuerde. Eigentlich ganz pfiffig, koennte man denken, aber das ist nicht der Weg in den Microsoft seine Kunden lenken will. Der Trend geht eindeutig zum Serverless Computing, womit sich der Anwender nicht mehr mit laestigen Betriebssystem-Wehwehchen abgeben muss. Natuerlich muss dazu die Anwendung an sich ein klein wenig cloud-native sein. Wer auf Standard-Software setzt, ist da aber auf einem guten Weg, denn die meisten davon sind im Azure Marketplace vertreten.
Dort moechte ich auch zum Schluss den Blick nochmal wenden, denn es sind ganz witzige Dinge dort zu finden. In etwa Checkpoint Firewall BYOL und F5-Loadbalancer BYOL. Bring your own Licence (BYOL) bedeutet hier, dass ueber Azure eine entsprechende Firewall- oder Loadbalancer-Appliance bereitgestellt wird und man nur noch seinen eigenen Lizenzkey eingeben muss. Anderenfalls werden fuer solche Software im Marketplace extra Gebuehren berechnet. Das wird aber im Bestellprozess jedes Mal angezeigt. ehe man es bestellt. Ansonsten ist der Marketplace nochmal in Theman unterteilt. Unter Monitoring + Management findet man schon erwaehntest Update Management fuer Security-Updates wieder. Unter Container gibt es Azure Container Service, aber auch verschiedene Docker-Dienste. Dem Thema Big Data hat Microsoft die Rubrik Intelligence + Analytics gewidment. Dort findet man Dienste wie Hadoop oder Hive. Vergessen hatte ich noch das Application Gateway, was auch im Marketplace in der Netzwerksektion zu finden ist. Dahinter verbirgt sich ein Layer-7-Switch, also ein Loadbalancer mit Funktionalitaeten, die ueber das Lastenausgleichsmodul hinausgehen. Weiter gibt es im Netzwerksegment den Dienst Express-Route. Damit kann man direkte Datenverbindungen zwischen den Azure-Rechenzentren oder zu sich nach Hause buchen. Die Verbindung wird ueber internatioanele Peeringprovider realisiert. Zum Thema Storage und Compute gibt es ebenfalls im Marketplace entsprechende Kategorien mit verschiedenen Angeboten von Microsoft oder Partnern wie etwa Acronis fuer Backuploesungen. In der Sparte Web + Mobile sind wir wieder bei den Web-Apps gelandet, die Microsoft auch hier extra weit oben aufgelistet hat, damit man sich naeher damit befasst. Ich denke mal, es lohnt sich, denn Azure bietet eine Vielzahl von Loesungen an, die gut durchdacht und einfach zu bedienen sind. Interessant anzumerken bleibt noch der Spruch “Friss Dein eigenes Brot”. Die meisten Microsoft-Produkte wie Office365 laufen alle auf Azure. Wer noch mehr wissen oder richtig einsteigen will. Hier gibts noch kostenlose eBooks zum Thema Microsoft und Azure: https://mva.microsoft.com/ebooks Azure Blog: https://azure.microsoft.com/de-de/blog/ Azure Homepage: https://azure.microsoft.com/de-de/ Anmeldung klappt ueber Microsoft SIngle Sign On, also normalem Windows 10 Account. Zur Identifizierung ist eine gueltige Kreditkartennummer notwendig. 30 Tage kostenfrei kann man alle Microsoft Azure Dienste testen.
Viel Spass mit Azure