Automation von Azure-Teil 1

2014-04-25 | Toni Pohl

Auf der Build Conference 2014 wurden mehr als 160 Sessions gehalten. Aus der Fülle an Themen habe ich mir Automatisierung in Microsoft Azure herausgepickt, da ich die neuen Methoden zur Prozessautomatisierung sehr spannend und hilfreich finde.

Warum finde ich das Thema Automatisierung so wichtig? Nun, oft deployt man als Developer ein und dasselbe Projekt in verschiedene Azure-Umgebungen oder n-Mal in verschiedene Subscriptions, etwa als Stage oder als Production-System oder etwa für die Umsetzung von SaaS Multi-Tenant Lösungen. Hierfür braucht es sinnvollerweise eine Unterstützung um diese Tasks zu automatisieren. Microsoft stellt hierzu neuerdings mehrere Möglichkeiten bereit.

Zum Thema Azure-Automatisierung haben zwei Sessions auf der Build stattgefunden – sehr fein, dass alle Vorträge auf Channel9 online abrufbar (und downloadable) sind.

Ich habe die erste Session von Brady und Joe durchgearbeitet und möchte meine Erkenntnisse hier zusammenfassen und teilen:

Varianten der Automation

Es gibt nun mehrere Möglichkeiten zur Automatisierung, Microsoft nennt diese “The Microsoft Azure Service Management Stack”. Die Folie zeigt diese Varianten im Überblick.

image

Das Slide zeigt die grundsätzliche Architektur der neuen Azure Automation:

Azure Management Libraries

Automatisierung von Azure gab es auch zuvor, jedoch nur recht mühsam über REST-Schnittstellen, siehe Service Management REST API Reference. Die Management Libraries vereinfachen die gesamte Kommunikation mit den Services erheblich. Sie sind komplett async gebaut, darauf gibt es allerdings auch Wrapper für sync-Support – als Developer kann man sich so die Methode aussuchen.

Um die Management Libraries zu verwenden, werden die erforderlichen Pakete via NuGet installiert. Microsoft wird diese Pakete eventuell noch umbenennen, derzeit heißen sie Microsoft.WindowsAzure.*.

image

Um alle Bibliotheken gesammelt zu installieren (diese basieren auf Microsoft.WindowsAzure.Common 1.0.1, siehe unten) wird das Gesamtpaket über die NuGet Console bezogen:

Install-Package Microsoft.WindowsAzure.Management.Libraries

-pre wie in den Slides ist nicht mehr erforderlich. Alternativ können einzelne Pakete installiert werden, wie in obigem Beispiel etwa nur WebSites oder Storage, etc. Aufmerksame Leser werden gesehen haben, dass derzeit noch Mobile Services fehlen, ServiceBus ist dzt. noch Beta – diese sollen bald folgen.

Auf NuGet findet ihr alle aktuellen Pakete: http://www.nuget.org/packages?q=azure.management
(Diese sind dort bereits von windowsazure auf microsoftazure umbenannt… und werden standardmäßig nach den letzten Installs sortiert.)

image

Das Azure Management SDK (ab NET Framework 4.5, 4.5.1) steht auch als Open Source auf GitHub bereit:
https://github.com/Azure/azure-sdk-for-net

Seit 9. April sind die Azure Management Libraries for .NET v1.0 offiziell verfügbar, siehe Brady Gaster´s Blog: Announcing the General Availability of the Microsoft Azure Management Libraries for .NET und in NuGet Windows Azure Common Library (ganz aktuell ist v.1.0.2 vom 17. April):

Install-Package Microsoft.WindowsAzure.Common

Über den NuGet Manager wird die gesamte Bibliothek (Version vom 17. April) über die Suche nach “microsoft.windowsazure.management” gestartet und das Paket installiert.

image

Damit kommen eine ganze Reihe Microsoft.WindowsAzure.* Bibliotheken ins Projekt.

Weitere Infos darüber gibt es in Jeff Wilcox´ Artikel Introducing the Microsoft Azure Management Libraries.

Authentifizierung an Azure AD

Die Authentifizierung an Azure Active Directory (AAD) kann mit ADAL oder mit Management Certificates erfolgen.

Die Variante mit Management Certificates beleuchten wir genauer in Teil 2.
Die Verwendung von ADAL erfordert natürlich die entsprechende Bibliothek.

ADAL kann über NuGet Console oder den NuGet Manager bezogen werden:

Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory -Version 1.0.3

Die ADAL-Versionen 2.5.1 und 2.6.1 sind noch Alpa, Version 1.0.3 ist die last stable Version.

image

Nun kanns mit dem eigenen Projekt und den Azure Management Libraries losgehen.

Um ADAL zu verwenden sind einige Schritte im Azure Portal erforderlich – klar, denn zuerst benötigen wir die Subscription und eine App, die im AAD angelegt wird, damit diese auch berechtigt wird, Services zu nutzen.

Brady hat dafür ein kurzes Video-Tutorial Microsoft Azure Management Libraries Demo Project Tutorial auf YouTube bereitgestellt, wo er die Schritte für die Nutzung von ADAL (App-Erstellung und Beschaffen der erforderlichen IDs…) zeigt.

image

Weiter geht es in Teil 2 mit der Inbetriebnahme des build2014-MAML-EnablingSaaS Beispiels von Brady und den dafür erforderlichen Schritten.

Artikel-Serie Quicklinks: Teil 1, 2, 3, 4

Categories: Azure, App, Developer, Microsoft, Visual Studio, Cloud

Source: https://blog.atwork.at/post/2014/04/25/Automation-von-Azure-Teil-1