Überblick über Microsoft Azure · Information in this document, including URL and other Internet...

60
Autor: Holger Sirtl Version: 2.9.1 Azure SDK: 2.9.1 Stand: 23.06.2016 © 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trade- marks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Überblick über Microsoft Azure

Transcript of Überblick über Microsoft Azure · Information in this document, including URL and other Internet...

Autor: Holger Sirtl

Version: 2.9.1

Azure SDK: 2.9.1

Stand: 23.06.2016

© 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows

Vista and other product names are or may be registered trademarks and/or trade-

marks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current

view of Microsoft Corporation as of the date of this presentation. Because Microsoft

must respond to changing market conditions, it should not be interpreted to be a

commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy

of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO

THE INFORMATION IN THIS PRESENTATION.

Überblick über

Microsoft Azure

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH i

Information in this document, including URL and other Internet Web site references, is subject to change without

notice. This document supports a preliminary release of software that may be changed substantially prior to final

commercial release, and is the proprietary information of Microsoft Corporation.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EITHER EXPRESS OR IM-

PLIED, AS TO THE INFORMATION IN THIS DOCUMENT.

The entire risk of the use or the results from the use of this document remains with the user. Complying with all ap-

plicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this

document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any

means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express writ-

ten permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights cover-

ing subject matter in this document. Except as expressly provided in any written license agreement from Microsoft,

the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other in-

tellectual property.

Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos,

people, places and events depicted herein are fictitious, and no association with any real company, organization,

product, domain name, email address, logo, person, place or event is intended or should be inferred.

© 2016 Microsoft Corporation. All rights reserved.

Microsoft, Internet Explorer, Windows, and Visual Studio are either registered trademarks or trademarks of Microsoft

Corporation in the United States and/or other countries.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

ii Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH iii

Inhaltsverzeichnis

1 Cloud Computing mit Microsoft Azure 7

1.1 Cloud Computing .................................................................................................................................... 7

1.2 Aufbau der Microsoft Azure Plattform ........................................................................................... 8

1.3 Die physische Infrastruktur .................................................................................................................. 9

1.4 Dienste der Microsoft Azure Plattform .........................................................................................10

1.5 Aufbau dieses Dokuments .................................................................................................................11

2 Bereitstellung eigener Anwendungslogik auf Microsoft Azure 13

2.1 App Service – Hosting Web-basierter Anwendungslogik .....................................................15

2.2 Cloud Services – mehrschichtige, skalierbare Anwendungen .............................................18

2.3 Service Fabric - Microservices-basierte Apps .............................................................................19

2.4 Virtual Machines - Betrieb virtueller Maschinen in der Cloud .............................................20

2.5 Azure Batch – Batch-Verarbeitung .................................................................................................21

2.6 Mobile Engagement – Verwaltung mobiler Apps ....................................................................21

2.7 Notification Hubs - Push-Benachrichtigungen an mobile Plattformen ...........................21

2.8 Bereitstellung von Client-Apps mit RemoteApp .......................................................................22

2.9 API Management ...................................................................................................................................22

3 Speicherung von Daten auf Microsoft Azure 24

3.1 Relationale Datenspeicherung .........................................................................................................25

3.2 NoSQL-Datenspeicherung .................................................................................................................26

3.3 Dateisystem-basierte Speicherdienste ..........................................................................................28

3.4 Caching ......................................................................................................................................................28

3.5 Hybride Datenablage mit StorSimple ...........................................................................................30

4 Analytics- und IoT Services 31

4.1 IoT Hub ......................................................................................................................................................31

4.2 Event Hubs ...............................................................................................................................................31

4.3 Stream Analytics ....................................................................................................................................32

4.4 Data Factory.............................................................................................................................................32

4.5 Azure Data Lake .....................................................................................................................................32

4.6 HDInsight ..................................................................................................................................................33

4.7 Machine Learning ..................................................................................................................................34

4.8 Azure Search ............................................................................................................................................34

4.9 SQL Data Warehouse ...........................................................................................................................34

4.10 Azure Data Catalog ...............................................................................................................................34

iv

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

5 Sicherheit Azure-basierter Anwendungen 36

5.1 Azure Active Directory ........................................................................................................................ 36

5.2 Multi-Factor Authentication ............................................................................................................. 37

5.3 Key Vault ................................................................................................................................................... 37

5.4 Microsoft Azure Trust Center ........................................................................................................... 37

6 Medienverarbeitung und -verteilung 38

6.1 Media Services ....................................................................................................................................... 38

6.2 Content Delivery Network (CDN) ................................................................................................... 38

7 Integration Azure-basierter Anwendungen in die eigene IT 40

7.1 Datenintegration via SQL DataSync .............................................................................................. 40

7.2 Anwendungsintegration ..................................................................................................................... 41

8 Netzwerkdienste 45

8.1 Virtual Network ...................................................................................................................................... 46

8.2 ExpressRoute........................................................................................................................................... 46

8.3 Traffic Manager ...................................................................................................................................... 47

8.4 Load Balancer ......................................................................................................................................... 47

8.5 DNS Service ............................................................................................................................................. 48

8.6 VPN Gateway .......................................................................................................................................... 48

8.7 Application Gateway ............................................................................................................................ 48

9 DevOps mit Microsoft Azure 49

9.1 Services für die Software-Entwicklung ......................................................................................... 49

9.2 Services für den Systembetrieb ....................................................................................................... 50

10 Erste Schritte mit Microsoft Azure 52

10.1 Blogs und Webseiten .......................................................................................................................... 52

Anhang A: Azure Services im Überblick 53

Anhang B: Aufbau der Plattform 55

Index 56

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH v

Abbildungsverzeichnis

Abb. 1-1 Grobaufbau der Microsoft Plattform .............................................................................................. 9

Abb. 2-1 Ausführungsmodelle für Cloud Anwendungen ........................................................................13

Abb. 2-2 API Management ..................................................................................................................................23

Abb. 4-1 Analytics- und IoT-Services in Microsoft Azure ........................................................................31

Abb. 7-1 Microsoft Azure SQL DataSync ........................................................................................................41

Abb. 7-2 Microsoft Azure Service Bus .............................................................................................................42

Abb. 7-3 Microsoft Azure Service Bus Topics und Subscriptions .........................................................43

Abb. 8-1 Netzwerkdienste in Microsoft Azure .............................................................................................45

Abb. 8-2 Microsoft Azure Traffic Manager ....................................................................................................47

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 7

1 Cloud Computing mit Microsoft Azure

Microsoft Azure ist Microsofts Public Cloud Plattform für Entwickler und Administratoren, die

eigene Softwareanwendungen ganz oder in Teilen in der Cloud ausführen möchten. Die Platt-

form umfasst eine Reihe von Cloud-Diensten, die einzeln oder in Kombination genutzt werden

können, dabei bedarfsabhängig in quasi beliebiger Kapazität bereitgestellt und nutzungsab-

hängig abgerechnet werden. Zu diesen Services gehören unter anderem solche, mit denen

Anwendungen in der Cloud ausgeführt, andere, mit denen unterschiedliche Daten in der Cloud

gespeichert und effizient verarbeitet und wieder andere, mit denen Cloud-Elemente sicher und

effektiv mit Ressourcen aus einem eigenen Rechenzentrum bzw. lokal ausgeführten Client-

Anwendungen verknüpft werden können.

Tatsächlich sind derartige Hybrid-Lösungen, bei denen einzelne Anwendungsteile in der Cloud,

andere Teile in einer lokalen Ausführungsumgebung zusammen betrieben werden, eine große

Stärke von Microsoft Azure. So könnte beispielsweise eine klassische Windows Rich-Client An-

wendung Daten in Microsoft Azure Storage speichern, Apps auf mobilen Endgeräten über

Microsoft Azure Nachrichten untereinander austauschen, eine lokal betriebene SQL Server Da-

tenbank sich ganz oder in Teilen mit einer Cloud Datenbank synchronisieren, eine in Microsoft

Azure betriebene Webanwendung über den Service Bus ein lokal ausgeführtes Backend-Sys-

tem aufrufen. Viele weitere Hybrid-Szenarien sind denkbar. Selbstverständlich können Anwen-

dungen auch vollständig auf Microsoft Azure betrieben werden.

Zur Erstellung und Migration Azure-basierter Anwendungen können verschiedene Entwick-

lungs- und Management-Umgebungen (Visual Studio, Eclipse, System Center, …) und Pro-

grammiertechnologien (.NET, Java, PHP, Python, …) mit entsprechenden APIs genutzt werden.

Entwickler können dadurch auf vorhandes Wissen aufsetzen.

1.1 Cloud Computing

Häufig wird der Begriff Cloud Computing normativ, d.h. über bestimmte Eigenschaften defi-

niert, die man im Allgemeinen mit Cloud Computing verbindet. Microsoft Azure erfüllt diese

Eigenschaften und kann deshalb zu Recht als Cloud Plattform bezeichnet werden:

Azure Services können in quasi beliebiger Kapazität bereitgestellt werden, hierzu sind

keine Vorab-Investitionen erforderlich. Kapazitätsplanungen zu Beginn eines Software-

projektes vereinfachen sich drastisch: der Start der Anwendung kann in einer kleinen,

8

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

kostengünstigen Umgebung erfolgen, und bei Erfolg der Anwendung und entspre-

chender Last können schnell zusätzliche Ressourcen hinzugeschaltet werden.

Die Dienste werden bedarfsgerecht bereitgestellt, d.h. sobald Bedarf an Rechen-, Spei-

cher- oder Kommunikationsleistung besteht, können die Dienste genutzt werden, so-

bald kein Bedarf mehr besteht, können die Dienste wieder deaktiviert werden. Dies ist

beispielsweise bei der Nutzung der Cloud zum Aufbau von Test- und Enwicklungsum-

gebungen ein entscheidender Vorteil gegenüber einer lokalen Infrastruktur.

Die Abrechnung erfolgt dabei nutzungsabhängig, d.h. nur für die tatsächlich genutzte

Kapazität fallen während der Nutzung Kosten an. Dadurch sind die Kosten mit dem Er-

folg eines Cloud-basierten Softwaresystems korreliert, und das Risiko teurer Fehlinves-

titionen beseitigt.

Über Standardschnittstellen (z.B. RESTful APIs) können die Dienste über alle Technolo-

gien genutzt werden, die diese Standards unterstützen (z.B. .NET, Java, PHP, …). Durch

Nutzung entsprechender Software Development Kits (SDKs) können die Schnittstellen

nativ aus den verschiedenen Technologien heraus angesprochen werden.

1.2 Aufbau der Microsoft Azure Plattform

Abb. 1-1 zeigt den groben Aufbau der Microsoft Azure Plattform. Die Plattform besteht aus

einer Menge hoch-skalierbarer, schnell provisionierbarer, flexibel administrierbarer Services,

die auf Microsofts Cloud Infrastruktur bereitgestellt werden. Diese Services können über eine

Management API (REST-basiert) angesprochen und administriert werden, d.h. es können ei-

gene Umgebungen bestehend aus diesen Services bzw. Instanzen der Services erstellt, konfi-

guriert, skaliert und wieder gelöscht werden.

Die Management API kann, da sie entsprechend dem REST-Paradigma implementiert ist, von

jeder Technologie aus angesprochen werden, die Aufrufe von RESTful-Services unterstützt.

Eine Nutzung aus .NET, PHP, Java, Python etc. ist so problemlos möglich. Ein komfortablerer

Zugang zur API besteht über Software Development Kits (SDKs) verschiedener Programmier-

sprachen. Diese kapseln REST-Aufrufe in Objekten der jeweiligen Sprache. So können Entwick-

ler der unterstützten Sprachen zur Steuerung von Azure Services Klassen ihrer gewohnten Im-

plementierungstechnologie verwenden. Für Anhänger der Kommandozeile stehen Cmdlets für

die Windows PowerShell und darüber hinaus für Windows-, Linux- und Mac-Umgebungen das

plattfromübergreifende Command Line Interface (Xplat-CLI) zur Verfügung. Über diese Werk-

zeuge können die REST-Schnittstellen von Azure aus der Kommandozeile heraus angespro-

chen werden.

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 9

Abb. 1-1 Grobaufbau der Microsoft Plattform

Einsteiger werden sich allerdings wohl zunächst mit einem der beiden Web-Portale Azure nä-

hern: dem Management Portal und dem Classic Portal. Das aktuelle Portal wird mittelfristig

das Classic Portal vollständig ablösen. Die Portale stellen große Teile der Azure-Funktionalität

über eine Web-basierte Oberfläche zur Verfügung. Letztlich sprechen auch sie ihrerseits die

RESTful-API an.

1.3 Die physische Infrastruktur

Microsofts Cloud Infrastruktur bildet die Basis für alle weiteren Dienste. Dabei handelt es sich

um Server-, Speicher- und Netzwerkkomponenten, auf der die Infrastruktur- und Plattform-

dienste ausgeführt werden.

1.3.1 Azure Global Cloud

Azure ist in 24 Regionen weltweit allgemein verfügbar. Die Verfügbarkeit in 8 weiteren Regio-

nen ist geplant und wurde bereits angekündigt. Grundsätzlich kann die Region für jeden zu

nutzenden Azure Service einzeln gewählt werden. Auch eine Verteilung von Anwendungsin-

stallationen auf mehrere Regionen ist möglich.

10

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

1.3.2 Microsoft Cloud Germany

In Deutschland wird Azure über ein Datentreuhändermodell in zwei Rechenzentren (Frankfurt

am Main und Magdeburg) bereitgestellt, bei dem Kundendaten in Deutschland verbleiben und

von T-Systems als Datentreuhänder verwaltet und kontrolliert werden. Vertraglich ist unter

anderem sichergestellt, dass jegliche administrativen Zugriffe auf die Azure Umgebung neben

etwaigen Nutzern stets auch der Freigabe des Datentreuhänders bedürfen.

1.3.3 Azure Stack

Einzelne Dienste aus Azure (z.B. Web Apps und Virtual Machines) können mittels Azure Stack

im eigenen Rechenzentrum auf einer Windows-Server-Umgebung betrieben werden. Steht

Azure Stack dann lokal zur Verfügung können Deploymentpakete, Skripte etc. aus der Global

Cloud (bzw. der Microsoft Cloud Germany) ohne Änderungen verwendet werden, sofern sie

sich auf Services beziehen, die in Azure Stack unterstützt werden. Tabelle 1 gibt eine Auflistung

der Services, die nach aktuellem Planungsstand zum GA-Zeitpunkt (= allgemeine Verfügbar-

keit) in Azure Stack enthalten sein werden.

Dienstgruppe Azure Stack Services zum GA-Zeitpunkt

Compute Virtual Machines (einschl. Extensions & Availability Sets), Service Fabric

Data & Storage Blobs, Tables, Queues

Networking Virtual Network, Load Balancer, VPN Gateway

Management & Security Microsoft Azure Portal, Key Vault

Web & Mobile App Service (Web Apps, Logic Apps, Mobile Apps, API Apps)

Developer Services Azure SDK

Tabelle 1: Verfügbarkeit von Azure Services in Azure Stack zum GA-Zeitpunkt1

1.4 Dienste der Microsoft Azure Plattform

Zur Ausführung eigener Anwendungslogik stehen verschiedene Dienste der Kategorien Infra-

structure-as-a-Service (IaaS) und Platform-as-a-Service (PaaS) zur Verfügung. Der Anwender

entscheidet, welche Betriebsaspekte automatisiert durch die Plattform übernommen werden

und welche er selbst verwalten möchte. Auf IaaS-Ebene besteht die Möglichkeit, vorgefertigte

oder eigene Windows- oder Linux-basierte virtuelle Maschinen auf Azure auszuführen. Im

PaaS-Bereich gibt es unter anderem Cloud Services für komplexere, mehrschichtige Web-An-

wendungen, Web Apps für schnelles, flexibles Webhosting, Mobile Apps als Backend für mo-

bile Anwendungen und Media Services zur Implementierung von Medien-Workflows.

1 Quelle: “Taking the cloud to your datacenter – Azure Stack”, Microsoft

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 11

Aus eigenen Anwendungen (egal ob auf Azure oder lokal ausgeführt) heraus können weitere

Dienste genutzt werden. Im Bereich Identity gibt es Dienste zur Authentifizierung und Benut-

zerverwaltung. Integrationsdienste können zur Kommunikation und Integration verteilter An-

wendungskomponenten genutzt werden und zur Datenspeicherung und –auswertung gibt es

eine ganze Palette verschiedener Speicherdienste. Anhang A listet die Dienste der einzelnen

Funktionsgruppen auf und verweist auf die jeweiligen Abschnitte in diesem Dokument.

Die von Azure angebotenen Dienste sind hochverfügbar ausgelegt. Sie werden ständig über-

wacht und auf dem neuesten Stand gehalten. Ausfälle werden erkannt und automatisch ent-

sprechende Instandsetzungsmaßnahmen eingeleitet. Die Dienste können auf schwankende

Last reagieren, d.h. über einen Auto-Scaling-Mechanismus auf Wunsch automatisch Ressour-

cen hinzufügen oder entfernen. Managementaufgaben, die Anwender ausführen möchten,

können über ein Web Portal, PowerShell-Skripte oder REST-Schnittstellen angesteuert werden.

Für alle bereitgestellten Dienste werden passende Entwicklerwerkzeuge bereitgestellt, die den

Application Lifecycle, angefangen vom Erstellen, über das Testen bis hin zum Deployment und

Betrieb, sehr einfach gestalten. Dabei werden neben Microsoft-Entwicklungsplattformen (.NET

und Visual Studio) auch diverse andere Plattformen und Werkzeuge (Node.js, Java, PHP, Py-

thon, Ruby, Eclipse) mit entsprechenden Erweiterungen unterstützt. Auch die Interaktion mit

verschiedenen Quellcode-Verwaltungssystemen (Visual Studio Online, GitHub etc.) wird unter-

stützt.

1.5 Aufbau dieses Dokuments

Die einzelnen Kapitel dieses Dokuments behandeln jeweils folgende Themen:

Kapitel 2: Bereitstellung eigener Anwendungslogik auf Microsoft Azure

Dieses Kapitel zeigt auf, wie eigene Anwendungen und Dienste auf Microsoft Azure

ausgeführt und verwaltet werden können. Hierzu stehen mehrere Ausführungsmodelle

zur Verfügung. Unter anderem: App Service, Cloud Services und Virtual Machines.

Kapitel 3: Speicherung von Daten auf Microsoft Azure

Microsoft Azure bietet verschiedene relationale und nicht-relationale Speicherdienste

an. Dieses Kapitel gibt einen Überblick und zeigt auf, wann welcher Dienst sinnvoll ein-

gesetzt werden kann.

Kapitel 4: Analytics- und IoT Services

Hier werden die Azure Dienste vorgestellt, die sich zur Speicherung, Auswertung und

Recherche auch größter Datenbestände eignen.

12

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

Kapitel 5: Sicherheit Azure-basierter Anwendungen

Dieses Kapitel stellt Dienste und Dienstbeschreibungen vor, die dabei helfen, eigene

Anwendungen sicher zu machen bzw. deren Sicherheit zu dokumentieren.

Kapitel 6: Medienverarbeitung und -verteilung

Die hier vorgestellten Services fokussieren auf die Bereiche Medienverarbeitung (Au-

dio, Video, Bilder etc.) und Medienverteilung.

Kapitel 7: Integration Azure-basierter Anwendungen in die eigene IT

Dieses Kapitel widmet sich dem Brückenschlag zwischen Azure und einem eigenen Re-

chenzentrum. Es stellt die Dienste vor, mit denen sich hybride Cloud-Umgebungen re-

alisieren lassen.

Kapitel 8: Netzwerkdienste

Hier finden sich diverse Dienste zur Vernetzung von virtuellen Maschinen auf Azure

untereinander, deren Anbindungen aus dem Internet bzw. an ein oder mehrere lokale

Rechenzentren.

Kapitel 9: DevOps mit Microsoft Azure

Dienste für Entwicklung und Betrieb Cloud-basierter Anwendungen sowie deren In-

tegration in einer integrierten DevOps-Lösung stehen im Mittelpunkt dieses Kapitels.

Kapitel 10: Erste Schritte mit Microsoft Azure

Hier finden sich Hinweise auf Informationsquellen, Trainings, Videos etc., die nützlich

bei der Einarbeitung in Microsoft Azure sein können.

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 13

2 Bereitstellung eigener

Anwendungslogik auf Microsoft

Azure

Wer sich dem Thema Cloud Computing mit Microsoft Azure nähert, denkt häufig zunächst an

die Möglichkeit, Anwendungen in der Cloud, d.h. Microsofts Rechenzentren auszuführen.

Wenngleich dies nicht die einzige Funktion von Microsoft Azure ist, ist sie doch eine zentrale.

Weitere Dienste der Plattform wie beispielsweise Speicher, Datenbank oder Service Bus kön-

nen dann – auch wenn sie ebenfalls alleine genutzt werden könnten – problemlos mit den auf

Microsoft Azure ausgeführten Anwendungen kombiniert werden.

Zur Ausführung von Anwendungen in der Cloud stellt Microsoft Azure mehrere Modelle zur

Verfügung, die in Abb. 2-1 skizziert sind: Web Apps, Service Fabric, Cloud Services und Virtual

Machines. Diese können unabhängig voneinander, aber auch in Kombination genutzt werden.

Web Apps bieten dabei eine kostengünstige Hosting-Möglichkeit für Web-Anwendungen,

Service Fabric ermöglicht den Aufbau flexibel skalierbarer, Microservices-basierter Anwendun-

gen, Cloud Services eignen sich ideal für Aufbau und Betrieb hoch-skalierbarer, hoch-verfüg-

barer, mehrschichtiger Anwendungen bei minimalem Administrationsaufwand, und Virtual

Machines erlauben den Betrieb eigener oder vorgefertigter virtueller Maschinen in der Cloud.

Abb. 2-1 Ausführungsmodelle für Cloud Anwendungen

14

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

Letztlich kommen in allen Alternativen virtuelle Maschinen zum Einsatz. Unterschiede bestehen

in dem Maße, in dem administrative Aufgaben automatisiert von Azure übernommen werden.

Virtual Machines bieten die größte Flexibilität bei der Konfiguration der virtuellen Maschinen;

dafür verbleiben viele administrative Aufgaben (Patching, Upgrades etc.) beim Nutzer der Vir-

tual Machines. Web Apps auf der anderen Seite nehmen dem Nutzer sehr viele Aufgaben ab

(Gast-Betriebssysteme werden automatisiert gewartet, Installation benötigter Runtimes und

Frameworks kann auf Knopfdruck erfolgen), dafür ist die Funktionalität dort stärker auf einen

festen Standard beschränkt. Folgende Tabelle stellt die Ausführungsmodelle gegenüber.

Web Apps Service Fabric Cloud Services Virtual Machines

Ebene

(PaaS/IaaS)

PaaS mit der Porta-

bilität von IaaS

PaaS PaaS IaaS

Verwaltetes

Artefakt

Web App

(z.B. ASP.NET Webs-

ite)

App Package

(Paket aus Services

und Actors)

Cloud Service Virtuelle Maschine

Portabilität Vollständig portabel Apps SF-spezifisch,

Runtime portabel

Entwurf oder Anpas-

sung für die Cloud

Vollständig portabel

Management Automatisiert Automatisiert Automatisiert Manuell

Architektur 2-Schicht IIS Web-

sites

Flexibel

(Microservices)

Flexibel Flexibel

Persistenz Persistenz auf VM-

Ebene

Stateful: Persistenz

der Services/Actors

Stateless: Persistenz

extern (DB, Blob, …)

Keine Persistenz der

VMs

(persistente Drives

möglich)

Jede VM ist persis-

tent

Provisionier-

ung

< 20 Sekunden App: < 20 Sekunden

Cluster: ca. 10 Min.

8-10 Minuten 8-10 Minuten

System-

plattform

Windows Server / IIS Windows Server,

Linux

Windows Server Windows Server,

Linux

Deployment Web Deploy, FTP,

Git, Visual Studio

Online

Paketierung und

Publish

Paketierung und

Publish

Erstellung und Up-

load von VHDs oder

Auswahl aus einer

Gallery

Gallery Web Frameworks

(z.B. Wordpress,

PHP, …)

Microsoft oder ei-

gene OS Images

Microsoft OS-Im-

ages (Web Roles

und Worker Roles)

Microsoft oder ei-

gene OS Images

Tabelle 2: Gegenüberstellung der Ausführungsmodelle unter Microsoft Azure

Neben den genannten Ausführungsmodellen unterstützt Azure auch Container-basierte Be-

reitstellungsmodelle. Mit dem Azure Container Service lassen sich flexibel skalierbare Cluster-

Umgebungen bereitstellen, in denen beispielsweise Docker-Container installiert werden kön-

nen.

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 15

VM Scale Sets ermöglichen den Aufbau skalierbarer, aus identisch konfigurierten Virtual Ma-

chines bestehenden Cluster-Umgebungen. Scale Sets bilden damit die technische Basis für den

Azure Container Service, Service Fabric etc.

2.1 App Service – Hosting Web-basierter

Anwendungslogik

Der App Service stellt Funktionalitäten für eine Gruppe von Anwendungstypen bereit, die ähn-

liche Anforderungen an Installation, Provisionierung, Authentifizierung, Skalierung etc. haben.

Neben Web Apps zum Hosting klassischer Web-Anwendungen gehören hierzu Mobile Apps

zur Bereitstellung von Backends für mobile Clients, Logic Apps zur Implementierung API-ba-

sierter Workflows und API Apps, die Funktionalitäten über Web-basierte Schnittstellen zur Ver-

fügung stellen.

2.1.1 Hosting von Web-Anwendungen mit Web Apps

Microsoft Azure Web Apps sind (neben Cloud Services und Virtual Machines) eine von drei

Optionen zur Ausführung von Web-Anwendungen in der Cloud. Sie stellen eine kostengüns-

tige, aber trotzdem gut skalierbare Hosting-Variante für Websites bereit. Über das Microsoft

Azure Portal können hierzu sehr schnell und einfach Umgebungen eingerichtet, mit zahlrei-

chen Web Frameworks (z.B. ASP.NET, Java, PHP, Node.js, ...) und Anwendungen (z.B. Joomla,

Wordpress, Drupal, ...) vorkonfiguriert und von verschiedenen Entwicklungsplattformen aus mit

Webanwendungen bestückt werden. Hierbei werden als Deployment-Optionen unter anderem

Git, FTP, WebDeploy und TFS2 Deploy unterstützt. Das Portal bietet hierzu verschiedene

Deployment-Skripte an, die in eigene Entwicklungsumgebungen importiert werden können.

Damit können Websites neben Windows auch in Nicht-Microsoft-Umgebungen wie Linux oder

MacOS entwickelt und dann auf Microsoft Azure betrieben werden. Auch ist ein automatisier-

tes Deployment direkt aus Quellcode-Verwaltungen (unter anderem Git, Visual Studio Online,

Dropbox, Skydrive, …) heraus möglich. Sobald ein Entwickler neuen Code einstellt, erfolgt au-

tomatisch ein neues Deployment (welches über das Portal auch rückgängig gemacht werden

kann), so dass eine Website stets auf dem aktuellsten Quellcode-Stand ist.

Zur Ausführung der Web Apps stehen mehrere Betriebsarten zur Verfügung: im "Shared"-Mo-

dell werden eine oder mehrere Instanzen der Anwendung in einer Multi-Mandanten-Umge-

bung betrieben, im kostenlosen „Free“-Modell ist die Zahl der Instanzen auf eine einzige be-

schränkt, im "Basic"-Modell erfolgt der Betrieb in exklusiv für die Anwendung bereitgestellten

virtuellen Maschinen. Das „Standard“- und das „Premium“-Modell bietet darüber hinaus noch

2 Team Foundation Server (Bestandteil der Visual Studio Plattform)

16

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

Backup und Restore, Auto-Scaling, Webjobs, Scheduler Unterstützung und das stufenweise

Publishing über eine Staging-Umgebung.

Zwischen den Betriebsarten kann flexibel gewechselt werden. Damit ist sowohl Scale-out (Hin-

zuschalten zusätzlicher Instanzen gleicher Größe) als auch Scale-up (Vergrößerung der beste-

henden Instanzen im „Basic“- oder „Standard“-Modell) zur Anpassung der Umgebung an sich

ändernde Last möglich. Dies kann in „Standard“- und „Premium“-Modell mit der AutoScale-

Funktion auch (z.B. in Abhängigkeit von der CPU-Last) automatisiert werden. Konfiguration

und Verwaltung der zur Ausführung von Web Apps genutzten virtuellen Maschinen wird voll-

ständig durch Microsoft Azure übernommen.

Für die Persistierung von Daten stehen als Datenbanken MySql und Microsoft Azure SQL Data-

base zur Auswahl. Aus Web Apps heraus können natürlich auch die weiteren Dienste der

Microsoft Azure Plattform genutzt werden. So kann eine Web App Authentifizierung von Be-

nutzern über das Azure Active Directory durchführen oder zur Datenspeicherung auf einen

SQL Server zugreifen, der in einer Virtual Machine ausgeführt wird.

http://azure.microsoft.com/de-de/services/app-service/web/

2.1.2 Backends für mobile Clients mit Mobile Apps

Sogenannte „Connected mobile Apps“, d.h. leichtgewichtige Anwendungen, die auf mobilen

Endgeräten ausgeführt werden, sind häufig über Backend-Services vernetzt. Über diese

Dienste tauschen die einzelnen Clients Daten aus, speichern Daten, führen Authentifizierung

durch etc. Microsoft Azure Mobile Apps bieten eine Sammlung genau solcher, häufig benö-

tigter Dienste auf Microsoft Azure an. Zu diesen Diensten gehören unter anderem folgende

Funktionen:

Benutzerauthentifizierung (via Microsoft Account, Facebook, Twitter und Google ID)

mit entsprechender Zugriffskontrolle bei Service-Aufrufen

Speicherung von Daten in Blob, Table, Queue Service oder SQL Database

Kommunikation via Service Bus

Push Notifications

Zeitgesteuerte Ausführung serverseitiger Skripte

Darüber hinaus ist es möglich, neben den Daten-basierten Schnittstellen (für das Schreiben,

Lesen, Ändern, Löschen von Daten) eigene Schnittstellen bereitzustellen.

Die vorkonfigurierten Microsoft Azure Mobile Apps können ohne größeren Programmierauf-

wand sehr einfach als Backend-Dienste für Windows 8.x, Windows Phone 8.x, Windows 10,

iOS, Android und Web Clients eingesetzt werden. Es können Vorlagen für entsprechende neue

Apps oder Code Fragmente für bestehende Apps aus dem Portal heruntergeladen werden. Die

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 17

Entwicklung einfacher mobiler Anwendungen, die Cloud Dienste nutzen sollen, vereinfacht sich

dadurch deutlich.

http://azure.microsoft.com/de-de/services/app-service/mobile/

2.1.3 API-basierte Workflows mit Logic Apps

Über Logic Apps können Workflows definiert werden, die aus einer Aneinanderreihung von

API-Aufrufen und der entsprechenden schrittweisen Verarbeitung von Daten bestehen. D.h.

Rückgaben einer API können als Aufrufparameter nachfolgender APIs dienen. Über bereits in

Azure enthaltene Konnektoren können verschiedene Backend-Systeme (z.B. Salesforce, Drop-

Box, Twitter, SharePoint, Office 365, …). Damit lassen sich Geschäftsprozesse implementieren,

die eigene Anwendungslogik und Logik verschiedener Backendsysteme (über die

Konnektoren) umfassen. Die Prozesse können dabei regelmäßig ausgeführt ober über Ereig-

nisse der integrierten Systeme ausgelöst werden. So könnte beispielsweise nach Anlage eines

neuen Eintrags in Salesforce eine E-Mail passende verschickt und ein Eintrag in einer SQL Da-

tenbank erstellt werden.

http://azure.microsoft.com/de-de/services/app-service/logic/

2.1.4 Web-basierte Schnittstellen mit API Apps

Häufig soll Anwendungslogik flexibel als aufrufbare API bereitgestellt werden. Wenngleich

über Technologien wie Web API die Erstellung einer API recht einfach ist, sind Funktionalitäten

zur Authentifizierung, zum Aufruf etc. mitunter mit Aufwänden zur Umsetzung verbunden. API

Apps vereinfachen die Bereitstellung dieser begleitenden Funktionalitäten bedeutend. Bei der

Implementierung von Clients, die eine API App verwenden sollen, können die Meta-Informa-

tionen (Aufrufparameter, Rückgabewerte, Authentifizierungsanforderungen etc.) über eine

Swagger-basierte Beschreibung importiert und daraus der Code für die Aufrufe automatisch

erzeugt werden. Entwickler können sich so voll auf die Anwendungslogik konzentrieren und

Objekte ihrer jeweiligen Programmiersprache verwenden.

Entwickler können API Apps entweder vollständig selbst implementieren oder durch Konfigu-

ration entsprechender Konnektoren bereitstellen. Azure enthält im Marketplace bereits eine

Vielzahl an Konnektoren mit denen beispielsweise E-Mails versandt, Daten in Salesforce ein-

gestellt oder Twitter-Tweets abgesetzt werden können.

http://azure.microsoft.com/de-de/services/app-service/api/

18

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

2.1.5 Azure Functions

Azure Functions ermöglichen die ereignisgesteuerte Ausführung von Anwendungscode, bei

der nur während der Ausführung benötigte Ressourcen in Rechnung gestellt werden. Func-

tions können in verschiedenen Sprachen wie z.B. JavaScript, C#, Python oder PHP oder Skript-

sprachen (Bash, Batch, PowerShell) erstellt werden. Functions werden dann in Reaktion auf

externe Ereignisse (Änderungen in einer Datenquelle, Eintreffen von Nachrichten etc.) ausge-

führt.

https://azure.microsoft.com/de-de/services/functions/

2.2 Cloud Services – mehrschichtige, skalierbare

Anwendungen

Microsoft Azure Cloud Services sind (neben Web Apps und Virtual Machines) eine von drei

Optionen zur Ausführung von Anwendungen in der Cloud. Der Fokus liegt bei Cloud Services

stark auf hoch-verfügbaren, hoch-skalierenden, mehrschichtigen Web-Anwendungen, die ma-

ximal von der flexiblen Ressourcenbereitstellung der Public Cloud profitieren sollen. Diese An-

wendungen können in Komponenten, genannt "Rollen", untergliedert werden, die unabhängig

voneinander skaliert werden können. Microsoft Azure übernimmt dabei das Management der

zur Ausführung der Rollen benötigten virtuellen Maschinen. Dies schließt Upgrades der Gast-

Betriebssysteme, Patching und Failover (ausgefallene Komponenten werden automatisch er-

setzt) ein. Anders als bei Websites haben Entwickler vollen administrativen Zugang auf die

virtuellen Maschinen, um beispielsweise zusätzliche Software in die einzelnen Instanzen zu in-

stallieren. Hierzu werden auch Remote Desktop Verbindungen zur Administration unterstützt.

Rollen können unabhängig voneinander skaliert werden (Hinzuschalten bzw. Entfernen von

Instanzen); mit der Auto-Scaling-Funktion kann dieser Vorgang auch (in Abhängigkeit von ver-

schiedenen Lastparametern) automatisiert werden.

Die Entwicklung von Cloud Services kann über Visual Studio oder auch Eclipse erfolgen. Die

Anwendungen können zunächst in einem Azure Emulator lokal ausgeführt und - nach erfolg-

reichem Test - direkt aus der Entwicklungsumgebung heraus in die Cloud deployt werden.

Cloud Services bieten demnach Entwicklung und Betrieb von Anwendungen im Sinne des

PaaS-Modells (PaaS = Platform-as-a-Service). Cloud Services bieten dabei mehr Kontrolle über

das Deployment und die Verteilung von Anwendungskomponenten als Web Apps.

Microsoft Azure basierte Cloud Services werden in der Cloud letztlich in auf Windows Server

basierenden virtuellen Maschinen (VMs) ausgeführt. Es hängt vom Aufbau des Cloud Service,

der gewählten Instanzgrößen und VM Versionen ab, wie diese VMs von Microsoft Azure kon-

figuriert werden. Der Entwickler kann den Aufbau über eine Cloud-Service-Definition (csdef)

und eine Cloud-Service-Konfiguration (cscfg) bestimmen. Im Deploymentpaket, welches von

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 19

Visual Studio, Eclipse oder Kommandozeilentools erstellt werden kann, befinden sich dann alle

zur Ausführung der Anwendung benötigten Komponenten (Anwendungscode, Libraries,

Frameworks, Serversysteme etc.). Der Rest wird von Microsoft Azure übernommen. Wird die

Zahl der Instanzen (durch Änderung der Konfiguration oder durch Nutzung der AutoScale-

Funktion) zur Laufzeit geändert, werden entsprechend Instanzen automatisch heruntergefah-

ren bzw. zusätzliche Instanzen provisioniert und der vorgeschaltete Loadbalancer passend um-

konfiguriert. Der administrative Aufwand für den Nutzer beschränkt sich somit auf ein Mini-

mum. Die Kosten für den Betrieb werden pro Stunde angesetzt. Werden neue virtuelle Maschi-

nen erzeugt (z.B. bei einem größeren Patch oder bei Hardware-Ausfall), so wird ihr Zustand auf

den Deployment-Zeitpunkt zurückgesetzt, d.h. die virtuelle Maschine wird aus einem Basis-

Image und dem Deployment-Paket erzeugt. Anders als bei Virtual Machines sind die virtuellen

Maschinen von Cloud Services nicht persistent. In Cloud Services ausgeführte Anwendungen

sollten ihren Zustand also außerhalb der virtuellen Maschinen (z.B. in Microsoft Azure Storage

oder SQL Database) speichern und die Laufwerke innerhalb der virtuellen Maschinen nur für

Caching-Zwecke nutzen.

http://azure.microsoft.com/de-de/services/cloud-services/

2.3 Service Fabric - Microservices-basierte Apps

Die Service Fabric ist das neueste Mitglied in der Familie der Compute Services. Derzeit nur

angekündigt, wird dieser Dienst die vierte Option zur Umsetzung Cloud-basierter Anwendun-

gen in Azure (neben App Service, Cloud Services und Virtual Machines). Apps, die für die Ser-

vice Fabric geschrieben werden, unterscheiden sich hinsichtlich Aufbau und Deployment von

den Anwendungen der anderen Compute-Betriebsarten. Bei der Service Fabric können An-

wendungen aus sogenannten Micro-Services aufgebaut sein, die dynamisch installiert und auf

einen Pool bereitgestellter virtueller Maschinen verteilt werden können. Dabei können sich die

Instanzen eines Micro-Service die Ressourcen mit anderen Micro-Service teilen, d.h. auf einer

virtuellen Maschine kann mehr als eine Micro-Service-Instanz ausgeführt werden. Vorteil ge-

genüber den anderen Ausführungsoptionen ist eine deutlich flexiblere Ressourcen-Zuteilung

und bessere Auslastung der Maschinen. Anwendungen können flexibler, nämlich auf Micro-

Service-Ebene skalieren. So können einzelne Funktionen in Micro-Services verpackt und dann

sehr individuell skaliert werden (wenn z.B. nur bei einer bestimmten Anwendungsfunktion eine

Lastspitze auftritt). Allerdings müssen Anwendungen ganz speziell für die Azure Service Fabric

geschrieben sein.

http://azure.microsoft.com/de-de/documentation/services/service-fabric/

20

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

2.4 Virtual Machines - Betrieb virtueller Maschinen in

der Cloud

Virtual Machines bringen das IaaS-Element in Microsoft Azure ein. Sie erlauben den Betrieb

selbst erstellter oder von Microsoft bereitgestellter virtueller Maschinen auf Microsoft Azure.

Diese werden minutengenau abgerechnet. Zur Bereitstellung einer Virtual Machine ist letztlich

nur die Festlegung einer VHD (hier werden Standard-VHDs eingesetzt), auf deren Basis der

Bootvorgang ablaufen soll, die VM-Größe sowie – abhängig von der gewählten VHD – ein paar

wenige Konfigurationsparameter (z.B. Administratorkennung, DNS-Name) erforderlich.

Die in den virtuellen Maschinen eingesetzten Festplattenlaufwerke werden im Storage als Page

Blobs persistiert. Damit bleiben alle Inhalte erhalten, sollte eine virtuelle Maschine einem Re-

Image unterzogen werden (z.B. bei Hardware-Ausfall). Für die Inhalte gelten die gleichen Re-

geln für Failover (3-fach-Speicherung aller Inhalte, optionale Geo-Replikation in ein entferntes

Rechenzentrum) wie für alle anderen Inhalte des Blob Storage. Da von Microsoft Azure Stan-

dard-VHDs genutzt werden, können sowohl bestehende VMs aus einer lokalen Hyper-V-Um-

gebung in die Cloud migriert und als Virtual Machine ausgeführt werden, als auch umgekehrt

VHDs aus Microsoft Azure heruntergeladen und in einer entsprechenden Hyper-V-Umgebung

lokal ausgeführt werden.

Als Gast-Betriebssysteme für Virtual Machines werden sowohl verschiedene Windows Server

Varianten als auch ausgewählte Linux-Distributionen unterstützt. Ebenfalls unterstützt werden

einige Serveranwendungen wie SQL Server, SharePoint Server, BizTalk Server und Active Di-

rectory. Durch Kooperation mit Oracle werden auch Anwendungen aus dem Oracle-Techno-

logieportfolio (WebLogic, Java, Oracle DB, …) unterstützt. Es ist möglich, neue VHDs in einer

lokalen Hyper-V-Umgebung zu erzeugen, nach Microsoft Azure zu laden und von den VHDs

neue Virtual Machines zu booten. Daneben können auch bereits vorgefertigte mit entspre-

chender Serversoftware bestückte Images aus einer VM Gallery ausgewählt und gestartet wer-

den. Im sogenannten VM Depot hält MS Open Tech diverse mit Open-Source-Stacks bestückte

VM Images vor, die dann leicht nach Azure importiert und dort ausgeführt werden können.

Damit ist es möglich, wichtige Teile der Serverumgebungen eines eigenen Rechenzentrums

ohne Änderung nach Microsoft Azure zu migrieren. Die minutengenaue Abrechnung macht

dieses Ausführungsmodell auch für die Bereitstellung von Test- oder Demo-Umgebungen in-

teressant, wo Infrastruktur oft nur temporär benötigt wird.

Wie die anderen Ausführungsmodelle können auch Virtual Machines in Kombination mit an-

deren Azure Services genutzt werden. So kann eine in einer VM ausgeführte Anwendung bei-

spielsweise problemlos Microsoft Azure Storage oder SQL Database nutzen oder Benut-

zerauthentifizierung über den Azure Active Directory abwickeln. Besonders interessant ist die

Kombination mit dem Virtual Network (siehe 8.1): Durch die Möglichkeit ein lokale und Cloud-

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 21

VMs umspannendes virtuelles Netzwerk mit gemeinsamen Ipv4-Adressraum und entsprechen-

den Routing Tabellen einzurichten, können virtuelle Maschinen flexibel zwischen der Cloud

und einem lokalen Rechenzentrum hin- und hergeschoben werden ohne dass dies aus Netz-

werksicht Auswirkungen auf die anderen VMs hat.

http://azure.microsoft.com/de-de/services/virtual-machines/

2.5 Azure Batch – Batch-Verarbeitung

Die automatisierte Ausführung von größeren Berechnungsprozessen (z.B. für mathematische

Berechnungen, Rendering von Videos, Datenauswertungen, …) ist normalerweise mit einigen

Herausforderungen verbunden: die temporäre Bereitstellung ausreichender Rechenkapazität,

Verteilung der Berechnungslogik und zugehöriger Daten sind in der klassischen IT schwer bis

überhaupt nicht zu realisieren. Azure Batch kann diese Aufgaben übernehmen und so die Mög-

lichkeiten der Batch-Verarbeitung jedem Azure-Anwender zugänglich machen. Der Service

stellt die jeweils benötigten Cluster-Umgebungen bereit, verteilt die per EXE-Datei oder Skript

bereitgestellte Berechnungslogik, steuert die Ausführung und gibt die Rechenressourcen nach

Beendigung wieder frei, so dass nur genau die benötigten Ressourcen abgerechnet werden.

http://azure.microsoft.com/de-de/services/batch/

2.6 Mobile Engagement – Verwaltung mobiler Apps

Mit Mobile Apps und den Vorlagen für Clients auf verschiedenen Plattformen können mobile

Anwendungen recht schnell und effizient umgesetzt werden. Während des Betriebs dieser An-

wendungen ist häufig von Interesse, welche Funktionen dieser Anwendungen häufig genutzt

werden, wo Probleme auftreten etc. Mobile Engagement ermöglicht einen Zugriff auf derartige

Informationen über ein Dashboard. Über dieses ist es auch möglich, Nachrichten an Nutzer zu

verschicken, um beispielsweise Kampangnen-bezogene Informationen zu verteilen.

http://azure.microsoft.com/de-de/services/mobile-engagement/

2.7 Notification Hubs - Push-Benachrichtigungen an

mobile Plattformen

Die Möglichkeit, gezielt, schnell und einfach Push Notifications an eine große Zahl von unter-

schiedlichen Clients verschicken zu können, stellt eine große Herausforderung in modernen,

mobilen Anwendungsszenarien dar. Notification Hubs erlauben es, mit einem einzigen API-

Aufruf Nachrichten an Clients unterschiedlicher Plattformen (Windows Store, Windows Phone

22

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

8, iOS, Android) zu verschicken. Als Adressat können dabei einzelne User (die ggf. mehrere

Geräte besitzen), Gruppen von Usern oder alle Nutzer zugehöriger Client-Apps bestimmt wer-

den.

Damit können beispielsweise Nachrichtenportale an ihre Leser aktuelle Neuigkeiten thema-

tisch zielgerichtet verschicken oder Event-Seiten Aktualisierungen zum Tagesverlauf verschi-

cken.

http://azure.microsoft.com/de-de/services/notification-hubs/

2.8 Bereitstellung von Client-Apps mit RemoteApp

Mit RemoteApp können Client Anwendungen zentral über Azure bereitgestellt werden. Über

das Microsoft Remote Desktop Protocol können diese Anwendungen dann von verschiedenen

Client Systemen (Windows, Mac OS X, iOS, Android) aus aufgerufen und ausgeführt werden,

ohne dass die Anwendungen auf den Clients gespeichert werden. Damit wird es möglich, An-

wendungen aus einer gesicherten Umgebung heraus bereitzustellen und zugleich eine hete-

rogene Client-Systemlandschaft zu unterstützen.

http://azure.microsoft.com/de-de/services/remoteapp/

2.9 API Management

Anwendungslogik wird häufig nicht über eine endbenutzertaugliche Oberfläche, sondern als

API bereitgestellt. API Management kann bei der Vermarktung einer API helfen.

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 23

Abb. 2-2 API Management

Dazu können bereitgestellte APIs vom Anbieter der API über ein Publisher Portal unter ande-

rem zu Produkten paketiert, mit Berechtigungen versehen, duch Konvertierung von Ein- und

Ausgabewerten ergänzt, mit produktspezifischen SLAs versehen werden. Entwickler, die diese

APIs nutzen wollen, erhalten über ein Developer Portal Zugriff auf die APIs und zugehörige

Dokumentation. Das Portal erzeugt für verschiedene Programmiersprachen Aufruf-Code. Die

Nutzung von APIs erfolgt über ein API Gateway, welches die Aufrufe überwacht, Sicherheit und

Quotas sicherstellt, Aufrufe auswertet und ggf. entsprechende Informationen an die Abrech-

nungssysteme leitet. Die bereitgestellte API kann dabei auf Azure oder auch extern betrieben

werden.

http://azure.microsoft.com/de-de/services/api-management/

24

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

3 Speicherung von Daten auf Microsoft

Azure

Sichere Datenspeicherung ist eine zentrale Anforderung in nahezu jeder Anwendung. Eine

Möglichkeit zur Speicherung von Daten wurde bereits in Abschnitt 2.3 vorgestellt: Speicherung

in Virtual Machines. Dies kann in den Laufwerken der Virtual Machine, einem vorkonfiguriertem

SQL Server oder auch in beliebigen anderen Speichersystem (auch Non-SQL-Systeme wie

MongoDB, Cassandra etc.) erfolgen, welches in einer Virtual Machine betrieben wird. Durch

die Persistierung der Festplatten in Blob Storage sind die Daten sicher abgelegt.

Microsoft Azure stellt darüber hinaus auch verschiedene Speichertypen als echte Cloud Ser-

vices zur Verfügung. Das Management dieser Speicher wird weitestgehend durch Microsoft

Azure übernommen. Für relationale Datenspeicherung gibt es SQL Database, für Non-SQL-

Speicherung semi-strukturierter Daten gibt es DocumentDB und Table Storage, für große Bi-

närdaten (Dokumente, Videos, Musik, statische Webseiteninhalte) gibt es Blob Storage und als

persistentes Dateisystem stehen Azure Disks zur Verfügung. Folgende Tabelle gibt einen Über-

blick über die verschiedenen Speicheroptionen.

Relational Document Key-Value Distributed Files Blobs

PaaS

Voll gemanaged

Skalierbar

SQL Database

SQL DW

DocumentDB Table Storage Data Lake

HBase

(HDIinsight)

File Storage

Disks

Blob Storage

IaaS

Betrieb in VMs

Marketplace

SQL Server

Oracle

MySQL …

Mongo DB

Cassandra

HBase

(Hadoop)

Informationstyp Tabellen Objekte Key-Value flexibel

Schema On write Nein Nein On read Nein Nein

Redundanz Ja, 3-fach, Geo-Redundanz optional

Schnittstelle SQL SQL

MongoDB

RESTful Flexibel

(Data Lake mit

U-SQL)

RESTful

SMB

RESTful

Use Cases Relationale

Speicherung

und Verarbei-

tung (SQL)

Semi-strukt.

JSON-Objekte

Semi-strukt.

Entities mit ei-

nem Schlüssel

Verteilte, fle-

xible Speiche-

rung großer

Datenmengen

(Big Data)

Ablage von Binärdaten

(Dokumente, Bilder, Videos

etc.)

Tabelle 3: Gegenüberstellung der Speicheroptionen unter Microsoft Azure

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 25

Alle diese Speichertypen (bis auf das lokale Dateisystem einer VM) legen Daten dreifach auf

verteilten Speichermedien ab. Zugriff ist nicht nur über Anwendungen möglich, die auf Micro-

soft Azure betrieben werden, sondern auch von außerhalb, d.h. beispielsweise von einer lokal

ausgeführten Rich-Client-PC-Anwendung oder einer Smartphone App. Es ist möglich, die In-

halte mit Zugriffsschutz zu versehen. Auch eine zeitliche Zugangsbeschränkung ist möglich.

3.1 Relationale Datenspeicherung

3.1.1 Relationale Datenbanksysteme in Virtual Machines

Ein in einer Virtual Machine betriebener SQL Server (bzw. ein beliebiges anderes Datenbank-

system) ist eine naheliegende Möglichkeit, relationale Datenspeicherung und -verarbeitung in

Microsoft Azure durchzuführen. Konfiguration und Administration des Servers verbleiben da-

bei beim Nutzer. Er bleibt also in der Verantwortung, den Server zu verwalten, zu konfigurieren,

Updates einzuspielen etc. Einflussmöglichkeiten auf den Betrieb des Servers sind somit maxi-

mal. Auch die Kompatibilität zu einem lokal ausgeführten System ist gegeben. Die Aufwände

zum Betrieb sind allerdings auch vergleichbar mit denen zum Betrieb eines lokalen Systems.

3.1.2 RDBMS-as-a-Service: SQL Database

SQL Database bringt relationale Datenbanktechnologie als echten Cloud Dienst in die Micro-

soft Azure Plattform ein. Dazu gehören eine relationale Datenbank und ein Synchronisierungs-

dienst, mit dem mehrere Datenbanken inhaltlich abgeglichen werden können. Der Administ-

rationsaufwand beschränkt sich auf ein Minimum, da dieser weitestgehend von Microsoft

Azure übernommen wird.

Mit SQL Database verfügt Microsoft Azure über eine echte relationale Datenbank, die schnitt-

stellenkompatibel zu SQL Server ist. Durch diese Kompatibilität ist es möglich, SQL Database

über bekannte Technologien (z.B. Entity Framework, ADO.NET, JDBC) und Werkzeuge (z.B. SQL

Server Management Studio) zuzugreifen. In vielen Fällen reicht es aus, die Adressierung der

anzusprechenden Datenbank über den Connection String zu einer entsprechenden Cloud Da-

tenbank vorzunehmen.

Funktional bildet SQL Database eine Teilmenge von SQL Server ab. Zur Verfügung stehen die

bekannten Datenbankkonstrukte wie Tabellen, Views, Joins, atomare Transaktionen, Datenin-

tegrität bei konkurrierenden Zugriffen etc. Ebenso wird die SQL Sicherheitsarchitektur mit der

Möglichkeit unterstützt, Benutzer anzulegen und diesen Berechtigungen zu vergeben.

Im Unterschied zu SQL Server (auch einem SQL Server, der in einer Virtual Machine betrieben

wird) handelt es sich bei SQL Database um einen echten Cloud Dienst. Das Management der

Umgebung (Konfiguration von Hardware und Systemsoftware, Überwachung, Einspielen von

26

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

Patches etc.) wird vollständig durch Microsoft Azure übernommen. Das Einrichten eines neuen

Datenbankservers mit einer zugehörigen Datenbank ist eine Frage von Sekunden. Entspre-

chend schnell kann eine Datenbank wieder gelöscht werden. Die Abrechnung erfolgt entspre-

chend der Bereitstellungsdauer und der Datenbankgröße.

SQL Database wird in drei Editionen angeboten: Basic, Standard und Premium. Basic eignet

sich als kostengünstige Alternative für geringere Lasten und Datenbankgrößen bis 2 GB, Stan-

dard bietet höhere Transaktionsleistungen für Datenbanken bis 250 GB und Premium garan-

tiert höchste Performanz- und Transaktionsleistung bei Datenbanken bis 500 GB. Zwischen

den Editionen kann zur Laufzeit einfach gewechselt werden, so dass auf Änderungen in den

Lastanforderungen reagiert werden kann.

Skalierbarkeit über die Grenzen einer einzelnen SQL Database Instanz hinaus kann mit Elastic

Scale für Azure SQL Database erzielt werden. Mit diesem Dienst wird die Skalierbarkeit der

Datenschicht in Cloud Anwendungen deutlich vereinfacht. Letztlich handelt es sich um einen

Sharding Mechanismus, über den Anwendungen auf einen Pool von Datenbanken, auf den der

Datenbestand verteilt ist, zugreifen können. Über einen „Contract“ können Entwickler Strate-

gien zu definieren, die festlegen, welche Daten letztlich in welcher Datenbank gespeichert wer-

den. Diese erlaubt es dem Service automatisch zu bestimmen, welche Datenbank für eine kon-

krete Transaktion angesprochen werden soll. Abfragen über mehrere Datenbanken hinweg

sind ebenfalls möglich.

http://azure.microsoft.com/de-de/services/sql-database/

3.2 NoSQL-Datenspeicherung

Neben relationaler, SQL-basierter Datenspeicherung, bietet Microsoft Azure auch Daten-

dienste, die eine NoSQL-basierte Speicherung ermöglichen: DocumentDB als dokumentenba-

sierte Datenbank mit nativer Unterstützung für JSON und JavaScript, Table Storage zur Ablage

semi-strukturierter Daten in tabellenartig aufgebauten Entity-Sets, Queue Storage3 zum Nach-

richtenversand zwischen lose, d.h. asynchron gekoppelten Kommunikationspartnern und Blob

Storage zur Ablage und Verarbeitung großer Binärdaten (BLOB = binary large object). In allen

Fällen werden die Daten hochverfügbar abgelegt (hierzu werden Daten automatisch 3-fach

gespeichert, Geo-Replikation ist möglich) und stehen über RESTful Schnittstellen zur Verfü-

gung. Ein Sonderfall stellen Microsoft Azure Disks dar: sie stellen auf Basis von Blob Storage

ein NTFS-Dateisystem mit entsprechender Filesystemschnittelle zur Verfügung. Damit kann in

Microsoft Azure Virtual Machines ein persistentes Dateisystem genutzt werden.

3 Queue Storage wird im Kontext der Anwendungsintegration in Abschnitt 7.2.1 behandelt.

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 27

3.2.1 JSON-Objektdatenbank DocumentDB

DocumentDB ist bezüglich der zu speichernden Daten zwischen SQL Database und Table Sto-

rage angesiedelt. Formal eine schemalose NoSQL-Datenbank erlaubt DocumentDB die Spei-

cherung komplexerer JSON-basierter Objekte. Diese werden automatisch von der Datenbank

indiziert und können mit einer an SQL angelehnten Abfragesyntax ohne Angabe eines Sche-

mas oder Sekundärindizes zugegriffen werden. Durch die native Unterstützung von JavaScript

und JSON eignet sich DocumentDB für die Entwicklung von Anwendungen, die auf diesen

Technologien basieren und die entsprechende Objete speichern müssen.

http://azure.microsoft.com/de-de/services/documentdb/

3.2.2 Table Storage

Microsoft Azure Table Storage ist eine weitere NoSQL-Datenbank der Microsoft Azure Platt-

form. Anders, als der Name suggeriert, handelt es sich also nicht um ein tabellenbasiertes,

relationales Datenbanksystem, sondern um einen Speicher für die Ablage großer semi-struk-

turierter Datenbestände in der Cloud, für deren Zugriff ein Primärschlüssel ausreichend ist, und

keine aufwändigen relationalen Datenbankoperationen erforderlich sind. Über einen einzigen

Schlüssel (bestehend aus den zwei Pflicht-Attributen Partition Key und Row Key) können Enti-

tys ausgelesen werden, die ihrerseits aus frei definierbaren, typisierten Propertys (eine Property

besteht dabei aus einem Namen, einem Typen (z.B. String, Integer, ...) und einem Wert) beste-

hen.

Über die Primärschlüsselwerte kann Microsoft Azure Einträge zu Partitionen zusammenfassen

und diese zur Performance-Optimierung automatisch auf verschiedene Speichermedien ver-

teilen. Die Daten werden dabei automatisch 3-fach, hoch-verfügbar abgelegt, und können

über RESTful-Schnittstellen zugegriffen werden. Als Alternative für den Zugriff stehen unter

anderem für .NET, Java und PHP Klassenbibliotheken zur Verfügung. Wenngleich Table Storage

gegenüber SQL Database weniger Funktionalität im Bereich Datenmanagement und komple-

xen Zugriffsoperationen hat, bietet er eine kostengünstige Ablage semi-strukturierter Daten

und ermöglicht einen effizienten, hochperformanten Zugriff auf diese Daten. Dabei werden

Datenbestände von bis zu 500 Terabytes pro Storage Account unterstützt.

http://azure.microsoft.com/de-de/documentation/articles/

storage-dotnet-how-to-use-tables/

3.2.3 Blob Storage

Microsoft Azure Blob Storage erlaubt die sichere, hoch-verfügbare Speicherung großer, un-

strukturierter Binärdaten (BLOB = binary large object) in Microsoft Azure. Ein einzelner Blob

kann dabei bis zu 1 Terabyte Größe haben. Inhalte werden automatisch 3-fach gespeichert.

28

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

Darüber hinaus ist Geo-Replikation sowie die Möglichkeit, Blob-Inhalte über das Content De-

livery Network (siehe 6.2) weltweit verteilt zu cachen, optional verfügbar. Es stehen zwei Arten

von Blobs zur Verfügung: Block Blobs und Page Blobs. Erstere eignen sich für sequentiellen

Datenupload und -download, letztere bieten wahlfreien Zugriff auf Blob-Abschnitte.

Blobs werden innerhalb von Containern abgelegt. Sowohl auf Conainer- als auch auf Blob-

Ebene können Zugriffsrechte vergeben werden. Dabei kann das betreffende Element als öf-

fentlich (Zugriff ohne Authentifizierung möglich) oder privat deklariert sein. Über die Erzeu-

gung von Shared Access Signatures können Zugriffe zeitlich begrenzt auf entsprechend be-

rechtigte Nutzer beschränkt werden.

http://azure.microsoft.com/de-de/documentation/articles/

storage-dotnet-how-to-use-blobs/

3.3 Dateisystem-basierte Speicherdienste

3.3.1 SMB-2.1-Fileshares mit File Service

Mit Hilfe des File Service können File Shares über das Standard-SMB-2.1-Protokoll bereitge-

stellt werden. Damit können Azure-basierte Anwendungen bzw. Ausführungs-Instanzen leicht

untereinander Daten austauschen. Eine Migration bestehender Anwendungen in die Cloud

wird dadurch deutlich vereinfacht, da mit SMB-2.1 ein Protokoll weiterverwendet werden kann,

das in lokalen Ausführungsumgebungen häufig zum Einsatz kommt.

3.3.2 Virtuelle Festplatten in Virtual Machines: Disks

Mit Microsoft Azure Disks können aus Microsoft Azure Virtual Machines Daten in ein persis-

tentes Dateisystem gespeichert werden. Eine in einem Microsoft Azure Page Blob abgelegte

VHD (virtual hard disk) dient dabei als Speichermedium. Dort abgelegte Daten werden – wie

bei Page Blobs üblich – 3-fach abgelegt und sind somit ausfallsicher gespeichert. Microsoft

Azure Disks können zur Laufzeit an Virtual Machines angehängt bzw. abgelöst werden.

3.4 Caching

Anwendungen müssen häufig wiederholt auf Daten in entfernten Quellen (z.B. SQL Database,

Microsoft Azure Storage, ...) zugreifen. Zur Performance-Steigerung kann es sinnvoll sein, diese

nach dem erstmaligen Auslesen in einem näher gelegenen, performanteren Speicher zwi-

schenzuspeichern, um Folgezugriffe schneller abwickeln zu können. Microsoft Azure stellt zu

diesem Zweck vier Mechanismen zur Verfügung: Redis Cache und Managed Cache Service als

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 29

zentral bereitgestellt Caching Services, In-Role Caching als Möglichkeit, ungenutzte Ressour-

cen innerhalb der Komponenten oder auch dedizierte Instanzen als Cache zu verwenden und

das Content Delivery Network, das Inhalte aus Blob Storage weltweit verteilt zwischenspei-

chern kann.

http://azure.microsoft.com/de-de/services/cache/

3.4.1 Azure Redis Cache

Redis Cache ist ein auf dem Open-Source-basierten Redis Cache Framework setzender, von

Microsoft verwalteter und zentral bereitgestellter Caching Service. Dieser kann aus jedem Aus-

führungsmodell (Websites, Cloud Services, Virtual Machines) heraus angesprochen und ge-

nutzt werden und stellt die Empfehlung für alle neu zu entwickelnden Cloud-basierten Anwen-

dungen dar, die Cache-Bedarf haben.

http://azure.microsoft.com/de-de/documentation/services/cache/#redis

3.4.2 Managed Cache Service

Der Managed Cache Service stellt einen zentral nutzbaren In-Memory-Cache zur Verfügung.

Im Gegensatz zum In-Role Cache, der Cloud Services vorbehalten ist, kann der Cache Service

wie der Redis Cache aus allen Ausführungsmodellen heraus angesprochen und genutzt wer-

den. Der Managed Cache Service wird nur noch aus Gründen der Kompatibilität zu älteren

Anwendungen angeboten. Für neue Projekte sollte Redis-Cache gewählt werden.

http://azure.microsoft.com/de-de/documentation/services/cache/#managed

3.4.3 In-Role Cache

Der In-Role Cache verlagert Caching Funktionalität in die Instanzen eines Cloud Service selbst,

d.h. die zur Zwischenspeicherung genutzten Speicherressourcen befinden sich in zur Anwen-

dungsausführung genutzten VM-Instanzen (wobei hier prozentuale Ressourcenanteile für das

Caching reserviert werden) oder in speziell für Caching-Zwecke eingesetzten VM-Instanzen.

Das Caching-Framework stellt sicher, dass sich die Speicherinhalte der Caching-Instanzen un-

tereinander synchronisieren. Durch eine entsprechende Konfiguration der betreffenden An-

wendung kann dieser Cache auch zur Zwischenspeicherung einer User-Session verwendet wer-

den.

http://azure.microsoft.com/de-de/documentation/services/cache/#in-role

30

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

3.5 Hybride Datenablage mit StorSimple

StorSimple stellt eine hybride Speicherlösung dar. Eine im eigenen Rechenzentrum betriebene

Appliance bietet lokale Datenspeicher an. Die gespeicherten Daten werden (auf Wunsch ver-

schlüsselt) in Microsoft Azure Storage repliziert. Durch die Sicherheitsmechanismen im Azure

Storage (3-fach-Speicherung, Geo-Replikation, …) werden die Daten entsprechend sicher auf-

bewahrt. Die Notwendigkeit zum zusätzlichen Backup entfällt.

http://www.microsoft.com/de-de/server-cloud/products/storsimple/

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 31

4 Analytics- und IoT Services

Abb. 4-1 Analytics- und IoT-Services in Microsoft Azure

4.1 IoT Hub

In IoT Szenarien müssen in der Regel eine Vielzahl an Devices angebunden und verwaltet wer-

den. IoT Hub ermöglicht die Registrierung von Geräten und Sensoren (so dass diese dann nach

entsprechender Authentifizierung mit dem IoT Hub kommunizieren können) sowie eine bidi-

rektionale Kommuniktion mit diesen Geräten, d.h. er kann sowohl Nachrichten verarbeiten, die

von den Geräten gesendet werden (und diese z.B. an Stream Analytics weiterreichen), als auch

Nachrichten an die Geräte schicken, dort Wartungsarbeiten veranlassen, Updates einspielen,

Operationen aufrufen etc.

https://azure.microsoft.com/de-de/services/iot-hub/

4.2 Event Hubs

Im Kontext des „Internets der Dinge“ ist es häufig erforderlich, Datenströme, ausgehend von

verschiedenen Quellen wie Webseiten, Apps, Sensoren und sonstigen Geräten in Echtzeit zu

verarbeiten. Event Hubs ist eine hochgradig, skalierbare Datendrehscheibe, die Millionen von

Ereignissen pro Sekunde verarbeiten kann. Nachrichten werden dabei pro Datenquelle erfasst

32

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

und in einem partitionierten Speicherbereich zwischengespeichert. Dieser Speicher macht dan

die ein- oder mehrmalige Verarbeitung der Daten über parallel geschaltete Empfänger mög-

lich.

http://azure.microsoft.com/de-de/services/event-hubs/

4.3 Stream Analytics

Analyse und Auswertung von Daten, die in einem festen Speicher (“in Ruhe“) abgelegt sind,

kann beispielsweise über HDInsight erfolgen. Im Bereich von IoT-Szenarien wird allerdings

häufig eine Auswertung von Datenströmen, also Daten „in Bewegung“, benötigt. Stream Ana-

lytics deckt genau diese Anforderung ab: damit ist eine Analyse von Datenströmen in Echtzeit

möglich, d.h. Datenströme können überwacht, Auffälligkeiten der Daten im laufenden Betrieb

erkannt und gemeldet werden. Abfragen auf den Datenströmen können in einer SQL-basierten

Sprache formuliert werden. Datenbank-Spezialisten finden also eine vertraute Technologie zur

Analyse von Datenströmen vor.

http://azure.microsoft.com/de-de/services/stream-analytics/

4.4 Data Factory

Datenverarbeitung in Unternehmen ist heutzutage gekennzeichnet von heterogenen Daten-

speichern (SQL, NoSQL, unstrukturierte Daten etc.) und –verarbeitungskomponenten (Daten-

banken, BigData-Prozessoren etc.). Daten durchlaufen ein Unternehmen häufig komplexe

Wege von der Erzeugung bzw. dem Empfang der Daten über verschiedene datenverarbeitende

Komponenten bis hin zur Ablage bzw. Verteilung der Daten an unterschiedliche Empfänger.

Mit Data Factory können lokale Daten wie solche aus SQL Server zusammen mit Cloud-bezo-

gene Daten aus Azure SQL Database, Blobs und Tables verarbeitet werden. Diese Datenverar-

beitungsströme können über einfache, hochverfügbare Datenpipelines erstellt, verarbeitet und

überwacht werden. Es können Datenquellen und Datenempfänger definiert werden und die

Bewegung der Daten im Unternehmen nachverfolgt und von zentraler Stelle aus überwacht

werden.

http://azure.microsoft.com/de-de/services/data-factory/

4.5 Azure Data Lake

Azure Data Lake umfasst drei Services: Azure Data Lake Store, Azure Data Lake Analytics und

HDInsight (siehe 4.6).

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 33

4.5.1 Azure Data Lake Store

Azure Data Lake Store ist ein vollautomatisch verwaltetes Hadoop-Dateisystem (HDFS). Darin

können quasi beliebige Mengen an Daten unterschiedlicher Art (unstrukturiert, strukturiert) in

ihrem nativen Format abgelegt werden. Azure AD Integration ermöglicht dabei eine detaillierte

Kontrolle von Zugriffen. Die Zugriffe selbst sind dabei auf hohen Durchsatz und geringe Latenz

optimiert.

https://azure.microsoft.com/de-de/services/data-lake-store/

4.5.2 Azure Data Lake Analytics

Azure Data Lake Analytics setzt auf den Azure Data Lake Store auf und ermöglicht es, die dort

abgelegten Daten flexibel auszuwerten. Als Abfragesprache steht mit U-SQL eine erweiterbare,

an SQL angelehnte Sprache zur Verfügung. Erweiterungen in Form von User Defined Functions

können in C# geschrieben werden. Die zur Datenauswertung benötigten Compute Ressourcen

werden nur bei Bedarf bereitgestellt und können je nach Analyse-Job unterschiedlich umfang-

reich ausgestaltet werden. Kosten fallen somit nur dann an, wenn tatsächlich Auswertungen

erstellt werden.

https://azure.microsoft.com/de-de/services/data-lake-analytics/

4.6 HDInsight

Neben der reinen Datenspeicherung bietet Microsoft Azure auch Möglichkeiten zur Auswer-

tung und Aufbereitung von Daten, die in Azure abgelegt sind. Durch die flexible, unkompli-

zierte Bereitstellung auch größerer Rechen- und Speicherressourcen, die nach einer Datenaus-

wertung wieder deaktiviert werden können, ist Azure die ideale Umgebung für derartig wei-

tergehende Datenverarbeitung.

HD Insight ermöglicht die Analyse großer Datenbestände mit Hilfe von Hadoop, einem Open-

Source-Framework, welches sich zur Berechnung sogenannter „Big Data Probleme“, d.h. Aus-

wertungen auf Datenbeständen, die nicht mehr in einer relationalen Datenbank gespeichert

werden können (z.B., weil sie zu groß sind oder weil sie nicht relational strukturiert sind), großer

Beliebtheit erfreut. Microsoft Azure ermöglicht in diesem Kontext eine automatische Provisio-

nierung von Hadoop-VMs, die Verteilung von Daten und Berechnungsalgorithmen etc. Neben

der effizienten Berechnung von Map Reduce Algorithmen werden auch weitere Konzepte wie

Hive4 und Pig5 unterstützt.

4 Hive ist eine Data Warehouse Infrastruktur, die Datenaggregation und entsprechende Abfragen unterstützt.

5 Pig ist ein Framework zu Beschreibung und Ausführung paralleler Berechnungen.

34

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

http://azure.microsoft.com/de-de/services/hdinsight/

4.7 Machine Learning

Mit Machine Learning können auf Basis bestehender Datensätze Vorhersagen für weitere Da-

ten getroffen werden. Hierzu können vorhandene Daten aufgeteilt werden in Trainings- und

Kontrolldaten. Aus vorgefertigter oder selbst mittels der Programmiersprache R erstellter Ana-

lysealgorithmen können Prognosemodelle erstellt werden. Diese können mit den Trainingsda-

ten trainiert werden. Die erzielte Prognosegenauigkeit der Modelle kann dann mit den Kon-

trolldaten überprüft werden. Die Modelle können dann wiederum als Webservice bereitgestellt

werden. All dies ist in einer integrierten, grafischen Entwicklungsumgebung möglich, wo per

Drag & Drop Datenflussdiagramme aus Daten und Prozesskomponenten erstellt und konfigu-

riert werden können.

http://azure.microsoft.com/de-de/services/machine-learning/

4.8 Azure Search

Azure Search bietet eine als Service angebotene Such-Engine. Verschiedene Datenquellen

können als Basis für die Suche konfiguriert werden. Hierzu können zugrundeliegende Bewer-

tungsmodelle angepasst und damit Suchergebnisse an Geschäftsziele angepasst werden. Der

Suchindex wird automatisch erstellt und aktualisiert.

http://azure.microsoft.com/de-de/services/search/

4.9 SQL Data Warehouse

Mit SQL Data Warehouse lassen sich flexibel Data Warehouse Lösungen aufbauen, deren Res-

sourcen sich an den konkreten Datenauswertungsbedarf anpassen lassen. Dabei können Re-

chen- und Speicherdienste unabhängig voneinander skaliert werden. Somit können bei Beibe-

haltung der Speichersysteme (für relationale Daten oder nicht-relationalen Blob Storage) die

Rechenressourcen erweitert, verringert oder auch angehalten werden.

http://azure.microsoft.com/de-de/services/sql-data-warehouse/

4.10 Azure Data Catalog

Der Azure Data Catalog ist ein Verzeichnisdienst, in dem Datenquellen im Unternehmen regis-

triert und auffindbar gemacht werden können. Verschiedene Mitarbeiter können Datenquellen

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 35

registrieren, beschreiben, mit Metadaten versehen und die Datenquellen aus ihnen vertrauten

Datenverarbeitungswerkzeugen via Data Catalog nutzen.

http://azure.microsoft.com/de-de/services/data-catalog/

36

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

5 Sicherheit Azure-basierter

Anwendungen

Durch die Verlagerung von Daten und Anwendungslogik aus dem eigenen Rechenzentrum in

die Cloud entsteht bei allen Beteiligten ein besonderes Sicherheitsbedürfnis. Die in der Cloud

betriebenen Systeme müssen vor unberichtigten Zugriffen geschützt werden. Microsoft stellt

über das Microsoft Azure Trust Center Informationen über Betrieb, Datenschutz, Sicherheit und

Compliance der zugrundeliegenden Infrastruktur zur Verfügung, gibt Hinweise für die Erstel-

lung sicherer, Azure-basierter Anwendungen und bietet mit Microsoft Azure Active Directory

zentrale Bausteine für die Absicherung eigener Anwendungen in der Cloud.

5.1 Azure Active Directory

Microsoft Azure Active Directory ist ein Verzeichnisdienst, in dem Benutzer und deren organi-

satorische Zugehörigkeiten gespeichert werden können. Über den Dienst können sich Benut-

zer anmelden. Sie erhalten dann ein entsprechendes Security-Token, das sie dann Anwendun-

gen übergeben können, um ihre Benutzeridentität nachzuweisen. Azure erlaubt dabei auch

eine Synchronisation von Inhalten mit einem lokal betriebenen Windows Server Active Direc-

tory. Das Microsoft Azure Active Directory ist dabei primär für den Einsatz im Rahmen Cloud-

basierter Anwendungen (wie z.B. Office 365) konzipiert.

Für den Zugriff auf des Microsoft Azure Active Directory steht mit Microsoft Azure Active Di-

rectory Graph eine RESTful API zur Verfügung. Diese ermöglicht es, zu einem Benutzer die

organisatorischen Zugehörigkeiten und Verbindungen zu anderen Benutzern – den Social

Graph – auszulesen.

Mit Azure AD B2C können externe Identity Provider in eigenen Anwendungen zur Benut-

zerauthentifizierung genutzt werden. Dieser Service eignet sich also dann, wenn die Benutzer

nicht in der Anwendung selbst (z.B. über Microsoft Azure Active Directory) gespeichert werden

sollen. Für Anwender hat dies den Vorteil, dass sie sich an einer Anwendung über bereits be-

stehende Credentials (z.B. Microsoft Account mit zugehörigem Passwort) an der Anwendung

anmelden können. Folgende Identity Provider werden unterstützt: Microsoft Account, Google

ID, Facebook ID und Amazon Accounts.

http://azure.microsoft.com/de-de/services/active-directory/

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 37

5.2 Multi-Factor Authentication

Softwareanwendungen bei denen ein hoher Sicherheitsstandard erreicht werden soll, arbeiten

bei der Authentifizierung von Benutzern häufig mit sogenannter Multi-Faktor-Authentifizie-

rung. Dabei kommt mehr als ein Mechanismus zur Verifikation eines Benutzers zum Einsatz.

Mit Hilfe von Microsoft Azure Active Authentication kann ein solcher Authentifizierungsme-

chanismus umgesetzt werden. Dabei kann neben einer Passwort-basierten Authentifizierung

auch eine mobile App, ein Telefonanruf oder eine SMS herangezogen werden. Sobald dies für

einen Benutzer konfiguriert ist, muss dieser bei seiner nächsten Anmeldung im Active Directory

entsprechende Mobilfunk-Telefonnummern hinterlegen.

http://azure.microsoft.com/de-de/services/multi-factor-authentication/

5.3 Key Vault

Ein bewährtes Mittel zur Absicherung von Daten in der Cloud ist deren Verschlüsselung. Eine

sichere Verwaltung der verwendeten Schlüssel ist dabei essenziell, um Daten in der Cloud wirk-

lich zu schützen. Mit Key Vault können Schlüssel und geheime Schlüssel wie Kennwörter mit

Schlüsseln verschlüsselt werden, die in HSMs (Hardware Security Modules) gespeichert sind.

Zusätzliche Sicherheit wird gewährleistet, wenn eigne Schlüssel in HSMs importiert oder er-

zeugt werden, die über die Zertifizierungen FIPS 140-2 Level 2 sowie Common Criteria EAL4+

verfügen. Dadurch wird erreicht, dass die Schlüssel das HSM-System nicht verlassen. Mit Key

Vault sind Schlüssel für Microsoft nicht sichtbar und können auch nicht extrahiert werden.

http://azure.microsoft.com/de-de/services/key-vault/

5.4 Microsoft Azure Trust Center

Das Microsoft Azure Trust Center stellt eine Sammlung von Informationen über den sicheren

Betrieb von Microsoft Azure sowie den darauf ausgeführten Anwendungen und gespeicherten

Daten dar. Hierzu gehören Beschreibungen zu Prozessen und Standards, die Sicherheit und

Datenschutz sicherstellen und entsprechenden Zertifikaten, die dies von unabhängiger Seite

bestätigen.

http://azure.microsoft.com/de-de/support/trust-center/

38

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

6 Medienverarbeitung und -verteilung

6.1 Media Services

Die flexible und bei Bedarf weltweite Bereitstellung digitaler Inhalte ist eine große Stärke von

Microsoft Azure. Dies trägt dem Wunsch Rechnung Audio- und Videoinhalte ablegen, konver-

tieren und an verschiedene Endgeräte flexibel ausliefern zu können. Microsoft Azure enthält

hierzu die Microsoft Azure Media Services, die derartige Aufgaben zentral übernehmen kön-

nen.

Zu bereitgestellten Funktionalitäten gehören:

Upload von Mediendaten (die dann im Blob Storage abgelegt werden)

Codierung und Konvertierung von Videos in verschiedene Video- und Audio-Formate

Zugriffsschutz auf Mediendaten im Sinne von Digital Rights Management (DRM)

Schaltung von Werbung in Videostreams

Streaming von Videos (optimiert für verschiedene Endgeräte), bei Bedarf zeitgesteuert

Wie die anderen Azure Services können auch Media Services mit Anwendungskomponenten

zusammenarbeiten, die nicht notwendigerweise auch auf Microsoft Azure ausgeführt werden.

Sie sind durchweg über RESTful Schnittstellen aufrufbar.

Zur optimalen Auslieferung von Videoinhalten können das Microsoft Azure CDN oder Caching

Services von Drittanbietern genutzt werden. Dabei ist auch eine Optimierung auf die konsu-

mierenden Endgeräte (z.B. Windows-PC, Macintosh, HTML 5, iOS, Android, Windows Phone,

...) und deren jeweilige Wiedergabemöglichkeiten (Auflösung, Bildschirmgröße etc.) möglich.

http://azure.microsoft.com/de-de/services/media-services/

6.2 Content Delivery Network (CDN)

Das Content Delivery Network (CDN) ist ein Verbund von weltweit verteilten Microsoft Azure

Rechenzentren. Im CDN können Inhalte aus Microsoft Azure Blob Storage oder Web Apps für

einen bestimmten Zeitraum gecached werden und somit eine effiziente Auslieferung von In-

halten des Blob Storage sicherstellen: Ein Anwender erhält beim Zugriff Blob Storage Inhalte

aus dem für ihn nächstgelegenen Rechenzentrum zugestellt. Beim erstmaligen Zugriff eines

Anwenders prüft Azure, ob die angeforderten Daten bereits im CDN-Standort verfügbar sind.

Ist dies der Fall, werden die Daten von dort ausgeliefert. Sind die Daten noch nicht dort, werden

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 39

sie vom Original aus Blob Storage ausgeliefert. Eine Kopie wird im CDN hinterlegt, so dass

Folgeaufrufe von dort bedient werden können.

http://azure.microsoft.com/de-de/services/cdn/

40

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

7 Integration Azure-basierter

Anwendungen in die eigene IT

In vielen Software-Projekten stellt sich die Frage, wie Cloud-Ressourcen mit der lokalen IT ver-

knüpft werden können. Weder ist es realistisch, dass die IT eines Unternehmens komplett in

die Cloud wandert, noch wäre es sinnvoll, auf die Vorteile der Cloud (flexible Bereitstellung von

IT, nutzungsabhängige Abrechnung, hohe Skalierbarkeit etc.) zu verzichten. Microsoft Azure

stellt verschiedene Möglichkeiten zur Verfügung, Azure-basierte Ressourcen mit lokalen Res-

sourcen zu koppeln. Auf Anwendungsebene steht der Service Bus zur Verfügung, auf Daten-

ebene kann SQL Azure DataSync verwendet werden und auf Netzwerkebene bieten sich mit

Virtual Network eine Option, die durch den Traffic Manager um einen Routing Service ergänzt

wird.

7.1 Datenintegration via SQL DataSync

Der SQL Azure DataSync Service ist ein Cloud Service in SQL Azure, mit dem es möglich ist,

Azure-basierte SQL Datenbanken untereinander, aber auch mit lokal betriebenen SQL Server

Datenbanken zu synchronisieren. Die Synchronisation kann über eine grafische Oberfläche

eingerichtet und administriert werden. Dabei können Synchronisationsfrequenz, Richtung der

Datenübertragung (bidirektional, nur Upload, nur Download), Strategien für die Konfliktauflö-

sung und die zu synchronisierenden Inhalte (Datenbanken, Tabellen, Spalten und Tabellenzei-

len (gefiltert durch Feldwerte)) bestimmt werden.

Abb. 7-1 skizziert die Funktionsweise. Der Datentransfer zwischen den beteiligten Datenban-

ken wird über einen sogenannten DataSync Hub abgewickelt. Der DataSync Hub muss eine

SQL Azure Datenbank sein. Es ist nicht möglich, eine lokal betriebene Datenbank als Hub zu

verwenden.

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 41

Abb. 7-1 Microsoft Azure SQL DataSync

Ein Einsatzszenario für DataSync kann die Synchronisation von Daten zu Regionalbüros sein.

Dabei enthält der DataSync alle Daten und Regional-Offices synchronisieren nur die Daten, die

für sie spezifisch sind.

http://msdn.microsoft.com/en-us/library/windowsazure/hh456371.aspx

7.2 Anwendungsintegration

In verteilten Anwendungen müssen die Komponenten, die miteinander interagieren wollen,

auf irgendeinem Weg Nachrichten austauschen. Dieser Austausch muss je nach Art der Ver-

teilung auch über Unternehmens- und Firewall-Grenzen hinweg erfolgen. Dies ist insbeson-

dere in Hybrid-Szenarien ein Anwendungsfall, in denen Azure-basierte Komponenten mit

Diensten in einem lokal betriebenen Rechenzentrum (welches ja in der Regel gegen Zugriffe

„von außen“ über Firewalls etc. geschützt ist) interagieren sollen. Microsoft Azure stellt Ent-

wicklern Mechanismen zur Verfügung, mit denen sie derartige Nachrichtenaustauschszenarien

umsetzen können: den Queue Service und den Service Bus.

7.2.1 Queue Service

Mit dem Queue Service offeriert die Microsoft Azure Plattform einen Messaging Dienst, über

den Kommunikationspartner asynchron über Nachrichtenaustausch miteinander kommunizie-

ren können. Zugriffe erfolgen grundsätzlich über http/https. Für die wichtigsten Programmier-

sprachen und Technologien wie .NET, Java, PHP stehen APIs zum komfortablen Zugriff auf

Queues und Nachrichten zur Verfügung.

http://www.windowsazure.com/en-us/develop/net/how-to-guides/queue-service/

42

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

7.2.2 Service Bus

Der Microsoft Azure Service Bus stellt eine Kommunikations- und Integrationsplattform zur

Vernetzung verteilter Webservices zur Verfügung. Unabhängig davon, wo die einzelnen Kom-

munikationspartner (in der Cloud oder im eigenen Rechenzentrum) ausgeführt werden, kön-

nen einfache und komplexe Nachrichtenströme implementiert werden. Unterstützt werden so-

wohl Punkt-zu-Punkt-Verbindungen (unidirektional und bidirektional), Queues zum Zwischen-

speichern ausgetauschter Nachrichten, aber auch Publish-Subscriber-Pattern über sogenannte

Topics, bei denen mehrere Sender an mehrere Empfänger Nachrichten versenden können.

http://azure.microsoft.com/de-de/services/service-bus/

7.2.2.1 Service Bus Relay

Ein einfaches Interaktionsszenario ist in Abb. 7-2 zu sehen: Die Azure App, die einen lokal aus-

geführten Webservice aufrufen möchte, steht vor der Herausforderung, dass der Webservice

durch eine vorgeschaltete Firewall durch Zugriffe von außen geschützt ist. Mit Hilfe des Service

Bus kann dennoch eine Kommunikationsbeziehung aufgebaut werden. Hierzu registriert siche

der Webservie beim Service Bus (Schritt 1). Dieser richtet dem Webservice einen Endpunkt ein.

Die Azure App kann nun diesen Endpunkt anstelle des Webservice aufrufen (2). Der Service

Bus prüft den Aufruf und kann diesen auf der Verbindung, die zum Webservice in Schritt 1

etabliert wurde, an den Webservice weiterleiten.

Abb. 7-2 Microsoft Azure Service Bus

7.2.2.2 Service Bus Queue

Beim Relay ist es erforderlich, dass der registrierte Empfänger auch tatsächlich online ist, d.h

Nachrichten empfangen kann. Ist er offline erhält ein Sender sofort eine Fehlermeldung. Ein

Nachrichtenversand ist dann nicht möglich. Um für solche Szenarien einen Nachrichtenversand

zu erlauben, können Queues definiert werden. Sender können dann in jedem Fall Nachrichten

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 43

verschicken. Ein Empfänger liest diese angesamelten Nachrichten dann aus, sobald er online

ist.

7.2.2.3 Service Bus Topic

Im Service Bus können sogenannte Topics konfiguriert werden, die einen Endpunkt besitzen,

an die Sender ihre Nachrichten schicken können. Für Topics können Subscriptions definiert

werden. Für jede Subscription können Filterregeln definiert werden anhand derer bestimmt

wird, ob eine an ein Topic geschickte Nachricht in die Queue der betreffenden Subscription

kopiert werden soll. Empfänger können dann Nachrichten aus den Subscription-Queues lesen.

Abb. 7-3 Microsoft Azure Service Bus Topics und Subscriptions

Ein Einsatzszenario hierfür ist die Anwendungsüberwachung. Anstatt Statusmeldungen in ein

Logfile zu schreiben, könnten diese Meldungen als Nachricht an ein Service Bus Topic ge-

schickt werden. Abhängig von der Meldungsart könnten dann reine Statusinformationen von

einem Empfänger in ein Logfile geschrieben werden, Fehlermeldungen könnten aber in eine

gesonderte Subscription gehen, wo sie vom Empfänger direkt verarbeitet werden (z.B. Versand

einer SMS an einen Administrator).

http://msdn.microsoft.com/en-us/library/windowsazure/ee732537.aspx

7.2.3 BizTalk Services

Für komplexere Integrationsszenarien, in denen über den Service Bus bestehende Backend-

Systeme aus einem lokalen Rechenzentrum eingebunden werden sollen, enthält die Microsoft

Azure Plattform die BizTalk Services. Hierüber können zum einen Konnektoren zur Anbindung

lokaler IT-Systeme (z.B. SAP, Oracle DB, Oracle EBS, Siebel, SQL DB) zur Interaktion verwendet

44

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

werden, zum anderen können die ausgetauschten Nachrichten gefiltert und in verschiedene

Nachrichtenformate konvertiert werden. Dabei können nachrichtengesteuerte Workflows de-

finiert werden.

http://azure.microsoft.com/de-de/services/biztalk-services/

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 45

8 Netzwerkdienste

Microsoft Azure bietet eine Reihe von Netzwerkdiensten, die in drei Bereichen zur Vernetzung

von Azure Ressourcen eingesetzt werden können: der Vernetzung virtueller Maschinen unter-

einander sowie deren Anbindungen aus dem Internet bzw. an ein oder mehrere lokale Rechen-

zentren. Abb. 8-1 zeigt das Zusammenspiel einiger der Netzwerkdienste.

Abb. 8-1 Netzwerkdienste in Microsoft Azure

Über ein Virtual Network lassen sich Virtual Machines miteinander vernetzen. Dabei können

auch Subnetze und zulässiger Netzwerkverkehr definiert werden. Aus dem Internet trifft Netz-

werkverkehr zunächst auf den Azure Loadbalancer, der nach verschiedenen Sicherheitsprüfun-

gen den Verkehr entsprechend auf die Azure Ressourcen verteilt. Auch innerhalb eines Virtual

Networks lässt sich ein interner Loadbalancer konfigurieren.

Über ein Gateway kann ein Virtual Network sicher mit einem oder mehreren lokalen Rechen-

zentren verbunden werden. Via Express Route kann hierzu auch eine dedizierte Leitung mit

garantierter Bandbreite eingesetzt werden. Um Anwendergruppen weltweit optimal zu versor-

gen, kann ein Azure-basierter Service weltweit verteilt installiert werden. Via Traffic Manager

können Aufrufe passend auf die verschiedenen Service-Instanzen verteilt werden.

46

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

8.1 Virtual Network

Mit Virtual Network kann Microsoft Azure als Erweiterung einer lokalen Infrastruktur genutzt

werden, bei der zusätzliche Ressourcen aus der Cloud flexibel temporär eingesetzt werden

können. Es können Netzwerkkonfigurationen erstellt werden, bei denen lokale Rechner oder

Netzwerke mit Netzwerkknoten in Microsoft Azure zu einem virtuellen Netzwerk verbunden

werden. Es besteht dabei die Möglichkeit die Cloud-Ressourcen mit eigenen Ipv4-Adressen zu

versehen und eigene Routing-Tabellen um diese Ressourcen zu erweitern. In Kombination mit

den Virtual Machines wird es damit möglich virtuelle Maschinen zwischen dem eigenen Re-

chenzentrum und Microsoft Azure hin und her zu migrieren, und dies durch entsprechende

Konfigurationen auf Netzwerkebene so zu begleiten, dass diese Migration für die anderen

Netzwerkelemente völlig transparent geschieht. Letztlich können Anwender Azure-basierte

Ressourcen so nutzen, als wären sie im eigenen Rechenzentrum.

Auf lokaler Seite kann die Integration über eine dedizierte Windows-Server-Maschine erfolgen,

die die Verbindung zu den Cloud-Ressourcen verwaltet. Der Einsatz beschränkt sich aber nicht

nur auf Windows-Maschinen. Es kann für die Integration selbst eine dedizierte Netzwerk-Hard-

ware verwendet werden, die von einem Netzwerk-Administrator entsprechend konfiguriert

werden muss. Damit können in den betreffenden Netzwerkknoten auch andere Betriebssys-

teme als Windows eingesetzt werden.

Über das Virtual Network können aus Microsoft Azure heraus Verbindungen aus zu einer oder

mehreren lokalen Sites (z.B. mehreren Niederlassungen eines Unternehmens) oder auch zwi-

schen virtuellen Netzwerken in Azure eingerichtet werden.

http://azure.microsoft.com/de-de/services/virtual-network/

8.2 ExpressRoute

Normalerweise enthält der Verbindungsweg von einem Client zu Microsoft Azure eine gewisse

Wegstrecke aus dem öffentlichen Internet. Dies führt dazu, dass Zugriffszeiten auch vom üb-

rigen Internet-Verkehr beeinflusst werden können. Um dies zu vermeiden kann mit Express-

Route eine private Netzwerkverbindung von Azure Rechenzentren zu eigenen, lokalen Rechen-

ressourcen eingerichtet werden. Dadurch können sich Durchsatz, Stabilität und Verlässlichkeit

der Verbindungen zu Azure deutlich erhöht werden.

http://azure.microsoft.com/de-de/services/expressroute/

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 47

8.3 Traffic Manager

Der Microsoft Azure Traffic Manager ist ein Service, der Requests, die an einen Azure Service

gehen, auf Basis frei definierbarer Policys und Verfügbarkeiten an Service Instanzen weiterlei-

tet, die weltweit verteilt in Azure oder externen Umgebungen installiert sein können. Für die

Weiterleitung können drei Arten von Policys definiert werden: Leistung (Performance), Failover

und Round Robin. Eine Policy erhält dabei einen DNS Namen. Requests auf diesen Namen

werden vom Traffic Manager mit der IP-Adresse der nächsten verfügbaren Service Instanz be-

antwortet, die diese Policy erfüllt.

Abb. 8-2 Microsoft Azure Traffic Manager

Grundlage für die Entscheidung, an welche Instanz ein Request geleitet wird, ist also zum einen

die Policy, zum anderen die Verfügbarkeit. Damit wird es möglich, die Instanzen eines Service

weltweit zu verteilen, Benutzer normalerweise auf die ihnen nächstgelegene Instanz zu leiten

und im Fall, dass diese Instanz ausgefallen ist, auf die zweitnächste Instanz usw. zu gehen.

Durch die Möglichkeit, auch außerhalb von Azure betriebene Instanzen einzubeziehen, können

Failover-Szenarien implementiert werden, bei denen Zugriffe zunächst auf On-premises-In-

stanzen erfolgen, und im Fehlerfall auf Instanzen in der Cloud zugegriffen wird.

http://azure.microsoft.com/de-de/services/traffic-manager/

8.4 Load Balancer

Jeglicher Datenverkehr, der aus dem öffentlichen Internet auf Azure Ressourcen zugreifen

möchte, muss den Azure Loadbalancer passieren. Dieser verarbeitet verschiedene Protokolle

48

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

(z.B. http, https, smtp, …) und leitet Aufrufe nach entsprechenden Sicherheitsprüfungen ggf.

an die erforderlichen Azure Ressourcen weiter. Der Loadbalancer prüft dabei regelmäßg die

Verfügbarkeit der Ressourcen und stellt darüber sicher, dass Aufrufe nur an verfügbare Res-

sourcen geleitet werden. Für mehrschichtige Anwendungen kann innerhalb eines Virtual Net-

works auch ein interner Loadbalancer zwischen den einzelnen Schichten konfiguriert werden.

http://azure.microsoft.com/de-de/services/load-balancer/

8.5 DNS Service

Über Azure DNS können DNS-Domänen in Azure gehostet werden. Der Dienst nutzt hierzu ein

globales Netzwerk von Namensservern, um bei Abfragen eine hohe Performanz bieten zu kön-

nen.

http://azure.microsoft.com/de-de/services/dns/

8.6 VPN Gateway

Zur sicheren Verbindung eines Virtual Networks mit lokalen Ressourcen kann ein VPN Gateway

konfiguriert werden. Über dieses ist eine sichere Verbindung zu einem lokalen Rechner (Point-

to-Site) oder zu einem oder mehreren lokalen Netzwerken (Site-to-Site) möglich. Im Falle von

Site-to-Site-Verbindungen ist auch auf lokaler Seite ein passendes Gateway erforderlich.

http://azure.microsoft.com/de-de/services/vpn-gateway/

8.7 Application Gateway

Für Web-Anwendungen kann Das Application Gateway nützliche Routing- und Loadbalancing-

dienste auf Anwendungsebene bieten. So können über das Gateway leicht Sticky Sessions (Fol-

gen aus Aufrufen eines Clients werden immer auf den gleichen Server geleitet) konfiguriert

werden. Über das Gateway kann SSL Offloading umgesetzt werden, d.h. das Gateway über-

nimmt rechenintensive Aufgaben zur Entschlüsselung von Anfragen und Verschlüsselung von

Antworten im Rahmen SSL-basierter Kommunikation, was letztlich den eigentlichen Webserver

von diesen Aufgaben entlastet.

http://azure.microsoft.com/de-de/services/application-gateway/

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 49

9 DevOps mit Microsoft Azure

9.1 Services für die Software-Entwicklung

9.1.1 Visual Studio Team Services

Visual Studio Team Services (VSTS) bietet Funktionen als Cloud-Dienste, die früher nur auf den

Server-Komponenten einer Visual-Studio-basierten Entwicklungsumgebung, d.h. Team Foun-

dation Server, verfügbar waren. Mit VSTS lassen sich Entwicklungsprojekte planen, erstellen

und verteiben, ohne dass hierzu Server-Umgebungen konfiguriert werden müssten. VSTS er-

stellt auf Knopfdruck Teamprojekte in denen Quellcode über einen zentralen Ansatz via Team

Foundation Version Control (TFVC) oder einen verteilten Ansatz via Git verwaltet werden kann.

Dabei können Arbeitsaufgaben, Funktionen, Bugs etc. über Backlogs verwaltet und über ver-

schiedene Prozessvorlagen (Scrum, Kanban, agile Prozesse) geplant, überwacht und nachver-

folgt werden. VSTS kann auch den Build-Prozess, automatisiertes Testen und Bereitstellung

übernehmen.

https://azure.microsoft.com/de-de/services/visual-studio-team-services/

9.1.2 Application Insights

Mit Application Insights lassen sich entsprechend konfigurierte Anwendungen verschiedener

Plattformen zur Laufzeit überwachen und deren Laufzeitverhalten auswerten. Dabei können

verschiedene Metriken (Performanz, Fehler etc.) kontrollieren und nachverfolgen. Die von Ap-

plication Insights gelieferten Telemetriedaten der übwachten Anwendungen können aufberei-

tet, visualisiert, gefiltert und segmentiert werden, um stets einen Überblick über den Zustand

und die Nutzung einer überwachten Anwendung zu erhalten. Es werden Anwendungen ver-

schiedener Sprachen (C#, VB, JavaScript, Java, Ruby, PHP, Python etc.) und Plattformen

(ASP.NET, Android, iOS, Cordova, Angular, Node.JS, Joomla, SharePoint etc.) sowie zahlreiche

Logging-Frameworks (Log4Net, NLog, Java, Log4J etc.) unterstützt.

http://azure.microsoft.com/de-de/services/application-insights/

9.1.3 DevTest Labs

Im Rahmen von Entwicklungs- und Testaktivitäten werden häufig temporär Ausführungsum-

gebungen benötigt, in denen entsprechende Tätigkeiten ausgeführt werden können. Via Dev-

Test Labs können Anwender eigenstädig Virtual Machines provisionieren. Administratoren

können dabei Vorgaben hinsichtlich der möglichen VM-Images und VM-Größen machen. Sie

50

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

können darüber hinaus zeitgesteuert VMs automatisch herunter- bzw. hochfahren. Somit kön-

nen Kosten dadurch gespart werden, dass VMs nur dann aktiv sind, wenn auch tatsächlich

Entwicklungs- und Testarbeiten durchgefürt werden.

https://azure.microsoft.com/de-de/services/devtest-lab/

9.2 Services für den Systembetrieb

9.2.1 Operational Insights

Als ein Teil der Microsoft Cloud Management Suite ermöglicht es Operational Insights die

Sammlung, Speicherung und Analyse von Logging-Daten quasi beliebiger Windows- und

Linux-basierter Server und Dienste im eigenen Rechenzentrum oder in der Cloud. Die gesam-

melten Maschinendaten können verwaltet, miteinander kombiniert und visualisiert werden, um

auf deren Basis Entscheidungen zum Systembetrieb wie Kapazitätsverwaltung, Wartung und

Konfiguration von Systemen etc. zu treffen.

http://azure.microsoft.com/de-de/services/operational-insights/

9.2.2 Datentransfer und Datensicherung

Die Speichersysteme in Microsoft Azure sind auf Hoch-verfügbarkeit ausgelegt. Redundante

Speicherung und (optionale) Replikation in weitere Rechenzentren stellen sicher, dass Daten-

verlust praktisch nicht auftreten kann. Azure eignet sich demnach hervorragend als Backup-

Medium auch für normalerweise lokal gehaltene Daten. Backup und Recovery Services erlau-

ben die Sicherung von Serversystemen in Azure.

9.2.2.1 Import/Export Service

Die Übertragung größerer Datenmengen über das Internet in Blob Storage kann in Abhängig-

keit von der zur Verfügung stehenden Bandbreite zeitaufwändig sein. Bei entsprechend großen

Daten ist es effizienter, die Daten auf Festplatten über einen Paketdienst in ein Azure Rechen-

zentrum zu schicken, wo deren Inhalte dann in einen entsprechenden Storage Account kopiert

werden. Über den Azure Import/Export Service können derartige Datentransfers konfiguriert

werden. Im Falle eines Datenexports können leere Festplatten in ein Rechenzentrum geschickt

werden, wo sie dann mit den Inhalten eines Storage Accounts bespielt werden. Sowohl beim

Import als auch beim Export können die Daten der Festplatten verschlüsselt werden.

http://azure.microsoft.com/de-de/pricing/details/storage-import-export/

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 51

9.2.2.2 Backup Service

Die Backup-Werkzeuge in Windows Server 2012, Windows Server 2012 Essentials und System

Center 2012 Data Protection Manager erlauben im Zusammenspiel mit dem Microsoft Azure

Backup Service die Erstellung von (inkrementelle oder volle) Sicherungen lokaler Systeme in

Microsoft Azure Storage. Backups können bei Bedarf dann sehr leicht wieder in beliebige Ser-

versysteme eingespielt werden.

http://azure.microsoft.com/de-de/services/backup/

9.2.2.3 Site Recovery

Der Hyper-V Recovery Manager ermöglicht eine koordinierte Replikation und das Recovery

von Ressourcen einer Private Cloud Umgebung in einer zweiten Umgebung. Mit Hilfe von Sys-

tem Center 2012 Virtual Machine Manager können Private Clouds durch laufende Replikation

an einen zweiten Rechenzentrumsstandort gesichert und bei Bedarf (Ausfall des ersten Stand-

orts) aktiviert werden.

http://azure.microsoft.com/de-de/services/site-recovery/

9.2.3 Scheduler

Mit dem Scheduler können Aktionen nach beliebigen Zeitplänen ausgeführt werden. So kön-

nen regelbasiert http/s-Endpunkte aufgerufen oder Nachrichten in eine Storage Queue einge-

stellt werden, worauf dann entsprechende Anwendungslogik (z.B. in einem Webservice oder

in einer Cloud Service Worker Role) reagieren kann. Somit können regelmäßige oder einmalig

in der Zukunft stattfindende Aktionen ausgelöst werden.

http://azure.microsoft.com/de-de/services/scheduler/

9.2.4 Automation

Automation erleichtert das Management von Azure Ressourcen bedeutend, indem es Aufga-

ben wie die Erstellung von Ressourcen, deren Deployment, Überwachung und Verwaltung im

Rahmen einer Workflow-basierten Engine automatisieren kann. Zusammengehörige Ressour-

cen (z.B. ein Cloud Service mit zugehörigem Storage Account und Active Directory Setup) kön-

nen über sogenannte „Runbooks“ erstellt und verwaltet werden. Die einzelnen Ressourcen

müssen damit nicht mehr einzeln und getrennt voneinander erstellt werden.

http://azure.microsoft.com/de-de/services/automation/

52

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

10 Erste Schritte mit Microsoft Azure

10.1 Blogs und Webseiten

Zugang zu Microsoft Azure

Kostenloser Demo-Account:

http://www.windowsazure.com/en-us/pricing/free-trial/?WT.mc_id=A2DCCE88E

Zugang zu Microsoft Azure über ein MSDN Abonnement:

http://www.windowsazure.com/en-us/pricing/member-offers/msdn-be-

nefits/?WT.mc_id=A2DCCE88E

Zugang zu Microsoft Azure über BizSpark:

http://azure.microsoft.com/en-us/offers/ms-azr-0064p/?WT.mc_id=A2DCCE88E

Werkzeuge und Software Development Kits (SDKs)

Software Development Kits (SDKs) für .NET, Node.js, PHP, Java, Python, Ruby:

http://azure.microsoft.com/de-de/downloads/

Windows Azure Powershell:

http://go.microsoft.com/?linkid=9811175&clcid=0x407

Virtual Machine Assessment Tool:

http://azure.microsoft.com/de-de/downloads/vm-readiness-assessment/

Assistant für die Migration von Websites zu Web Apps:

http://go.microsoft.com/?linkid=9863189&clcid=0x407

Dokumentation (Whitepapers, Videos etc.)

Microsoft Azure Developer Center:

http://azure.microsoft.com/en-us/develop/net/

Technische Dokumentation von Microsoft Azure auf MSDN:

https://msdn.microsoft.com/en-us/library/azure/dn578280.aspx

Offizieller Microsoft Azure Blog:

http://azure.microsoft.com/en-us/blog/

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 53

Anhang A: Azure Services im Überblick

Azure Service

(englischer Titel)

Azure Service

(deutscher Titel)

Beschreibung Kapitel

Azure Compute: Ausführung eigener Anwendungslogik

App Service App-Dienst 2.1

Web Apps Web-Apps Hosting von Web-Anwendungen 2.1.1

Mobile Apps Mobile Apps Backend-Dienste für mobile Apps 2.1.2

Logic Apps Logic Apps API-basierte Workflows 2.1.3

API Apps API Apps Hosting Web-basierter Schnittstellen 2.1.4

Functions Functions Ereignisgesteuerte Code-Ausführung 2.1.5

Cloud Services Cloud Services Hosting mehrschichtiger Apps (PaaS) 2.2

Service Fabric Service Fabric Microservices-basierte Anwendungen 2.3

Virtual Machines Virtuelle Computer Hosting virtueller Maschinen 2.4

Batch Batch Ausführung von Batch-Prozessen 2.5

Mobile Engagement Mobile Engagement Steuerung und Analysen mobile Apps 2.6

Notification Hubs Benachrichtigungs Hub Push-Benachrichtigungen an viele Clients 2.7

RemoteApp RemoteApp Bereitstellung von Windows-Apps 2.8

API Management API Management Vertrieb und Management von APIs 2.9

Azure Data Services: Speicherung von Daten

SQL Database SQL Datenbank Relationale Datenbank als Service 3.1.2

DocumentDB DocumentDB Speicherung JSON-basierter Objekte 3.2.1

Storage Speicher

Tables Tables NoSQL-Datenbank (Key-Entity) 3.2.2

Blobs Blobs Speicherung großer Binärdaten 3.2.3

Files Files SMB Shares für VMs und Cloud Services 3.3.1

Disks Disks Persistentes Dateisystem für VMs 3.3.2

Redis Cache Redis Cache Zentraler Cache auf Basis von Redis 3.4.1

Managed Cache Verwalteter Cache Zentral bereitgestellter Cache 3.4.2

In-Role Cache Rollen-bezogener Cache Cache innerhalb von Cloud Service VMs 3.4.3

StorSimple StorSimple Hybride, sichere Datenspeicherung 3.5

Analytics- und Big Data Services

IoT Hub IoT Hub Device-Management und -Interaktion 4.1

Event Hubs Event Hubs Verarbeitung von Ereignismeldungen 4.2

Stream Analytics Stream Analytics Auswertung von Datenströmen 4.3

Data Factory Data Factory Verwalten von Datenpipelines 4.4

Azure Data Lake Azure Data Lake Big Data Storage und Analytics 4.5

54

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

Azure Service

(englischer Titel)

Azure Service

(deutscher Titel)

Beschreibung Kapitel

HDInsight HDInsight Hadoop-as-a-Service 4.6

Machine Learning Machine Learning Erstellung von Prognosemodellen 4.7

Azure Search Azure Search Suchengine-as-a-Service 4.8

SQL Data Warehouse SQL Data Warehouse Elastischer Data-Warehouse-as-a-Service 4.9

Azure Data Catalog Azure Data Catalog Katalog für Datenquellen im Unternehmen 4.10

Sicherheit Azure-basierter Anwendungen

Azure Active Directory Azure Active Directory Identity Store und Token Service 5.1

Multi-Factor Auth Multi-Faktor Auth Multi-Faktor Authentifizierung 5.2

Key Vault Key Vault Sichere Verwaltung von Schlüsseln 5.3

Anwendungsdienste für eigene Anwendungen

Media Services Media Services Medien-Workflows in der Cloud 6.1

Content Delivery Network Content Delivery Network Globales Caching statischer Inhalte 6.2

Integration Azure-basierter Anwendungen in die eigene IT

SQL DataSync SQL DataSync Synchronisation von SQL DBs 7.1

Queues Warteschlangen Nachrichtenversand 7.2.1

Service Bus Service Bus Internet Service Bus 7.2.2

BizTalk Services BizTalk Services Integration von Backend-Systemen 7.2.3

Netzwerkdienste

Virtual Network Virtual Network Netzwerk-zu-Netzwerk VPN 8.1

Express Route Express Route Exklusive Netzwerkverbindungen 8.2

Traffic Manager Traffic Manager Globales Routing von Service-Zugriffen 8.3

Load Balancer Load Balancer Loadbalancer für Gruppen von VMs 8.4

DNS Service DNS Service Hosting einer DNS-Domäne 8.5

VPN Gateway VPN Gateway Standortübergreifende Verbindungen 8.6

Application Gateway Application Gateway Web-Routing- und Loadbalancing-Dienste 8.7

DevOps mit Microsoft Azure

Visual Studio Online Visual Studio Online Verwaltung von Entwicklungsprojekten 9.1.1

Application Insights Application Insights Informationen zum App-Laufzeitverhalten 9.1.2

DevTest Labs DevTest Labs Bereitstellung von Dev/Test-Umgebungen 9.1.3

Operational Insights Operational Insights Informationen zum Systembetrieb 9.2.1

Import/Export Import/Export Datentransfer in Blobs via Festplatten 9.2.2.1

Backup Backup Sicherung virtueller Maschinen 9.2.2.2

Site Recovery Site Recovery Wiederherstellung virtueller Maschinen 9.2.2.3

Automation Automatisierung Automatisiertes Management 9.2.3

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 55

Anhang B: Aufbau der Plattform

56

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

Index

.NET ......................................................................................... 11

Active Directory ................................................................... 20

ADO.NET ................................................................................ 25

Android .................................................................... 16, 22, 38

API Apps.................................................................................17

API Management ................................................................22

App Service ...........................................................................15

Application Gateway ..........................................................48

Application Insights ............................................................49

ASP.NET .................................................................................. 15

Automation ...........................................................................51

Auto-Scaling .................................................................. 16, 18

Azure Active Directory ................................................ 16, 36

Azure Container Service .................................................... 14

Azure Data Catalog ............................................................34

Azure Data Lake...................................................................32

Azure Data Lake Analytics ................................................33

Azure Data Lake Store .......................................................33

Azure Search .........................................................................34

Backup Service .....................................................................51

BizTalk Server ....................................................................... 20

BizTalk Services ....................................................................43

Blob Storage ............................................. 20, 24, 26, 27, 38

Block Blob .............................................................................. 28

Caching ..................................................................................28

Cassandra .............................................................................. 24

CDN ................................ siehe Content Delivery Network

Cloud Computing ................................................................. 7

Cloud Service ........................................................................18

Data Factory ..........................................................................32

Datenschutz .......................................................................... 37

DevOps ............................................................................ 12, 49

DevTest Labs .........................................................................49

Disks .......................................................................... 24, 26, 28

DNS Service ..........................................................................48

Docker .................................................................................... 14

DocumentDB .......................................................... 24, 26, 27

Drupal ..................................................................................... 15

Eclipse .............................................................................. 11, 18

Elastic Scale ........................................................................... 26

Entity Framework ................................................................ 25

Event Hubs ............................................................................31

ExpressRoute ........................................................................46

File Service .............................................................................28

Geo-Replikation ................................................................... 26

Git ...................................................................................... 11, 15

Hadoop .................................................................................. 33

HDFS ....................................................................................... 33

HDInsight ...............................................................................33

Hyper-V .................................................................................. 20

Hyper-V Recovery Manager ............................................ 51

IaaS ................................ siehe Infrastructure-as-a-Service

Import/Export Service........................................................ 50

Infrastructure-as-a-Service ....................................... 10, 20

In-Role Cache ....................................................................... 29

iOS ............................................................................. 16, 22, 38

IoT Hub................................................................................... 31

Java ............................................................................ 11, 15, 20

JavaScript ........................................................................ 26, 27

JDBC ........................................................................................ 25

Joomla .................................................................................... 15

JSON................................................................................. 26, 27

Key Vault ................................................................................ 37

Linux ........................................................................................ 20

Load Balancer ....................................................................... 47

Loadbalancer ........................................................................ 19

Logic Apps ............................................................................ 17

Machine Learning ............................................................... 34

Managed Cache Service ................................................... 29

Map Reduce.......................................................................... 33

Media Services ..................................................................... 38

Microsoft Azure ................................................................... 10

Microsoft Azure Pack ......................................................... 10

Mobile Apps ......................................................................... 16

Mobile Engagement .......................................................... 21

MongoDB .............................................................................. 24

Multi-Factor Authentication ............................................ 37

MySql ...................................................................................... 16

Node.js ............................................................................ 11, 15

Notification Hubs ................................................................ 21

Operational Insights ........................................................... 50

Oracle............................................................................... 20, 43

PaaS ......................................... siehe Platform-as-a-Service

Page Blob .............................................................................. 28

PHP ................................................................................... 11, 15

Platform-as-a-Service ................................................. 10, 18

Public Cloud............................................................................ 7

Publish-Subscriber .............................................................. 42

Push Notifications ............................................................... 21

Python .................................................................................... 11

Redis Cache .......................................................................... 29

RemoteApp ........................................................................... 22

Rollen ...................................................................................... 18

Ruby ........................................................................................ 11

SAP .......................................................................................... 43

Scheduler ........................................................................ 16, 51

Service Bus ............................................................................ 42

Service Bus Queue .............................................................. 42

Service Bus Relay ................................................................ 42

Service Bus Topic ................................................................ 43

Service Fabric ....................................................................... 19

SharePoint Server ............................................................... 20

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH 57

Siebel ....................................................................................... 43

Site Recovery ........................................................................ 51

SMB ......................................................................................... 28

SQL Data Warehouse ........................................................ 34

SQL Database ........................................................ 16, 24, 25

SQL Server ............................................................... 20, 24, 25

SSL ............................................................................................ 48

Staging-Umgebung ............................................................ 16

StorSimple ............................................................................ 30

Stream Analytics ................................................................. 32

Table Storage ........................................................ 24, 26, 27

Team Foundation Service ................................................. 11

Traffic Manager ................................................................... 47

U-SQL ...................................................................................... 33

VHD ......................................................................................... 20

Virtual Machine ............................................................ 20, 24

Virtual Network............................................................. 20, 46

Visual Studio .................................................................. 11, 18

Visual Studio Online ........................................................... 49

VM Gallery ............................................................................. 20

VM Scale Sets ....................................................................... 15

VPN Gateway ........................................................................ 48

VSO ............................................ Siehe Visual Studio Online

Web App ................................................................................ 15

WebDeploy ........................................................................... 15

Webjobs ................................................................................. 16

WebLogic ............................................................................... 20

Windows 8.x.......................................................................... 16

Windows Phone 8.x ............................................................ 16

Windows Server ................................................................... 20

Wordpress ............................................................................. 15

58

Überblick über Microsoft Azure

© 2016, Microsoft Deutschland GmbH

Über den Autor

Holger Sirtl ist seit 2006 als Cloud Solution Architect bei Microsoft in München tätig und berät

in dieser Rolle Unternehmen im Aufbau Cloud-basierter Anwendungsarchitekturen. Schwer-

punktthemen seiner Arbeit sind Cloud Computing und die Microsoft Azure Plattform. Zuvor

war er bei Microsoft als Senior Technical Evangelist tätig. Vor seinem Einstieg bei Microsoft

arbeitete Holger Sirtl sechs Jahre lang als Technologieberater für eine international führende

Unternehmensberatung sowie zwei Jahre lang als Senior-IT-Projektmanager für einen großen

deutschen Energieversorger.

Anschrift

Dr. Holger Sirtl

Microsoft Deutschland GmbH

Konrad-Zuse-Straße 1

85716 Unterschleißheim

Online

Blog: http://blogs.msdn.com/hsirtl

Twitter: @hsirtl

Xing: https://www.xing.com/profile/Holger_Sirtl

LinkedIn: http://de.linkedin.com/in/hsirtl