Überblick über Microsoft Azure · Information in this document, including URL and other Internet...
Transcript of Überblick über Microsoft Azure · Information in this document, including URL and other Internet...
Autor: Holger Sirtl
Version: 2.9.1
Azure SDK: 2.9.1
Stand: 23.06.2016
© 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows
Vista and other product names are or may be registered trademarks and/or trade-
marks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current
view of Microsoft Corporation as of the date of this presentation. Because Microsoft
must respond to changing market conditions, it should not be interpreted to be a
commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy
of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO
THE INFORMATION IN THIS PRESENTATION.
Überblick über
Microsoft Azure
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH i
Information in this document, including URL and other Internet Web site references, is subject to change without
notice. This document supports a preliminary release of software that may be changed substantially prior to final
commercial release, and is the proprietary information of Microsoft Corporation.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EITHER EXPRESS OR IM-
PLIED, AS TO THE INFORMATION IN THIS DOCUMENT.
The entire risk of the use or the results from the use of this document remains with the user. Complying with all ap-
plicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this
document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any
means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express writ-
ten permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights cover-
ing subject matter in this document. Except as expressly provided in any written license agreement from Microsoft,
the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other in-
tellectual property.
Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos,
people, places and events depicted herein are fictitious, and no association with any real company, organization,
product, domain name, email address, logo, person, place or event is intended or should be inferred.
© 2016 Microsoft Corporation. All rights reserved.
Microsoft, Internet Explorer, Windows, and Visual Studio are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH iii
Inhaltsverzeichnis
1 Cloud Computing mit Microsoft Azure 7
1.1 Cloud Computing .................................................................................................................................... 7
1.2 Aufbau der Microsoft Azure Plattform ........................................................................................... 8
1.3 Die physische Infrastruktur .................................................................................................................. 9
1.4 Dienste der Microsoft Azure Plattform .........................................................................................10
1.5 Aufbau dieses Dokuments .................................................................................................................11
2 Bereitstellung eigener Anwendungslogik auf Microsoft Azure 13
2.1 App Service – Hosting Web-basierter Anwendungslogik .....................................................15
2.2 Cloud Services – mehrschichtige, skalierbare Anwendungen .............................................18
2.3 Service Fabric - Microservices-basierte Apps .............................................................................19
2.4 Virtual Machines - Betrieb virtueller Maschinen in der Cloud .............................................20
2.5 Azure Batch – Batch-Verarbeitung .................................................................................................21
2.6 Mobile Engagement – Verwaltung mobiler Apps ....................................................................21
2.7 Notification Hubs - Push-Benachrichtigungen an mobile Plattformen ...........................21
2.8 Bereitstellung von Client-Apps mit RemoteApp .......................................................................22
2.9 API Management ...................................................................................................................................22
3 Speicherung von Daten auf Microsoft Azure 24
3.1 Relationale Datenspeicherung .........................................................................................................25
3.2 NoSQL-Datenspeicherung .................................................................................................................26
3.3 Dateisystem-basierte Speicherdienste ..........................................................................................28
3.4 Caching ......................................................................................................................................................28
3.5 Hybride Datenablage mit StorSimple ...........................................................................................30
4 Analytics- und IoT Services 31
4.1 IoT Hub ......................................................................................................................................................31
4.2 Event Hubs ...............................................................................................................................................31
4.3 Stream Analytics ....................................................................................................................................32
4.4 Data Factory.............................................................................................................................................32
4.5 Azure Data Lake .....................................................................................................................................32
4.6 HDInsight ..................................................................................................................................................33
4.7 Machine Learning ..................................................................................................................................34
4.8 Azure Search ............................................................................................................................................34
4.9 SQL Data Warehouse ...........................................................................................................................34
4.10 Azure Data Catalog ...............................................................................................................................34
iv
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
5 Sicherheit Azure-basierter Anwendungen 36
5.1 Azure Active Directory ........................................................................................................................ 36
5.2 Multi-Factor Authentication ............................................................................................................. 37
5.3 Key Vault ................................................................................................................................................... 37
5.4 Microsoft Azure Trust Center ........................................................................................................... 37
6 Medienverarbeitung und -verteilung 38
6.1 Media Services ....................................................................................................................................... 38
6.2 Content Delivery Network (CDN) ................................................................................................... 38
7 Integration Azure-basierter Anwendungen in die eigene IT 40
7.1 Datenintegration via SQL DataSync .............................................................................................. 40
7.2 Anwendungsintegration ..................................................................................................................... 41
8 Netzwerkdienste 45
8.1 Virtual Network ...................................................................................................................................... 46
8.2 ExpressRoute........................................................................................................................................... 46
8.3 Traffic Manager ...................................................................................................................................... 47
8.4 Load Balancer ......................................................................................................................................... 47
8.5 DNS Service ............................................................................................................................................. 48
8.6 VPN Gateway .......................................................................................................................................... 48
8.7 Application Gateway ............................................................................................................................ 48
9 DevOps mit Microsoft Azure 49
9.1 Services für die Software-Entwicklung ......................................................................................... 49
9.2 Services für den Systembetrieb ....................................................................................................... 50
10 Erste Schritte mit Microsoft Azure 52
10.1 Blogs und Webseiten .......................................................................................................................... 52
Anhang A: Azure Services im Überblick 53
Anhang B: Aufbau der Plattform 55
Index 56
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH v
Abbildungsverzeichnis
Abb. 1-1 Grobaufbau der Microsoft Plattform .............................................................................................. 9
Abb. 2-1 Ausführungsmodelle für Cloud Anwendungen ........................................................................13
Abb. 2-2 API Management ..................................................................................................................................23
Abb. 4-1 Analytics- und IoT-Services in Microsoft Azure ........................................................................31
Abb. 7-1 Microsoft Azure SQL DataSync ........................................................................................................41
Abb. 7-2 Microsoft Azure Service Bus .............................................................................................................42
Abb. 7-3 Microsoft Azure Service Bus Topics und Subscriptions .........................................................43
Abb. 8-1 Netzwerkdienste in Microsoft Azure .............................................................................................45
Abb. 8-2 Microsoft Azure Traffic Manager ....................................................................................................47
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 7
1 Cloud Computing mit Microsoft Azure
Microsoft Azure ist Microsofts Public Cloud Plattform für Entwickler und Administratoren, die
eigene Softwareanwendungen ganz oder in Teilen in der Cloud ausführen möchten. Die Platt-
form umfasst eine Reihe von Cloud-Diensten, die einzeln oder in Kombination genutzt werden
können, dabei bedarfsabhängig in quasi beliebiger Kapazität bereitgestellt und nutzungsab-
hängig abgerechnet werden. Zu diesen Services gehören unter anderem solche, mit denen
Anwendungen in der Cloud ausgeführt, andere, mit denen unterschiedliche Daten in der Cloud
gespeichert und effizient verarbeitet und wieder andere, mit denen Cloud-Elemente sicher und
effektiv mit Ressourcen aus einem eigenen Rechenzentrum bzw. lokal ausgeführten Client-
Anwendungen verknüpft werden können.
Tatsächlich sind derartige Hybrid-Lösungen, bei denen einzelne Anwendungsteile in der Cloud,
andere Teile in einer lokalen Ausführungsumgebung zusammen betrieben werden, eine große
Stärke von Microsoft Azure. So könnte beispielsweise eine klassische Windows Rich-Client An-
wendung Daten in Microsoft Azure Storage speichern, Apps auf mobilen Endgeräten über
Microsoft Azure Nachrichten untereinander austauschen, eine lokal betriebene SQL Server Da-
tenbank sich ganz oder in Teilen mit einer Cloud Datenbank synchronisieren, eine in Microsoft
Azure betriebene Webanwendung über den Service Bus ein lokal ausgeführtes Backend-Sys-
tem aufrufen. Viele weitere Hybrid-Szenarien sind denkbar. Selbstverständlich können Anwen-
dungen auch vollständig auf Microsoft Azure betrieben werden.
Zur Erstellung und Migration Azure-basierter Anwendungen können verschiedene Entwick-
lungs- und Management-Umgebungen (Visual Studio, Eclipse, System Center, …) und Pro-
grammiertechnologien (.NET, Java, PHP, Python, …) mit entsprechenden APIs genutzt werden.
Entwickler können dadurch auf vorhandes Wissen aufsetzen.
1.1 Cloud Computing
Häufig wird der Begriff Cloud Computing normativ, d.h. über bestimmte Eigenschaften defi-
niert, die man im Allgemeinen mit Cloud Computing verbindet. Microsoft Azure erfüllt diese
Eigenschaften und kann deshalb zu Recht als Cloud Plattform bezeichnet werden:
Azure Services können in quasi beliebiger Kapazität bereitgestellt werden, hierzu sind
keine Vorab-Investitionen erforderlich. Kapazitätsplanungen zu Beginn eines Software-
projektes vereinfachen sich drastisch: der Start der Anwendung kann in einer kleinen,
8
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
kostengünstigen Umgebung erfolgen, und bei Erfolg der Anwendung und entspre-
chender Last können schnell zusätzliche Ressourcen hinzugeschaltet werden.
Die Dienste werden bedarfsgerecht bereitgestellt, d.h. sobald Bedarf an Rechen-, Spei-
cher- oder Kommunikationsleistung besteht, können die Dienste genutzt werden, so-
bald kein Bedarf mehr besteht, können die Dienste wieder deaktiviert werden. Dies ist
beispielsweise bei der Nutzung der Cloud zum Aufbau von Test- und Enwicklungsum-
gebungen ein entscheidender Vorteil gegenüber einer lokalen Infrastruktur.
Die Abrechnung erfolgt dabei nutzungsabhängig, d.h. nur für die tatsächlich genutzte
Kapazität fallen während der Nutzung Kosten an. Dadurch sind die Kosten mit dem Er-
folg eines Cloud-basierten Softwaresystems korreliert, und das Risiko teurer Fehlinves-
titionen beseitigt.
Über Standardschnittstellen (z.B. RESTful APIs) können die Dienste über alle Technolo-
gien genutzt werden, die diese Standards unterstützen (z.B. .NET, Java, PHP, …). Durch
Nutzung entsprechender Software Development Kits (SDKs) können die Schnittstellen
nativ aus den verschiedenen Technologien heraus angesprochen werden.
1.2 Aufbau der Microsoft Azure Plattform
Abb. 1-1 zeigt den groben Aufbau der Microsoft Azure Plattform. Die Plattform besteht aus
einer Menge hoch-skalierbarer, schnell provisionierbarer, flexibel administrierbarer Services,
die auf Microsofts Cloud Infrastruktur bereitgestellt werden. Diese Services können über eine
Management API (REST-basiert) angesprochen und administriert werden, d.h. es können ei-
gene Umgebungen bestehend aus diesen Services bzw. Instanzen der Services erstellt, konfi-
guriert, skaliert und wieder gelöscht werden.
Die Management API kann, da sie entsprechend dem REST-Paradigma implementiert ist, von
jeder Technologie aus angesprochen werden, die Aufrufe von RESTful-Services unterstützt.
Eine Nutzung aus .NET, PHP, Java, Python etc. ist so problemlos möglich. Ein komfortablerer
Zugang zur API besteht über Software Development Kits (SDKs) verschiedener Programmier-
sprachen. Diese kapseln REST-Aufrufe in Objekten der jeweiligen Sprache. So können Entwick-
ler der unterstützten Sprachen zur Steuerung von Azure Services Klassen ihrer gewohnten Im-
plementierungstechnologie verwenden. Für Anhänger der Kommandozeile stehen Cmdlets für
die Windows PowerShell und darüber hinaus für Windows-, Linux- und Mac-Umgebungen das
plattfromübergreifende Command Line Interface (Xplat-CLI) zur Verfügung. Über diese Werk-
zeuge können die REST-Schnittstellen von Azure aus der Kommandozeile heraus angespro-
chen werden.
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 9
Abb. 1-1 Grobaufbau der Microsoft Plattform
Einsteiger werden sich allerdings wohl zunächst mit einem der beiden Web-Portale Azure nä-
hern: dem Management Portal und dem Classic Portal. Das aktuelle Portal wird mittelfristig
das Classic Portal vollständig ablösen. Die Portale stellen große Teile der Azure-Funktionalität
über eine Web-basierte Oberfläche zur Verfügung. Letztlich sprechen auch sie ihrerseits die
RESTful-API an.
1.3 Die physische Infrastruktur
Microsofts Cloud Infrastruktur bildet die Basis für alle weiteren Dienste. Dabei handelt es sich
um Server-, Speicher- und Netzwerkkomponenten, auf der die Infrastruktur- und Plattform-
dienste ausgeführt werden.
1.3.1 Azure Global Cloud
Azure ist in 24 Regionen weltweit allgemein verfügbar. Die Verfügbarkeit in 8 weiteren Regio-
nen ist geplant und wurde bereits angekündigt. Grundsätzlich kann die Region für jeden zu
nutzenden Azure Service einzeln gewählt werden. Auch eine Verteilung von Anwendungsin-
stallationen auf mehrere Regionen ist möglich.
10
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
1.3.2 Microsoft Cloud Germany
In Deutschland wird Azure über ein Datentreuhändermodell in zwei Rechenzentren (Frankfurt
am Main und Magdeburg) bereitgestellt, bei dem Kundendaten in Deutschland verbleiben und
von T-Systems als Datentreuhänder verwaltet und kontrolliert werden. Vertraglich ist unter
anderem sichergestellt, dass jegliche administrativen Zugriffe auf die Azure Umgebung neben
etwaigen Nutzern stets auch der Freigabe des Datentreuhänders bedürfen.
1.3.3 Azure Stack
Einzelne Dienste aus Azure (z.B. Web Apps und Virtual Machines) können mittels Azure Stack
im eigenen Rechenzentrum auf einer Windows-Server-Umgebung betrieben werden. Steht
Azure Stack dann lokal zur Verfügung können Deploymentpakete, Skripte etc. aus der Global
Cloud (bzw. der Microsoft Cloud Germany) ohne Änderungen verwendet werden, sofern sie
sich auf Services beziehen, die in Azure Stack unterstützt werden. Tabelle 1 gibt eine Auflistung
der Services, die nach aktuellem Planungsstand zum GA-Zeitpunkt (= allgemeine Verfügbar-
keit) in Azure Stack enthalten sein werden.
Dienstgruppe Azure Stack Services zum GA-Zeitpunkt
Compute Virtual Machines (einschl. Extensions & Availability Sets), Service Fabric
Data & Storage Blobs, Tables, Queues
Networking Virtual Network, Load Balancer, VPN Gateway
Management & Security Microsoft Azure Portal, Key Vault
Web & Mobile App Service (Web Apps, Logic Apps, Mobile Apps, API Apps)
Developer Services Azure SDK
Tabelle 1: Verfügbarkeit von Azure Services in Azure Stack zum GA-Zeitpunkt1
1.4 Dienste der Microsoft Azure Plattform
Zur Ausführung eigener Anwendungslogik stehen verschiedene Dienste der Kategorien Infra-
structure-as-a-Service (IaaS) und Platform-as-a-Service (PaaS) zur Verfügung. Der Anwender
entscheidet, welche Betriebsaspekte automatisiert durch die Plattform übernommen werden
und welche er selbst verwalten möchte. Auf IaaS-Ebene besteht die Möglichkeit, vorgefertigte
oder eigene Windows- oder Linux-basierte virtuelle Maschinen auf Azure auszuführen. Im
PaaS-Bereich gibt es unter anderem Cloud Services für komplexere, mehrschichtige Web-An-
wendungen, Web Apps für schnelles, flexibles Webhosting, Mobile Apps als Backend für mo-
bile Anwendungen und Media Services zur Implementierung von Medien-Workflows.
1 Quelle: “Taking the cloud to your datacenter – Azure Stack”, Microsoft
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 11
Aus eigenen Anwendungen (egal ob auf Azure oder lokal ausgeführt) heraus können weitere
Dienste genutzt werden. Im Bereich Identity gibt es Dienste zur Authentifizierung und Benut-
zerverwaltung. Integrationsdienste können zur Kommunikation und Integration verteilter An-
wendungskomponenten genutzt werden und zur Datenspeicherung und –auswertung gibt es
eine ganze Palette verschiedener Speicherdienste. Anhang A listet die Dienste der einzelnen
Funktionsgruppen auf und verweist auf die jeweiligen Abschnitte in diesem Dokument.
Die von Azure angebotenen Dienste sind hochverfügbar ausgelegt. Sie werden ständig über-
wacht und auf dem neuesten Stand gehalten. Ausfälle werden erkannt und automatisch ent-
sprechende Instandsetzungsmaßnahmen eingeleitet. Die Dienste können auf schwankende
Last reagieren, d.h. über einen Auto-Scaling-Mechanismus auf Wunsch automatisch Ressour-
cen hinzufügen oder entfernen. Managementaufgaben, die Anwender ausführen möchten,
können über ein Web Portal, PowerShell-Skripte oder REST-Schnittstellen angesteuert werden.
Für alle bereitgestellten Dienste werden passende Entwicklerwerkzeuge bereitgestellt, die den
Application Lifecycle, angefangen vom Erstellen, über das Testen bis hin zum Deployment und
Betrieb, sehr einfach gestalten. Dabei werden neben Microsoft-Entwicklungsplattformen (.NET
und Visual Studio) auch diverse andere Plattformen und Werkzeuge (Node.js, Java, PHP, Py-
thon, Ruby, Eclipse) mit entsprechenden Erweiterungen unterstützt. Auch die Interaktion mit
verschiedenen Quellcode-Verwaltungssystemen (Visual Studio Online, GitHub etc.) wird unter-
stützt.
1.5 Aufbau dieses Dokuments
Die einzelnen Kapitel dieses Dokuments behandeln jeweils folgende Themen:
Kapitel 2: Bereitstellung eigener Anwendungslogik auf Microsoft Azure
Dieses Kapitel zeigt auf, wie eigene Anwendungen und Dienste auf Microsoft Azure
ausgeführt und verwaltet werden können. Hierzu stehen mehrere Ausführungsmodelle
zur Verfügung. Unter anderem: App Service, Cloud Services und Virtual Machines.
Kapitel 3: Speicherung von Daten auf Microsoft Azure
Microsoft Azure bietet verschiedene relationale und nicht-relationale Speicherdienste
an. Dieses Kapitel gibt einen Überblick und zeigt auf, wann welcher Dienst sinnvoll ein-
gesetzt werden kann.
Kapitel 4: Analytics- und IoT Services
Hier werden die Azure Dienste vorgestellt, die sich zur Speicherung, Auswertung und
Recherche auch größter Datenbestände eignen.
12
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
Kapitel 5: Sicherheit Azure-basierter Anwendungen
Dieses Kapitel stellt Dienste und Dienstbeschreibungen vor, die dabei helfen, eigene
Anwendungen sicher zu machen bzw. deren Sicherheit zu dokumentieren.
Kapitel 6: Medienverarbeitung und -verteilung
Die hier vorgestellten Services fokussieren auf die Bereiche Medienverarbeitung (Au-
dio, Video, Bilder etc.) und Medienverteilung.
Kapitel 7: Integration Azure-basierter Anwendungen in die eigene IT
Dieses Kapitel widmet sich dem Brückenschlag zwischen Azure und einem eigenen Re-
chenzentrum. Es stellt die Dienste vor, mit denen sich hybride Cloud-Umgebungen re-
alisieren lassen.
Kapitel 8: Netzwerkdienste
Hier finden sich diverse Dienste zur Vernetzung von virtuellen Maschinen auf Azure
untereinander, deren Anbindungen aus dem Internet bzw. an ein oder mehrere lokale
Rechenzentren.
Kapitel 9: DevOps mit Microsoft Azure
Dienste für Entwicklung und Betrieb Cloud-basierter Anwendungen sowie deren In-
tegration in einer integrierten DevOps-Lösung stehen im Mittelpunkt dieses Kapitels.
Kapitel 10: Erste Schritte mit Microsoft Azure
Hier finden sich Hinweise auf Informationsquellen, Trainings, Videos etc., die nützlich
bei der Einarbeitung in Microsoft Azure sein können.
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 13
2 Bereitstellung eigener
Anwendungslogik auf Microsoft
Azure
Wer sich dem Thema Cloud Computing mit Microsoft Azure nähert, denkt häufig zunächst an
die Möglichkeit, Anwendungen in der Cloud, d.h. Microsofts Rechenzentren auszuführen.
Wenngleich dies nicht die einzige Funktion von Microsoft Azure ist, ist sie doch eine zentrale.
Weitere Dienste der Plattform wie beispielsweise Speicher, Datenbank oder Service Bus kön-
nen dann – auch wenn sie ebenfalls alleine genutzt werden könnten – problemlos mit den auf
Microsoft Azure ausgeführten Anwendungen kombiniert werden.
Zur Ausführung von Anwendungen in der Cloud stellt Microsoft Azure mehrere Modelle zur
Verfügung, die in Abb. 2-1 skizziert sind: Web Apps, Service Fabric, Cloud Services und Virtual
Machines. Diese können unabhängig voneinander, aber auch in Kombination genutzt werden.
Web Apps bieten dabei eine kostengünstige Hosting-Möglichkeit für Web-Anwendungen,
Service Fabric ermöglicht den Aufbau flexibel skalierbarer, Microservices-basierter Anwendun-
gen, Cloud Services eignen sich ideal für Aufbau und Betrieb hoch-skalierbarer, hoch-verfüg-
barer, mehrschichtiger Anwendungen bei minimalem Administrationsaufwand, und Virtual
Machines erlauben den Betrieb eigener oder vorgefertigter virtueller Maschinen in der Cloud.
Abb. 2-1 Ausführungsmodelle für Cloud Anwendungen
14
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
Letztlich kommen in allen Alternativen virtuelle Maschinen zum Einsatz. Unterschiede bestehen
in dem Maße, in dem administrative Aufgaben automatisiert von Azure übernommen werden.
Virtual Machines bieten die größte Flexibilität bei der Konfiguration der virtuellen Maschinen;
dafür verbleiben viele administrative Aufgaben (Patching, Upgrades etc.) beim Nutzer der Vir-
tual Machines. Web Apps auf der anderen Seite nehmen dem Nutzer sehr viele Aufgaben ab
(Gast-Betriebssysteme werden automatisiert gewartet, Installation benötigter Runtimes und
Frameworks kann auf Knopfdruck erfolgen), dafür ist die Funktionalität dort stärker auf einen
festen Standard beschränkt. Folgende Tabelle stellt die Ausführungsmodelle gegenüber.
Web Apps Service Fabric Cloud Services Virtual Machines
Ebene
(PaaS/IaaS)
PaaS mit der Porta-
bilität von IaaS
PaaS PaaS IaaS
Verwaltetes
Artefakt
Web App
(z.B. ASP.NET Webs-
ite)
App Package
(Paket aus Services
und Actors)
Cloud Service Virtuelle Maschine
Portabilität Vollständig portabel Apps SF-spezifisch,
Runtime portabel
Entwurf oder Anpas-
sung für die Cloud
Vollständig portabel
Management Automatisiert Automatisiert Automatisiert Manuell
Architektur 2-Schicht IIS Web-
sites
Flexibel
(Microservices)
Flexibel Flexibel
Persistenz Persistenz auf VM-
Ebene
Stateful: Persistenz
der Services/Actors
Stateless: Persistenz
extern (DB, Blob, …)
Keine Persistenz der
VMs
(persistente Drives
möglich)
Jede VM ist persis-
tent
Provisionier-
ung
< 20 Sekunden App: < 20 Sekunden
Cluster: ca. 10 Min.
8-10 Minuten 8-10 Minuten
System-
plattform
Windows Server / IIS Windows Server,
Linux
Windows Server Windows Server,
Linux
Deployment Web Deploy, FTP,
Git, Visual Studio
Online
Paketierung und
Publish
Paketierung und
Publish
Erstellung und Up-
load von VHDs oder
Auswahl aus einer
Gallery
Gallery Web Frameworks
(z.B. Wordpress,
PHP, …)
Microsoft oder ei-
gene OS Images
Microsoft OS-Im-
ages (Web Roles
und Worker Roles)
Microsoft oder ei-
gene OS Images
Tabelle 2: Gegenüberstellung der Ausführungsmodelle unter Microsoft Azure
Neben den genannten Ausführungsmodellen unterstützt Azure auch Container-basierte Be-
reitstellungsmodelle. Mit dem Azure Container Service lassen sich flexibel skalierbare Cluster-
Umgebungen bereitstellen, in denen beispielsweise Docker-Container installiert werden kön-
nen.
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 15
VM Scale Sets ermöglichen den Aufbau skalierbarer, aus identisch konfigurierten Virtual Ma-
chines bestehenden Cluster-Umgebungen. Scale Sets bilden damit die technische Basis für den
Azure Container Service, Service Fabric etc.
2.1 App Service – Hosting Web-basierter
Anwendungslogik
Der App Service stellt Funktionalitäten für eine Gruppe von Anwendungstypen bereit, die ähn-
liche Anforderungen an Installation, Provisionierung, Authentifizierung, Skalierung etc. haben.
Neben Web Apps zum Hosting klassischer Web-Anwendungen gehören hierzu Mobile Apps
zur Bereitstellung von Backends für mobile Clients, Logic Apps zur Implementierung API-ba-
sierter Workflows und API Apps, die Funktionalitäten über Web-basierte Schnittstellen zur Ver-
fügung stellen.
2.1.1 Hosting von Web-Anwendungen mit Web Apps
Microsoft Azure Web Apps sind (neben Cloud Services und Virtual Machines) eine von drei
Optionen zur Ausführung von Web-Anwendungen in der Cloud. Sie stellen eine kostengüns-
tige, aber trotzdem gut skalierbare Hosting-Variante für Websites bereit. Über das Microsoft
Azure Portal können hierzu sehr schnell und einfach Umgebungen eingerichtet, mit zahlrei-
chen Web Frameworks (z.B. ASP.NET, Java, PHP, Node.js, ...) und Anwendungen (z.B. Joomla,
Wordpress, Drupal, ...) vorkonfiguriert und von verschiedenen Entwicklungsplattformen aus mit
Webanwendungen bestückt werden. Hierbei werden als Deployment-Optionen unter anderem
Git, FTP, WebDeploy und TFS2 Deploy unterstützt. Das Portal bietet hierzu verschiedene
Deployment-Skripte an, die in eigene Entwicklungsumgebungen importiert werden können.
Damit können Websites neben Windows auch in Nicht-Microsoft-Umgebungen wie Linux oder
MacOS entwickelt und dann auf Microsoft Azure betrieben werden. Auch ist ein automatisier-
tes Deployment direkt aus Quellcode-Verwaltungen (unter anderem Git, Visual Studio Online,
Dropbox, Skydrive, …) heraus möglich. Sobald ein Entwickler neuen Code einstellt, erfolgt au-
tomatisch ein neues Deployment (welches über das Portal auch rückgängig gemacht werden
kann), so dass eine Website stets auf dem aktuellsten Quellcode-Stand ist.
Zur Ausführung der Web Apps stehen mehrere Betriebsarten zur Verfügung: im "Shared"-Mo-
dell werden eine oder mehrere Instanzen der Anwendung in einer Multi-Mandanten-Umge-
bung betrieben, im kostenlosen „Free“-Modell ist die Zahl der Instanzen auf eine einzige be-
schränkt, im "Basic"-Modell erfolgt der Betrieb in exklusiv für die Anwendung bereitgestellten
virtuellen Maschinen. Das „Standard“- und das „Premium“-Modell bietet darüber hinaus noch
2 Team Foundation Server (Bestandteil der Visual Studio Plattform)
16
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
Backup und Restore, Auto-Scaling, Webjobs, Scheduler Unterstützung und das stufenweise
Publishing über eine Staging-Umgebung.
Zwischen den Betriebsarten kann flexibel gewechselt werden. Damit ist sowohl Scale-out (Hin-
zuschalten zusätzlicher Instanzen gleicher Größe) als auch Scale-up (Vergrößerung der beste-
henden Instanzen im „Basic“- oder „Standard“-Modell) zur Anpassung der Umgebung an sich
ändernde Last möglich. Dies kann in „Standard“- und „Premium“-Modell mit der AutoScale-
Funktion auch (z.B. in Abhängigkeit von der CPU-Last) automatisiert werden. Konfiguration
und Verwaltung der zur Ausführung von Web Apps genutzten virtuellen Maschinen wird voll-
ständig durch Microsoft Azure übernommen.
Für die Persistierung von Daten stehen als Datenbanken MySql und Microsoft Azure SQL Data-
base zur Auswahl. Aus Web Apps heraus können natürlich auch die weiteren Dienste der
Microsoft Azure Plattform genutzt werden. So kann eine Web App Authentifizierung von Be-
nutzern über das Azure Active Directory durchführen oder zur Datenspeicherung auf einen
SQL Server zugreifen, der in einer Virtual Machine ausgeführt wird.
http://azure.microsoft.com/de-de/services/app-service/web/
2.1.2 Backends für mobile Clients mit Mobile Apps
Sogenannte „Connected mobile Apps“, d.h. leichtgewichtige Anwendungen, die auf mobilen
Endgeräten ausgeführt werden, sind häufig über Backend-Services vernetzt. Über diese
Dienste tauschen die einzelnen Clients Daten aus, speichern Daten, führen Authentifizierung
durch etc. Microsoft Azure Mobile Apps bieten eine Sammlung genau solcher, häufig benö-
tigter Dienste auf Microsoft Azure an. Zu diesen Diensten gehören unter anderem folgende
Funktionen:
Benutzerauthentifizierung (via Microsoft Account, Facebook, Twitter und Google ID)
mit entsprechender Zugriffskontrolle bei Service-Aufrufen
Speicherung von Daten in Blob, Table, Queue Service oder SQL Database
Kommunikation via Service Bus
Push Notifications
Zeitgesteuerte Ausführung serverseitiger Skripte
Darüber hinaus ist es möglich, neben den Daten-basierten Schnittstellen (für das Schreiben,
Lesen, Ändern, Löschen von Daten) eigene Schnittstellen bereitzustellen.
Die vorkonfigurierten Microsoft Azure Mobile Apps können ohne größeren Programmierauf-
wand sehr einfach als Backend-Dienste für Windows 8.x, Windows Phone 8.x, Windows 10,
iOS, Android und Web Clients eingesetzt werden. Es können Vorlagen für entsprechende neue
Apps oder Code Fragmente für bestehende Apps aus dem Portal heruntergeladen werden. Die
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 17
Entwicklung einfacher mobiler Anwendungen, die Cloud Dienste nutzen sollen, vereinfacht sich
dadurch deutlich.
http://azure.microsoft.com/de-de/services/app-service/mobile/
2.1.3 API-basierte Workflows mit Logic Apps
Über Logic Apps können Workflows definiert werden, die aus einer Aneinanderreihung von
API-Aufrufen und der entsprechenden schrittweisen Verarbeitung von Daten bestehen. D.h.
Rückgaben einer API können als Aufrufparameter nachfolgender APIs dienen. Über bereits in
Azure enthaltene Konnektoren können verschiedene Backend-Systeme (z.B. Salesforce, Drop-
Box, Twitter, SharePoint, Office 365, …). Damit lassen sich Geschäftsprozesse implementieren,
die eigene Anwendungslogik und Logik verschiedener Backendsysteme (über die
Konnektoren) umfassen. Die Prozesse können dabei regelmäßig ausgeführt ober über Ereig-
nisse der integrierten Systeme ausgelöst werden. So könnte beispielsweise nach Anlage eines
neuen Eintrags in Salesforce eine E-Mail passende verschickt und ein Eintrag in einer SQL Da-
tenbank erstellt werden.
http://azure.microsoft.com/de-de/services/app-service/logic/
2.1.4 Web-basierte Schnittstellen mit API Apps
Häufig soll Anwendungslogik flexibel als aufrufbare API bereitgestellt werden. Wenngleich
über Technologien wie Web API die Erstellung einer API recht einfach ist, sind Funktionalitäten
zur Authentifizierung, zum Aufruf etc. mitunter mit Aufwänden zur Umsetzung verbunden. API
Apps vereinfachen die Bereitstellung dieser begleitenden Funktionalitäten bedeutend. Bei der
Implementierung von Clients, die eine API App verwenden sollen, können die Meta-Informa-
tionen (Aufrufparameter, Rückgabewerte, Authentifizierungsanforderungen etc.) über eine
Swagger-basierte Beschreibung importiert und daraus der Code für die Aufrufe automatisch
erzeugt werden. Entwickler können sich so voll auf die Anwendungslogik konzentrieren und
Objekte ihrer jeweiligen Programmiersprache verwenden.
Entwickler können API Apps entweder vollständig selbst implementieren oder durch Konfigu-
ration entsprechender Konnektoren bereitstellen. Azure enthält im Marketplace bereits eine
Vielzahl an Konnektoren mit denen beispielsweise E-Mails versandt, Daten in Salesforce ein-
gestellt oder Twitter-Tweets abgesetzt werden können.
http://azure.microsoft.com/de-de/services/app-service/api/
18
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
2.1.5 Azure Functions
Azure Functions ermöglichen die ereignisgesteuerte Ausführung von Anwendungscode, bei
der nur während der Ausführung benötigte Ressourcen in Rechnung gestellt werden. Func-
tions können in verschiedenen Sprachen wie z.B. JavaScript, C#, Python oder PHP oder Skript-
sprachen (Bash, Batch, PowerShell) erstellt werden. Functions werden dann in Reaktion auf
externe Ereignisse (Änderungen in einer Datenquelle, Eintreffen von Nachrichten etc.) ausge-
führt.
https://azure.microsoft.com/de-de/services/functions/
2.2 Cloud Services – mehrschichtige, skalierbare
Anwendungen
Microsoft Azure Cloud Services sind (neben Web Apps und Virtual Machines) eine von drei
Optionen zur Ausführung von Anwendungen in der Cloud. Der Fokus liegt bei Cloud Services
stark auf hoch-verfügbaren, hoch-skalierenden, mehrschichtigen Web-Anwendungen, die ma-
ximal von der flexiblen Ressourcenbereitstellung der Public Cloud profitieren sollen. Diese An-
wendungen können in Komponenten, genannt "Rollen", untergliedert werden, die unabhängig
voneinander skaliert werden können. Microsoft Azure übernimmt dabei das Management der
zur Ausführung der Rollen benötigten virtuellen Maschinen. Dies schließt Upgrades der Gast-
Betriebssysteme, Patching und Failover (ausgefallene Komponenten werden automatisch er-
setzt) ein. Anders als bei Websites haben Entwickler vollen administrativen Zugang auf die
virtuellen Maschinen, um beispielsweise zusätzliche Software in die einzelnen Instanzen zu in-
stallieren. Hierzu werden auch Remote Desktop Verbindungen zur Administration unterstützt.
Rollen können unabhängig voneinander skaliert werden (Hinzuschalten bzw. Entfernen von
Instanzen); mit der Auto-Scaling-Funktion kann dieser Vorgang auch (in Abhängigkeit von ver-
schiedenen Lastparametern) automatisiert werden.
Die Entwicklung von Cloud Services kann über Visual Studio oder auch Eclipse erfolgen. Die
Anwendungen können zunächst in einem Azure Emulator lokal ausgeführt und - nach erfolg-
reichem Test - direkt aus der Entwicklungsumgebung heraus in die Cloud deployt werden.
Cloud Services bieten demnach Entwicklung und Betrieb von Anwendungen im Sinne des
PaaS-Modells (PaaS = Platform-as-a-Service). Cloud Services bieten dabei mehr Kontrolle über
das Deployment und die Verteilung von Anwendungskomponenten als Web Apps.
Microsoft Azure basierte Cloud Services werden in der Cloud letztlich in auf Windows Server
basierenden virtuellen Maschinen (VMs) ausgeführt. Es hängt vom Aufbau des Cloud Service,
der gewählten Instanzgrößen und VM Versionen ab, wie diese VMs von Microsoft Azure kon-
figuriert werden. Der Entwickler kann den Aufbau über eine Cloud-Service-Definition (csdef)
und eine Cloud-Service-Konfiguration (cscfg) bestimmen. Im Deploymentpaket, welches von
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 19
Visual Studio, Eclipse oder Kommandozeilentools erstellt werden kann, befinden sich dann alle
zur Ausführung der Anwendung benötigten Komponenten (Anwendungscode, Libraries,
Frameworks, Serversysteme etc.). Der Rest wird von Microsoft Azure übernommen. Wird die
Zahl der Instanzen (durch Änderung der Konfiguration oder durch Nutzung der AutoScale-
Funktion) zur Laufzeit geändert, werden entsprechend Instanzen automatisch heruntergefah-
ren bzw. zusätzliche Instanzen provisioniert und der vorgeschaltete Loadbalancer passend um-
konfiguriert. Der administrative Aufwand für den Nutzer beschränkt sich somit auf ein Mini-
mum. Die Kosten für den Betrieb werden pro Stunde angesetzt. Werden neue virtuelle Maschi-
nen erzeugt (z.B. bei einem größeren Patch oder bei Hardware-Ausfall), so wird ihr Zustand auf
den Deployment-Zeitpunkt zurückgesetzt, d.h. die virtuelle Maschine wird aus einem Basis-
Image und dem Deployment-Paket erzeugt. Anders als bei Virtual Machines sind die virtuellen
Maschinen von Cloud Services nicht persistent. In Cloud Services ausgeführte Anwendungen
sollten ihren Zustand also außerhalb der virtuellen Maschinen (z.B. in Microsoft Azure Storage
oder SQL Database) speichern und die Laufwerke innerhalb der virtuellen Maschinen nur für
Caching-Zwecke nutzen.
http://azure.microsoft.com/de-de/services/cloud-services/
2.3 Service Fabric - Microservices-basierte Apps
Die Service Fabric ist das neueste Mitglied in der Familie der Compute Services. Derzeit nur
angekündigt, wird dieser Dienst die vierte Option zur Umsetzung Cloud-basierter Anwendun-
gen in Azure (neben App Service, Cloud Services und Virtual Machines). Apps, die für die Ser-
vice Fabric geschrieben werden, unterscheiden sich hinsichtlich Aufbau und Deployment von
den Anwendungen der anderen Compute-Betriebsarten. Bei der Service Fabric können An-
wendungen aus sogenannten Micro-Services aufgebaut sein, die dynamisch installiert und auf
einen Pool bereitgestellter virtueller Maschinen verteilt werden können. Dabei können sich die
Instanzen eines Micro-Service die Ressourcen mit anderen Micro-Service teilen, d.h. auf einer
virtuellen Maschine kann mehr als eine Micro-Service-Instanz ausgeführt werden. Vorteil ge-
genüber den anderen Ausführungsoptionen ist eine deutlich flexiblere Ressourcen-Zuteilung
und bessere Auslastung der Maschinen. Anwendungen können flexibler, nämlich auf Micro-
Service-Ebene skalieren. So können einzelne Funktionen in Micro-Services verpackt und dann
sehr individuell skaliert werden (wenn z.B. nur bei einer bestimmten Anwendungsfunktion eine
Lastspitze auftritt). Allerdings müssen Anwendungen ganz speziell für die Azure Service Fabric
geschrieben sein.
http://azure.microsoft.com/de-de/documentation/services/service-fabric/
20
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
2.4 Virtual Machines - Betrieb virtueller Maschinen in
der Cloud
Virtual Machines bringen das IaaS-Element in Microsoft Azure ein. Sie erlauben den Betrieb
selbst erstellter oder von Microsoft bereitgestellter virtueller Maschinen auf Microsoft Azure.
Diese werden minutengenau abgerechnet. Zur Bereitstellung einer Virtual Machine ist letztlich
nur die Festlegung einer VHD (hier werden Standard-VHDs eingesetzt), auf deren Basis der
Bootvorgang ablaufen soll, die VM-Größe sowie – abhängig von der gewählten VHD – ein paar
wenige Konfigurationsparameter (z.B. Administratorkennung, DNS-Name) erforderlich.
Die in den virtuellen Maschinen eingesetzten Festplattenlaufwerke werden im Storage als Page
Blobs persistiert. Damit bleiben alle Inhalte erhalten, sollte eine virtuelle Maschine einem Re-
Image unterzogen werden (z.B. bei Hardware-Ausfall). Für die Inhalte gelten die gleichen Re-
geln für Failover (3-fach-Speicherung aller Inhalte, optionale Geo-Replikation in ein entferntes
Rechenzentrum) wie für alle anderen Inhalte des Blob Storage. Da von Microsoft Azure Stan-
dard-VHDs genutzt werden, können sowohl bestehende VMs aus einer lokalen Hyper-V-Um-
gebung in die Cloud migriert und als Virtual Machine ausgeführt werden, als auch umgekehrt
VHDs aus Microsoft Azure heruntergeladen und in einer entsprechenden Hyper-V-Umgebung
lokal ausgeführt werden.
Als Gast-Betriebssysteme für Virtual Machines werden sowohl verschiedene Windows Server
Varianten als auch ausgewählte Linux-Distributionen unterstützt. Ebenfalls unterstützt werden
einige Serveranwendungen wie SQL Server, SharePoint Server, BizTalk Server und Active Di-
rectory. Durch Kooperation mit Oracle werden auch Anwendungen aus dem Oracle-Techno-
logieportfolio (WebLogic, Java, Oracle DB, …) unterstützt. Es ist möglich, neue VHDs in einer
lokalen Hyper-V-Umgebung zu erzeugen, nach Microsoft Azure zu laden und von den VHDs
neue Virtual Machines zu booten. Daneben können auch bereits vorgefertigte mit entspre-
chender Serversoftware bestückte Images aus einer VM Gallery ausgewählt und gestartet wer-
den. Im sogenannten VM Depot hält MS Open Tech diverse mit Open-Source-Stacks bestückte
VM Images vor, die dann leicht nach Azure importiert und dort ausgeführt werden können.
Damit ist es möglich, wichtige Teile der Serverumgebungen eines eigenen Rechenzentrums
ohne Änderung nach Microsoft Azure zu migrieren. Die minutengenaue Abrechnung macht
dieses Ausführungsmodell auch für die Bereitstellung von Test- oder Demo-Umgebungen in-
teressant, wo Infrastruktur oft nur temporär benötigt wird.
Wie die anderen Ausführungsmodelle können auch Virtual Machines in Kombination mit an-
deren Azure Services genutzt werden. So kann eine in einer VM ausgeführte Anwendung bei-
spielsweise problemlos Microsoft Azure Storage oder SQL Database nutzen oder Benut-
zerauthentifizierung über den Azure Active Directory abwickeln. Besonders interessant ist die
Kombination mit dem Virtual Network (siehe 8.1): Durch die Möglichkeit ein lokale und Cloud-
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 21
VMs umspannendes virtuelles Netzwerk mit gemeinsamen Ipv4-Adressraum und entsprechen-
den Routing Tabellen einzurichten, können virtuelle Maschinen flexibel zwischen der Cloud
und einem lokalen Rechenzentrum hin- und hergeschoben werden ohne dass dies aus Netz-
werksicht Auswirkungen auf die anderen VMs hat.
http://azure.microsoft.com/de-de/services/virtual-machines/
2.5 Azure Batch – Batch-Verarbeitung
Die automatisierte Ausführung von größeren Berechnungsprozessen (z.B. für mathematische
Berechnungen, Rendering von Videos, Datenauswertungen, …) ist normalerweise mit einigen
Herausforderungen verbunden: die temporäre Bereitstellung ausreichender Rechenkapazität,
Verteilung der Berechnungslogik und zugehöriger Daten sind in der klassischen IT schwer bis
überhaupt nicht zu realisieren. Azure Batch kann diese Aufgaben übernehmen und so die Mög-
lichkeiten der Batch-Verarbeitung jedem Azure-Anwender zugänglich machen. Der Service
stellt die jeweils benötigten Cluster-Umgebungen bereit, verteilt die per EXE-Datei oder Skript
bereitgestellte Berechnungslogik, steuert die Ausführung und gibt die Rechenressourcen nach
Beendigung wieder frei, so dass nur genau die benötigten Ressourcen abgerechnet werden.
http://azure.microsoft.com/de-de/services/batch/
2.6 Mobile Engagement – Verwaltung mobiler Apps
Mit Mobile Apps und den Vorlagen für Clients auf verschiedenen Plattformen können mobile
Anwendungen recht schnell und effizient umgesetzt werden. Während des Betriebs dieser An-
wendungen ist häufig von Interesse, welche Funktionen dieser Anwendungen häufig genutzt
werden, wo Probleme auftreten etc. Mobile Engagement ermöglicht einen Zugriff auf derartige
Informationen über ein Dashboard. Über dieses ist es auch möglich, Nachrichten an Nutzer zu
verschicken, um beispielsweise Kampangnen-bezogene Informationen zu verteilen.
http://azure.microsoft.com/de-de/services/mobile-engagement/
2.7 Notification Hubs - Push-Benachrichtigungen an
mobile Plattformen
Die Möglichkeit, gezielt, schnell und einfach Push Notifications an eine große Zahl von unter-
schiedlichen Clients verschicken zu können, stellt eine große Herausforderung in modernen,
mobilen Anwendungsszenarien dar. Notification Hubs erlauben es, mit einem einzigen API-
Aufruf Nachrichten an Clients unterschiedlicher Plattformen (Windows Store, Windows Phone
22
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
8, iOS, Android) zu verschicken. Als Adressat können dabei einzelne User (die ggf. mehrere
Geräte besitzen), Gruppen von Usern oder alle Nutzer zugehöriger Client-Apps bestimmt wer-
den.
Damit können beispielsweise Nachrichtenportale an ihre Leser aktuelle Neuigkeiten thema-
tisch zielgerichtet verschicken oder Event-Seiten Aktualisierungen zum Tagesverlauf verschi-
cken.
http://azure.microsoft.com/de-de/services/notification-hubs/
2.8 Bereitstellung von Client-Apps mit RemoteApp
Mit RemoteApp können Client Anwendungen zentral über Azure bereitgestellt werden. Über
das Microsoft Remote Desktop Protocol können diese Anwendungen dann von verschiedenen
Client Systemen (Windows, Mac OS X, iOS, Android) aus aufgerufen und ausgeführt werden,
ohne dass die Anwendungen auf den Clients gespeichert werden. Damit wird es möglich, An-
wendungen aus einer gesicherten Umgebung heraus bereitzustellen und zugleich eine hete-
rogene Client-Systemlandschaft zu unterstützen.
http://azure.microsoft.com/de-de/services/remoteapp/
2.9 API Management
Anwendungslogik wird häufig nicht über eine endbenutzertaugliche Oberfläche, sondern als
API bereitgestellt. API Management kann bei der Vermarktung einer API helfen.
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 23
Abb. 2-2 API Management
Dazu können bereitgestellte APIs vom Anbieter der API über ein Publisher Portal unter ande-
rem zu Produkten paketiert, mit Berechtigungen versehen, duch Konvertierung von Ein- und
Ausgabewerten ergänzt, mit produktspezifischen SLAs versehen werden. Entwickler, die diese
APIs nutzen wollen, erhalten über ein Developer Portal Zugriff auf die APIs und zugehörige
Dokumentation. Das Portal erzeugt für verschiedene Programmiersprachen Aufruf-Code. Die
Nutzung von APIs erfolgt über ein API Gateway, welches die Aufrufe überwacht, Sicherheit und
Quotas sicherstellt, Aufrufe auswertet und ggf. entsprechende Informationen an die Abrech-
nungssysteme leitet. Die bereitgestellte API kann dabei auf Azure oder auch extern betrieben
werden.
http://azure.microsoft.com/de-de/services/api-management/
24
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
3 Speicherung von Daten auf Microsoft
Azure
Sichere Datenspeicherung ist eine zentrale Anforderung in nahezu jeder Anwendung. Eine
Möglichkeit zur Speicherung von Daten wurde bereits in Abschnitt 2.3 vorgestellt: Speicherung
in Virtual Machines. Dies kann in den Laufwerken der Virtual Machine, einem vorkonfiguriertem
SQL Server oder auch in beliebigen anderen Speichersystem (auch Non-SQL-Systeme wie
MongoDB, Cassandra etc.) erfolgen, welches in einer Virtual Machine betrieben wird. Durch
die Persistierung der Festplatten in Blob Storage sind die Daten sicher abgelegt.
Microsoft Azure stellt darüber hinaus auch verschiedene Speichertypen als echte Cloud Ser-
vices zur Verfügung. Das Management dieser Speicher wird weitestgehend durch Microsoft
Azure übernommen. Für relationale Datenspeicherung gibt es SQL Database, für Non-SQL-
Speicherung semi-strukturierter Daten gibt es DocumentDB und Table Storage, für große Bi-
närdaten (Dokumente, Videos, Musik, statische Webseiteninhalte) gibt es Blob Storage und als
persistentes Dateisystem stehen Azure Disks zur Verfügung. Folgende Tabelle gibt einen Über-
blick über die verschiedenen Speicheroptionen.
Relational Document Key-Value Distributed Files Blobs
PaaS
Voll gemanaged
Skalierbar
SQL Database
SQL DW
DocumentDB Table Storage Data Lake
HBase
(HDIinsight)
File Storage
Disks
Blob Storage
IaaS
Betrieb in VMs
Marketplace
SQL Server
Oracle
MySQL …
Mongo DB
…
Cassandra
…
HBase
(Hadoop)
…
Informationstyp Tabellen Objekte Key-Value flexibel
Schema On write Nein Nein On read Nein Nein
Redundanz Ja, 3-fach, Geo-Redundanz optional
Schnittstelle SQL SQL
MongoDB
RESTful Flexibel
(Data Lake mit
U-SQL)
RESTful
SMB
RESTful
Use Cases Relationale
Speicherung
und Verarbei-
tung (SQL)
Semi-strukt.
JSON-Objekte
Semi-strukt.
Entities mit ei-
nem Schlüssel
Verteilte, fle-
xible Speiche-
rung großer
Datenmengen
(Big Data)
Ablage von Binärdaten
(Dokumente, Bilder, Videos
etc.)
Tabelle 3: Gegenüberstellung der Speicheroptionen unter Microsoft Azure
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 25
Alle diese Speichertypen (bis auf das lokale Dateisystem einer VM) legen Daten dreifach auf
verteilten Speichermedien ab. Zugriff ist nicht nur über Anwendungen möglich, die auf Micro-
soft Azure betrieben werden, sondern auch von außerhalb, d.h. beispielsweise von einer lokal
ausgeführten Rich-Client-PC-Anwendung oder einer Smartphone App. Es ist möglich, die In-
halte mit Zugriffsschutz zu versehen. Auch eine zeitliche Zugangsbeschränkung ist möglich.
3.1 Relationale Datenspeicherung
3.1.1 Relationale Datenbanksysteme in Virtual Machines
Ein in einer Virtual Machine betriebener SQL Server (bzw. ein beliebiges anderes Datenbank-
system) ist eine naheliegende Möglichkeit, relationale Datenspeicherung und -verarbeitung in
Microsoft Azure durchzuführen. Konfiguration und Administration des Servers verbleiben da-
bei beim Nutzer. Er bleibt also in der Verantwortung, den Server zu verwalten, zu konfigurieren,
Updates einzuspielen etc. Einflussmöglichkeiten auf den Betrieb des Servers sind somit maxi-
mal. Auch die Kompatibilität zu einem lokal ausgeführten System ist gegeben. Die Aufwände
zum Betrieb sind allerdings auch vergleichbar mit denen zum Betrieb eines lokalen Systems.
3.1.2 RDBMS-as-a-Service: SQL Database
SQL Database bringt relationale Datenbanktechnologie als echten Cloud Dienst in die Micro-
soft Azure Plattform ein. Dazu gehören eine relationale Datenbank und ein Synchronisierungs-
dienst, mit dem mehrere Datenbanken inhaltlich abgeglichen werden können. Der Administ-
rationsaufwand beschränkt sich auf ein Minimum, da dieser weitestgehend von Microsoft
Azure übernommen wird.
Mit SQL Database verfügt Microsoft Azure über eine echte relationale Datenbank, die schnitt-
stellenkompatibel zu SQL Server ist. Durch diese Kompatibilität ist es möglich, SQL Database
über bekannte Technologien (z.B. Entity Framework, ADO.NET, JDBC) und Werkzeuge (z.B. SQL
Server Management Studio) zuzugreifen. In vielen Fällen reicht es aus, die Adressierung der
anzusprechenden Datenbank über den Connection String zu einer entsprechenden Cloud Da-
tenbank vorzunehmen.
Funktional bildet SQL Database eine Teilmenge von SQL Server ab. Zur Verfügung stehen die
bekannten Datenbankkonstrukte wie Tabellen, Views, Joins, atomare Transaktionen, Datenin-
tegrität bei konkurrierenden Zugriffen etc. Ebenso wird die SQL Sicherheitsarchitektur mit der
Möglichkeit unterstützt, Benutzer anzulegen und diesen Berechtigungen zu vergeben.
Im Unterschied zu SQL Server (auch einem SQL Server, der in einer Virtual Machine betrieben
wird) handelt es sich bei SQL Database um einen echten Cloud Dienst. Das Management der
Umgebung (Konfiguration von Hardware und Systemsoftware, Überwachung, Einspielen von
26
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
Patches etc.) wird vollständig durch Microsoft Azure übernommen. Das Einrichten eines neuen
Datenbankservers mit einer zugehörigen Datenbank ist eine Frage von Sekunden. Entspre-
chend schnell kann eine Datenbank wieder gelöscht werden. Die Abrechnung erfolgt entspre-
chend der Bereitstellungsdauer und der Datenbankgröße.
SQL Database wird in drei Editionen angeboten: Basic, Standard und Premium. Basic eignet
sich als kostengünstige Alternative für geringere Lasten und Datenbankgrößen bis 2 GB, Stan-
dard bietet höhere Transaktionsleistungen für Datenbanken bis 250 GB und Premium garan-
tiert höchste Performanz- und Transaktionsleistung bei Datenbanken bis 500 GB. Zwischen
den Editionen kann zur Laufzeit einfach gewechselt werden, so dass auf Änderungen in den
Lastanforderungen reagiert werden kann.
Skalierbarkeit über die Grenzen einer einzelnen SQL Database Instanz hinaus kann mit Elastic
Scale für Azure SQL Database erzielt werden. Mit diesem Dienst wird die Skalierbarkeit der
Datenschicht in Cloud Anwendungen deutlich vereinfacht. Letztlich handelt es sich um einen
Sharding Mechanismus, über den Anwendungen auf einen Pool von Datenbanken, auf den der
Datenbestand verteilt ist, zugreifen können. Über einen „Contract“ können Entwickler Strate-
gien zu definieren, die festlegen, welche Daten letztlich in welcher Datenbank gespeichert wer-
den. Diese erlaubt es dem Service automatisch zu bestimmen, welche Datenbank für eine kon-
krete Transaktion angesprochen werden soll. Abfragen über mehrere Datenbanken hinweg
sind ebenfalls möglich.
http://azure.microsoft.com/de-de/services/sql-database/
3.2 NoSQL-Datenspeicherung
Neben relationaler, SQL-basierter Datenspeicherung, bietet Microsoft Azure auch Daten-
dienste, die eine NoSQL-basierte Speicherung ermöglichen: DocumentDB als dokumentenba-
sierte Datenbank mit nativer Unterstützung für JSON und JavaScript, Table Storage zur Ablage
semi-strukturierter Daten in tabellenartig aufgebauten Entity-Sets, Queue Storage3 zum Nach-
richtenversand zwischen lose, d.h. asynchron gekoppelten Kommunikationspartnern und Blob
Storage zur Ablage und Verarbeitung großer Binärdaten (BLOB = binary large object). In allen
Fällen werden die Daten hochverfügbar abgelegt (hierzu werden Daten automatisch 3-fach
gespeichert, Geo-Replikation ist möglich) und stehen über RESTful Schnittstellen zur Verfü-
gung. Ein Sonderfall stellen Microsoft Azure Disks dar: sie stellen auf Basis von Blob Storage
ein NTFS-Dateisystem mit entsprechender Filesystemschnittelle zur Verfügung. Damit kann in
Microsoft Azure Virtual Machines ein persistentes Dateisystem genutzt werden.
3 Queue Storage wird im Kontext der Anwendungsintegration in Abschnitt 7.2.1 behandelt.
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 27
3.2.1 JSON-Objektdatenbank DocumentDB
DocumentDB ist bezüglich der zu speichernden Daten zwischen SQL Database und Table Sto-
rage angesiedelt. Formal eine schemalose NoSQL-Datenbank erlaubt DocumentDB die Spei-
cherung komplexerer JSON-basierter Objekte. Diese werden automatisch von der Datenbank
indiziert und können mit einer an SQL angelehnten Abfragesyntax ohne Angabe eines Sche-
mas oder Sekundärindizes zugegriffen werden. Durch die native Unterstützung von JavaScript
und JSON eignet sich DocumentDB für die Entwicklung von Anwendungen, die auf diesen
Technologien basieren und die entsprechende Objete speichern müssen.
http://azure.microsoft.com/de-de/services/documentdb/
3.2.2 Table Storage
Microsoft Azure Table Storage ist eine weitere NoSQL-Datenbank der Microsoft Azure Platt-
form. Anders, als der Name suggeriert, handelt es sich also nicht um ein tabellenbasiertes,
relationales Datenbanksystem, sondern um einen Speicher für die Ablage großer semi-struk-
turierter Datenbestände in der Cloud, für deren Zugriff ein Primärschlüssel ausreichend ist, und
keine aufwändigen relationalen Datenbankoperationen erforderlich sind. Über einen einzigen
Schlüssel (bestehend aus den zwei Pflicht-Attributen Partition Key und Row Key) können Enti-
tys ausgelesen werden, die ihrerseits aus frei definierbaren, typisierten Propertys (eine Property
besteht dabei aus einem Namen, einem Typen (z.B. String, Integer, ...) und einem Wert) beste-
hen.
Über die Primärschlüsselwerte kann Microsoft Azure Einträge zu Partitionen zusammenfassen
und diese zur Performance-Optimierung automatisch auf verschiedene Speichermedien ver-
teilen. Die Daten werden dabei automatisch 3-fach, hoch-verfügbar abgelegt, und können
über RESTful-Schnittstellen zugegriffen werden. Als Alternative für den Zugriff stehen unter
anderem für .NET, Java und PHP Klassenbibliotheken zur Verfügung. Wenngleich Table Storage
gegenüber SQL Database weniger Funktionalität im Bereich Datenmanagement und komple-
xen Zugriffsoperationen hat, bietet er eine kostengünstige Ablage semi-strukturierter Daten
und ermöglicht einen effizienten, hochperformanten Zugriff auf diese Daten. Dabei werden
Datenbestände von bis zu 500 Terabytes pro Storage Account unterstützt.
http://azure.microsoft.com/de-de/documentation/articles/
storage-dotnet-how-to-use-tables/
3.2.3 Blob Storage
Microsoft Azure Blob Storage erlaubt die sichere, hoch-verfügbare Speicherung großer, un-
strukturierter Binärdaten (BLOB = binary large object) in Microsoft Azure. Ein einzelner Blob
kann dabei bis zu 1 Terabyte Größe haben. Inhalte werden automatisch 3-fach gespeichert.
28
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
Darüber hinaus ist Geo-Replikation sowie die Möglichkeit, Blob-Inhalte über das Content De-
livery Network (siehe 6.2) weltweit verteilt zu cachen, optional verfügbar. Es stehen zwei Arten
von Blobs zur Verfügung: Block Blobs und Page Blobs. Erstere eignen sich für sequentiellen
Datenupload und -download, letztere bieten wahlfreien Zugriff auf Blob-Abschnitte.
Blobs werden innerhalb von Containern abgelegt. Sowohl auf Conainer- als auch auf Blob-
Ebene können Zugriffsrechte vergeben werden. Dabei kann das betreffende Element als öf-
fentlich (Zugriff ohne Authentifizierung möglich) oder privat deklariert sein. Über die Erzeu-
gung von Shared Access Signatures können Zugriffe zeitlich begrenzt auf entsprechend be-
rechtigte Nutzer beschränkt werden.
http://azure.microsoft.com/de-de/documentation/articles/
storage-dotnet-how-to-use-blobs/
3.3 Dateisystem-basierte Speicherdienste
3.3.1 SMB-2.1-Fileshares mit File Service
Mit Hilfe des File Service können File Shares über das Standard-SMB-2.1-Protokoll bereitge-
stellt werden. Damit können Azure-basierte Anwendungen bzw. Ausführungs-Instanzen leicht
untereinander Daten austauschen. Eine Migration bestehender Anwendungen in die Cloud
wird dadurch deutlich vereinfacht, da mit SMB-2.1 ein Protokoll weiterverwendet werden kann,
das in lokalen Ausführungsumgebungen häufig zum Einsatz kommt.
3.3.2 Virtuelle Festplatten in Virtual Machines: Disks
Mit Microsoft Azure Disks können aus Microsoft Azure Virtual Machines Daten in ein persis-
tentes Dateisystem gespeichert werden. Eine in einem Microsoft Azure Page Blob abgelegte
VHD (virtual hard disk) dient dabei als Speichermedium. Dort abgelegte Daten werden – wie
bei Page Blobs üblich – 3-fach abgelegt und sind somit ausfallsicher gespeichert. Microsoft
Azure Disks können zur Laufzeit an Virtual Machines angehängt bzw. abgelöst werden.
3.4 Caching
Anwendungen müssen häufig wiederholt auf Daten in entfernten Quellen (z.B. SQL Database,
Microsoft Azure Storage, ...) zugreifen. Zur Performance-Steigerung kann es sinnvoll sein, diese
nach dem erstmaligen Auslesen in einem näher gelegenen, performanteren Speicher zwi-
schenzuspeichern, um Folgezugriffe schneller abwickeln zu können. Microsoft Azure stellt zu
diesem Zweck vier Mechanismen zur Verfügung: Redis Cache und Managed Cache Service als
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 29
zentral bereitgestellt Caching Services, In-Role Caching als Möglichkeit, ungenutzte Ressour-
cen innerhalb der Komponenten oder auch dedizierte Instanzen als Cache zu verwenden und
das Content Delivery Network, das Inhalte aus Blob Storage weltweit verteilt zwischenspei-
chern kann.
http://azure.microsoft.com/de-de/services/cache/
3.4.1 Azure Redis Cache
Redis Cache ist ein auf dem Open-Source-basierten Redis Cache Framework setzender, von
Microsoft verwalteter und zentral bereitgestellter Caching Service. Dieser kann aus jedem Aus-
führungsmodell (Websites, Cloud Services, Virtual Machines) heraus angesprochen und ge-
nutzt werden und stellt die Empfehlung für alle neu zu entwickelnden Cloud-basierten Anwen-
dungen dar, die Cache-Bedarf haben.
http://azure.microsoft.com/de-de/documentation/services/cache/#redis
3.4.2 Managed Cache Service
Der Managed Cache Service stellt einen zentral nutzbaren In-Memory-Cache zur Verfügung.
Im Gegensatz zum In-Role Cache, der Cloud Services vorbehalten ist, kann der Cache Service
wie der Redis Cache aus allen Ausführungsmodellen heraus angesprochen und genutzt wer-
den. Der Managed Cache Service wird nur noch aus Gründen der Kompatibilität zu älteren
Anwendungen angeboten. Für neue Projekte sollte Redis-Cache gewählt werden.
http://azure.microsoft.com/de-de/documentation/services/cache/#managed
3.4.3 In-Role Cache
Der In-Role Cache verlagert Caching Funktionalität in die Instanzen eines Cloud Service selbst,
d.h. die zur Zwischenspeicherung genutzten Speicherressourcen befinden sich in zur Anwen-
dungsausführung genutzten VM-Instanzen (wobei hier prozentuale Ressourcenanteile für das
Caching reserviert werden) oder in speziell für Caching-Zwecke eingesetzten VM-Instanzen.
Das Caching-Framework stellt sicher, dass sich die Speicherinhalte der Caching-Instanzen un-
tereinander synchronisieren. Durch eine entsprechende Konfiguration der betreffenden An-
wendung kann dieser Cache auch zur Zwischenspeicherung einer User-Session verwendet wer-
den.
http://azure.microsoft.com/de-de/documentation/services/cache/#in-role
30
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
3.5 Hybride Datenablage mit StorSimple
StorSimple stellt eine hybride Speicherlösung dar. Eine im eigenen Rechenzentrum betriebene
Appliance bietet lokale Datenspeicher an. Die gespeicherten Daten werden (auf Wunsch ver-
schlüsselt) in Microsoft Azure Storage repliziert. Durch die Sicherheitsmechanismen im Azure
Storage (3-fach-Speicherung, Geo-Replikation, …) werden die Daten entsprechend sicher auf-
bewahrt. Die Notwendigkeit zum zusätzlichen Backup entfällt.
http://www.microsoft.com/de-de/server-cloud/products/storsimple/
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 31
4 Analytics- und IoT Services
Abb. 4-1 Analytics- und IoT-Services in Microsoft Azure
4.1 IoT Hub
In IoT Szenarien müssen in der Regel eine Vielzahl an Devices angebunden und verwaltet wer-
den. IoT Hub ermöglicht die Registrierung von Geräten und Sensoren (so dass diese dann nach
entsprechender Authentifizierung mit dem IoT Hub kommunizieren können) sowie eine bidi-
rektionale Kommuniktion mit diesen Geräten, d.h. er kann sowohl Nachrichten verarbeiten, die
von den Geräten gesendet werden (und diese z.B. an Stream Analytics weiterreichen), als auch
Nachrichten an die Geräte schicken, dort Wartungsarbeiten veranlassen, Updates einspielen,
Operationen aufrufen etc.
https://azure.microsoft.com/de-de/services/iot-hub/
4.2 Event Hubs
Im Kontext des „Internets der Dinge“ ist es häufig erforderlich, Datenströme, ausgehend von
verschiedenen Quellen wie Webseiten, Apps, Sensoren und sonstigen Geräten in Echtzeit zu
verarbeiten. Event Hubs ist eine hochgradig, skalierbare Datendrehscheibe, die Millionen von
Ereignissen pro Sekunde verarbeiten kann. Nachrichten werden dabei pro Datenquelle erfasst
32
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
und in einem partitionierten Speicherbereich zwischengespeichert. Dieser Speicher macht dan
die ein- oder mehrmalige Verarbeitung der Daten über parallel geschaltete Empfänger mög-
lich.
http://azure.microsoft.com/de-de/services/event-hubs/
4.3 Stream Analytics
Analyse und Auswertung von Daten, die in einem festen Speicher (“in Ruhe“) abgelegt sind,
kann beispielsweise über HDInsight erfolgen. Im Bereich von IoT-Szenarien wird allerdings
häufig eine Auswertung von Datenströmen, also Daten „in Bewegung“, benötigt. Stream Ana-
lytics deckt genau diese Anforderung ab: damit ist eine Analyse von Datenströmen in Echtzeit
möglich, d.h. Datenströme können überwacht, Auffälligkeiten der Daten im laufenden Betrieb
erkannt und gemeldet werden. Abfragen auf den Datenströmen können in einer SQL-basierten
Sprache formuliert werden. Datenbank-Spezialisten finden also eine vertraute Technologie zur
Analyse von Datenströmen vor.
http://azure.microsoft.com/de-de/services/stream-analytics/
4.4 Data Factory
Datenverarbeitung in Unternehmen ist heutzutage gekennzeichnet von heterogenen Daten-
speichern (SQL, NoSQL, unstrukturierte Daten etc.) und –verarbeitungskomponenten (Daten-
banken, BigData-Prozessoren etc.). Daten durchlaufen ein Unternehmen häufig komplexe
Wege von der Erzeugung bzw. dem Empfang der Daten über verschiedene datenverarbeitende
Komponenten bis hin zur Ablage bzw. Verteilung der Daten an unterschiedliche Empfänger.
Mit Data Factory können lokale Daten wie solche aus SQL Server zusammen mit Cloud-bezo-
gene Daten aus Azure SQL Database, Blobs und Tables verarbeitet werden. Diese Datenverar-
beitungsströme können über einfache, hochverfügbare Datenpipelines erstellt, verarbeitet und
überwacht werden. Es können Datenquellen und Datenempfänger definiert werden und die
Bewegung der Daten im Unternehmen nachverfolgt und von zentraler Stelle aus überwacht
werden.
http://azure.microsoft.com/de-de/services/data-factory/
4.5 Azure Data Lake
Azure Data Lake umfasst drei Services: Azure Data Lake Store, Azure Data Lake Analytics und
HDInsight (siehe 4.6).
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 33
4.5.1 Azure Data Lake Store
Azure Data Lake Store ist ein vollautomatisch verwaltetes Hadoop-Dateisystem (HDFS). Darin
können quasi beliebige Mengen an Daten unterschiedlicher Art (unstrukturiert, strukturiert) in
ihrem nativen Format abgelegt werden. Azure AD Integration ermöglicht dabei eine detaillierte
Kontrolle von Zugriffen. Die Zugriffe selbst sind dabei auf hohen Durchsatz und geringe Latenz
optimiert.
https://azure.microsoft.com/de-de/services/data-lake-store/
4.5.2 Azure Data Lake Analytics
Azure Data Lake Analytics setzt auf den Azure Data Lake Store auf und ermöglicht es, die dort
abgelegten Daten flexibel auszuwerten. Als Abfragesprache steht mit U-SQL eine erweiterbare,
an SQL angelehnte Sprache zur Verfügung. Erweiterungen in Form von User Defined Functions
können in C# geschrieben werden. Die zur Datenauswertung benötigten Compute Ressourcen
werden nur bei Bedarf bereitgestellt und können je nach Analyse-Job unterschiedlich umfang-
reich ausgestaltet werden. Kosten fallen somit nur dann an, wenn tatsächlich Auswertungen
erstellt werden.
https://azure.microsoft.com/de-de/services/data-lake-analytics/
4.6 HDInsight
Neben der reinen Datenspeicherung bietet Microsoft Azure auch Möglichkeiten zur Auswer-
tung und Aufbereitung von Daten, die in Azure abgelegt sind. Durch die flexible, unkompli-
zierte Bereitstellung auch größerer Rechen- und Speicherressourcen, die nach einer Datenaus-
wertung wieder deaktiviert werden können, ist Azure die ideale Umgebung für derartig wei-
tergehende Datenverarbeitung.
HD Insight ermöglicht die Analyse großer Datenbestände mit Hilfe von Hadoop, einem Open-
Source-Framework, welches sich zur Berechnung sogenannter „Big Data Probleme“, d.h. Aus-
wertungen auf Datenbeständen, die nicht mehr in einer relationalen Datenbank gespeichert
werden können (z.B., weil sie zu groß sind oder weil sie nicht relational strukturiert sind), großer
Beliebtheit erfreut. Microsoft Azure ermöglicht in diesem Kontext eine automatische Provisio-
nierung von Hadoop-VMs, die Verteilung von Daten und Berechnungsalgorithmen etc. Neben
der effizienten Berechnung von Map Reduce Algorithmen werden auch weitere Konzepte wie
Hive4 und Pig5 unterstützt.
4 Hive ist eine Data Warehouse Infrastruktur, die Datenaggregation und entsprechende Abfragen unterstützt.
5 Pig ist ein Framework zu Beschreibung und Ausführung paralleler Berechnungen.
34
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
http://azure.microsoft.com/de-de/services/hdinsight/
4.7 Machine Learning
Mit Machine Learning können auf Basis bestehender Datensätze Vorhersagen für weitere Da-
ten getroffen werden. Hierzu können vorhandene Daten aufgeteilt werden in Trainings- und
Kontrolldaten. Aus vorgefertigter oder selbst mittels der Programmiersprache R erstellter Ana-
lysealgorithmen können Prognosemodelle erstellt werden. Diese können mit den Trainingsda-
ten trainiert werden. Die erzielte Prognosegenauigkeit der Modelle kann dann mit den Kon-
trolldaten überprüft werden. Die Modelle können dann wiederum als Webservice bereitgestellt
werden. All dies ist in einer integrierten, grafischen Entwicklungsumgebung möglich, wo per
Drag & Drop Datenflussdiagramme aus Daten und Prozesskomponenten erstellt und konfigu-
riert werden können.
http://azure.microsoft.com/de-de/services/machine-learning/
4.8 Azure Search
Azure Search bietet eine als Service angebotene Such-Engine. Verschiedene Datenquellen
können als Basis für die Suche konfiguriert werden. Hierzu können zugrundeliegende Bewer-
tungsmodelle angepasst und damit Suchergebnisse an Geschäftsziele angepasst werden. Der
Suchindex wird automatisch erstellt und aktualisiert.
http://azure.microsoft.com/de-de/services/search/
4.9 SQL Data Warehouse
Mit SQL Data Warehouse lassen sich flexibel Data Warehouse Lösungen aufbauen, deren Res-
sourcen sich an den konkreten Datenauswertungsbedarf anpassen lassen. Dabei können Re-
chen- und Speicherdienste unabhängig voneinander skaliert werden. Somit können bei Beibe-
haltung der Speichersysteme (für relationale Daten oder nicht-relationalen Blob Storage) die
Rechenressourcen erweitert, verringert oder auch angehalten werden.
http://azure.microsoft.com/de-de/services/sql-data-warehouse/
4.10 Azure Data Catalog
Der Azure Data Catalog ist ein Verzeichnisdienst, in dem Datenquellen im Unternehmen regis-
triert und auffindbar gemacht werden können. Verschiedene Mitarbeiter können Datenquellen
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 35
registrieren, beschreiben, mit Metadaten versehen und die Datenquellen aus ihnen vertrauten
Datenverarbeitungswerkzeugen via Data Catalog nutzen.
http://azure.microsoft.com/de-de/services/data-catalog/
36
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
5 Sicherheit Azure-basierter
Anwendungen
Durch die Verlagerung von Daten und Anwendungslogik aus dem eigenen Rechenzentrum in
die Cloud entsteht bei allen Beteiligten ein besonderes Sicherheitsbedürfnis. Die in der Cloud
betriebenen Systeme müssen vor unberichtigten Zugriffen geschützt werden. Microsoft stellt
über das Microsoft Azure Trust Center Informationen über Betrieb, Datenschutz, Sicherheit und
Compliance der zugrundeliegenden Infrastruktur zur Verfügung, gibt Hinweise für die Erstel-
lung sicherer, Azure-basierter Anwendungen und bietet mit Microsoft Azure Active Directory
zentrale Bausteine für die Absicherung eigener Anwendungen in der Cloud.
5.1 Azure Active Directory
Microsoft Azure Active Directory ist ein Verzeichnisdienst, in dem Benutzer und deren organi-
satorische Zugehörigkeiten gespeichert werden können. Über den Dienst können sich Benut-
zer anmelden. Sie erhalten dann ein entsprechendes Security-Token, das sie dann Anwendun-
gen übergeben können, um ihre Benutzeridentität nachzuweisen. Azure erlaubt dabei auch
eine Synchronisation von Inhalten mit einem lokal betriebenen Windows Server Active Direc-
tory. Das Microsoft Azure Active Directory ist dabei primär für den Einsatz im Rahmen Cloud-
basierter Anwendungen (wie z.B. Office 365) konzipiert.
Für den Zugriff auf des Microsoft Azure Active Directory steht mit Microsoft Azure Active Di-
rectory Graph eine RESTful API zur Verfügung. Diese ermöglicht es, zu einem Benutzer die
organisatorischen Zugehörigkeiten und Verbindungen zu anderen Benutzern – den Social
Graph – auszulesen.
Mit Azure AD B2C können externe Identity Provider in eigenen Anwendungen zur Benut-
zerauthentifizierung genutzt werden. Dieser Service eignet sich also dann, wenn die Benutzer
nicht in der Anwendung selbst (z.B. über Microsoft Azure Active Directory) gespeichert werden
sollen. Für Anwender hat dies den Vorteil, dass sie sich an einer Anwendung über bereits be-
stehende Credentials (z.B. Microsoft Account mit zugehörigem Passwort) an der Anwendung
anmelden können. Folgende Identity Provider werden unterstützt: Microsoft Account, Google
ID, Facebook ID und Amazon Accounts.
http://azure.microsoft.com/de-de/services/active-directory/
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 37
5.2 Multi-Factor Authentication
Softwareanwendungen bei denen ein hoher Sicherheitsstandard erreicht werden soll, arbeiten
bei der Authentifizierung von Benutzern häufig mit sogenannter Multi-Faktor-Authentifizie-
rung. Dabei kommt mehr als ein Mechanismus zur Verifikation eines Benutzers zum Einsatz.
Mit Hilfe von Microsoft Azure Active Authentication kann ein solcher Authentifizierungsme-
chanismus umgesetzt werden. Dabei kann neben einer Passwort-basierten Authentifizierung
auch eine mobile App, ein Telefonanruf oder eine SMS herangezogen werden. Sobald dies für
einen Benutzer konfiguriert ist, muss dieser bei seiner nächsten Anmeldung im Active Directory
entsprechende Mobilfunk-Telefonnummern hinterlegen.
http://azure.microsoft.com/de-de/services/multi-factor-authentication/
5.3 Key Vault
Ein bewährtes Mittel zur Absicherung von Daten in der Cloud ist deren Verschlüsselung. Eine
sichere Verwaltung der verwendeten Schlüssel ist dabei essenziell, um Daten in der Cloud wirk-
lich zu schützen. Mit Key Vault können Schlüssel und geheime Schlüssel wie Kennwörter mit
Schlüsseln verschlüsselt werden, die in HSMs (Hardware Security Modules) gespeichert sind.
Zusätzliche Sicherheit wird gewährleistet, wenn eigne Schlüssel in HSMs importiert oder er-
zeugt werden, die über die Zertifizierungen FIPS 140-2 Level 2 sowie Common Criteria EAL4+
verfügen. Dadurch wird erreicht, dass die Schlüssel das HSM-System nicht verlassen. Mit Key
Vault sind Schlüssel für Microsoft nicht sichtbar und können auch nicht extrahiert werden.
http://azure.microsoft.com/de-de/services/key-vault/
5.4 Microsoft Azure Trust Center
Das Microsoft Azure Trust Center stellt eine Sammlung von Informationen über den sicheren
Betrieb von Microsoft Azure sowie den darauf ausgeführten Anwendungen und gespeicherten
Daten dar. Hierzu gehören Beschreibungen zu Prozessen und Standards, die Sicherheit und
Datenschutz sicherstellen und entsprechenden Zertifikaten, die dies von unabhängiger Seite
bestätigen.
http://azure.microsoft.com/de-de/support/trust-center/
38
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
6 Medienverarbeitung und -verteilung
6.1 Media Services
Die flexible und bei Bedarf weltweite Bereitstellung digitaler Inhalte ist eine große Stärke von
Microsoft Azure. Dies trägt dem Wunsch Rechnung Audio- und Videoinhalte ablegen, konver-
tieren und an verschiedene Endgeräte flexibel ausliefern zu können. Microsoft Azure enthält
hierzu die Microsoft Azure Media Services, die derartige Aufgaben zentral übernehmen kön-
nen.
Zu bereitgestellten Funktionalitäten gehören:
Upload von Mediendaten (die dann im Blob Storage abgelegt werden)
Codierung und Konvertierung von Videos in verschiedene Video- und Audio-Formate
Zugriffsschutz auf Mediendaten im Sinne von Digital Rights Management (DRM)
Schaltung von Werbung in Videostreams
Streaming von Videos (optimiert für verschiedene Endgeräte), bei Bedarf zeitgesteuert
Wie die anderen Azure Services können auch Media Services mit Anwendungskomponenten
zusammenarbeiten, die nicht notwendigerweise auch auf Microsoft Azure ausgeführt werden.
Sie sind durchweg über RESTful Schnittstellen aufrufbar.
Zur optimalen Auslieferung von Videoinhalten können das Microsoft Azure CDN oder Caching
Services von Drittanbietern genutzt werden. Dabei ist auch eine Optimierung auf die konsu-
mierenden Endgeräte (z.B. Windows-PC, Macintosh, HTML 5, iOS, Android, Windows Phone,
...) und deren jeweilige Wiedergabemöglichkeiten (Auflösung, Bildschirmgröße etc.) möglich.
http://azure.microsoft.com/de-de/services/media-services/
6.2 Content Delivery Network (CDN)
Das Content Delivery Network (CDN) ist ein Verbund von weltweit verteilten Microsoft Azure
Rechenzentren. Im CDN können Inhalte aus Microsoft Azure Blob Storage oder Web Apps für
einen bestimmten Zeitraum gecached werden und somit eine effiziente Auslieferung von In-
halten des Blob Storage sicherstellen: Ein Anwender erhält beim Zugriff Blob Storage Inhalte
aus dem für ihn nächstgelegenen Rechenzentrum zugestellt. Beim erstmaligen Zugriff eines
Anwenders prüft Azure, ob die angeforderten Daten bereits im CDN-Standort verfügbar sind.
Ist dies der Fall, werden die Daten von dort ausgeliefert. Sind die Daten noch nicht dort, werden
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 39
sie vom Original aus Blob Storage ausgeliefert. Eine Kopie wird im CDN hinterlegt, so dass
Folgeaufrufe von dort bedient werden können.
http://azure.microsoft.com/de-de/services/cdn/
40
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
7 Integration Azure-basierter
Anwendungen in die eigene IT
In vielen Software-Projekten stellt sich die Frage, wie Cloud-Ressourcen mit der lokalen IT ver-
knüpft werden können. Weder ist es realistisch, dass die IT eines Unternehmens komplett in
die Cloud wandert, noch wäre es sinnvoll, auf die Vorteile der Cloud (flexible Bereitstellung von
IT, nutzungsabhängige Abrechnung, hohe Skalierbarkeit etc.) zu verzichten. Microsoft Azure
stellt verschiedene Möglichkeiten zur Verfügung, Azure-basierte Ressourcen mit lokalen Res-
sourcen zu koppeln. Auf Anwendungsebene steht der Service Bus zur Verfügung, auf Daten-
ebene kann SQL Azure DataSync verwendet werden und auf Netzwerkebene bieten sich mit
Virtual Network eine Option, die durch den Traffic Manager um einen Routing Service ergänzt
wird.
7.1 Datenintegration via SQL DataSync
Der SQL Azure DataSync Service ist ein Cloud Service in SQL Azure, mit dem es möglich ist,
Azure-basierte SQL Datenbanken untereinander, aber auch mit lokal betriebenen SQL Server
Datenbanken zu synchronisieren. Die Synchronisation kann über eine grafische Oberfläche
eingerichtet und administriert werden. Dabei können Synchronisationsfrequenz, Richtung der
Datenübertragung (bidirektional, nur Upload, nur Download), Strategien für die Konfliktauflö-
sung und die zu synchronisierenden Inhalte (Datenbanken, Tabellen, Spalten und Tabellenzei-
len (gefiltert durch Feldwerte)) bestimmt werden.
Abb. 7-1 skizziert die Funktionsweise. Der Datentransfer zwischen den beteiligten Datenban-
ken wird über einen sogenannten DataSync Hub abgewickelt. Der DataSync Hub muss eine
SQL Azure Datenbank sein. Es ist nicht möglich, eine lokal betriebene Datenbank als Hub zu
verwenden.
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 41
Abb. 7-1 Microsoft Azure SQL DataSync
Ein Einsatzszenario für DataSync kann die Synchronisation von Daten zu Regionalbüros sein.
Dabei enthält der DataSync alle Daten und Regional-Offices synchronisieren nur die Daten, die
für sie spezifisch sind.
http://msdn.microsoft.com/en-us/library/windowsazure/hh456371.aspx
7.2 Anwendungsintegration
In verteilten Anwendungen müssen die Komponenten, die miteinander interagieren wollen,
auf irgendeinem Weg Nachrichten austauschen. Dieser Austausch muss je nach Art der Ver-
teilung auch über Unternehmens- und Firewall-Grenzen hinweg erfolgen. Dies ist insbeson-
dere in Hybrid-Szenarien ein Anwendungsfall, in denen Azure-basierte Komponenten mit
Diensten in einem lokal betriebenen Rechenzentrum (welches ja in der Regel gegen Zugriffe
„von außen“ über Firewalls etc. geschützt ist) interagieren sollen. Microsoft Azure stellt Ent-
wicklern Mechanismen zur Verfügung, mit denen sie derartige Nachrichtenaustauschszenarien
umsetzen können: den Queue Service und den Service Bus.
7.2.1 Queue Service
Mit dem Queue Service offeriert die Microsoft Azure Plattform einen Messaging Dienst, über
den Kommunikationspartner asynchron über Nachrichtenaustausch miteinander kommunizie-
ren können. Zugriffe erfolgen grundsätzlich über http/https. Für die wichtigsten Programmier-
sprachen und Technologien wie .NET, Java, PHP stehen APIs zum komfortablen Zugriff auf
Queues und Nachrichten zur Verfügung.
http://www.windowsazure.com/en-us/develop/net/how-to-guides/queue-service/
42
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
7.2.2 Service Bus
Der Microsoft Azure Service Bus stellt eine Kommunikations- und Integrationsplattform zur
Vernetzung verteilter Webservices zur Verfügung. Unabhängig davon, wo die einzelnen Kom-
munikationspartner (in der Cloud oder im eigenen Rechenzentrum) ausgeführt werden, kön-
nen einfache und komplexe Nachrichtenströme implementiert werden. Unterstützt werden so-
wohl Punkt-zu-Punkt-Verbindungen (unidirektional und bidirektional), Queues zum Zwischen-
speichern ausgetauschter Nachrichten, aber auch Publish-Subscriber-Pattern über sogenannte
Topics, bei denen mehrere Sender an mehrere Empfänger Nachrichten versenden können.
http://azure.microsoft.com/de-de/services/service-bus/
7.2.2.1 Service Bus Relay
Ein einfaches Interaktionsszenario ist in Abb. 7-2 zu sehen: Die Azure App, die einen lokal aus-
geführten Webservice aufrufen möchte, steht vor der Herausforderung, dass der Webservice
durch eine vorgeschaltete Firewall durch Zugriffe von außen geschützt ist. Mit Hilfe des Service
Bus kann dennoch eine Kommunikationsbeziehung aufgebaut werden. Hierzu registriert siche
der Webservie beim Service Bus (Schritt 1). Dieser richtet dem Webservice einen Endpunkt ein.
Die Azure App kann nun diesen Endpunkt anstelle des Webservice aufrufen (2). Der Service
Bus prüft den Aufruf und kann diesen auf der Verbindung, die zum Webservice in Schritt 1
etabliert wurde, an den Webservice weiterleiten.
Abb. 7-2 Microsoft Azure Service Bus
7.2.2.2 Service Bus Queue
Beim Relay ist es erforderlich, dass der registrierte Empfänger auch tatsächlich online ist, d.h
Nachrichten empfangen kann. Ist er offline erhält ein Sender sofort eine Fehlermeldung. Ein
Nachrichtenversand ist dann nicht möglich. Um für solche Szenarien einen Nachrichtenversand
zu erlauben, können Queues definiert werden. Sender können dann in jedem Fall Nachrichten
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 43
verschicken. Ein Empfänger liest diese angesamelten Nachrichten dann aus, sobald er online
ist.
7.2.2.3 Service Bus Topic
Im Service Bus können sogenannte Topics konfiguriert werden, die einen Endpunkt besitzen,
an die Sender ihre Nachrichten schicken können. Für Topics können Subscriptions definiert
werden. Für jede Subscription können Filterregeln definiert werden anhand derer bestimmt
wird, ob eine an ein Topic geschickte Nachricht in die Queue der betreffenden Subscription
kopiert werden soll. Empfänger können dann Nachrichten aus den Subscription-Queues lesen.
Abb. 7-3 Microsoft Azure Service Bus Topics und Subscriptions
Ein Einsatzszenario hierfür ist die Anwendungsüberwachung. Anstatt Statusmeldungen in ein
Logfile zu schreiben, könnten diese Meldungen als Nachricht an ein Service Bus Topic ge-
schickt werden. Abhängig von der Meldungsart könnten dann reine Statusinformationen von
einem Empfänger in ein Logfile geschrieben werden, Fehlermeldungen könnten aber in eine
gesonderte Subscription gehen, wo sie vom Empfänger direkt verarbeitet werden (z.B. Versand
einer SMS an einen Administrator).
http://msdn.microsoft.com/en-us/library/windowsazure/ee732537.aspx
7.2.3 BizTalk Services
Für komplexere Integrationsszenarien, in denen über den Service Bus bestehende Backend-
Systeme aus einem lokalen Rechenzentrum eingebunden werden sollen, enthält die Microsoft
Azure Plattform die BizTalk Services. Hierüber können zum einen Konnektoren zur Anbindung
lokaler IT-Systeme (z.B. SAP, Oracle DB, Oracle EBS, Siebel, SQL DB) zur Interaktion verwendet
44
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
werden, zum anderen können die ausgetauschten Nachrichten gefiltert und in verschiedene
Nachrichtenformate konvertiert werden. Dabei können nachrichtengesteuerte Workflows de-
finiert werden.
http://azure.microsoft.com/de-de/services/biztalk-services/
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 45
8 Netzwerkdienste
Microsoft Azure bietet eine Reihe von Netzwerkdiensten, die in drei Bereichen zur Vernetzung
von Azure Ressourcen eingesetzt werden können: der Vernetzung virtueller Maschinen unter-
einander sowie deren Anbindungen aus dem Internet bzw. an ein oder mehrere lokale Rechen-
zentren. Abb. 8-1 zeigt das Zusammenspiel einiger der Netzwerkdienste.
Abb. 8-1 Netzwerkdienste in Microsoft Azure
Über ein Virtual Network lassen sich Virtual Machines miteinander vernetzen. Dabei können
auch Subnetze und zulässiger Netzwerkverkehr definiert werden. Aus dem Internet trifft Netz-
werkverkehr zunächst auf den Azure Loadbalancer, der nach verschiedenen Sicherheitsprüfun-
gen den Verkehr entsprechend auf die Azure Ressourcen verteilt. Auch innerhalb eines Virtual
Networks lässt sich ein interner Loadbalancer konfigurieren.
Über ein Gateway kann ein Virtual Network sicher mit einem oder mehreren lokalen Rechen-
zentren verbunden werden. Via Express Route kann hierzu auch eine dedizierte Leitung mit
garantierter Bandbreite eingesetzt werden. Um Anwendergruppen weltweit optimal zu versor-
gen, kann ein Azure-basierter Service weltweit verteilt installiert werden. Via Traffic Manager
können Aufrufe passend auf die verschiedenen Service-Instanzen verteilt werden.
46
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
8.1 Virtual Network
Mit Virtual Network kann Microsoft Azure als Erweiterung einer lokalen Infrastruktur genutzt
werden, bei der zusätzliche Ressourcen aus der Cloud flexibel temporär eingesetzt werden
können. Es können Netzwerkkonfigurationen erstellt werden, bei denen lokale Rechner oder
Netzwerke mit Netzwerkknoten in Microsoft Azure zu einem virtuellen Netzwerk verbunden
werden. Es besteht dabei die Möglichkeit die Cloud-Ressourcen mit eigenen Ipv4-Adressen zu
versehen und eigene Routing-Tabellen um diese Ressourcen zu erweitern. In Kombination mit
den Virtual Machines wird es damit möglich virtuelle Maschinen zwischen dem eigenen Re-
chenzentrum und Microsoft Azure hin und her zu migrieren, und dies durch entsprechende
Konfigurationen auf Netzwerkebene so zu begleiten, dass diese Migration für die anderen
Netzwerkelemente völlig transparent geschieht. Letztlich können Anwender Azure-basierte
Ressourcen so nutzen, als wären sie im eigenen Rechenzentrum.
Auf lokaler Seite kann die Integration über eine dedizierte Windows-Server-Maschine erfolgen,
die die Verbindung zu den Cloud-Ressourcen verwaltet. Der Einsatz beschränkt sich aber nicht
nur auf Windows-Maschinen. Es kann für die Integration selbst eine dedizierte Netzwerk-Hard-
ware verwendet werden, die von einem Netzwerk-Administrator entsprechend konfiguriert
werden muss. Damit können in den betreffenden Netzwerkknoten auch andere Betriebssys-
teme als Windows eingesetzt werden.
Über das Virtual Network können aus Microsoft Azure heraus Verbindungen aus zu einer oder
mehreren lokalen Sites (z.B. mehreren Niederlassungen eines Unternehmens) oder auch zwi-
schen virtuellen Netzwerken in Azure eingerichtet werden.
http://azure.microsoft.com/de-de/services/virtual-network/
8.2 ExpressRoute
Normalerweise enthält der Verbindungsweg von einem Client zu Microsoft Azure eine gewisse
Wegstrecke aus dem öffentlichen Internet. Dies führt dazu, dass Zugriffszeiten auch vom üb-
rigen Internet-Verkehr beeinflusst werden können. Um dies zu vermeiden kann mit Express-
Route eine private Netzwerkverbindung von Azure Rechenzentren zu eigenen, lokalen Rechen-
ressourcen eingerichtet werden. Dadurch können sich Durchsatz, Stabilität und Verlässlichkeit
der Verbindungen zu Azure deutlich erhöht werden.
http://azure.microsoft.com/de-de/services/expressroute/
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 47
8.3 Traffic Manager
Der Microsoft Azure Traffic Manager ist ein Service, der Requests, die an einen Azure Service
gehen, auf Basis frei definierbarer Policys und Verfügbarkeiten an Service Instanzen weiterlei-
tet, die weltweit verteilt in Azure oder externen Umgebungen installiert sein können. Für die
Weiterleitung können drei Arten von Policys definiert werden: Leistung (Performance), Failover
und Round Robin. Eine Policy erhält dabei einen DNS Namen. Requests auf diesen Namen
werden vom Traffic Manager mit der IP-Adresse der nächsten verfügbaren Service Instanz be-
antwortet, die diese Policy erfüllt.
Abb. 8-2 Microsoft Azure Traffic Manager
Grundlage für die Entscheidung, an welche Instanz ein Request geleitet wird, ist also zum einen
die Policy, zum anderen die Verfügbarkeit. Damit wird es möglich, die Instanzen eines Service
weltweit zu verteilen, Benutzer normalerweise auf die ihnen nächstgelegene Instanz zu leiten
und im Fall, dass diese Instanz ausgefallen ist, auf die zweitnächste Instanz usw. zu gehen.
Durch die Möglichkeit, auch außerhalb von Azure betriebene Instanzen einzubeziehen, können
Failover-Szenarien implementiert werden, bei denen Zugriffe zunächst auf On-premises-In-
stanzen erfolgen, und im Fehlerfall auf Instanzen in der Cloud zugegriffen wird.
http://azure.microsoft.com/de-de/services/traffic-manager/
8.4 Load Balancer
Jeglicher Datenverkehr, der aus dem öffentlichen Internet auf Azure Ressourcen zugreifen
möchte, muss den Azure Loadbalancer passieren. Dieser verarbeitet verschiedene Protokolle
48
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
(z.B. http, https, smtp, …) und leitet Aufrufe nach entsprechenden Sicherheitsprüfungen ggf.
an die erforderlichen Azure Ressourcen weiter. Der Loadbalancer prüft dabei regelmäßg die
Verfügbarkeit der Ressourcen und stellt darüber sicher, dass Aufrufe nur an verfügbare Res-
sourcen geleitet werden. Für mehrschichtige Anwendungen kann innerhalb eines Virtual Net-
works auch ein interner Loadbalancer zwischen den einzelnen Schichten konfiguriert werden.
http://azure.microsoft.com/de-de/services/load-balancer/
8.5 DNS Service
Über Azure DNS können DNS-Domänen in Azure gehostet werden. Der Dienst nutzt hierzu ein
globales Netzwerk von Namensservern, um bei Abfragen eine hohe Performanz bieten zu kön-
nen.
http://azure.microsoft.com/de-de/services/dns/
8.6 VPN Gateway
Zur sicheren Verbindung eines Virtual Networks mit lokalen Ressourcen kann ein VPN Gateway
konfiguriert werden. Über dieses ist eine sichere Verbindung zu einem lokalen Rechner (Point-
to-Site) oder zu einem oder mehreren lokalen Netzwerken (Site-to-Site) möglich. Im Falle von
Site-to-Site-Verbindungen ist auch auf lokaler Seite ein passendes Gateway erforderlich.
http://azure.microsoft.com/de-de/services/vpn-gateway/
8.7 Application Gateway
Für Web-Anwendungen kann Das Application Gateway nützliche Routing- und Loadbalancing-
dienste auf Anwendungsebene bieten. So können über das Gateway leicht Sticky Sessions (Fol-
gen aus Aufrufen eines Clients werden immer auf den gleichen Server geleitet) konfiguriert
werden. Über das Gateway kann SSL Offloading umgesetzt werden, d.h. das Gateway über-
nimmt rechenintensive Aufgaben zur Entschlüsselung von Anfragen und Verschlüsselung von
Antworten im Rahmen SSL-basierter Kommunikation, was letztlich den eigentlichen Webserver
von diesen Aufgaben entlastet.
http://azure.microsoft.com/de-de/services/application-gateway/
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 49
9 DevOps mit Microsoft Azure
9.1 Services für die Software-Entwicklung
9.1.1 Visual Studio Team Services
Visual Studio Team Services (VSTS) bietet Funktionen als Cloud-Dienste, die früher nur auf den
Server-Komponenten einer Visual-Studio-basierten Entwicklungsumgebung, d.h. Team Foun-
dation Server, verfügbar waren. Mit VSTS lassen sich Entwicklungsprojekte planen, erstellen
und verteiben, ohne dass hierzu Server-Umgebungen konfiguriert werden müssten. VSTS er-
stellt auf Knopfdruck Teamprojekte in denen Quellcode über einen zentralen Ansatz via Team
Foundation Version Control (TFVC) oder einen verteilten Ansatz via Git verwaltet werden kann.
Dabei können Arbeitsaufgaben, Funktionen, Bugs etc. über Backlogs verwaltet und über ver-
schiedene Prozessvorlagen (Scrum, Kanban, agile Prozesse) geplant, überwacht und nachver-
folgt werden. VSTS kann auch den Build-Prozess, automatisiertes Testen und Bereitstellung
übernehmen.
https://azure.microsoft.com/de-de/services/visual-studio-team-services/
9.1.2 Application Insights
Mit Application Insights lassen sich entsprechend konfigurierte Anwendungen verschiedener
Plattformen zur Laufzeit überwachen und deren Laufzeitverhalten auswerten. Dabei können
verschiedene Metriken (Performanz, Fehler etc.) kontrollieren und nachverfolgen. Die von Ap-
plication Insights gelieferten Telemetriedaten der übwachten Anwendungen können aufberei-
tet, visualisiert, gefiltert und segmentiert werden, um stets einen Überblick über den Zustand
und die Nutzung einer überwachten Anwendung zu erhalten. Es werden Anwendungen ver-
schiedener Sprachen (C#, VB, JavaScript, Java, Ruby, PHP, Python etc.) und Plattformen
(ASP.NET, Android, iOS, Cordova, Angular, Node.JS, Joomla, SharePoint etc.) sowie zahlreiche
Logging-Frameworks (Log4Net, NLog, Java, Log4J etc.) unterstützt.
http://azure.microsoft.com/de-de/services/application-insights/
9.1.3 DevTest Labs
Im Rahmen von Entwicklungs- und Testaktivitäten werden häufig temporär Ausführungsum-
gebungen benötigt, in denen entsprechende Tätigkeiten ausgeführt werden können. Via Dev-
Test Labs können Anwender eigenstädig Virtual Machines provisionieren. Administratoren
können dabei Vorgaben hinsichtlich der möglichen VM-Images und VM-Größen machen. Sie
50
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
können darüber hinaus zeitgesteuert VMs automatisch herunter- bzw. hochfahren. Somit kön-
nen Kosten dadurch gespart werden, dass VMs nur dann aktiv sind, wenn auch tatsächlich
Entwicklungs- und Testarbeiten durchgefürt werden.
https://azure.microsoft.com/de-de/services/devtest-lab/
9.2 Services für den Systembetrieb
9.2.1 Operational Insights
Als ein Teil der Microsoft Cloud Management Suite ermöglicht es Operational Insights die
Sammlung, Speicherung und Analyse von Logging-Daten quasi beliebiger Windows- und
Linux-basierter Server und Dienste im eigenen Rechenzentrum oder in der Cloud. Die gesam-
melten Maschinendaten können verwaltet, miteinander kombiniert und visualisiert werden, um
auf deren Basis Entscheidungen zum Systembetrieb wie Kapazitätsverwaltung, Wartung und
Konfiguration von Systemen etc. zu treffen.
http://azure.microsoft.com/de-de/services/operational-insights/
9.2.2 Datentransfer und Datensicherung
Die Speichersysteme in Microsoft Azure sind auf Hoch-verfügbarkeit ausgelegt. Redundante
Speicherung und (optionale) Replikation in weitere Rechenzentren stellen sicher, dass Daten-
verlust praktisch nicht auftreten kann. Azure eignet sich demnach hervorragend als Backup-
Medium auch für normalerweise lokal gehaltene Daten. Backup und Recovery Services erlau-
ben die Sicherung von Serversystemen in Azure.
9.2.2.1 Import/Export Service
Die Übertragung größerer Datenmengen über das Internet in Blob Storage kann in Abhängig-
keit von der zur Verfügung stehenden Bandbreite zeitaufwändig sein. Bei entsprechend großen
Daten ist es effizienter, die Daten auf Festplatten über einen Paketdienst in ein Azure Rechen-
zentrum zu schicken, wo deren Inhalte dann in einen entsprechenden Storage Account kopiert
werden. Über den Azure Import/Export Service können derartige Datentransfers konfiguriert
werden. Im Falle eines Datenexports können leere Festplatten in ein Rechenzentrum geschickt
werden, wo sie dann mit den Inhalten eines Storage Accounts bespielt werden. Sowohl beim
Import als auch beim Export können die Daten der Festplatten verschlüsselt werden.
http://azure.microsoft.com/de-de/pricing/details/storage-import-export/
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 51
9.2.2.2 Backup Service
Die Backup-Werkzeuge in Windows Server 2012, Windows Server 2012 Essentials und System
Center 2012 Data Protection Manager erlauben im Zusammenspiel mit dem Microsoft Azure
Backup Service die Erstellung von (inkrementelle oder volle) Sicherungen lokaler Systeme in
Microsoft Azure Storage. Backups können bei Bedarf dann sehr leicht wieder in beliebige Ser-
versysteme eingespielt werden.
http://azure.microsoft.com/de-de/services/backup/
9.2.2.3 Site Recovery
Der Hyper-V Recovery Manager ermöglicht eine koordinierte Replikation und das Recovery
von Ressourcen einer Private Cloud Umgebung in einer zweiten Umgebung. Mit Hilfe von Sys-
tem Center 2012 Virtual Machine Manager können Private Clouds durch laufende Replikation
an einen zweiten Rechenzentrumsstandort gesichert und bei Bedarf (Ausfall des ersten Stand-
orts) aktiviert werden.
http://azure.microsoft.com/de-de/services/site-recovery/
9.2.3 Scheduler
Mit dem Scheduler können Aktionen nach beliebigen Zeitplänen ausgeführt werden. So kön-
nen regelbasiert http/s-Endpunkte aufgerufen oder Nachrichten in eine Storage Queue einge-
stellt werden, worauf dann entsprechende Anwendungslogik (z.B. in einem Webservice oder
in einer Cloud Service Worker Role) reagieren kann. Somit können regelmäßige oder einmalig
in der Zukunft stattfindende Aktionen ausgelöst werden.
http://azure.microsoft.com/de-de/services/scheduler/
9.2.4 Automation
Automation erleichtert das Management von Azure Ressourcen bedeutend, indem es Aufga-
ben wie die Erstellung von Ressourcen, deren Deployment, Überwachung und Verwaltung im
Rahmen einer Workflow-basierten Engine automatisieren kann. Zusammengehörige Ressour-
cen (z.B. ein Cloud Service mit zugehörigem Storage Account und Active Directory Setup) kön-
nen über sogenannte „Runbooks“ erstellt und verwaltet werden. Die einzelnen Ressourcen
müssen damit nicht mehr einzeln und getrennt voneinander erstellt werden.
http://azure.microsoft.com/de-de/services/automation/
52
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
10 Erste Schritte mit Microsoft Azure
10.1 Blogs und Webseiten
Zugang zu Microsoft Azure
Kostenloser Demo-Account:
http://www.windowsazure.com/en-us/pricing/free-trial/?WT.mc_id=A2DCCE88E
Zugang zu Microsoft Azure über ein MSDN Abonnement:
http://www.windowsazure.com/en-us/pricing/member-offers/msdn-be-
nefits/?WT.mc_id=A2DCCE88E
Zugang zu Microsoft Azure über BizSpark:
http://azure.microsoft.com/en-us/offers/ms-azr-0064p/?WT.mc_id=A2DCCE88E
Werkzeuge und Software Development Kits (SDKs)
Software Development Kits (SDKs) für .NET, Node.js, PHP, Java, Python, Ruby:
http://azure.microsoft.com/de-de/downloads/
Windows Azure Powershell:
http://go.microsoft.com/?linkid=9811175&clcid=0x407
Virtual Machine Assessment Tool:
http://azure.microsoft.com/de-de/downloads/vm-readiness-assessment/
Assistant für die Migration von Websites zu Web Apps:
http://go.microsoft.com/?linkid=9863189&clcid=0x407
Dokumentation (Whitepapers, Videos etc.)
Microsoft Azure Developer Center:
http://azure.microsoft.com/en-us/develop/net/
Technische Dokumentation von Microsoft Azure auf MSDN:
https://msdn.microsoft.com/en-us/library/azure/dn578280.aspx
Offizieller Microsoft Azure Blog:
http://azure.microsoft.com/en-us/blog/
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 53
Anhang A: Azure Services im Überblick
Azure Service
(englischer Titel)
Azure Service
(deutscher Titel)
Beschreibung Kapitel
Azure Compute: Ausführung eigener Anwendungslogik
App Service App-Dienst 2.1
Web Apps Web-Apps Hosting von Web-Anwendungen 2.1.1
Mobile Apps Mobile Apps Backend-Dienste für mobile Apps 2.1.2
Logic Apps Logic Apps API-basierte Workflows 2.1.3
API Apps API Apps Hosting Web-basierter Schnittstellen 2.1.4
Functions Functions Ereignisgesteuerte Code-Ausführung 2.1.5
Cloud Services Cloud Services Hosting mehrschichtiger Apps (PaaS) 2.2
Service Fabric Service Fabric Microservices-basierte Anwendungen 2.3
Virtual Machines Virtuelle Computer Hosting virtueller Maschinen 2.4
Batch Batch Ausführung von Batch-Prozessen 2.5
Mobile Engagement Mobile Engagement Steuerung und Analysen mobile Apps 2.6
Notification Hubs Benachrichtigungs Hub Push-Benachrichtigungen an viele Clients 2.7
RemoteApp RemoteApp Bereitstellung von Windows-Apps 2.8
API Management API Management Vertrieb und Management von APIs 2.9
Azure Data Services: Speicherung von Daten
SQL Database SQL Datenbank Relationale Datenbank als Service 3.1.2
DocumentDB DocumentDB Speicherung JSON-basierter Objekte 3.2.1
Storage Speicher
Tables Tables NoSQL-Datenbank (Key-Entity) 3.2.2
Blobs Blobs Speicherung großer Binärdaten 3.2.3
Files Files SMB Shares für VMs und Cloud Services 3.3.1
Disks Disks Persistentes Dateisystem für VMs 3.3.2
Redis Cache Redis Cache Zentraler Cache auf Basis von Redis 3.4.1
Managed Cache Verwalteter Cache Zentral bereitgestellter Cache 3.4.2
In-Role Cache Rollen-bezogener Cache Cache innerhalb von Cloud Service VMs 3.4.3
StorSimple StorSimple Hybride, sichere Datenspeicherung 3.5
Analytics- und Big Data Services
IoT Hub IoT Hub Device-Management und -Interaktion 4.1
Event Hubs Event Hubs Verarbeitung von Ereignismeldungen 4.2
Stream Analytics Stream Analytics Auswertung von Datenströmen 4.3
Data Factory Data Factory Verwalten von Datenpipelines 4.4
Azure Data Lake Azure Data Lake Big Data Storage und Analytics 4.5
54
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
Azure Service
(englischer Titel)
Azure Service
(deutscher Titel)
Beschreibung Kapitel
HDInsight HDInsight Hadoop-as-a-Service 4.6
Machine Learning Machine Learning Erstellung von Prognosemodellen 4.7
Azure Search Azure Search Suchengine-as-a-Service 4.8
SQL Data Warehouse SQL Data Warehouse Elastischer Data-Warehouse-as-a-Service 4.9
Azure Data Catalog Azure Data Catalog Katalog für Datenquellen im Unternehmen 4.10
Sicherheit Azure-basierter Anwendungen
Azure Active Directory Azure Active Directory Identity Store und Token Service 5.1
Multi-Factor Auth Multi-Faktor Auth Multi-Faktor Authentifizierung 5.2
Key Vault Key Vault Sichere Verwaltung von Schlüsseln 5.3
Anwendungsdienste für eigene Anwendungen
Media Services Media Services Medien-Workflows in der Cloud 6.1
Content Delivery Network Content Delivery Network Globales Caching statischer Inhalte 6.2
Integration Azure-basierter Anwendungen in die eigene IT
SQL DataSync SQL DataSync Synchronisation von SQL DBs 7.1
Queues Warteschlangen Nachrichtenversand 7.2.1
Service Bus Service Bus Internet Service Bus 7.2.2
BizTalk Services BizTalk Services Integration von Backend-Systemen 7.2.3
Netzwerkdienste
Virtual Network Virtual Network Netzwerk-zu-Netzwerk VPN 8.1
Express Route Express Route Exklusive Netzwerkverbindungen 8.2
Traffic Manager Traffic Manager Globales Routing von Service-Zugriffen 8.3
Load Balancer Load Balancer Loadbalancer für Gruppen von VMs 8.4
DNS Service DNS Service Hosting einer DNS-Domäne 8.5
VPN Gateway VPN Gateway Standortübergreifende Verbindungen 8.6
Application Gateway Application Gateway Web-Routing- und Loadbalancing-Dienste 8.7
DevOps mit Microsoft Azure
Visual Studio Online Visual Studio Online Verwaltung von Entwicklungsprojekten 9.1.1
Application Insights Application Insights Informationen zum App-Laufzeitverhalten 9.1.2
DevTest Labs DevTest Labs Bereitstellung von Dev/Test-Umgebungen 9.1.3
Operational Insights Operational Insights Informationen zum Systembetrieb 9.2.1
Import/Export Import/Export Datentransfer in Blobs via Festplatten 9.2.2.1
Backup Backup Sicherung virtueller Maschinen 9.2.2.2
Site Recovery Site Recovery Wiederherstellung virtueller Maschinen 9.2.2.3
Automation Automatisierung Automatisiertes Management 9.2.3
56
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
Index
.NET ......................................................................................... 11
Active Directory ................................................................... 20
ADO.NET ................................................................................ 25
Android .................................................................... 16, 22, 38
API Apps.................................................................................17
API Management ................................................................22
App Service ...........................................................................15
Application Gateway ..........................................................48
Application Insights ............................................................49
ASP.NET .................................................................................. 15
Automation ...........................................................................51
Auto-Scaling .................................................................. 16, 18
Azure Active Directory ................................................ 16, 36
Azure Container Service .................................................... 14
Azure Data Catalog ............................................................34
Azure Data Lake...................................................................32
Azure Data Lake Analytics ................................................33
Azure Data Lake Store .......................................................33
Azure Search .........................................................................34
Backup Service .....................................................................51
BizTalk Server ....................................................................... 20
BizTalk Services ....................................................................43
Blob Storage ............................................. 20, 24, 26, 27, 38
Block Blob .............................................................................. 28
Caching ..................................................................................28
Cassandra .............................................................................. 24
CDN ................................ siehe Content Delivery Network
Cloud Computing ................................................................. 7
Cloud Service ........................................................................18
Data Factory ..........................................................................32
Datenschutz .......................................................................... 37
DevOps ............................................................................ 12, 49
DevTest Labs .........................................................................49
Disks .......................................................................... 24, 26, 28
DNS Service ..........................................................................48
Docker .................................................................................... 14
DocumentDB .......................................................... 24, 26, 27
Drupal ..................................................................................... 15
Eclipse .............................................................................. 11, 18
Elastic Scale ........................................................................... 26
Entity Framework ................................................................ 25
Event Hubs ............................................................................31
ExpressRoute ........................................................................46
File Service .............................................................................28
Geo-Replikation ................................................................... 26
Git ...................................................................................... 11, 15
Hadoop .................................................................................. 33
HDFS ....................................................................................... 33
HDInsight ...............................................................................33
Hyper-V .................................................................................. 20
Hyper-V Recovery Manager ............................................ 51
IaaS ................................ siehe Infrastructure-as-a-Service
Import/Export Service........................................................ 50
Infrastructure-as-a-Service ....................................... 10, 20
In-Role Cache ....................................................................... 29
iOS ............................................................................. 16, 22, 38
IoT Hub................................................................................... 31
Java ............................................................................ 11, 15, 20
JavaScript ........................................................................ 26, 27
JDBC ........................................................................................ 25
Joomla .................................................................................... 15
JSON................................................................................. 26, 27
Key Vault ................................................................................ 37
Linux ........................................................................................ 20
Load Balancer ....................................................................... 47
Loadbalancer ........................................................................ 19
Logic Apps ............................................................................ 17
Machine Learning ............................................................... 34
Managed Cache Service ................................................... 29
Map Reduce.......................................................................... 33
Media Services ..................................................................... 38
Microsoft Azure ................................................................... 10
Microsoft Azure Pack ......................................................... 10
Mobile Apps ......................................................................... 16
Mobile Engagement .......................................................... 21
MongoDB .............................................................................. 24
Multi-Factor Authentication ............................................ 37
MySql ...................................................................................... 16
Node.js ............................................................................ 11, 15
Notification Hubs ................................................................ 21
Operational Insights ........................................................... 50
Oracle............................................................................... 20, 43
PaaS ......................................... siehe Platform-as-a-Service
Page Blob .............................................................................. 28
PHP ................................................................................... 11, 15
Platform-as-a-Service ................................................. 10, 18
Public Cloud............................................................................ 7
Publish-Subscriber .............................................................. 42
Push Notifications ............................................................... 21
Python .................................................................................... 11
Redis Cache .......................................................................... 29
RemoteApp ........................................................................... 22
Rollen ...................................................................................... 18
Ruby ........................................................................................ 11
SAP .......................................................................................... 43
Scheduler ........................................................................ 16, 51
Service Bus ............................................................................ 42
Service Bus Queue .............................................................. 42
Service Bus Relay ................................................................ 42
Service Bus Topic ................................................................ 43
Service Fabric ....................................................................... 19
SharePoint Server ............................................................... 20
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH 57
Siebel ....................................................................................... 43
Site Recovery ........................................................................ 51
SMB ......................................................................................... 28
SQL Data Warehouse ........................................................ 34
SQL Database ........................................................ 16, 24, 25
SQL Server ............................................................... 20, 24, 25
SSL ............................................................................................ 48
Staging-Umgebung ............................................................ 16
StorSimple ............................................................................ 30
Stream Analytics ................................................................. 32
Table Storage ........................................................ 24, 26, 27
Team Foundation Service ................................................. 11
Traffic Manager ................................................................... 47
U-SQL ...................................................................................... 33
VHD ......................................................................................... 20
Virtual Machine ............................................................ 20, 24
Virtual Network............................................................. 20, 46
Visual Studio .................................................................. 11, 18
Visual Studio Online ........................................................... 49
VM Gallery ............................................................................. 20
VM Scale Sets ....................................................................... 15
VPN Gateway ........................................................................ 48
VSO ............................................ Siehe Visual Studio Online
Web App ................................................................................ 15
WebDeploy ........................................................................... 15
Webjobs ................................................................................. 16
WebLogic ............................................................................... 20
Windows 8.x.......................................................................... 16
Windows Phone 8.x ............................................................ 16
Windows Server ................................................................... 20
Wordpress ............................................................................. 15
58
Überblick über Microsoft Azure
© 2016, Microsoft Deutschland GmbH
Über den Autor
Holger Sirtl ist seit 2006 als Cloud Solution Architect bei Microsoft in München tätig und berät
in dieser Rolle Unternehmen im Aufbau Cloud-basierter Anwendungsarchitekturen. Schwer-
punktthemen seiner Arbeit sind Cloud Computing und die Microsoft Azure Plattform. Zuvor
war er bei Microsoft als Senior Technical Evangelist tätig. Vor seinem Einstieg bei Microsoft
arbeitete Holger Sirtl sechs Jahre lang als Technologieberater für eine international führende
Unternehmensberatung sowie zwei Jahre lang als Senior-IT-Projektmanager für einen großen
deutschen Energieversorger.
Anschrift
Dr. Holger Sirtl
Microsoft Deutschland GmbH
Konrad-Zuse-Straße 1
85716 Unterschleißheim
Online
Blog: http://blogs.msdn.com/hsirtl
Twitter: @hsirtl
Xing: https://www.xing.com/profile/Holger_Sirtl
LinkedIn: http://de.linkedin.com/in/hsirtl