Überblick über Microsoft Azure

Werbung
Überblick über
Microsoft Azure
Autor:
Version:
Azure SDK:
Stand:
Holger Sirtl
2.9.6
2.9.6
19.01.2017
© 2017 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows
Vista and other product names are or may be registered trademarks and/or trademarks 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.
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 IMPLIED, 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 applicable 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 written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering 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 intellectual 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.
© 2017 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
© 2017, Microsoft Deutschland GmbH
i
.
ii
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Inhalt im Überblick
1
Cloud Computing mit Microsoft Azure
2 Bereitstellung eigener Anwendungslogik auf Azure
1
7
3 Speicherung von Daten auf Microsoft Azure
17
4 Analytics- und IoT Services
24
5 Sicherheit Azure-basierter Anwendungen
31
6 Medienverarbeitung und -verteilung
34
7
36
Integration Azure-basierter Anwendungen in die eigene IT
8 Netzwerkdienste
41
9 DevOps mit Microsoft Azure
45
10 Erste Schritte mit Microsoft Azure
48
Anhang A: Azure Ausführungsmodelle
49
Anhang B: Azure Services im Überblick
50
Anhang C: Aufbau der Plattform
53
Index
54
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
iii
iv
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Inhaltsverzeichnis
1
Cloud Computing mit Microsoft Azure
1
1.1 Cloud Computing .................................................................................................................................... 1
1.2 Aufbau der Microsoft Azure Plattform ........................................................................................... 2
1.3 Die physische Infrastruktur .................................................................................................................. 3
1.4 Dienste der Microsoft Azure Plattform ........................................................................................... 4
1.5 Aufbau dieses Dokuments ................................................................................................................... 5
2 Bereitstellung eigener Anwendungslogik auf Azure
7
2.1 App Service – Hosting Web-basierter Anwendungslogik ....................................................... 8
2.2 Cloud Services – mehrschichtige, skalierbare Anwendungen .............................................11
2.3 Service Fabric - Microservices-basierte Apps .............................................................................12
2.4 Container Service – Cluster für Container-Deployments .......................................................13
2.5 Virtual Machines - Betrieb virtueller Maschinen in der Cloud .............................................13
2.6 Azure Batch – Batch-Verarbeitung .................................................................................................15
2.7 Mobile Engagement – Verwaltung mobiler Apps ....................................................................15
2.8 Notification Hubs - Push-Benachrichtigungen an mobile Plattformen ...........................15
2.9 API Management ...................................................................................................................................16
3 Speicherung von Daten auf Microsoft Azure
17
3.1 Relationale Datenspeicherung .........................................................................................................18
3.2 NoSQL-Datenspeicherung .................................................................................................................20
3.3 Dateisystem-basierte Speicherdienste ..........................................................................................21
3.4 Caching ......................................................................................................................................................22
3.5 Hybride Datenablage mit StorSimple ...........................................................................................23
4 Analytics- und IoT Services
24
4.1 IoT Hub ......................................................................................................................................................24
4.2 Event Hubs ...............................................................................................................................................25
4.3 Stream Analytics ....................................................................................................................................25
4.4 Data Factory.............................................................................................................................................25
4.5 Azure Data Lake .....................................................................................................................................26
4.6 HDInsight ..................................................................................................................................................27
4.7 Machine Learning ..................................................................................................................................27
4.8 Azure Search ............................................................................................................................................28
4.9 SQL Data Warehouse ...........................................................................................................................28
4.10 Azure Data Catalog ...............................................................................................................................28
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
v
4.11 Analysis Services .................................................................................................................................... 28
4.12 Cognitive Services ................................................................................................................................. 29
4.13 Azure Bot Service .................................................................................................................................. 29
4.14 Power BI Embedded ............................................................................................................................. 30
5 Sicherheit Azure-basierter Anwendungen
31
5.1 Azure Active Directory ........................................................................................................................ 31
5.2 Multi-Factor Authentication ............................................................................................................. 32
5.3 Key Vault................................................................................................................................................... 33
5.4 Azure Security Center .......................................................................................................................... 33
5.5 Microsoft Azure Trust Center ........................................................................................................... 33
6 Medienverarbeitung und -verteilung
34
6.1 Media Services ....................................................................................................................................... 34
6.2 Content Delivery Network (CDN) ................................................................................................... 34
7
Integration Azure-basierter Anwendungen in die eigene IT
36
7.1 Datenintegration via SQL DataSync .............................................................................................. 36
7.2 Anwendungsintegration ..................................................................................................................... 37
8 Netzwerkdienste
41
8.1 Virtual Network ...................................................................................................................................... 42
8.2 ExpressRoute........................................................................................................................................... 42
8.3 Traffic Manager ...................................................................................................................................... 43
8.4 Load Balancer ......................................................................................................................................... 43
8.5 DNS Service ............................................................................................................................................. 44
8.6 VPN Gateway .......................................................................................................................................... 44
8.7 Application Gateway ............................................................................................................................ 44
9 DevOps mit Microsoft Azure
45
9.1 Services für die Software-Entwicklung ......................................................................................... 45
9.2 Services für den Systembetrieb ....................................................................................................... 46
10 Erste Schritte mit Microsoft Azure
48
10.1 Blogs und Webseiten .......................................................................................................................... 48
vi
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Anhang A: Azure Ausführungsmodelle
49
Anhang B: Azure Services im Überblick
50
Anhang C: Aufbau der Plattform
53
Index
54
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
vii
Abbildungsverzeichnis
Abb. 1-1 Grobaufbau der Microsoft Plattform .............................................................................................. 3
Abb. 2-1 Ausführungsmodelle für Cloud Anwendungen .......................................................................... 7
Abb. 2-2 API Management ..................................................................................................................................16
Abb. 4-1 Analytics- und IoT-Services in Microsoft Azure ........................................................................24
Abb. 7-1 Microsoft Azure SQL DataSync ........................................................................................................37
Abb. 7-2 Microsoft Azure Service Bus .............................................................................................................38
Abb. 7-3 Microsoft Azure Service Bus Topics und Subscriptions .........................................................39
Abb. 8-1 Netzwerkdienste in Microsoft Azure .............................................................................................41
Abb. 8-2 Microsoft Azure Traffic Manager ....................................................................................................43
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
ix
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 Plattform 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 nutzungsabhä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 ClientAnwendungen 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 Anwendung Daten in Microsoft Azure Storage speichern, Apps auf mobilen Endgeräten über
Microsoft Azure Nachrichten untereinander austauschen, eine lokal betriebene SQL Server Datenbank 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-System aufrufen. Viele weitere Hybrid-Szenarien sind denkbar. Selbstverständlich können Anwendungen auch vollständig auf Microsoft Azure betrieben werden.
Zur Erstellung und Migration Azure-basierter Anwendungen können verschiedene Entwicklungs- und Management-Umgebungen (Visual Studio, Eclipse, System Center, …) und Programmiertechnologien (.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 definiert, 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 Softwareprojektes vereinfachen sich drastisch: der Start der Anwendung kann in einer kleinen,
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
1
kostengünstigen Umgebung erfolgen, und bei Erfolg der Anwendung und entsprechender Last können schnell zusätzliche Ressourcen hinzugeschaltet werden.
• Die Dienste werden bedarfsgerecht bereitgestellt, d.h. sobald Bedarf an Rechen-, Speicher- oder Kommunikationsleistung besteht, können die Dienste genutzt werden, sobald kein Bedarf mehr besteht, können die Dienste wieder deaktiviert werden. Dies ist
beispielsweise bei der Nutzung der Cloud zum Aufbau von Test- und Enwicklungsumgebungen 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 Erfolg eines Cloud-basierten Softwaresystems korreliert, und das Risiko teurer Fehlinvestitionen beseitigt.
• Über Standardschnittstellen (z.B. RESTful APIs) können die Dienste über alle Technologien 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 eigene Umgebungen bestehend aus diesen Services bzw. Instanzen der Services erstellt, konfiguriert, 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 Programmiersprachen. Diese kapseln REST-Aufrufe in Objekten der jeweiligen Sprache. So können Entwickler der unterstützten Sprachen zur Steuerung von Azure Services Klassen ihrer gewohnten Implementierungstechnologie 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 Werkzeuge können die REST-Schnittstellen von Azure aus der Kommandozeile heraus angesprochen werden.
2
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 Plattformdienste ausgeführt werden.
1.3.1
Azure Global Cloud
Azure ist in 24 Regionen weltweit allgemein verfügbar. Die Verfügbarkeit in 8 weiteren Regionen 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 Anwendungsinstallationen auf mehrere Regionen ist möglich.
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
3
1.3.2
Microsoft Cloud Deutschland
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ügbarkeit) 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 Infrastructure-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-Anwendungen, Web Apps für schnelles, flexibles Webhosting, Mobile Apps als Backend für mobile Anwendungen und Media Services zur Implementierung von Medien-Workflows.
1
Quelle: “Taking the cloud to your datacenter – Azure Stack”, Microsoft
4
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 Benutzerverwaltung. Integrationsdienste können zur Kommunikation und Integration verteilter Anwendungskomponenten 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 überwacht und auf dem neuesten Stand gehalten. Ausfälle werden erkannt und automatisch entsprechende Instandsetzungsmaßnahmen eingeleitet. Die Dienste können auf schwankende
Last reagieren, d.h. über einen Auto-Scaling-Mechanismus auf Wunsch automatisch Ressourcen 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, Python, Ruby, Eclipse) mit entsprechenden Erweiterungen unterstützt. Auch die Interaktion mit
verschiedenen Quellcode-Verwaltungssystemen (Visual Studio Online, GitHub etc.) wird unterstützt.
1.5 Aufbau dieses Dokuments
Die einzelnen Kapitel dieses Dokuments behandeln jeweils folgende Themen:
• Kapitel 2: Bereitstellung eigener Anwendungslogik auf 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 eingesetzt 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.
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
5
• 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 (Audio, 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 Rechenzentrum. Es stellt die Dienste vor, mit denen sich hybride Cloud-Umgebungen realisieren 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 Integration 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.
6
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
2 Bereitstellung eigener
Anwendungslogik auf 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önnen dann – auch wenn sie ebenfalls alleine genutzt werden können – 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 aufgeführt sind. Diese können unabhängig voneinander, aber auch
in Kombination genutzt werden. Anhang A enthält eine detailliertere Gegenüberstellung der
wichtigsten Modelle. Letztlich kommen in allen Alternativen virtuelle Maschinen zum Einsatz.
Unterschiede bestehen in dem Maße, in dem administrative Aufgaben automatisiert von Azure
übernommen werden.
Abb. 2-1 Ausführungsmodelle für Cloud Anwendungen
Im Bereich Infrastructure-as-a-Service (IaaS) stehen Virtual Machines, VM Scale Sets sowie der
Container Service zur Verfügung. Virtual Machines bieten die größte Flexibilität. Die virtuellen
Maschinen können individuell konfiguriert und betrieben werden; dafür verbleiben viele administrative Aufgaben (Patching, Upgrades etc.) beim Nutzer. VM Scale Sets automatisieren
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
7
einige Aspekte zum Betrieb eines Clusters identischer virtueller Maschinen (Skalierung, Loadbalancing etc.). Der Container Service stellt auf Basis von VM Scale Sets Cluster-Umgebungen
für Container-basierte Deployments (DC/OS, Mesos, Kubernetes) zur Verfügung.
Die Ausführungsmodelle im Bereich Platform-as-a-Service (PaaS) werden viele Aspekte der
zugrundeliegenden Infrastruktur automatisiert (Patching der virtuellen Maschinen etc.). Der
Batch Service stellt automatisch Ressourcen für Batch-Jobs bereit. Cloud Services eignen sich
für Aufbau und Betrieb hoch-skalierbarer, hoch-verfügbarer, mehrschichtiger Anwendungen
bei minimalem Administrationsaufwand. Service Fabric ermöglicht den Aufbau flexibel skalierbarer, Microservices-basierter Anwendungen. Der App Service nimmt dem Nutzer zusätzlich
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 zur Implementierung von Web-, Mobile- und API Apps beschränkt. Über das App Service Environment können diese Apps auch in einer dedizierten Umgebung ausgeführt werden. Azure Functions abstrahieren im Sinne des „serverless computing“
gänzlich von einer konkreten Ausführungsumgebung, d.h. es werden von Azure automatisch
zur Ausführung benötigte Ressourcen bereitgestellt. Logic Apps ermöglichen die Definition
und ereignisgesteuerte Ausführung von Workflows in deren Rahmen verschiedene BackendSysteme integriert werden können. PowerApps ermöglichen über eine grafische Oberfläche
die Implementierung mobiler Anwendung, in die Cloud Daten und Dienste integriert werden
können.
2.1 App Service – Hosting Web-basierter
Anwendungslogik
Der App Service stellt Funktionalitäten für eine Gruppe von Anwendungstypen bereit, die ähnliche 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-basierter Workflows und API Apps, die Funktionalitäten über Web-basierte Schnittstellen zur Verfü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ünstige, 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 zahlreichen Web Frameworks (z.B. ASP.NET, Java, PHP, Node.js, ...) und Anwendungen (z.B. Joomla,
8
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 automatisiertes Deployment direkt aus Quellcode-Verwaltungen (unter anderem Git, Visual Studio Online,
Dropbox, Skydrive, …) heraus möglich. Sobald ein Entwickler neuen Code einstellt, erfolgt automatisch 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"-Modell werden eine oder mehrere Instanzen der Anwendung in einer Multi-Mandanten-Umgebung betrieben, im kostenlosen „Free“-Modell ist die Zahl der Instanzen auf eine einzige beschrä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
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 (Hinzuschalten zusätzlicher Instanzen gleicher Größe) als auch Scale-up (Vergrößerung der bestehenden 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 AutoScaleFunktion 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 vollständig durch Microsoft Azure übernommen.
Für die Persistierung von Daten stehen als Datenbanken MySql und Microsoft Azure SQL Database 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 Benutzern ü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
2
Team Foundation Server (Bestandteil der Visual Studio Plattform)
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
9
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 Programmieraufwand sehr einfach als Backend-Dienste für Windows, 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 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, DropBox, 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 Ereignisse 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 Datenbank 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
10
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Apps vereinfachen die Bereitstellung dieser begleitenden Funktionalitäten bedeutend. Bei der
Implementierung von Clients, die eine API App verwenden sollen, können die Meta-Informationen (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 Konfiguration entsprechender Konnektoren bereitstellen. Azure enthält im Marketplace bereits eine
Vielzahl an Konnektoren mit denen beispielsweise E-Mails versandt, Daten in Salesforce eingestellt oder Twitter-Tweets abgesetzt werden können.
http://azure.microsoft.com/de-de/services/app-service/api/
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. Functions können in verschiedenen Sprachen wie z.B. JavaScript, C#, Python oder PHP oder Skriptsprachen (Bash, Batch, PowerShell) erstellt werden. Functions werden dann in Reaktion auf
externe Ereignisse (Änderungen in einer Datenquelle, Eintreffen von Nachrichten etc.) ausgefü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 maximal von der flexiblen Ressourcenbereitstellung der Public Cloud profitieren sollen. Diese Anwendungen 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 GastBetriebssysteme, Patching und Failover (ausgefallene Komponenten werden automatisch ersetzt) ein. Anders als bei Websites haben Entwickler vollen administrativen Zugang auf die
virtuellen Maschinen, um beispielsweise zusätzliche Software in die einzelnen Instanzen zu installieren. Hierzu werden auch Remote Desktop Verbindungen zur Administration unterstützt.
Rollen können unabhängig voneinander skaliert werden (Hinzuschalten bzw. Entfernen von
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
11
Instanzen); mit der Auto-Scaling-Funktion kann dieser Vorgang auch (in Abhängigkeit von verschiedenen 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 erfolgreichem 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 konfiguriert werden. Der Entwickler kann den Aufbau über eine Cloud-Service-Definition (csdef)
und eine Cloud-Service-Konfiguration (cscfg) bestimmen. Im Deploymentpaket, welches von
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 AutoScaleFunktion) zur Laufzeit geändert, werden entsprechend Instanzen automatisch heruntergefahren bzw. zusätzliche Instanzen provisioniert und der vorgeschaltete Loadbalancer passend umkonfiguriert. Der administrative Aufwand für den Nutzer beschränkt sich somit auf ein Minimum. Die Kosten für den Betrieb werden pro Stunde angesetzt. Werden neue virtuelle Maschinen 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 BasisImage 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 Anwendungen in Azure (neben App Service, Cloud Services und Virtual Machines). Apps, die für die Service Fabric geschrieben werden, unterscheiden sich hinsichtlich Aufbau und Deployment von
den Anwendungen der anderen Compute-Betriebsarten. Bei der Service Fabric können Anwendungen aus sogenannten Micro-Services aufgebaut sein, die dynamisch installiert und auf
12
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 gegenüber den anderen Ausführungsoptionen ist eine deutlich flexiblere Ressourcen-Zuteilung
und bessere Auslastung der Maschinen. Anwendungen können flexibler, nämlich auf MicroService-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/
2.4 Container Service – Cluster für ContainerDeployments
Mit Hilfe des Azure Container Service lassen sich auf Knopfdurck Cluster von virtuellen Maschinen erstellen, auf denen verschiedene Orchestrierungstechnologien für Container-Deployments vorinstalliert sind. Hierzu stehen DC/OS, Docker Swarm oder Kubernetes zur Auswahl.
Die Cluster halten sich dabei an den jeweiligen Standard, so dass Deployment, Überwachung
und Management mit den gewohnten Werkzeugen (z.B. Docker Clients) erfolgen können. Bestehende Container können so problemlos aus einer lokalen Umgebung in die Cloud migriert
werden.
Die Azure Container Registry bietet in diesem Zusammenhang die Möglichkeit ContainerImages zu speicher und zu verwalten. Container können so leicht vorgehalten und bei Bedarf
in einem Cluster zur Ausführung gebracht werden.
https://docs.microsoft.com/de-de/azure/container-service/
2.5 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.
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
13
Die in den virtuellen Maschinen eingesetzten Festplattenlaufwerke werden im Storage als Page
Blobs persistiert. Damit bleiben alle Inhalte erhalten, sollte eine virtuelle Maschine einem ReImage unterzogen werden (z.B. bei Hardware-Ausfall). Für die Inhalte gelten die gleichen Regeln 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 Standard-VHDs genutzt werden, können sowohl bestehende VMs aus einer lokalen Hyper-V-Umgebung 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 Directory. Durch Kooperation mit Oracle werden auch Anwendungen aus dem Oracle-Technologieportfolio (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 entsprechender Serversoftware bestückte Images aus einer VM Gallery ausgewählt und gestartet werden. 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 interessant, wo Infrastruktur oft nur temporär benötigt wird.
Wie die anderen Ausführungsmodelle können auch Virtual Machines in Kombination mit anderen Azure Services genutzt werden. So kann eine in einer VM ausgeführte Anwendung beispielsweise problemlos Microsoft Azure Storage oder SQL Database nutzen oder Benutzerauthentifizierung ü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 CloudVMs umspannendes virtuelles Netzwerk mit gemeinsamen Ipv4-Adressraum und entsprechenden Routing Tabellen einzurichten, können virtuelle Maschinen flexibel zwischen der Cloud
und einem lokalen Rechenzentrum hin- und hergeschoben werden ohne dass dies aus Netzwerksicht Auswirkungen auf die anderen VMs hat.
http://azure.microsoft.com/de-de/services/virtual-machines/
14
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
2.6 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öglichkeiten 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.7 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 Anwendungen 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.8 Notification Hubs - Push-Benachrichtigungen an
mobile Plattformen
Die Möglichkeit, gezielt, schnell und einfach Push Notifications an eine große Zahl von unterschiedlichen Clients verschicken zu können, stellt eine große Herausforderung in modernen,
mobilen Anwendungsszenarien dar. Notification Hubs erlauben es, mit einem einzigen APIAufruf Nachrichten an Clients unterschiedlicher Plattformen (Windows Store, Windows Phone
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 werden.
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
15
Damit können beispielsweise Nachrichtenportale an ihre Leser aktuelle Neuigkeiten thematisch zielgerichtet verschicken oder Event-Seiten Aktualisierungen zum Tagesverlauf verschicken.
http://azure.microsoft.com/de-de/services/notification-hubs/
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.
Abb. 2-2 API Management
Dazu können bereitgestellte APIs vom Anbieter der API über ein Publisher Portal unter anderem 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 Abrechnungssysteme leitet. Die bereitgestellte API kann dabei auf Azure oder auch extern betrieben
werden.
http://azure.microsoft.com/de-de/services/api-management/
16
Überblick über Microsoft Azure
© 2017, 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 Services zur Verfügung. Das Management dieser Speicher wird weitestgehend durch Microsoft
Azure übernommen. Für relationale Datenspeicherung gibt es SQL Database, für Non-SQLSpeicherung semi-strukturierter Daten gibt es DocumentDB und Table Storage, für große Binärdaten (Dokumente, Videos, Musik, statische Webseiteninhalte) gibt es Blob Storage und als
persistentes Dateisystem stehen Azure Disks zur Verfügung. Folgende Tabelle gibt einen Überblick über die verschiedenen Speicheroptionen.
Relational
PaaS
Document
SQL Database DocumentDB
Key-Value
Table Storage Data Lake
• Voll gemanaged SQL DW
HBase
(HDIinsight)
• Skalierbar
IaaS
SQL Server
Mongo DB
Cassandra
• Betrieb in VMs
Oracle
…
…
• Marketplace
MySQL …
Tabellen
Objekte
Key-Value
Schema
On write
Nein
Nein
Redundanz
Blobs
File Storage
Blob Storage
Disks
HBase
(Hadoop)
flexibel
On read
Nein
Nein
RESTful
SMB
RESTful
Ja, 3-fach, Geo-Redundanz optional
SQL
SQL
RESTful
MongoDB
Use Cases
Files
…
Informationstyp
Schnittstelle
Distributed
Relationale
Semi-strukt.
Semi-strukt.
Speicherung
JSON-Objekte Entities mit eiund Verarbeinem Schlüssel
tung (SQL)
Flexibel
(Data Lake mit
U-SQL)
Verteilte, fle- Ablage von Binärdaten
xible Speiche- (Dokumente, Bilder, Videos
rung großer
etc.)
Datenmengen
(Big Data)
Tabelle 2: Gegenüberstellung der Speicheroptionen unter Microsoft Azure
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
17
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 Microsoft 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 Inhalte 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 Datenbanksystem) ist eine naheliegende Möglichkeit, relationale Datenspeicherung und -verarbeitung in
Microsoft Azure durchzuführen. Konfiguration und Administration des Servers verbleiben dabei 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 maximal. 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
SQL Database - RDBMS-as-a-Service
SQL Database bringt relationale Datenbanktechnologie als echten Cloud Dienst in die Microsoft Azure Plattform ein. Dazu gehören eine relationale Datenbank und ein Synchronisierungsdienst, mit dem mehrere Datenbanken inhaltlich abgeglichen werden können. Der Administrationsaufwand 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 schnittstellenkompatibel 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 Datenbank vorzunehmen.
Funktional bildet SQL Database eine Teilmenge von SQL Server ab. Zur Verfügung stehen die
bekannten Datenbankkonstrukte wie Tabellen, Views, Joins, atomare Transaktionen, Datenintegritä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
18
Überblick über Microsoft Azure
© 2017, 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. Entsprechend schnell kann eine Datenbank wieder gelöscht werden. Die Abrechnung erfolgt entsprechend 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, Standard bietet höhere Transaktionsleistungen für Datenbanken bis 250 GB und Premium garantiert 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 Strategien zu definieren, die festlegen, welche Daten letztlich in welcher Datenbank gespeichert werden. Diese erlaubt es dem Service automatisch zu bestimmen, welche Datenbank für eine konkrete Transaktion angesprochen werden soll. Abfragen über mehrere Datenbanken hinweg
sind ebenfalls möglich.
http://azure.microsoft.com/de-de/services/sql-database/
3.1.3
SQL Server Stretch Database – Erweiterung einer lokalen Datenbank in die
Cloud
Lokal betriebene Datenbanken sind immer durch den bereitgestellten Datenspeicher begrenzt.
Mit SQL Server Stretch Database kann zusätzlich zum lokalen Speicher auch Speicher in Azure
verwendet werden. Transaktionsdaten können dynamisch, über Richtlinien gesteuert von SQL
Server 2016 nach Azure verschoben werden, wodurch der Datenbank kostengünstiger, quasi
unbegrenzter Speicher zur Verfügung steht. Client-Anwendungen, die auf die Daten zugreifen,
müssen hierbei nicht geändert werden. Für diese ist nicht erkennbar, ob die zugegriffenen
Daten lokal oder in der Cloud gespeichert sind.
https://docs.microsoft.com/de-de/azure/sql-server-stretch-database/
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
19
3.2 NoSQL-Datenspeicherung
Neben relationaler, SQL-basierter Datenspeicherung, bietet Microsoft Azure auch Datendienste, die eine NoSQL-basierte Speicherung ermöglichen: DocumentDB als dokumentenbasierte 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 Nachrichtenversand 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.2.1
JSON-Objektdatenbank DocumentDB
DocumentDB ist bezüglich der zu speichernden Daten zwischen SQL Database und Table Storage angesiedelt. Formal eine schemalose NoSQL-Datenbank erlaubt DocumentDB die Speicherung komplexerer JSON-basierter Objekte. Diese werden automatisch von der Datenbank
indiziert und können mit einer an SQL angelehnten Abfragesyntax ohne Angabe eines Schemas 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 Plattform. 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-strukturierter 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 Entitys 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) bestehen.
3
Queue Storage wird im Kontext der Anwendungsintegration in Abschnitt 7.2.1 behandelt.
20
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Über die Primärschlüsselwerte kann Microsoft Azure Einträge zu Partitionen zusammenfassen
und diese zur Performance-Optimierung automatisch auf verschiedene Speichermedien verteilen. 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 komplexen 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, unstrukturierter 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.
Darüber hinaus ist Geo-Replikation sowie die Möglichkeit, Blob-Inhalte über das Content Delivery 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 BlobEbene können Zugriffsrechte vergeben werden. Dabei kann das betreffende Element als öffentlich (Zugriff ohne Authentifizierung möglich) oder privat deklariert sein. Über die Erzeugung von Shared Access Signatures können Zugriffe zeitlich begrenzt auf entsprechend berechtigte 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 bereitgestellt 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.
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
21
3.3.2
Virtuelle Festplatten in Virtual Machines: Disks
Mit Microsoft Azure Disks können aus Microsoft Azure Virtual Machines Daten in ein persistentes 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 zwischenzuspeichern, 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
zentral bereitgestellt Caching Services, In-Role Caching als Möglichkeit, ungenutzte Ressourcen innerhalb der Komponenten oder auch dedizierte Instanzen als Cache zu verwenden und
das Content Delivery Network, das Inhalte aus Blob Storage weltweit verteilt zwischenspeichern 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 Ausführungsmodell (Websites, Cloud Services, Virtual Machines) heraus angesprochen und genutzt werden und stellt die Empfehlung für alle neu zu entwickelnden Cloud-basierten Anwendungen 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 werden. 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
22
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 Anwendungsausfü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 untereinander synchronisieren. Durch eine entsprechende Konfiguration der betreffenden Anwendung kann dieser Cache auch zur Zwischenspeicherung einer User-Session verwendet werden.
http://azure.microsoft.com/de-de/documentation/services/cache/#in-role
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 verschlüsselt) in Microsoft Azure Storage repliziert. Durch die Sicherheitsmechanismen im Azure
Storage (3-fach-Speicherung, Geo-Replikation, …) werden die Daten entsprechend sicher aufbewahrt. Die Notwendigkeit zum zusätzlichen Backup entfällt.
http://www.microsoft.com/de-de/server-cloud/products/storsimple/
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
23
4 Analytics- und IoT Services
Azure enthält eine Reihe an Services, die den kompletten IoT-Analytics-Workflow von der Anbindung von IoT-Geräte, der Datensammlung und -speicherung, über die Auswertung der Daten bis hin zur Visualisierung bzw. Weiterleitung an nachgelagerte Systeme unterstützen. Abb.
4-1 skizziert das Zusammenspiel dieser Services.
Abb. 4-1 Analytics- und IoT-Services in Microsoft Azure
IoT Hub und Event Hubs sind zwei Dienste, die große Mengen an Eingangsdaten entgegennehmen und nachgelagerten Systemen gepuffert zur Verfügung stellen können. Der IoT Hub
übernimmt dabei auch die Verwaltung angeschlossener IoT Geräte. Für eine Auswertung stehen Services zur Verarbeitung im Batch Betrieb, zur Analyse bereits während des Eintreffens
der Daten (Hot Path Analytics) und zur Ausführung von Business Logic (Hot Path Business
Logic) zur Verfügung.
4.1 IoT Hub
In IoT Szenarien müssen in der Regel eine Vielzahl an Devices angebunden und verwaltet werden. 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 bidirektionale Kommuniktion mit diesen Geräten, d.h. er kann sowohl Nachrichten verarbeiten, die
24
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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
und in einem partitionierten Speicherbereich zwischengespeichert. Dieser Speicher macht dan
die ein- oder mehrmalige Verarbeitung der Daten über parallel geschaltete Empfänger möglich.
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 Analytics 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 Datenspeichern (SQL, NoSQL, unstrukturierte Daten etc.) und –verarbeitungskomponenten (Datenbanken, 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.
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
25
Mit Data Factory können lokale Daten wie solche aus SQL Server zusammen mit Cloud-bezogene Daten aus Azure SQL Database, Blobs und Tables verarbeitet werden. Diese Datenverarbeitungsströ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).
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 umfangreich ausgestaltet werden. Kosten fallen somit nur dann an, wenn tatsächlich Auswertungen
erstellt werden.
https://azure.microsoft.com/de-de/services/data-lake-analytics/
26
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
4.6 HDInsight
Neben der reinen Datenspeicherung bietet Microsoft Azure auch Möglichkeiten zur Auswertung und Aufbereitung von Daten, die in Azure abgelegt sind. Durch die flexible, unkomplizierte Bereitstellung auch größerer Rechen- und Speicherressourcen, die nach einer Datenauswertung wieder deaktiviert werden können, ist Azure die ideale Umgebung für derartig weitergehende Datenverarbeitung.
HD Insight ermöglicht die Analyse großer Datenbestände mit Hilfe von Hadoop, einem OpenSource-Framework, welches sich zur Berechnung sogenannter „Big Data Probleme“, d.h. Auswertungen 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 Provisionierung 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.
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 Daten getroffen werden. Hierzu können vorhandene Daten aufgeteilt werden in Trainings- und
Kontrolldaten. Aus vorgefertigter oder selbst mittels der Programmiersprache R erstellter Analysealgorithmen können Prognosemodelle erstellt werden. Diese können mit den Trainingsdaten trainiert werden. Die erzielte Prognosegenauigkeit der Modelle kann dann mit den Kontrolldaten ü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 konfiguriert werden können.
http://azure.microsoft.com/de-de/services/machine-learning/
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.
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
27
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 Bewertungsmodelle 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 Ressourcen sich an den konkreten Datenauswertungsbedarf anpassen lassen. Dabei können Rechen- und Speicherdienste unabhängig voneinander skaliert werden. Somit können bei Beibehaltung 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 registriert und auffindbar gemacht werden können. Verschiedene Mitarbeiter können Datenquellen
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/
4.11 Analysis Services
Die Analysis Services bieten die Möglichkeit basierend auf den SQL Server Analysis Services
tabellarische Modelle in der Cloud zu erstellen und darauf Analysen durchzuführen. Dabei werden DirectQuery, Partitionen, Sicherheit auf Zeilenebene, bidirektionale Beziehungen und
Übersetzungen unterstützt. Die gesamte Funktionalität wird als Service bereitgestellt, d.h. es
sind keine weiteren administrativen Aktivitäten erforderlich.
https://docs.microsoft.com/de-de/azure/analysis-services/
28
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
4.12 Cognitive Services
Für eine effiziente Kommunikation ist in der Regel eine möglichst genaue Kenntnis des Kontexts, in dem die Interaktion stattfindet, entscheidend. Cognitive Services können aus verschiedenen vorliegenden Datenquellen Kontextinformationen extrahieren. Es handelt sich dabei um
eine Sammlung von Programmierschnittstellen aus verschiedenen KI Bereichen (Bildanalyse,
Spacherkennung etc.). Tabelle 3 listet die einzelnen Services mit einer Kurzbeschreibung auf.
API
Funktionalität (Erkennung von…)
Textanalyse
Language Unterstanding Intelligend Service (LUIS)
Benutzerbefehle in gesprochener Sprache
Text Analytics API
Stimmungen (Tonalität) und Themen in Text
Web Language Model API
Statistische Aussagen zu Textpassagen
Bing Spell Check API
Rechtschreibung
Translator Text API
Übersetzung von Textbausteinen
Spracherkennung
Bing Speech API
Text aus gesprochener Sprache
Speaker Recognition API
Sprecher in einer Spracheingabe
Translator Speech API
Echtzeit-Übersetzung gesprochener Sprache
Bilderkennung
Face API
Gesichter in Bildeingabe
Emotion API
Emotionen abgebildeter Personen
Computer Vision API
Szenen- und Objekterkennung in Bildern
Content Moderator
Automatisierte Bild-, Text- und Videomoderation
Suche
Bing Search API
Web-Suche mit Bing (Text, Bilder, Videos, Nachrichten)
Bing Autosuggest API
Vorschläge (“meinten Sie…”) in Web-Suche
Wissen
Recommendations API
Empfehlungen
Academic Knowledge API
Semantische Suche
Tabelle 3: Überblick über die Cognitive Services
https://azure.microsoft.com/de-de/services/cognitive-services/
4.13 Azure Bot Service
Der Azure Bot Service stellt eine skalierbare Ausführungsumgebung für eigene Bots, die mit
entsprechenden Vorlagen auf Basis des Microsoft Bot Frameworks entwickelt wurden. Damit
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
29
lassen sich interaktive Services erfassen, die – ggf. angereichert mit weiteren Diensten wie den
Cognitive Services – eine intuitive Benutzerinteraktion ermöglichen, d.h. Benutzer können beispielsweise mit natürlicher Sprache mit einem Bot interagieren, wobei dieser sich an den Kommunikationskontext (z.B. erkannte Emotionen) anpassen kann.
https://azure.microsoft.com/de-de/services/bot-service/
4.14 Power BI Embedded
Power BI Embedded ermöglicht die Einbettung von Daten-Visualisierungscontrols (Tabellen,
Diagramme etc.) in eigene Anwendungen. Dies ermöglicht die Erstellung interaktiver Berichte
und Dashboards in denen beispielsweise Ergebnisse diverser Datenquellen und Analyse-Jobs
angezeigt werden.
https://docs.microsoft.com/de-de/azure/power-bi-embedded/
30
Überblick über Microsoft Azure
© 2017, 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 Erstellung sicherer, Azure-basierter Anwendungen und bietet mit Microsoft Azure Active Directory
zentrale Bausteine für die Absicherung eigener Anwendungen in der Cloud.
http://azure.microsoft.com/de-de/services/active-directory/
5.1 Azure Active Directory
Azure Active Directory ist ein im Vergleich zu Windows Server Active Directory von Grund auf
neu konzipierter Dienst, der Authentifizierungs-, Verzeichnis und Domain Services speziell für
Cloud Szenarien bereitstellt
5.1.1
Azure AD Verzeichnisdienst
Der Azure Active Directory Verzeichnisdienst erlaubt die Speicherung von Benutzern und deren
organisatorische Zugehörigkeiten. Über den Dienst können sich Benutzer anmelden. Sie erhalten dann ein entsprechendes Security-Token, das sie dann Anwendungen übergeben können,
um ihre Benutzeridentität nachzuweisen. Azure erlaubt dabei auch eine Synchronisation von
Inhalten mit einem lokal betriebenen Windows Server Active Directory. 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 Azure AD steht mit Azure AD 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.
5.1.2
Azure AD B2B
Azure AD B2B ermöglicht es, Benutzer aus einem fremden Azure AD Verzeichnis im eigenen
Verzeichnis als „Gast“ anzulegen. Bei einer Authentifizierung delegiert das eigene AD den Prozess an das AD des Gastes. Dies ermöglicht die Zusammenarbeit mit Partner-Unternehmen,
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
31
die ihre Benutzer selbst im Partner-AD verwalten. Der Import kann direkt für einzelne User
erfolgen oder über eine passend formatierte CSV-Datei für eine größere User-Gruppe. Die betreffenden User erhalten eine E-Mail, in der sie die Anlage als Gast bestätigen müssen.
5.1.3
Azure AD B2C
Mit Azure AD B2C können externe Identity Provider in eigenen Anwendungen zur Benutzerauthentifizierung 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 bestehende 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.
5.1.4
Multi-Faktor-Authentifizierung
Für Szenarien mit erhöhten Sicherheitsanforderungen kann für User in Azure AD Multi-FaktorAuthentifizierung vorgegeben werden. Die betreffenden User müssen sich nach Anmeldung
mit Benutzername und Passwort noch mit einem zweiten Faktor (Telefonanruf, Authentifizierungs-App, SMS) authentifizieren.
5.1.5
Azure AD Domain Services
Azure AD Domain Services bieten die Funktionalität eines Domänencontrollers – als Service
bereitgestellt. Die Funtionen umfassen unter anderem Domänenbeitritt, Gruppenrichtlinien,
LDAP-, NTLM- und Kerberos-Authentifizierung.
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-Authentifizierung. Dabei kommt mehr als ein Mechanismus zur Verifikation eines Benutzers zum Einsatz.
Mit Hilfe von Microsoft Azure Active Authentication kann ein solcher Authentifizierungsmechanismus 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/
32
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 wirklich 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 erzeugt 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 Azure Security Center
Für eine sichere Nutzung von Azure ist es erforderlich einen Überblick über verschiedene Sicherheitseinstellungen, Policys und den Status der genutzten Ressourcen. Das Azure Security
Center überwacht automatisch zentral gesetzte Sicherheitsregeln und gibt über ein Dashboard
einen schnellen Überblick über die eigene Azure Umgebung. Für Erkannte Bedrohungen können Empfehlungen zur Behebung abgerufen werden.
https://docs.microsoft.com/de-de/azure/security-center/
5.5 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/
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
33
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, konvertieren 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önnen.
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 konsumierenden 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 Inhalten 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
34
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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/
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
35
7 Integration Azure-basierter
Anwendungen in die eigene IT
In vielen Software-Projekten stellt sich die Frage, wie Cloud-Ressourcen mit der lokalen IT verknü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 Ressourcen zu koppeln. Auf Anwendungsebene steht der Service Bus zur Verfügung, auf Datenebene 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 Tabellenzeilen (gefiltert durch Feldwerte)) bestimmt werden.
Abb. 7-1 skizziert die Funktionsweise. Der Datentransfer zwischen den beteiligten Datenbanken 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.
36
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 Verteilung auch über Unternehmens- und Firewall-Grenzen hinweg erfolgen. Dies ist insbesondere 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 Entwicklern 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 kommunizieren können. Zugriffe erfolgen grundsätzlich über http/https. Für die wichtigsten Programmiersprachen 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/
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
37
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 Kommunikationspartner (in der Cloud oder im eigenen Rechenzentrum) ausgeführt werden, können einfache und komplexe Nachrichtenströme implementiert werden. Unterstützt werden sowohl Punkt-zu-Punkt-Verbindungen (unidirektional und bidirektional), Queues zum Zwischenspeichern 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 ausgefü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
38
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 geschickt 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 BackendSysteme 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
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
39
werden, zum anderen können die ausgetauschten Nachrichten gefiltert und in verschiedene
Nachrichtenformate konvertiert werden. Dabei können nachrichtengesteuerte Workflows definiert werden.
http://azure.microsoft.com/de-de/services/biztalk-services/
40
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 untereinander sowie deren Anbindungen aus dem Internet bzw. an ein oder mehrere lokale Rechenzentren. 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 Netzwerkverkehr zunächst auf den Azure Loadbalancer, der nach verschiedenen Sicherheitsprüfungen 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 Rechenzentren verbunden werden. Via Express Route kann hierzu auch eine dedizierte Leitung mit
garantierter Bandbreite eingesetzt werden. Um Anwendergruppen weltweit optimal zu versorgen, kann ein Azure-basierter Service weltweit verteilt installiert werden. Via Traffic Manager
können Aufrufe passend auf die verschiedenen Service-Instanzen verteilt werden.
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
41
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 Rechenzentrum 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-Hardware verwendet werden, die von einem Netzwerk-Administrator entsprechend konfiguriert
werden muss. Damit können in den betreffenden Netzwerkknoten auch andere Betriebssysteme 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 zwischen 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 übrigen Internet-Verkehr beeinflusst werden können. Um dies zu vermeiden kann mit ExpressRoute eine private Netzwerkverbindung von Azure Rechenzentren zu eigenen, lokalen Rechenressourcen 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/
42
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 weiterleitet, 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 beantwortet, 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-Instanzen 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
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
43
(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 Ressourcen geleitet werden. Für mehrschichtige Anwendungen kann innerhalb eines Virtual Networks 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önnen.
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 (Pointto-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 Loadbalancingdienste auf Anwendungsebene bieten. So können über das Gateway leicht Sticky Sessions (Folgen 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 übernimmt 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/
44
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 Foundation Server, verfügbar waren. Mit VSTS lassen sich Entwicklungsprojekte planen, erstellen
und verteiben, ohne dass hierzu Server-Umgebungen konfiguriert werden müssten. VSTS erstellt 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 verschiedene Prozessvorlagen (Scrum, Kanban, agile Prozesse) geplant, überwacht und nachverfolgt 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 Application Insights gelieferten Telemetriedaten der übwachten Anwendungen können aufbereitet, visualisiert, gefiltert und segmentiert werden, um stets einen Überblick über den Zustand
und die Nutzung einer überwachten Anwendung zu erhalten. Es werden Anwendungen verschiedener 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ührungsumgebungen benötigt, in denen entsprechende Tätigkeiten ausgeführt werden können. Via DevTest 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
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
45
können darüber hinaus zeitgesteuert VMs automatisch herunter- bzw. hochfahren. Somit können 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 gesammelten 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 Datenverlust praktisch nicht auftreten kann. Azure eignet sich demnach hervorragend als BackupMedium auch für normalerweise lokal gehaltene Daten. Backup und Recovery Services erlauben 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ängigkeit 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 Rechenzentrum 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/
46
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
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 Serversysteme 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 System Center 2012 Virtual Machine Manager können Private Clouds durch laufende Replikation
an einen zweiten Rechenzentrumsstandort gesichert und bei Bedarf (Ausfall des ersten Standorts) 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önnen regelbasiert http/s-Endpunkte aufgerufen oder Nachrichten in eine Storage Queue eingestellt 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 Aufgaben wie die Erstellung von Ressourcen, deren Deployment, Überwachung und Verwaltung im
Rahmen einer Workflow-basierten Engine automatisieren kann. Zusammengehörige Ressourcen (z.B. ein Cloud Service mit zugehörigem Storage Account und Active Directory Setup) können ü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/
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
47
10 Erste Schritte mit Microsoft Azure
10.1 Blogs und Webseiten
Zugang zu Microsoft Azure
• Kostenloser Demo-Account:
https://azure.microsoft.com/de-de/free/
• Zugang zu Microsoft Azure über ein MSDN Abonnement:
http://www.windowsazure.com/en-us/pricing/member-offers/msdn-benefits/
• Zugang zu Microsoft Azure über BizSpark:
http://azure.microsoft.com/en-us/offers/ms-azr-0064p/
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/
• Azure InfoHub (Referenzen auf Videos, Doku, MVA-Kurse, etc. zu allen Azure Services)
http://aka.ms/azureinfohub
48
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Automatisiert
Cluster und Orchestrator automatisiert
Flexibel
Management Manuell
Flexibel
Jede VM ist persistent
8-10 Minuten
Windows Server, Linux Windows Server 2016, Windows Server
Linux
Architektur
Persistenz
Provisionierung
Systemplattform
Paketierung und Publish
Microsoft OS-Images
(Web Roles und
Worker Roles)
Erstellung und Upload Container-Deployvon VHDs oder Ausment
wahl aus einer Gallery
Microsoft oder eigene DC/OS, Swarm,
OS Images
Kubernetes
Gallery
8-10 Minuten
App: < 1 Minute
Cluster: ca. 10 Min.
Deployment
Stateful: Persistenz
der Services/Actors
Keine Persistenz der
VMs
(persistente Drives
möglich)
Cluster-VMs sind persistent
App Persistenz im
Container geregelt
Automatisiert
Azure Fuctions
spezifisch
< 20 Sekunden
Persistenz auf VMEbene
Web Deploy, FTP, Git,
Visual Studio Online
Diverse Vorlagen mit
verschiedenen Triggern
Azure Functions
spezifisch
Functions Runtime
(WebJobs)
< 20 Sekunden
Keine Persistenz
(muss außerhalb der
Function geregelt
werden)
2-Schicht IIS Websites Microservices
Automatisiert
Vollständig portabel
Web App
Function Code Arte(z.B. ASP.NET Website) fakt
Microsoft oder eigene Web Frameworks (z.B.
OS Images
Wordpress, PHP, …)
Paketierung und Publish
Functions
PaaS mit der Porta-bi- PaaS
lität von IaaS
Web Apps
Windows Server, Linux Windows Server / IIS
App: < 20 Sekunden
Cluster: ca. 10 Min.
Stateless: Persistenz
extern (DB, Blob, …)
Flexibel
(Microservices)
Flexibel
Automatisiert
Apps Service Fabricspezifisch,
Runtime portabel
Entwurf oder Anpassung für die Cloud
Vollständig portabel
Vollständig portabel
Portabilität
PaaS
Service Fabric
App Package
(Paket aus Services
und Actors)
Container
Virtuelle Maschine
Verwaltetes
Artefakt
PaaS
Cloud Services
Cloud Service
IaaS
IaaS
Container Service
Ebene
(PaaS/IaaS)
Virtual Machines
Anhang A: Azure Ausführungsmodelle
49
Anhang B: 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
Serverlose 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
Container Service
Container Service
Cluster für Container-Deployments
2.4
Container Registry
Containerregistrierung
Speicher für Container-Imgages
2.4
Virtual Machines
Virtuelle Computer
Hosting virtueller Maschinen
2.5
Batch
Batch
Ausführung von Batch-Prozessen
2.6
Mobile Engagement
Mobile Engagement
Steuerung und Analysen mobile Apps
2.7
Notification Hubs
Benachrichtigungs Hub
Push-Benachrichtigungen an viele Clients
2.8
API Management
API Management
Vertrieb und Management von APIs
2.9
3.1.2
Azure Data Services: Speicherung von Daten
SQL Database
SQL Datenbank
Relationale Datenbank als Service
SQL Server Stretch DB
SQL Server Stretch DB
Cloud-Erweiterung lokaler SQL Server
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
50
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Azure Service
(englischer Titel)
Azure Service
(deutscher Titel)
Beschreibung
Kapitel
Data Factory
Data Factory
Verwalten von Datenpipelines
4.4
Azure Data Lake
Azure Data Lake
Big Data Storage und Analytics
4.5
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
Analysis Services
Analysis Services
Analytics Engine für SQL Workloads
4.11
Cognitive Services
Cognitive Services
Kontext-Erkennung
4.12
Azure Bot Service
Azure Bot Service
Bereitstellung eigener Bots
4.13
Power BI Embedded
Power BI Embedded
Visualisierung von Daten in eigenen Apps
4.14
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
Security Center
Security Center
Überblick über den Sicherheitsstatus
5.4
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
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
Netzwerkdienste
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
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
51
Azure Service
(englischer Titel)
Azure Service
(deutscher Titel)
Beschreibung
Kapitel
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
Scheduler
Scheduler
Zeitgesteuerte Ausführung von Skripten
9.2.3
Automation
Automatisierung
Automatisiertes Management
9.2.4
52
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Anhang C: Aufbau der Plattform
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
53
Index
.NET ........................................................................................... 5
Active Directory ................................................................... 14
ADO.NET ................................................................................ 18
Analysis Services..................................................................28
Android ........................................................................... 10, 34
API Apps.................................................................................10
API Management ................................................................16
App Service ............................................................................. 8
Application Gateway ..........................................................44
Application Insights............................................................45
ASP.NET.................................................................................... 8
Automation ...........................................................................47
Auto-Scaling .................................................................... 9, 12
Azure Active Directory.................................................. 9, 31
Azure Bot Service ................................................................29
Azure Data Catalog ............................................................28
Azure Data Lake...................................................................26
Azure Data Lake Analytics ................................................26
Azure Data Lake Store .......................................................26
Azure Search .........................................................................28
Backup Service .....................................................................47
BizTalk Server ....................................................................... 14
BizTalk Services ....................................................................39
Blob Storage ............................................. 14, 17, 20, 21, 34
Block Blob .............................................................................. 21
Caching ..................................................................................22
Cassandra .............................................................................. 17
CDN ................................ siehe Content Delivery Network
Cloud Computing ................................................................. 1
Cloud Service ........................................................................11
Cognitive Services ...............................................................29
Container Service ................................................................13
Data Factory..........................................................................25
Datenschutz .......................................................................... 33
DC/OS ..................................................................................... 13
DevOps .............................................................................. 6, 45
DevTest Labs.........................................................................45
Disks ..........................................................................17, 20, 22
DNS Service ..........................................................................44
Docker .................................................................................... 13
DocumentDB ................................................................. 17, 20
Drupal ....................................................................................... 9
Eclipse ................................................................................ 5, 12
Elastic Scale ........................................................................... 19
Entity Framework ................................................................ 18
Event Hubs ............................................................................25
ExpressRoute ........................................................................42
File Service.............................................................................21
Geo-Replikation................................................................... 20
Git........................................................................................... 5, 9
Hadoop ........................................................................... 26, 27
54
HDFS ....................................................................................... 26
HDInsight............................................................................... 27
Hyper-V .................................................................................. 14
Hyper-V Recovery Manager ............................................ 47
IaaS ................................ siehe Infrastructure-as-a-Service
Import/Export Service........................................................ 46
Infrastructure-as-a-Service ..................................... 4, 7, 13
In-Role Cache ....................................................................... 23
iOS .................................................................................... 10, 34
IoT Hub................................................................................... 24
Java ................................................................................. 5, 8, 14
JavaScript ............................................................................... 20
JDBC ........................................................................................ 18
Joomla ...................................................................................... 8
JSON........................................................................................ 20
Key Vault ................................................................................ 33
Kubernetes ............................................................................ 13
Linux ........................................................................................ 14
Load Balancer ....................................................................... 43
Loadbalancer ........................................................................ 12
Logic Apps ............................................................................ 10
Machine Learning ............................................................... 27
Managed Cache Service ................................................... 22
Map Reduce.......................................................................... 27
Media Services ..................................................................... 34
Microsoft Azure ..................................................................... 4
Microsoft Azure Pack ........................................................... 4
Mobile Apps ........................................................................... 9
Mobile Engagement .......................................................... 15
MongoDB .............................................................................. 17
Multi-Factor Authentication ............................................ 32
MySql ........................................................................................ 9
Node.js ................................................................................. 5, 8
Notification Hubs ................................................................ 15
Operational Insights........................................................... 46
Oracle............................................................................... 14, 39
PaaS .........................................siehe Platform-as-a-Service
Page Blob .............................................................................. 21
PHP ........................................................................................ 5, 8
Platform-as-a-Service ............................................... 4, 8, 12
Power BI Embedded........................................................... 30
Public Cloud............................................................................ 1
Publish-Subscriber.............................................................. 38
Push Notifications............................................................... 15
Python ...................................................................................... 5
Redis Cache .......................................................................... 22
Rollen ...................................................................................... 11
Ruby .......................................................................................... 5
SAP .......................................................................................... 39
Scheduler .......................................................................... 9, 47
Service Bus ............................................................................ 38
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Service Bus Queue ............................................................. 38
Service Bus Relay ................................................................ 38
Service Bus Topic................................................................ 39
Service Fabric....................................................................... 12
SharePoint Server................................................................ 14
Siebel....................................................................................... 39
Site Recovery ........................................................................ 47
SMB ......................................................................................... 21
SQL Data Warehouse ........................................................ 28
SQL Database ........................................................... 9, 17, 18
SQL Server ............................................................... 14, 17, 18
SQL Server Stretch Database.......................................... 19
SSL............................................................................................ 44
Staging-Umgebung.............................................................. 9
StorSimple ............................................................................ 23
Stream Analytics ................................................................. 25
Table Storage ................................................................ 17, 20
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Team Foundation Service ................................................... 5
Traffic Manager ...................................................................43
U-SQL...................................................................................... 26
VHD ......................................................................................... 13
Virtual Machine............................................................. 13, 17
Virtual Network............................................................. 14, 42
Visual Studio.................................................................... 5, 12
Visual Studio Online...........................................................45
VM Gallery ............................................................................. 14
VPN Gateway........................................................................44
VSO ............................................ Siehe Visual Studio Online
Web App .................................................................................. 8
WebDeploy ............................................................................. 9
Webjobs ................................................................................... 9
WebLogic............................................................................... 14
Windows Server................................................................... 14
Wordpress ............................................................................... 9
55
Ü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. Schwerpunktthemen 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
Walter-Gropius-Straße 5
80807 München
Online
Blog:
http://blogs.msdn.com/hsirtl
Twitter:
@hsirtl
Xing:
https://www.xing.com/profile/Holger_Sirtl
LinkedIn:
http://de.linkedin.com/in/hsirtl
Azure Infohub: https://aka.ms/azureinfohub
56
Überblick über Microsoft Azure
© 2017, Microsoft Deutschland GmbH
Herunterladen