Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… ·...

123
E-Book-Reihe Entwicklerleitfaden für Azure Veröffentlicht im Mai 2019

Transcript of Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… ·...

Page 1: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

E-Book-Reihe

Entwicklerleitfaden für AzureVeröffentlicht im Mai 2019

Page 2: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

2Entwicklerleitfaden für Azure

Mai2019

03 /Einführung

Wir sind für Sie da

40 /Chapter 3: Sicherung Ihrer Anwendung

Wie können Sie mit Azure Ihre App schützen?VerschlüsselungAzure Security CenterProtokollierung und Überwachung

82 /Kapitel 6: Wo und wie Sie Ihre Azure-Dienste bereitstellen können

Wie kann Azure Ihre Dienste bereitstellen? Infrastruktur als CodeAzure Blueprints Container auf AzureAzure StackWo und wann sollte die Bereitstellung erfolgen?51 /

Kapitel 4: Intelligentere Anwendungen

Wie können Sie mit Azure KI in Ihre App integrieren?Azure SearchCognitive ServicesAzure Bot ServiceAzure Machine Learning StudioEntwicklertools für KIKI und Mixed RealityVerwendung von Ereignissen und Nachrichten in Ihrer Anwendung

72 /Kapitel 5: Unternehmen mit dem IoT vernetzen

Wie können Sie mit Azure Ihre Geräte in der Cloud vernetzen, schützen, verwalten, überwachen und kontrollieren?Azure IoT HubAzure IoT CentralAzure IoT Solution AcceleratorsAzure IoT EdgeAzure Digital TwinsAzure SphereErfahren Sie mehr über Azure IoTWas ist wann zu verwenden?

89 /Kapitel 7: Codefreigabe, Überwachung der Arbeit und Bereitstellung der Software

Wie können Sie mit Azure intelligenter planen, besser zusammenarbeiten und Ihre Apps schneller bereitstellen?Azure BoardsAzure ReposAzure-PipelinesAzure Test PlansAzure Artifacts

98 /Kapitel 8: Azure in der Praxis

Exemplarische Vorgehensweise: Azure-PortalExemplarische Vorgehensweise: Entwicklung einer Web-App und DatenbankExemplarische Vorgehensweise: Apps erweiternExemplarische Vorgehensweise: Bereit für die Produktion

119 /Kapitel 9: Zusammen- fassung und Ressourcen

Lernen mit AzureDie Autoren

05 /Kapitel 1: Erste Schritte mit Azure

Was kann Azure für Sie tun?Hostingmöglichkeiten für Ihre AnwendungAzure App Service-FunktionenAzure FunctionsAzure Logic AppsAzure BatchContainerWas ist wann zu verwenden?Steigern Sie die Leistung Ihrer AnwendungAzure Front DoorAzure Content Delivery NetworkAzure Redis Cache

22 /Kapitel 2: Ihre App mit Daten verbinden

Was kann Azure für Ihre Daten tun?Speichermöglichkeiten für Ihre DatenAzure Cosmos DBAzure SQL DatabaseAzure Databases für MySQL, PostgreSQL und MariaDBAzure StorageAzure-Lösungen für die DatenanalyseExemplarische Vorgehensweise: On-Premises-Website in Azure mit einer SQL-Datenbank veröffentlichen

Page 3: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

33

Entwickler- leitfaden für Azure

Dieses Handbuch richtet sich an Entwickler und Architekten, die gerade mit Microsoft Azure starten. In diesem Handbuch stellen wir Ihnen die Besonderheiten von Microsoft Azure vor. Sie erhalten hilfreiche Anleitungen zum Einstieg und erfahren, welche Dienste Sie für Ihre spezifischen Szenarien nutzen können.

Vom Erstellen von Websites, Datenbanken und Desktop- sowie Mobilanwendungen bis hin zur Integration der neuesten Technologien in Ihre App – Azure übernimmt einen großen Teil der Arbeit für Sie. Die Azure-Dienste sind miteinander kompatibel. So können Sie Komplettlösungen für die gesamte Lebensdauer Ihrer App entwickeln.

Entwicklerleitfaden für Azure

Mai2019

Page 4: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Hilfe erhalten Sie auch über andere Kanäle, z. B.:

Dokumente und Anleitungen, in denen Sie eine Übersicht über alle Komponenten von Azure und umfassende Informationen zu den einzelnen Funktionen erhalten.

Vereinbarungen zum Servicelevel (SLAs), die Sie über Betriebszeitgarantien und Gutschriftrichtlinien für Ausfallzeiten informieren.

@AzureSupport auf Twitter ist eine von erfahrenen Azure-Technikern betriebene Seite, auf der Sie schnell Antworten auf Ihre Fragen erhalten.

Stack Overflow – hier finden Sie Antworten auf Fragen zu Azure und viele aktive Posts von Mitgliedern der Azure-Technikteams.

Azure-Community-Support – hier finden Sie Antworten auf Fragen der Community und können innerhalb der Azure-Community diskutieren.

Azure Advisor – hier erhalten Sie automatisch personalisierte Empfehlungen für Ihre Azure-Ressourcen, einschließlich erforderlicher Maßnahmen zur Verbesserung der Sicherheit, Verfügbarkeit und Leistung sowie zur Senkung der Kosten.

Azure Service Health, eine personalisierte Ansicht der Integrität Ihrer Azure-Dienste.

4

Wir sind für Sie da

Je nach Anforderung gibt es verschiedene Möglichkeiten, wie wir Ihnen helfen können.Mit unseren Supportplänen erhalten Sie Zugang zum technischen Support von Azure, Anleitungen für das Cloud-Design und Unterstützung bei der Planung der Migration. Sie können sogar einen Supportplan erwerben, bei dem Ihnen eine Antwort des technischen Supports innerhalb von 15 Minuten garantiert wird.

Entwicklerleitfaden für Azure

Mai2019

Page 5: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

5

Mus ma dolor duciuscit, odit volupis as volo eos et libusci duntem commo es nit etur sit dolum earum

Duntiaspel is vel estotatem qui qui sitatio nsedit, ea sere volor molupta dolut officto blaut omnimenem fugitas et omnihil lestibea veliquia conem estiae quidi aut facearchilit quidelia peri conserrum, qui utaquiasit utaquiae reperum re et fugitibus re porepedit faciminciae lant et dolorpos et volum se doloreh endigenis pratibus quis in natem.

Sedicil labores citatem natem sedit autet volorit, quos ut lameniatur? Um enimagnis minctur simillab is arum quatinverro te destibus, tem adis eum rehenia si omnimusam veni nossita.

5Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

55

Erste Schritte mit Azure

Sie haben sich dazu entschieden, Anwendungen auf Azure zu entwickeln, und möchten jetzt einsteigen. Sie brauchen nicht viel tun – außer sich für ein kostenloses Azure-Konto anzumelden. Dabei erhalten Sie ein Guthaben, um die kostenpflichtigen Azure-Dienste zu testen – zusätzlich zu den mehr als 25 Diensten, die Sie dauerhaft kostenlos nutzen können.

Wählen Sie einfach aus, welche Tools, Anwendungen und Frameworks Sie verwenden möchten, und beginnen Sie dann, Ihre Apps auf Azure auszuführen.

Entwicklerleitfaden für Azure

Mai2019

01 /

Page 6: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

6

Was kann Azure für Sie tun?

Unabhängig davon, ob Sie ein professioneller Entwickler sind oder Programmieren zu Ihren Hobbies gehört – mit Azure erhalten Sie die neueste Cloud-Technologie und die führenden Entwicklertools. Das macht das Entwickeln für die Cloud in Ihrer bevorzugten Programmiersprache ganz einfach. Mit Azure können Sie Ihre Arbeit schneller erledigen, Ihre Fähigkeiten ausbauen und die Anwendungen von morgen konzipieren und entwickeln.

Profitieren Sie von:

• einer Cloud-Plattform,

• Entwicklertools,

• Verwaltungsdiensten.

In enger Integration bilden diese Komponenten eine echte Infrastruktur, mit der Sie hervorragende Anwendungen und überzeugende digitale Erlebnisse kreieren können, die auf jedem Gerät ausführbar sind.

Nutzen Sie die großartigen und ständig erweiterten Funktionen von Azure. Sehen wir uns einmal genauer an, welche Möglichkeiten Sie haben.

Entwicklerleitfaden für Azure

Mai2019

Page 7: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Azure App Service umfasst Folgendes: Web Apps: Als einer der am meisten genutzten Azure-Dienste kann Web-Apps Ihre Webanwendungen oder APIs hosten. Eine Webanwendung ist eigentlich nur eine Abstraktion eines Webservers, wie IIS (Internet Information Services) oder Tomcat, mit der Sie HTTP-gesteuerte Anwendungen hosten. Web Apps kann Anwendungen hosten, die in .NET, Node.js, Python, Java oder GO geschrieben sind. Sie können auch verfügbare Erweiterungen verwenden, mit denen Sie noch mehr Sprachen ausführen können.

Mobile Apps: stellt ein Back-End für Ihre mobilen Anwendungen bereit. Wenn Sie eine API in Mobile Apps hosten, verbinden sich Ihre mobilen Anwendungen über das plattformübergreifende Client-SDK. Dieser Dienst ist für iOS, Android und Windows verfügbar. Mobile Apps bietet Funktionen wie Offlinesynchronisierung und Pushbenachrichtigungen, mit denen Sie eine moderne, leistungsfähige und sichere mobile Umgebung schaffen können.

7

Hostingmög-lichkeiten für Ihre Anwendung

Azure bietet Dienste, die es Ihnen ermöglichen, jede Anwendung bereitzustellen und zu skalieren. Wenn Sie Ihre Anwendung mit Azure-Diensten ausführen, profitieren Sie von Skalierbarkeit, hoher Verfügbarkeit, einer vollständig verwalteten Plattform und Datenbankdiensten. Azure bietet außerdem die folgenden Optionen für die Ausführung Ihrer Anwendung: Azure App Service Sie können Ihre Anwendungen auf einer vollständig verwalteten Anwendungsplattform hosten, die von Unternehmensentwicklern sehr geschätzt wird: Azure App Service. Azure App Service ist eine Sammlung aus Hosting- und Orchestrierungsdiensten, die Features und Funktionen freigeben. Alle Dienste von App Service können beispielsweise eine Anwendung mit Azure Active Directory schützen und benutzerdefinierte Domänen nutzen.

Entwicklerleitfaden für Azure

Mai2019

// Try it out: Create an ASP.NET Core web app in Azure

Page 8: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

8

Azure App Service-Funktionen

Azure App Service ist einer der zentralen Dienste in Azure, die Sie für das Hosting Ihrer Anwendungen verwenden können. Jeder dieser Dienste bringt einzigartige Fähigkeiten mit sich, aber sie alle haben einiges gemeinsam: Skalierung Azure App Service läuft auf App Service-Plänen, die Abstraktionen von virtuellen Maschinen (VMs) sind. Eine oder mehrere VMs führen Ihren Azure App Service aus. Da Azure sich selbständig darum kümmert, müssen Sie nicht wissen, um welche VMs es sich handelt. Sie können jedoch die Ressourcen, die den Azure App Service ausführen, skalieren. Entweder wählen Sie einen höheren Tarif (der sich zwischen kostenlos und Premium bewegt) oder Sie erhöhen die Anzahl von Anwendungsinstanzen, die ausgeführt wird. Es ist sogar möglich, dass Azure App Service die Anzahl von Instanzen automatisch für Sie skaliert, basierend auf einem Plan oder einer Metrik wie CPU, Speicher oder HTTP-Warteschlangenlänge. Bereitstellungsslots Nach der Bereitstellung einer neuen Version Ihrer Anwendung am Bereitstellungsslot können Sie testen, ob sie wie erwartet funktioniert, und sie dann in Ihren Produktionsslot verschieben.

Sie können sogar die Testing in Production-Funktion verwenden, um einen Anteil des Datenverkehrs von Ihrer Produktions-App zum Bereitstellungsslot umzuleiten. Wenn Sie beispielsweise 10 Prozent Ihrer Benutzer auf die neue Version Ihrer App im Bereitstellungsslot verlagern, können Sie sehen, ob die neuen Funktionen erwartungsgemäß funktionieren und ob die Benutzer sie tatsächlich nutzen. Wenn Sie mit der Funktionsweise der neuen App-Version im Bereitstellungsslot zufrieden sind, können Sie einen Tausch vornehmen und die App im Bereitstellungsslot mit der Anwendung in Ihrem Produktionsslot tauschen. Sie können auch von einem Entwicklungsslot zu einem Stagingslot und dann in den Produktionsslot wechseln. Danach prüft der Austauschvorgang, dass die neue Version auf Ihrer Website warmgelaufen und betriebsbereit ist. Wenn dies bestätigt ist, wechselt der Austauschvorgang die Slots, und Ihre Benutzer sehen jetzt die neue App-Version – ohne Ausfallzeiten. Sie können die Bereitstellung der neuen Version auch wieder rückgängig machen. Bereitstellungsslots werden innerhalb einer Umgebung, beispielsweise einer Entwicklungs-, Test- oder Produktionsumgebung, verwendet. Bereitstellungsslots werden nicht als Umgebungen genutzt, da sie sich alle im selben App Service-Plan befinden. Sie sollten sie aus Sicherheits-, Skalierungs-, Abrechnungs- und Leistungsgründen voneinander trennen. Sie können die Bereitstellungsslots manuell über die Befehlszeilenschnittstelle von Azure und die Azure Management-API austauschen. Somit können Tools wie Azure DevOps Austauschvorgänge während einer Freigabe ausführen.

Entwicklerleitfaden für Azure

Mai2019

Page 9: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

9

Kontinuierliche Bereitstellung

Zur Veröffentlichung Ihrer Anwendung in App Service können Sie Dienste wie Jenkins, Octopus Deploy usw. verwenden. Sie können auch die Funktion „Kontinuierliche Bereitstellung“ von Azure DevOps in App Service verwenden. Damit können Sie direkt in App Service eine Build/Test/Release-Pipeline erstellen. Der Prozess läuft folgendermaßen ab:

1. Der aktuelle Quellcode aus dem von Ihnen angegebenen Repository wird geladen

2. Der Code wird auf Basis der von Ihnen ausgewählten Vorlage (ASP.NET, Node.js usw.) geschrieben

3. Die App wird in einer Staging-Umgebung bereitgestellt und einem Lasttest unterzogen

4. App wird nach Genehmigung für die Produktion bereitgestellt (Sie können angeben, ob Sie einen Bereitstellungsslot verwenden möchten)

Verbinden mit On-Premises-Ressourcen Sie können externe Ressourcen wie Datenspeicher mit Ihren App Services verbinden. Diese Ressourcen müssen nicht in Azure lokalisiert sein. Sie können sich überall befinden, beispielsweise on-premises oder in Ihrem Rechenzentrum. Je nach Ihren Anforderungen können Sie sich über viele Mechanismen on-premises mit Diensten verbinden, z. B. mit Azure Hybrid Connections, Azure Virtual Networks und Azure ExpressRoute.

Benutzerdefinierte Domänen und Azure App Service-Zertifikate Wenn Sie eine App in Azure App Service einrichten, zeigt sie eine URL an – zum Beispiel https://myazurewebsite.azurewebsites.net. Höchstwahrscheinlich möchten Sie Ihre eigene benutzerdefinierte Domäne verwenden. Dies ist möglich, indem Sie den betreffenden Domänennamen App Services zuordnen. Hier erfahren Sie, wie dies funktioniert.

Darüber hinaus können Sie sicherstellen, dass Ihre Anwendung über HTTPS mittels eines SSL (Secure Sockets Layer)-Zertifikats verarbeitet wird. Sie können ein eigenes Zertifikat verwenden oder direkt im Azure-Portal kaufen. Wenn Sie ein SSL-Zertifikat im Azure-Portal kaufen, kaufen Sie ein Azure App Service-Zertifikat. Sie können es so konfigurieren, dass es von Ihren benutzerdefinierten Domänenbindungen verwendet werden kann.

App Service Environment

Eine Multi-Tier-Webanwendung kann häufig über eine Datenbank oder Dienste verfügen, die von Ihrer App in Web Apps verwendet werden. Natürlich möchten Sie, dass diese Dienste nur in der App und nicht im Internet angezeigt werden. Da sie jedoch den Einstiegspunkt für Ihre Benutzer darstellt, ist die App selbst oft internetbasiert.

Um diese Supportleistungen vom Internet zu trennen, können Sie ein Azure Virtual Network verwenden.

Entwicklerleitfaden für Azure

Mai2019

// Testen Sie es: Kaufen und konfigurieren Sie in dieser exemplarischen Vorgehensweise ein SSL-Zertifikat.

Page 10: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

10

Dieser Dienst umschließt Ihre Supportleistungen und verbindet sie so mit Ihrer App in Web Apps, dass die Supportleistungen nur in der App, nicht aber im Internet angezeigt werden.

Dieser Artikel beschreibt diesen Dienst genauer und zeigt, wie er eingesetzt wird.

Manchmal wünschen Sie sich jedoch mehr Steuerungsmöglichkeiten. Vielleicht möchten Sie, dass Ihre App in ein Virtual Network eingebunden ist, damit Sie den Zugriff darauf steuern können.

Oder Sie möchten möglicherweise, dass sie von einer anderen Anwendung in Web Apps aufgerufen und Teil Ihres Back-Ends wird.

Für dieses Szenario arbeiten Sie in einer Azure App Service-Umgebung. Diese bietet Ihnen eine sehr hohe Skalierbarkeit und verleiht Ihnen die Kontrolle über Isolierung und Netzwerkzugriff. Momentaufnahmedebugger für .NET Das Debuggen von Apps kann schwierig sein, besonders, wenn die App in der Produktion ausgeführt wird. Mit dem Momentaufnahmedebugger können Sie eine Momentaufnahme Ihrer Apps in der Produktionsumgebung erstellen, wenn der für Sie interessante Code ausgeführt wird.

Der Debugger zeigt Ihnen den genauen Fehler auf, ohne dass der Datenverkehr Ihrer Produktionsanwendung beeinträchtigt wird. Mit dem Momentaufnahmedebugger können Sie Fehler, die in Produktionsumgebungen auftreten, erheblich schneller beheben. Darüber hinaus können Sie mit Visual Studio Aufnahmepunkte festlegen, um das Debugging Schritt für Schritt durchzuführen. Automatisches Patching für Betriebssystem und .NET Framework

Da Sie eine vollständig verwaltete Plattform nutzen, müssen Sie Ihre eigene Infrastruktur überhaupt nicht verwalten. Sie profitieren vom automatischen Betriebssystem- und Framework-Patching. Virtuelle Maschinen Das Hosten Ihrer Anwendung in einer VM in Azure Virtual Machines verschafft Ihnen eine umfangreiche Kontrolle darüber, wie Sie Ihre Anwendung hosten. Sie sind jedoch für die Pflege und Wartung der Umgebung verantwortlich. Dazu gehört auch, das Betriebssystem zu patchen und sicherzustellen, dass die Antivirenprogramme immer auf dem aktuellen Stand sind.

Sie können eine VM einsetzen, um die neueste Preview von Visual Studio zu testen, ohne Ihren Bereitstellungsrechner damit zu „belasten”.

Entwicklerleitfaden für Azure

Mai2019

Page 11: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

11

Mit Azure Functions schreiben Sie den für Ihre Lösung erforderlichen Code, ohne sich Gedanken über die Entwicklung einer vollwertigen Anwendung oder einer für die Ausführung notwendigen Infrastruktur zu machen. Eine Funktion ist eine Einheit der Code-Logik, die durch eine HTTP-Anfrage, ein Ereignis in einem anderen Azure-Dienst oder basierend auf einem Zeitplan ausgelöst wird.

Eingabe- und Ausgabebindungen verbinden Ihren Funktionscode mit anderen Diensten wie Azure Storage, Azure Cosmos DB oder Azure Service Bus und sogar mit Diensten von Drittanbietern, wie Twilio und SendGrid. Mithilfe von Functions können Sie schnell kleine und einzelne Funktionalitäten entwickeln und in einer flexiblen Umgebung mit automatischer Skalierung hosten.

Mit Azure Functions haben Sie die Option, nur für die tatsächlich ausgeführten Funktionen zu bezahlen, anstatt die Recheninstanzen den ganzen Monat laufen lassen zu müssen. Dieses Vorgehen wird auch als "serverlos" bezeichnet, da Sie lediglich Ihre Anwendung erstellen und sich nicht um Server oder gar die Skalierung dieser Server kümmern müssen.

Sie können Azure Functions in .NET, JavaScript, Java sowie einer zunehmenden Zahl weiterer Sprachen programmieren.

Eine Anwendung, die Functions nutzt, aktiviert jedes Mal eine Funktion, wenn eine neue Bilddatei in den Azure Blob Storage hochgeladen wird. Die Funktion passt anschließend die Bildgröße an und überträgt sie in ein anderes Blob Storage-Konto.

Daten aus dem Blob, die die Funktion ausgelöst haben, werden an die Funktion als myBlob-Parameter übergeben, der die Blob-URL enthält. Verwenden Sie den outputBlob-Ausgabebindungsparameter, um das Blob anzugeben, in das das Ergebnis geschrieben werden soll. Es ist nicht notwendig, die Infrastruktur für die Verbindung mit Blob Storage zu programmieren, da sie lediglich von Ihnen konfiguriert werden muss.

Azure Functions

Entwicklerleitfaden für Azure

Mai2019

// Testen Sie es: Erstellen Sie Ihre erste Azure-Funktion über das Azure-Portal.

Page 12: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

12

Sie können Geschäftslogik mit Logic Apps orchestrieren, indem Sie einen Geschäftsprozess automatisieren oder in Software as a Service (SaaS)-Anwendungen integrieren. Wie bei Azure Functions kann Logic Apps durch eine externe Quelle aktiviert werden, beispielsweise durch eine neue Nachricht. Durch die Verbindung der API-Aufrufe mit Connectors können Sie einen (möglicherweise komplexen) Workflow erzeugen, der Ressourcen in der Cloud und on-premises umfassen kann.

Logic Apps hat viele für APIs verfügbare Connectors, die eine Verbindung mit Azure SQL Databases, mit SalesForce, mit SAP usw. herstellen können.

Sie können auch Ihre eigenen APIs oder Azure Functions als Connector in einer Logic App verwenden, damit Sie Aktionen gegen externe Systeme einfach in Ihrem Workflow ausführen können oder Ihre Logic App durch eine von diesen aktiviert wird.

Wie Azure Functions sind Logic Apps serverlos, werden automatisch skaliert und erzeugen nur Kosten, wenn sie tatsächlich ausgeführt werden.

Nachfolgend sehen Sie ein Beispiel für einen Workflow in Logic Apps:

1. Die Logic App wird aktiviert, wenn eine E-Mail mit einem Versandauftrag in Office 365 eingeht.

2. Anhand der Daten aus der E-Mail prüft die Logic App die Verfügbarkeit des bestellten Artikels in SQL Server.

3. Die Logic App sendet über Twilio eine SMS an das Handy des Kunden. In dieser SMS wird mitgeteilt, dass die Bestellung eingegangen ist und der Artikel versandt wurde.

Azure Logic Apps

Entwicklerleitfaden für Azure

Mai2019

// Testen Sie es: Jetzt einsteigen mit Azure Logic Apps

Page 13: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

13

Wenn Sie umfangreiche Batch- oder High-Performance-Computing-Anwendungen (HPC) auf VMs ausführen müssen, können Sie Azure Batch verwenden. Batch erstellt und verwaltet tausende VMs, installiert die Anwendungen, die Sie ausführen möchten, und plant Aufträge auf den VMs. Sie müssen VMs oder Server-Cluster nicht einzeln bereitstellen und verwalten: Batch plant, verwaltet und skaliert Ihre Aufträge automatisch, sodass Sie nur die benötigten VMs verwenden.

Batch ist ein kostenfreier Service: Sie zahlen nur für die verbrauchten Ressourcen, wie z. B. VMs, Speicher und Netzwerk.

Batch eignet sich auch hervorragend zur Ausführung von parallelen Workloads, wie z. B. Finanzrisikomodellen, Medientranskodierung, VFX- und 3D-Bildwiedergabe, Konstruktionssimulationen und vielen weiteren rechenintensiven Anwendungen. Verwenden Sie Batch zum Skalieren von Anwendungen oder Skripts, die Sie bereits auf Arbeitsstationen oder in einem On-Premises-Cluster ausführen, oder zum Entwickeln von SaaS-Lösungen, die Batch als Computing-Plattform nutzen.

Azure Batch

Entwicklerleitfaden für Azure

Mai2019

// Testen Sie es: Jetzt mit diesen Schritt-für-Schritt-Tutorials in Azure Batch einsteigen

Page 14: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

14

Container sind ähnlich wie VMs – jedoch viel einfacher. Sie können innerhalb weniger Sekunden gestartet und gestoppt werden. Container bieten zudem eine enorme Portabilität und sind damit ideal, um eine App lokal auf Ihrem System zu entwickeln und anschließend in der Cloud, in der Test- und später in der Produktionsumgebung zu hosten.

Sie können Container sogar on-premises oder in anderen Clouds ausführen – die Umgebung, die Sie auf Ihrem Entwicklungscomputer verwenden, ist an Ihren Container gebunden, sodass Ihre App immer in derselben Infrastruktur ausgeführt wird.

Container mit Azure Kubernetes Service skalieren und orchestrieren

Mit Azure Kubernetes Service (AKS) ist es leicht möglich, einen Cluster virtueller Maschinen, die zur Ausführung von Containern vorkonfiguriert sind, zu erstellen, zu konfigurieren und zu verwalten. Somit können Sie mit Ihren vorhandenen Kenntnissen oder dem Knowhow und Wissen der Community Anwendungen verwalten und bereitstellen, die in Containern auf Azure ausgeführt werden.

Mit AKS ist die Verwaltung eines Kubernetes-Clusters einfacher und weniger aufwendig, da ein Großteil der Aufgaben zu Azure ausgelagert wird. Als gehosteter Kubernetes-Dienst übernimmt Azure wichtige Aufgaben wie die Systemüberwachung und Wartung. Darüber hinaus zahlen Sie nur für die Agent-Knoten innerhalb der Cluster, nicht für die Master. Als verwalteter Kubernetes-Dienst

bietet AKS automatisierte Kubernetes-Versions-Upgrades und -Patches, ein einfaches Skalieren des Clusters, eine sich selbst reparierende gehostete Steuerungsebene (Master) und Kosteneinsparungen, da Sie nur für die aktiven Knoten aus dem Agent-Pool bezahlen.

Wenn Azure für die Verwaltung der Knoten in Ihrem AKS-Cluster zuständig ist, müssen Sie viele Aufgaben, wie z. B. Cluster-Upgrades, nicht manuell ausführen. Da Azure diese wichtigen Wartungsaufgaben für Sie übernimmt, bietet AKS keinen direkten Zugang (z. B. über SSH) zu dem Cluster.

Hosten von Containern mit Azure Container Instances Sie können Ihren Container mit Azure Container Instances (ACI) hosten. ACI bietet schnelles, isoliertes Computing, um Stoßzeiten im Datenverkehr zu bewältigen, ohne Server verwalten zu müssen. Azure Container Service (ACS) kann beispielsweise unter Verwendung von Virtual Kubelet Pods in ACI bereitstellen, die innerhalb von Sekunden gestartet werden. Dies ermöglicht es, ACS mit der nötigen Kapazität für eine durchschnittliche Auslastung auszuführen. Wenn die Kapazität in Ihrem ACS-Cluster erschöpft ist, können Sie weitere Pods in ACI skalieren, ohne zusätzliche Server verwalten zu müssen. Der ACI-Dienst wird nach Sekunden, nach virtueller CPU, nach Gigabyte oder nach Speicher abgerechnet.

Container

Entwicklerleitfaden für Azure

Mai2019

// Weitere Informationen: Erfahren Sie, wie Sie Azure Kubernetes Service verwenden können.

// Weitere Informationen: Erfahren Sie mehr über Azure Container Instances

Page 15: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Azure Service Fabric

Eine weitere Möglichkeit, Anwendungen in Azure auszuführen, bietet Azure Service Fabric. Dies ist der Dienst, der viele Azure-Dienste bei Microsoft, z. B. Azure SQL Database und Azure App Service, ausführt. Führen Sie Ihre Anwendungen in Azure Service Fabric aus, um eine hohe Verfügbarkeit zu erzielen, eine Ausführung in großem Maßstab zu ermöglichen und rollierende Upgrades vorzunehmen.

Sie können Azure Service Fabric zur Ausführung von .NET-Anwendungen verwenden, die auf Microservice basieren. Es handelt sich hierbei um Lösungen, die aus vielen kleinen Diensten bestehen, welche miteinander kommunizieren und von Benutzeroberflächen sowie anderen Komponenten eingesetzt werden. Service Fabric ist für solche Lösungen ideal, da die Anwendungskomponenten gemeinsam orchestriert und auf hochverfügbare und leistungsfähige Weise ausgeführt werden.

Das Besondere an Azure Service Fabric ist, dass Sie es überall ausführen können. Installieren Sie Service Fabric auf Ihrem lokalen Entwicklungscomputer, on-premises oder in einer beliebigen Cloud – einschließlich Azure. Mithilfe von Azure Service Fabric Mesh können Sie außerdem Container in einem Service Fabric-Cluster ausführen, den Microsoft für Sie als Dienst verwaltet. Dies eröffnet eine Reihe von Möglichkeiten.

Sie können Anwendungen ganz leicht in Azure Service Fabric bereitstellen und mit Ihren bevorzugten Tools, wie Visual Studio und Azure DevOps Services, verwalten. Zusätzlich ist Service Fabric seit Kurzem als Open Source verfügbar.

15

Hosten von Containern im Azure App Service Web-App für Container

Web-App für Container ermöglicht es Ihnen, Container-Web Apps jeder Größe bereitzustellen und auszuführen. Führen Sie einfach einen Pull für Container-Images vom Docker-Hub oder einer privaten Azure Container Registry aus. Web App for Containers wird dann die Container-App mit Ihren bevorzugten Abhängigkeiten in wenigen Sekunden für die Produktion bereitstellen. Die Plattform kümmert sich automatisch um Betriebssystempatches, Kapazitätsbereitstellung und Lastenausgleich. Sie können Docker-Container (Linux) und Windows-Container auf Web-App für Container ausführen.

Azure-Containerregistrierung

Wenn Sie ein Container-Image erstellt haben, in dem Ihre Anwendung ausgeführt werden soll, können Sie diesen Container in der Azure Container Registry (ACR) speichern. ACR ist ein hochverfügbarer und sicherer Speicherdienst, der speziell für die Speicherung von Container-Images konzipiert ist. Damit bietet er Ihnen eine hervorragende Möglichkeit, Ihre privaten Docker-Images zu speichern.

Sie können ACR auch für die bestehenden Entwicklungs- und Bereitstellungs-Pipelines verwenden. Verwenden Sie ACR Build, um Container-Images in Azure zu entwickeln. Sie können die Entwicklung entweder bei Bedarf vornehmen oder Entwicklungen mit Auslösern für Quellcode-Commits und Basis-Image-Aktualisierungen vollständig automatisieren.

Entwicklerleitfaden für Azure

Mai2019

Page 16: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019

16

* Mit einem Sternchen gekennzeichnete Dienste sind in einer kostenlosen Version verfügbar, mit der Sie gratis einsteigen können.

** Zum Auslagern und Verschieben vorhandener Anwendungen nach Azure.

Web A

pps*

Web-A

pp für Container*

Mobile A

pps*

Functions*

Logic Apps*

Virtual M

achines*

Kubernetes Service*

Service Fabric*

Container Instances*

Batch*

Monolithische und N-Tier-Anwendungen

● ●** ● ●

Back-End einer mobilen App ● ●**

Microservice-Architektur-Anwendungen

● ● ●

Geschäftsprozess-Orchestrierung und Workflows

● ●

Rechenintensive Aufträge ●

Ausführen der App an jedem Ort (auch on-premises)

● ● ● ●

Tabelle 1-1

Was ist wann zu verwenden?

Einige der Dienste, die Ihre Anwendung in Azure ausführen, können gemeinsam in einer Lösung verwendet werden, während sich andere besser für unterschiedliche Zwecke eignen.

Dadurch kann es schwierig sein, die richtigen Dienste auszuwählen. Anhand Tabelle 1-1 können Sie ermitteln, welche Dienste in Azure für Ihre Situation geeignet sind.

Page 17: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

17

Nachdem Ihre Anwendung in Azure stabil läuft, soll sie natürlich so leistungsfähig wie möglich sein. Azure bietet eine Vielzahl von Diensten, mit deren Hilfe Sie dies erreichen können.

Azure Traffic Manager

Viele moderne Anwendungen werden von Benutzern auf der ganzen Welt verwendet. Eine leistungsfähige Experience für alle bereitzustellen, ist eine ziemliche Herausforderung. Das offensichtlichste Problem, mit dem Sie sich beschäftigen müssen, ist die Latenz, d. h. die Zeit, die ein Signal oder eine Anfrage benötigt, um zu einem Benutzer zu gelangen. Je weiter die Benutzer von Ihrer Anwendung entfernt sind, umso länger ist die Latenzzeit.

Azure Traffic Manager skaliert regionsübergreifend, was zu einer Reduzierung der Latenz beiträgt und Benutzern unabhängig von ihrem Standort eine leistungsfähige Experience bietet. Traffic Manager ist ein intelligenter Routingmechanismus, den Sie weltweit beispielsweise vor Ihre Web Apps-Anwendungen setzen können. Web Apps fungiert als Endpunkte, deren Integrität und Leistung von Azure Traffic Manager überwacht wird.

Wenn Benutzer auf Ihre Anwendung zugreifen, leitet Traffic Manager sie zu der Web Apps-Anwendung um, die in deren Umgebung am leistungsfähigsten ist.

Wenn Sie Traffic Manager in Ihre Architektur übernehmen, können Sie die Leistungsfähigkeit Ihrer Anwendung erheblich verbessern.

Steigern Sie die Leistung Ihrer Anwendung

Entwicklerleitfaden für Azure

Mai2019

Page 18: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

18

Ihre Benutzer sind vielleicht auf der ganzen Welt verstreut und manchmal auch unterwegs. Aus diesem Grund ist es schwierig, zu gewährleisten, dass die Experience standortunabhängig immer überzeugt und Ihre Anwendung verfügbar und sicher ist.

Azure Front Door kann Sie unterstützen. Dieser Dienst leitet den Datenverkehr von Benutzern an den leistungsstärksten Anwendungsendpunkt weiter und erhöht so die Performance für die Anwender. Azure Front Door leitet den Datenverkehr an Endpunkte weiter, die verfügbar sind, und umgeht ausgefallene Endpunkte.

Dies macht auch Azure Traffic Manager, aber auf eine andere Weise als Azure Front Door. Azure Front Door arbeitet auf der OSI-Schicht 7 oder HTTP-/HTTPS-Schicht, Azure Traffic Manager dagegen mit DNS. Anders gesagt: Azure Front Door arbeitet auf der Anwendungsschicht und Azure Traffic Manager auf der Netzwerkschicht. Dies ist ein grundlegender Unterschied, der die Fähigkeiten dieser Dienste bestimmt.

Wegen dieses Unterschieds macht Azure Front Door weitaus mehr, als Benutzer zu verfügbaren und leistungsfähigen Endpunkten zu leiten.

Azure Front Door ermöglicht es Ihnen, benutzerdefinierte Webanwendungsfirewall (WAF)-Regeln für die Zugriffskontrolle festzulegen, damit Sie Ihren HTTP-/HTTPS-Workload vor Exploit-Versuchen basierend auf Client-IP-Adressen, Ländervorwahl und HTTP-Parametern schützen können.

Darüber hinaus können Sie mit Front Door Ratenbegrenzungsregeln definieren, um schädlichen Bot-Datenverkehr einzuschränken. Das sind nur ein paar Beispiele für die einzigartigen Funktionen von Azure Front Door.

Azure Front Door

Entwicklerleitfaden für Azure

Mai2019

Page 19: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

19

Zu weiteren Funktionen von Front Door gehören:

• URL-basiertes Routing Damit können Sie Anforderungen für unterschiedliche URLs zu verschiedenen Back-End-Pools (Anwendungen, die Datenverkehr empfangen, z. B. Web Apps) weiterleiten. Z. B. Geht http://www.contoso.com/users/* zu einem Pool und zu einem anderen

• URL-Rewriting Damit können Sie die URL anpassen, die Sie an den Back-End-Pool übergeben.

• SSL-Terminierung Damit können Sie Ihren Datenverkehr durchgehend schützen, vom Browser bis zur Anwendung im Back-End-Pool.

• Sitzungsaffinität Wenn Benutzer immer zum selben Endpunkt geleitet werden sollen, können Sie die Sitzungsaffinität verwenden. Dies ist wichtig, wenn der Sitzungsstatus lokal am Back-End für eine Benutzersitzung gespeichert wird.

Azure Traffic Manager Azure Front Door

Sie benötigen nur Routing (leistungs- oder geografiebasiert) und Hochverfügbarkeit. ●

Sie benötigen SSL-Terminierung (auch SSL-Offloading genannt). ●

Sie benötigen Funktionen der Anwendungsschicht, z. B. URL-Rewriting und WAF. ●

Wenn Sie bei der Entscheidung zwischen Azure Front Door und Traffic Manager Hilfe brauchen, nutzen Sie die folgende Übersicht:

Entwicklerleitfaden für Azure

Mai2019

Page 20: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

20

Einer der Azure-Dienste, die Ihre Anwendung beschleunigen können, ist Azure Content Delivery Network. Sie laden Ihre statischen Dateien – Videos, Bilder, JavaScript, CSS und sogar HTML-Dateien – in einen Datenspeicher wie Azure Blob Storage hoch und koppeln diesen dann mit Azure Content Delivery Network.

Content Delivery Network übernimmt dann diese statischen Dateien und repliziert sie weltweit an Hunderten von Präsenzpunkten. Sie brauchen dazu in Ihrer App nur den Verweis auf die statischen Dateien in eine andere URL zu ändern.

Wenn dieser Verweis zuvor beispielsweise ~/images/image.png gelautet hätte, lautete er jetzt https://example.azureedge.com/image.png.

Das geht nicht nur ganz leicht, sondern verbessert auch die Leistung Ihrer Anwendung folgendermaßen:

• Die Inhaltsbereitstellung wird ausgelagert. Sie erfolgt jetzt durch Content Delivery Network, wodurch Prozesszyklen für Ihre Anwendung frei werden.

• Statischer Inhalt wird physikalisch näher zum Benutzer gebracht, indem er weltweit an Präsenzpunkte verteilt wird.

Sie können vom Content Delivery Network in Webanwendungen ebenso profitieren wie in Mobil- und Desktopanwendungen. Eine Möglichkeit, das Content Delivery Network zu nutzen, ist die Bereitstellung von Videos für eine mobile App. Da Videos groß sein können, möchten Sie sie nicht auf dem mobilen Gerät speichern (auch Ihre Benutzer wollen das nicht). Mit dem Content Delivery Network werden die Videos vom Präsenzpunkt bereitgestellt. Da er sich nahe am Benutzer befindet, wird damit auch die Leistung gesteigert.

Azure Content Delivery Network

Entwicklerleitfaden für Azure

Mai2019

// Testen Sie es: Jetzt mit Azure Content Delivery Network einsteigen

Page 21: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

21

Jede moderne Anwendung arbeitet mit Daten. Wenn Sie Daten aus einem Datenspeicher wie einer Datenbank laden, dann beinhaltet das typischerweise das Scannen von Mehrfachtabellen oder Dokumenten auf einem entfernten Server, wobei die Ergebnisse miteinander verbunden werden und dann das Resultat an das anfordernde Gerät gesendet wird. Dies dauert natürlich und kann Ihre Benutzer frustrieren und verärgern.

Um diese „Umwege” zu vermeiden, können Sie Daten zwischenspeichern, die nicht häufig verändert werden. Anstatt also ständig die Datenbank auf diese Weise abzufragen, könnten Sie einige der Daten aus einem Cache laden, z. B. Azure Redis Cache. Der Vorteil des Caches ist, dass darin Daten in einem einfachen Format, z. B. Schlüsselwert, gespeichert werden. Sie brauchen also keine komplexe Anfrage auszuführen, um diese Daten zu erhalten – Sie müssen nur den Schlüsselwert kennen, um den Wert zu laden. Dies kann die Leistung Ihrer Anwendung drastisch verbessern. Und so funktioniert dieser Workflow:

1. Die App benötigt einige Daten und versucht, diese aus dem Cache zu laden.

2. Wenn die Daten nicht vorhanden sind, werden sie aus der Datenbank abgerufen und im Cache gespeichert.

3. Wenn die App das nächste Mal nach diesen Daten sucht, findet sie sie im Cache und spart damit den Umweg über die Datenbank.

Mit Redis Cache bietet Azure Cache-as- a-Service. Dieses Angebot basiert auf dem Open-Source-Redis-Projekt und wird jetzt durch branchenführende SLAs unterstützt. Es ist sehr leistungsfähig und verfügt über erweiterte Optionen wie Clustering und Georeplikation.

Weiterführende Literatur

Wenn Sie mehr über die Erstellung von verteilten Anwendungen mit Azure Kubernetes Service, Azure Container Instances und anderen Azure-Diensten erfahren möchten, laden Sie sich die folgenden kostenlosen E-Books herunter:

Azure Redis Cache

Entwicklerleitfaden für Azure

Mai2019

// Testen Sie es: Jetzt mit Azure Redis Cache einsteigen

// Containerisieren Ihrer Apps mit Docker und Kubernetes

// Entwicklung verteilter Systeme

Page 22: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

22

Mus ma dolor duciuscit, odit volupis as volo eos et libusci duntem commo es nit etur sit dolum earum

Duntiaspel is vel estotatem qui qui sitatio nsedit, ea sere volor molupta dolut officto blaut omnimenem fugitas et omnihil lestibea veliquia conem estiae quidi aut facearchilit quidelia peri conserrum, qui utaquiasit utaquiae reperum re et fugitibus re porepedit faciminciae lant et dolorpos et volum se doloreh endigenis pratibus quis in natem.

Sedicil labores citatem natem sedit autet volorit, quos ut lameniatur? Um enimagnis minctur simillab is arum quatinverro te destibus, tem adis eum rehenia si omnimusam veni nossita.

22Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

2222

Ihre App mit Daten verbinden

Entwicklerleitfaden für Azure

Mai2019

02 /

Page 23: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

23

Unabhängig davon, wo sich Ihre Daten befinden – Azure hilft Ihnen, das gesamte Potenzial Ihrer Daten freizusetzen. Fördern Sie schnelles Wachstum, und nutzen Sie die zusätzliche eingesparte Zeit für Innovationen – mit einem Portfolio an sicheren, professionellen Datenbankdiensten, die Open-Source-Datenbank-Engines unterstützen.

Azure-Datenbankdienste sind vollständig verwaltet und sorgen so für deutliche Zeiteinsparungen. Die Zeit, die Sie sonst für die Verwaltung der Datenbank aufbringen mussten, können Sie darauf verwenden, neue Angebote für Ihre Benutzer zu entwickeln und Geschäftschancen zu kreieren. Dank der Leistung auf Unternehmensniveau mit integrierter Hochverfügbarkeit können Sie schnell skalieren und eine globale Verteilung realisieren, ohne kostspielige Ausfälle befürchten zu müssen.

Entwickler profitieren von branchenführenden Innovationen, wie integrierter Sicherheit mit automatischer Überwachung und Bedrohungserkennung, automatischer Optimierung für eine höhere Leistung und einer globalen Verteilung ohne weiteren Aufwand. Und obendrein ist Ihre Investition durch finanziell abgesicherte SLAs geschützt.

Was auch immer Sie entwickeln – wir unterstützen Sie bei der schnellen Markteinführung, der großflächigen Verteilung und der einfachen, sorgenfreien Verwaltung.

Fangen wir an.

Was kann Azure für Ihre Daten tun?

Entwicklerleitfaden für Azure

Mai2019

Page 24: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019

24

Tabelle 2-1

Azure stellt viele Arten von Datenspeichern bereit, die Sie bei der Verwaltung und beim Abrufen der Daten in beliebigen Szenarien unterstützen. Tabelle 2-1 zeigt die in Azure verfügbaren Speicheroptionen.

Alle Dienste sind in einer kostenlosen Version verfügbar, mit der Sie einsteigen können.

Im Folgenden werden wir uns jede dieser Speichermöglichkeiten genauer ansehen.

Speichermög- lichkeiten für Ihre Daten

SQL D

atabase*

MySQ

L*

PostgreSQL*

MariaD

B*

Azure Cosm

os D

B*

Blob*

Tabelle*

Warteschlange*

Datei*

Datenträger*

Data Lake Store*

SQL D

ata W

arehouse*

Relationale Daten ● ● ● ● ● ●

Unstrukturierte Daten ● ● ●

Teilweise strukturierte Daten ● ●

Warteschlangennachrichten ●

Dateien auf Datenträger ●

Leistungsstarke Dateien auf Datenträger ●

Umfangreiche Daten speichern ● ● ● ● ● ●

Kleine Datenmengen speichern ● ● ● ● ● ● ● ● ● ●

Geografische Datenreplikation ● ● ● ● ● ● ● ● ● ●

Einstellbare Datenkonsistenz ●

// Hinweis: Sie können fast alle in diesem Abschnitt genannten Speicheroptionen als Aktivierer und Verbindungen für Azure Functions verwenden.

* Mit einem Sternchen gekennzeichnete Dienste sind in einer kostenlosen Version verfügbar, mit der Sie gratis einsteigen können.

Page 25: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

25

Azure Cosmos DB ist eine neue Art von Datenbank, die speziell für die Cloud konzipiert ist. Zu den wichtigsten Funktionen gehören

• SLA mit einer Verfügbarkeit von 99,99 %, (99,999 % bei Lesevorgängen) und niedrigen Latenzzeiten (weniger als 10 ms bei Lesevorgängen, weniger als 15 ms bei Schreibvorgängen),

• Georeplikation, die in Echtzeit Daten auf andere geografische Regionen repliziert,

• einstellbare Datenkonsistenzebenen – damit können Sie die Datenkonsistenz festlegen und ein wirklich global verteiltes Datensystem ermöglichen. Zur Auswahl stehen verschiedene Datenkonsistenzmodelle, darunter starke Konsistenz, Sitzungskonsistenz und Eventualkonsistenz.

• Traffic Manager, der Benutzer zu den Dienstendpunkten leitet, die ihnen geografisch am nächsten sind.

• Unbegrenzte globale Skalierung, bei der Sie nur für den benötigten Durchsatz und Speicher bezahlen.

• Automatische Datenindexierung, wodurch die Datenbank nicht mehr verwaltet oder abgestimmt werden muss.

Neben allen diesen Funktionen bietet Azure Cosmos DB verschiedene APIs, mit denen Sie Daten speichern und abrufen können. Hierzu gehören SQL, JavaScript, Gremlin, MongoDB, Azure Table Storage und Apache Cassandra. Verschiedene APIs verarbeiten Daten auf unterschiedliche Weise. Sie können Dokumente als Daten verwenden, ebenso wie unstrukturierte Tabellen, Diagramme und Blobs. Sie verwenden die Ihren Anforderungen entsprechende API, und Azure Cosmos DB kümmert sich um den Rest.

Sie profitieren von einer Leistungsfähigkeit, Skalierbarkeit und Zuverlässigkeit auf Cloud-Niveau und arbeiten dennoch weiterhin mit dem für Sie gewohnten Programmiermodell.

Azure Cosmos DB

Entwicklerleitfaden für Azure

Mai2019

// Testen Sie es: Jetzt mit Azure Cosmos DB einsteigen

Page 26: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

26

Wenn Sie Tabellen mit Spalten und Zeilen zur Datenspeicherung verwenden möchten, ist Azure SQL Database eine ausgezeichnete Wahl. Weil die SQL Database – ein relationales Datenbanksystem, das der On-Premises-Lösung Microsoft SQL Server ähnelt – in der Cloud arbeitet, ist sie vollständig verwaltet, leistungsfähig und skalierbar. Außerdem wird sie automatisch gesichert und verfügt über viele erweiterte Funktionen.

Mit SQL Database haben Sie fast alle Möglichkeiten, die auch ein On-Premises-SQL Server bietet. Neue SQL Server-Funktionen werden sogar zuerst in Azure SQL Database und später in den On-Premises-SQL Server aufgenommen.

Sie können SQL Database mit den Tools verwenden, mit denen Sie am liebsten arbeiten, beispielsweise SQL Server Management Studio und Entity Framework. Datenbanken in SQL Database sind extrem zuverlässig sowie robust und bieten ein Service-Level-Agreement (SLA), das eine Verfügbarkeit von 99,99 % garantiert.

Hier finden Sie einige der erweiterten Funktionen von SQL Database:

• Georeplikation, die Daten in Echtzeit auf andere geografische Regionen repliziert.

• Dynamische Datenmaskierung, die vertrauliche Daten für bestimmte Benutzer in Echtzeit dynamisch maskiert.

• Überwachung, die einen vollständigen Überwachungspfad für alle Aktionen mit diesen Daten bereitstellt.

• Automatische Datenbankoptimierung, die die Leistung Ihrer Datenbank überwacht und automatisch justiert.

SQL Database bietet mehrere Dienstebenen, die auf spezifische Szenarien ausgerichtet sind.

• Allgemeine Zwecke/Standard: Bietet budgetorientierte, ausgeglichene und skalierbare Rechen- und Speicheroptionen. Vollständig verwaltet, mit einer Leistung, die mit Azure SQL-VMs vergleichbar ist. Diese Ebene ist die beste Wahl für die meisten geschäftlichen Workloads.

• Unternehmenskritisch/Premium: Bietet durch mehrere isolierte Replikate höchste Resilienz in Bezug auf Ausfälle. Bei konsistent hoher E/A umfasst sie eine integrierte Verfügbarkeitsgruppe für hohe Verfügbarkeit. Das ist die ideale Option für kritische OLTP-Unternehmensanwendungen (normale CRUD-Operationen) mit konsistent hohen E/A-Anforderungen.

• Hyperscale: Diese Ebene bietet den Support sehr großer Datenbanken (VLDB) ohne Aufwand. Dank einer für die Cloud optimierten Architektur mit extrem skalierbarem Speicher und Multilayer-Cache für sehr große und anspruchsvolle Workloads bietet diese Ebene geringe Latenz und hohen Durchsatz – unabhängig von der Größe der Datenvorgänge. Somit ist sie optimal für sehr große und anspruchsvolle Workloads mit hohen Speicherskalierbarkeits- und Leseskalierungsanforderungen.

Azure SQL Database

Entwicklerleitfaden für Azure

Mai2019

Page 27: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

27

Azure stellt MySQL, PostgreSQL und MariaDB -Datenbanken als verwaltete Datenbanken zur Verfügung. Sie müssen sie also nur einrichten und brauchen sich keine Gedanken über die zugrunde liegende Infrastruktur machen. Wie Azure SQL Database und Azure Cosmos DB sind diese Datenbanken allgemein verfügbar, skalierbar, hochsicher und vollständig verwaltet.

Jede dieser Datenbanken ist für etwas andere Anwendungsfälle geeignet, sie haben jedoch auch viele Funktionen gemeinsam. Sie können beispielsweise Azure-Datenbanken für MySQL, PostgreSQL und MariaDB verwenden, wenn Sie bereits mit einer On-Premises-Version davon arbeiten und die Vorteile einer vollständig verwalteten Ausführung in der Cloud nutzen möchten.

Azure Databases für MySQL, PostgreSQL und MariaDB

Entwicklerleitfaden für Azure

Mai2019

Page 28: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

28

Azure Storage ist einer der ältesten, zuverlässigsten und leistungsfähigsten Dienste in Azure. Azure Storage bietet fünf Speicherarten, die alle von den folgenden freigegebenen Funktionen profitieren:

• Georedundanz, die Daten in verschiedene Rechenzentren repliziert, sodass Sie sie im Notfall wiederherstellen können, wenn ein einzelnes Rechenzentrum ausfällt.

• Verschlüsselung von Daten zur Laufzeit

• Benutzerdefinierte Domänen

Die fünf Arten von Azure Storage sind Blob, Table, Queue, File und Disk (Abbildung 2-1).

Hosten statischer Websites auf Azure Storage

Eine weitere herausragende Funktion von Azure Storage ist das Hosting statischer Websites. Diese Funktion für statische Websites nutzt nur Blob Storage als Datenspeicher. Sie können damit eine statische Website auf Azure Storage hosten. Damit Ihre Website funktioniert, müssen Sie lediglich Ihre statische Website in den Blob Storage hochladen und angeben, welche Datei das Standarddokument (wie index.html) und welche das Fehlerdokument (wie 404.html) ist. Ihre Website läuft auf diese Weise schnell und zu äußerst geringen Kosten: Tatsächlich bezahlen Sie nur für den verwendeten Speicher; die Funktion für statische Websites erhalten Sie ohne Aufpreis. Wenn Sie darüber hinaus die Georedundanz verwenden (die standardmäßig aktiviert ist), ist Ihre Website selbst dann erreichbar, wenn Ihr primäres Rechenzentrum ausfällt.

Blob Storage Azure Blob Storage speichert große unstrukturierte Datenmengen, also im wahrsten Sinne des Wortes „Blobs” (Datenbrocken). Bei diesen Daten kann es sich um Video-, Bild-, Audio- oder Textdateien und sogar virtuelle Festplattendateien für VMs handeln.

Es gibt drei Arten von Blobs: Seitenblobs, Anfügeblobs und Blockblobs. Seitenblobs sind für zufällige Lese- und Schreibvorgänge optimiert und ideal für das Speichern einer VHD geeignet. Blockblobs sind für das effiziente Hochladen großer Datenmengen optimiert. Sie eignen sich perfekt zum Speichern großer Videodateien, die sich nicht oft ändern. Anfügeblobs sind für Anfügevorgänge optimiert,

Azure Storage

Mai2019

BlobUnstructured Large Page/

Block

DateiDateifreigabe

SMB

TabelleSemi-structured Flexible scheme Small messages

DatenträgerPremium VM-

Festplatten mit hohem E/A

QueueQueue Reliable

MSMQ

Abbildung 2-1

Entwicklerleitfaden für Azure

Page 29: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

z. B. das Speichern von Vorgangs-Log-Dateien, die nicht aktualisiert oder gelöscht werden können.

// Testen Sie es: Jetzt mit Azure Blob Storage einsteigen

Table Storage

Azure Table Storage ist ein preisgünstiger, extrem schneller NoSQL-Schlüssel-Wert-Speicher, in dem Sie Daten in flexiblen Tabellen speichern können. Eine Tabelle kann eine Zeile mit einer Beschreibung einer Bestellung und eine weitere Zeile mit Kundeninformationen enthalten. Sie müssen kein Datenschema definieren, wodurch Table Storage überaus flexibel ist.

// Testen Sie es: Jetzt mit Azure Table Storage einsteigen

Queue Storage

Azure Queue Storage ist eine ungewöhnliche Speicherart. Sie wird zur Speicherung kleiner Datennachrichten verwendet, soll vor allem aber als Warteschlange dienen. Sie stellen Nachrichten in die Warteschlange und andere Prozesse holen sie dort ab. Dieses Muster entkoppelt den Sender der Nachricht vom Nachrichtenprozessor, was sich positiv auf Leistung und Zuverlässigkeit auswirkt. Azure Queue Storage findet sich bei älteren Versionen von Windows.

// Testen Sie es: Jetzt mit Azure Queue Storage einsteigen

29

Dateispeicher

Sie können Azure File Storage als Speicher verwenden, von dem aus Dateien freigegeben werden. Er arbeitet mit dem SMB (Server Message Block)-Protokoll, sodass ein Einsatz unter Windows und Linux möglich ist und Sie darauf aus der Cloud oder von On-Premises-Systemen zugreifen können. Wie die anderen Dienste in Azure Storage ist File Storage skalierbar und kostengünstig.

// Testen Sie es: Jetzt mit Azure File Storage einsteigen

Disk Storage

Azure Disk Storage ist vergleichbar mit File Storage, aber speziell für eine hohe E/A-Leistung konzipiert. Es eignet sich hervorragend für den Einsatz als Laufwerk in einer VM, die eine hohe Leistung braucht, um z. B. SQL Server auszuführen. Disk Storage ist nur in der Premium-Preisstufe von Azure Storage verfügbar.

Azure Data Lake Store

Die bisherigen Datenspeicher waren für reguläre Anwendungen oder für den Einsatz mit VMs gedacht. Azure Data Lake Store ist dagegen ein Speicher für Big-Data-Anwendungen. Sie können ihn zum Speichern großer Datenmengen im nativen Format verwenden: ob strukturiert, unstrukturiert oder irgendetwas dazwischen. Data Lake Store dient der Speicherung Ihrer Rohdaten, damit Sie diese analysieren oder umwandeln und verschieben können.

Mai2019

Entwicklerleitfaden für Azure

Page 30: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

speichern Daten in vordefinierten Schemata und fragen diese mithilfe des bekannten SQL-Dialekts von SQL Server ab.

Da SQL Data Warehouse in Azure ausgeführt wird, stehen Ihnen zahlreiche erweiterte Funktionen zur Verfügung. Zu diesen Funktionen gehört die automatische Bedrohungserkennung, die Machine Learning verwendet, um die Muster Ihres Workloads zu verstehen und als ein Alarmsystem zu dienen, das vor einer möglichen Sicherheitsverletzung warnt.

Die Nutzung von SQL Data Warehouse bietet sich an, wenn Sie wissen, welche Berichte Sie den Benutzern zeigen möchten, und das Datenschema für diese Berichte kennen. Sie können dann Schemata in SQL Data Warehouse erstellen und mit Daten füllen, damit Benutzer durch die Daten navigieren können.

30

Nachfolgend finden Sie die Hauptmerkmale von Azure Data Lake Store: • Unbegrenzte Speicherkapazität. Eine Einzeldatei

kann größer als ein Petabyte sein – 200-mal größer als bei anderen Cloudanbietern.

• skalierbare Leistung, um massive Parallelanalysen

zu unterstützen • Sie können Daten in jedem Format ohne

Schema speichern. Dies ist ein ganz anderer Ansatz als der des traditionellen Data Warehouse, in dem Sie die Datenschemata vorab definieren.

Alle Daten von Ihren IoT-Geräten (Internet of Things), die Temperaturdaten sammeln, können Sie in einem Data Lake Store speichern. Sie können die Daten im Speicher belassen und diese dann dort filtern und eine stündliche oder wöchentliche Datenansicht erstellen. Da die Datenspeicherung in Data Lake Storage recht kostengünstig ist, können Sie die Daten vieler Jahre zu sehr geringen Kosten aufbewahren.

Azure SQL Data Warehouse Wenn Sie eine traditionelle Data Warehousing-Lösung benötigen, die vollständig verwaltet, skalierbar, leistungsfähig und sicher ist, ist Azure SQL Data Warehouse für Sie gut geeignet. Sie

Mai2019

// Testen Sie es: Erstellen Sie ein Azure SQL Data Warehouse.

// Testen Sie es: Jetzt mit dem Azure-Portal in Azure Data Lake Store einsteigen

Entwicklerleitfaden für Azure

Page 31: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Wenn Sie Daten verschieben, können Sie sie vor dem Senden an ein endgültiges Ziel filtern, bereinigen oder mit einer Aktivität in der Pipeline wie z. B. der Apache Spark-Aktivität transformieren. Darüber hinaus können Sie mit Azure Data Factory Pipelines planen und überwachen und Ihre SSIS-Pakete (SQL Server Integration Services) direkt in die Cloud auslagern („Lift and Shift“).

Azure Analysis Services

Mit Azure Analysis Services können Sie ein Semantikmodell Ihrer Daten erstellen, auf das Benutzer mit Visualisierungstools wie Power BI direkt zugreifen können. Der Dienst beruht auf den SQL Server Analysis Services-Tools, die on-premises mit SQL Server ausgeführt werden. Der Dienst wird jetzt verwaltet in der Cloud ausgeführt. Somit ist er skalierbar, und die Daten werden redundant gespeichert. Wenn Sie den Dienst nicht nutzen, können Sie ihn pausieren, um die Kosten zu senken.

Mit Azure Analysis Services können Sie den Benutzern direkt modellierte Daten zur Verfügung stellen – auf sehr leistungsstarke Weise. Die Benutzer können innerhalb von Sekunden Millionen von Datensätzen abfragen, da sich das Modell komplett im Arbeitsspeicher befindet und in regelmäßigen Abständen aktualisiert wird.

31

Fast genauso wichtig wie das Speichern von Daten sind Datenauswertungen, um Erkenntnisse zu gewinnen. Azure bietet viele Dienste für die Datenanalyse. So können Sie wertvolle, umsetzbare Erkenntnisse aus Ihren Daten gewinnen – ganz gleich, wie groß, klein oder komplex diese sind.

Azure Data Factory Das Verschieben und Transformieren von Daten ist keine einfache Aufgabe, aber Azure Data Factory kann Sie genau hierbei unterstützen. Mit Data Factory können Sie eine umfassende Pipeline erstellen, die den kompletten Vorgang der Extrahierung, Transformierung und Ladung (ETL) der Daten für Sie übernimmt.

Data Factory kann Daten zuverlässig von einem lokalen Speicherort in die Cloud, innerhalb der Cloud oder an einen lokalen Speicherort verschieben. Es spielt keine Rolle, wo sich Ihre Datenquellen befinden. Data Factory bietet zudem viele Connectors, mit deren Hilfe Sie leicht eine Verbindung mit Ihrer Datenquelle, wie z. B. SQL Server, Azure Cosmos DB, Oracle und vielen mehr, herstellen können.

Azure-Lösungen für die Datenanalyse

Mai2019

// Testen Sie es: Erstellen Sie eine Data Factory über das Azure-Portal.

Entwicklerleitfaden für Azure

Page 32: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Azure Stream Analytics

Mit Azure Stream Analytics können Sie Echtzeit-Streamingdaten analysieren, abfragen und filtern. Wenn Sie beispielsweise einen Temperaturdatenstrom von einem IoT-Gerät erhalten, erfahren Sie daraus, wie warm es draußen ist. Dabei kann es sein, dass eine Stunde lang jede Sekunde dieselbe Temperatur angegeben wird, bis sich die Temperatur ändert. Für Sie sind aber nur diese Änderungen interessant. Azure Stream Analytics kann die Daten in Echtzeit abfragen und nur die differenziellen Daten in einer Azure SQL Database speichern.

Stream Analytics kann seine Daten von vielen Diensten abrufen, beispielsweise von Azure Blob Storage, Azure Event Hubs oder Azure IoT Hub. Sie können die Daten mit einer einfachen SQL-ähnlichen Sprache oder benutzerdefiniertem Code analysieren. Nach der Abfrage und dem Filtern des Datenstroms kann Stream Analytics das Ergebnis in vielen Azure-Diensten ausgeben, darunter Azure SQL Database, Azure Storage und Azure Event Hubs.

Azure Time Series Insights

Mithilfe von Azure Time Series Insights erhalten Sie schnelle Einblicke in große Mengen von Daten – in der Regel IoT-Daten. Dieser Dienst ruft Daten aus Azure Event Hubs, IoT Hub und Ihren eigenen Referenzeingaben ab und bewahrt sie für einen festgelegten Zeitraum auf.

Sie können von überall Daten in das Semantikmodell einbringen, auch aus Datenquellen in der Cloud und on-premises. Sie können Azure Blob Storage, Azure SQL Database, Azure SQL Data Warehouse und viele andere Dienste als Datenquellen für das Modell verwenden. Auch On-Premises Active Directory sowie Access- und Oracle-Datenbanken kommen beispielsweise als Datenquellen infrage.

Azure Data Lake Analytics

Ein weiterer Azure-Dienst für Datenanalysen ist Azure Data Lake Analytics. Mit diesem Dienst können Sie riesige Mengen an Daten aus Azure Storage und Azure Data Lake Store analysieren, verarbeiten und transformieren.

Mit Azure Data Lake Analytics können Sie Aufträge erstellen und senden, die Daten abfragen, analysieren oder transformieren. Sie können diese Aufträge in U-SQL, einer SQL-ähnlichen Sprache, schreiben und U-SQL mit Microsoft R und Python erweitern.

Sie bezahlen für die Aufträge, die Sie übermitteln und ausführen, und der Dienst nimmt automat isch eine Skalierung entsprechend der für die Aufträge erforderlichen Leistung vor. Azure Data Lake Analytics wird im Allgemeinen für lang laufende Analyseaufträge bei großen Datenmengen verwendet.

32Mai2019

// Testen Sie es: Erstellen Sie einen Stream Analytics-Auftrag über das Azure-Portal.

// Testen Sie es: Erstellen Sie einen Azure Analysis Services-Server über das Azure-Portal.

// Testen Sie es: Erstellen Sie Ihr erstes U-SQL-Skript über das Azure-Portal.

Entwicklerleitfaden für Azure

Page 33: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Mit Azure Time Series Insights können Benutzer eingehende Daten somit umgehend über ein Visualisierungstool abfragen und analysieren. Time Series Insights analysiert die Daten nicht nur, sondern erfasst und bewahrt sie für eine Weile auf. Dies ist ähnlich wie bei Azure Analysis Services, wo sich die Daten In-Memory in einem Modell befinden und dort von den Benutzern abgefragt werden können. Die Hauptunterschiede liegen darin, dass Time Series Insights für das IoT und zeitbasierte Daten optimiert ist und über ein eigenes Datenvisualisierungstool verfügt.

Azure Databricks

Mit Azure Databricks können Sie einen verwalteten und skalierbaren Databricks-Cluster in der Cloud ausführen. Databricks bietet eine einheitliche Analytics-Plattform mit einer Vielzahl von Tools und Funktionen. In Databricks können Sie optimierte Versionen von Apache Spark ausführen, um erweiterte Datenanalysen vorzunehmen.

Neben Spark-basierten Analysen bietet Databricks interaktive Notizbücher sowie integrierte Workflows und Arbeitsbereiche, in denen Sie mit dem gesamten Datenteam, einschließlich Datenanalysten, Datentechnikern und Business-Analysten, zusammenarbeiten können – alle haben Zugriff auf spezialisierte Tools für ihre besonderen Anforderungen.

Databricks ist vollständig in Azure Active Directory integriert, wodurch Sie die Möglichkeit haben, granulare Sicherheit zu implementieren. Mit Databricks können Sie Spark-basierte Analysen von Daten aus vielen verschiedenen Quellen ausführen, darunter auch Azure Storage und

33

Azure Data Lake Store. Databricks kann auch mit Daten aus Azure SQL Data Warehouse, Azure SQL Database und Azure Cosmos DB verwendet werden. Zusätzlich kann Databricks in Verbindung mit Power BI eingesetzt werden, um leistungsstarke Dashboards zu erstellen und anzuzeigen.

Azure HDInsight Azure HDInsight ist eine Plattform in Azure, mit der Sie verwaltete Open-Source-Datenanalysedienste ausführen können. Sie können damit auch spezialisierte Cluster Ihrer bevorzugten Open-Source-Datenanalysetools ausführen. Wenn Sie diese Tools in Azure HDInsight ausführen, hat dies den Vorteil, dass sie bereits verwaltet sind und Ihnen die Verwaltungsarbeit der VMs sowie die Aufgabe, Betriebssysteme zu patchen, abgenommen wird. Außerdem können sie skaliert werden und problemlos untereinander, mit anderen Azure-Diensten sowie mit On-Premises-Datenquellen und -Diensten verbunden werden.

Die meisten Arten von spezialisierten Open Source-Datenanalyseclustern in Azure HDInsight verwenden Azure Blob Storage oder Azure Data Lake Store, um auf Daten zuzugreifen oder Daten zu speichern, da diese Dienste mit dem Hadoop File System arbeiten.

Sie können möglicherweise sehr große spezialisierte Cluster verschiedener Art ausführen, z. B. einen Apache Hadoop-Cluster. Damit haben Sie die Option, Daten mit Hadoop-Tools wie Hive, Pig und Oozie zu verarbeiten und zu analysieren.

Mai2019

// Testen Sie es: Entdecken Sie eine Time Series Insights-Demoumgebung über Ihren Browser.

// Testen Sie es: Führen Sie einen Spark-Auftrag in Azure Databricks über das Azure-Portal aus.

Entwicklerleitfaden für Azure

Page 34: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

34

Sie können auch einen Apache HBase-Cluster einrichten, der eine sehr schnelle NoSQL-Datenbank zur Verfügung stellt. Die Daten befinden sich in Azure Storage oder Azure Data Lake, HBase bietet darüber jedoch eine Abstraktionsschicht mit eigener Funktionalität und einzigartiger Performance.

Sie können einen Apache Storm-Cluster erstellen, der wie Azure Stream Analytics auf die Analyse von Datenströmen ausgerichtet ist. Darüber hinaus können Sie einen Apache Spark-Cluster verwenden, der einen Rahmen für die Verarbeitung und Analyse sehr großer Datenmengen bietet. HDInsight kann auch einen Cluster für Microsoft Machine Learning Server (ehemals Microsoft R Server) ausführen.

So können Sie R-basierte Aufträge zur Datenanalyse ausführen. Schließlich können Sie auch einen

Cluster erstellen, der Apache Kafka ausführt, ein Messagingsystem zum Veröffentlichen/Abonnieren, das zur Entwicklung von Anwendungen mit Warteschlangenmechanismen verwendet wird.

Es gibt noch weitere Arten von Clustern sowie Tools, die Sie in Clustern verwenden können. Mit einer Kombination dieser Cluster ist fast jede Datenanalyse- und -verarbeitungsaufgabe möglich. Alle Cluster werden dabei verwaltet in der Cloud ausgeführt. In Tabelle 2-2 finden Sie die richtigen Azure-Dienste für die Analyse Ihrer Daten.

Data Factory*

Analysedienste*

Data Lake A

nalytics*

Stream A

nalytics*

Time Series Insights*

Azure D

atabricks*

Azure H

DInsight*

Verschieben von Daten von Speicher zu Speicher ●

Datentransformation ● ● ● ● ● ● ●

Abfragen und Filtern von Streamingdaten ● ● ●

Bereitstellung eines In-Memory-Semantikmodells für Benutzer ● ● ●

Möglichkeit für Benutzer, Daten abzufragen und Dashboards zu erstellen ●

Analysieren von Daten zur späteren Verwendung ● ● ●

Tabelle 2-2

Mai2019

// Testen Sie es: Extrahieren, transformieren und laden Sie Daten mit Apache Hive auf Azure HDInsight.

* Mit einem Sternchen gekennzeichnete Dienste sind in einer kostenlosen Version verfügbar, mit der Sie gratis einsteigen können.

Entwicklerleitfaden für Azure

Page 35: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

35

Zunächst benötigen Sie Folgendes:

• Microsoft Visual Studio 2017 oder höher

• Ein kostenloses Azure-Konto, um die Schritte in dieser Anleitung durchzuführen

• Tailwind Traders Rewards-Quellcode

Exemplarische Vorgehensweise: Migration einer .NET-App zu Azure ohne Änderung des Codes

Wenn Ihre lokale Infrastruktur für Ihre Anwendung nicht mehr ausreicht, müssen Sie andere Möglichkeiten finden, wie Sie Anforderungen erfüllen können, ohne Ihre Teams zu belasten.

Die Azure-Cloud bietet verschiedene Plattformen und Dienstangebote zum Hosten von Anwendungen. Als Erstes hosten Sie mit Azure App Service die Anwendung, ohne den vorhandenen Code zu ändern.

Exemplarische Vorgehensweise: On-Premises-Website in Azure mit einer SQL-Datenbank veröffentlichen

Mai2019

Entwicklerleitfaden für Azure

Page 36: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

36

1. Starten Sie Visual Studio 2019. Sie werden sofort das vereinfachte „offene“ Erlebnis bemerken.

Starten Sie Visual Studio.

2. Klicken Sie auf die Option Klonen oder Checkout-Code und geben Sie die Tailwind Traders Rewards-Verzeichnis-URL (https://github.com/Microsoft/TailwindTraders-Rewards.git) am Ort der Coderepository ein. Klicken Sie auf Klonen. Klicken Sie unter Lösungen und Ordner auf Tailwind.Traders.Rewards.sln, um die Lösung zu öffnen.

Rewards-Klon

App veröffentlichen

3. Klicken Sie mit der rechten Maustaste auf das Projekt Tailwind.Traders.Rewards.Web, und wählen Sie Veröffentlichen aus. Das ist dasselbe Veröffentlichen-Dialogfeld, das Sie auch zur Bereitstellung auf IIS6 in Ihrer lokalen Infrastruktur verwenden können. Über dieses Veröffentlichen-Dialogfeld stellen Sie die Anwendung auf der Azure Cloud-Plattform bereit.

Mai2019

Entwicklerleitfaden für Azure

Page 37: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

37

4. Wählen Sie App Service als Veröffentlichungsziel aus. Wählen Sie im Fenster Azure App Service die Option Neu erstellen aus, und klicken Sie auf Veröffentlichen.

Veröffentlichungsoptionen

Profile erstellen

Profile erstellen

5. Geben Sie im nächsten Fenster Ihre Azure-Abonnementdaten ein und wählen Sie den App Service aus. Wählen Sie anschließend entweder vorhandene Optionen für Ressourcengruppe, Hostingplan und Application Insights aus, oder erstellen Sie neue. Klicken Sie rechts auf die Option Eine SQL-Datenbank erstellen, und erstellen Sie in dem Fenster, das sich daraufhin öffnet, einen neuen Server und eine neue Datenbank. Klicken Sie zuletzt auf Erstellen, um ein Veröffentlichungsziel zu erstellen. Alternativ können Sie die Azure SQL-Datenbank auch direkt auf dem Azure-Portal erstellen.

Mai2019

Entwicklerleitfaden für Azure

Page 38: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

38

6. Klicken Sie im Fenster „Veröffentlichen“ auf Konfigurieren, um die Datenbank-Verbindungszeichenfolgen zu überprüfen. Um die Datenbank-Verbindungszeichenfolgen auszufüllen, wählen Sie die Schaltfläche mit den Auslassungspunkten aus und geben die SQL-Datenbankdaten ein. Wenn Sie auf Veröffentlichen klicken, wird die Webkonfigurationsdatei mit dieser Datenbankzeichenfolge aktualisiert, die auf eine SQL-Datenbank verweist.

Beim lokalen Debuggen der Anwendung sind die lokalen ISS (Internet Information Services) und der lokale SQL-Server aktiv. Wenn die App veröffentlicht wird, wird sie jedoch durch die erstellten Azure-Dienste ersetzt.

7. Klicken Sie auf Veröffentlichen, um die Anwendung in Azure App Service und das Back-End in der SQL-Datenbank bereitzustellen.

Datenbank-Verbindungszeichenfolgen

App veröffentlichen

Mai2019

Entwicklerleitfaden für Azure

Page 39: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

39

Veröffentlichen erfolgreich

Weiterführende Literatur

Wenn Sie mehr über Daten und Datenanalysen erfahren möchten, können Sie die folgenden E-Books herunterladen:

Web-App

Mai2019

// Leitfaden zu NoSQL mit Azure Cosmos DB

// Azure für Architekten

// Migration von .NET-Apps zu Azure

8. Sobald die App veröffentlicht wurde, wird der Status Veröffentlichen erfolgreich angezeigt, und die Web-App öffnet sich im Browser. Die Website zeigt nun Daten von der SQL-Datenbank.

Entwicklerleitfaden für Azure

Page 40: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

40

Mus ma dolor duciuscit, odit volupis as volo eos et libusci duntem commo es nit etur sit dolum earum

Duntiaspel is vel estotatem qui qui sitatio nsedit, ea sere volor molupta dolut officto blaut omnimenem fugitas et omnihil lestibea veliquia conem estiae quidi aut facearchilit quidelia peri conserrum, qui utaquiasit utaquiae reperum re et fugitibus re porepedit faciminciae lant et dolorpos et volum se doloreh endigenis pratibus quis in natem.

Sedicil labores citatem natem sedit autet volorit, quos ut lameniatur? Um enimagnis minctur simillab is arum quatinverro te destibus, tem adis eum rehenia si omnimusam veni nossita.

40Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

4040

Sicherung Ihrer Anwendung

Entwicklerleitfaden für Azure

Mai2019

03 /

Page 41: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

41

Gab es bei einer Ihrer Anwendungen schon einmal einen sicherheitsrelevanten Vorfall? Vielleicht war das schon einmal der Fall, ohne dass es Ihnen aufgefallen ist. Mit Azure können Sie Daten, Anwendungen und die Infrastruktur schützen – mit integrierten Sicherheitsdiensten, die auch Sicherheitsintelligenz enthalten, um aufkommende Bedrohungen frühzeitig schnell zu erkennen. So können Sie rasch reagieren.

Azure unterstützt Sie außerdem dabei, eine mehrschichtige, tiefgreifende Sicherheitsstrategie für Identitäten, Daten, Hosts und Netzwerke zu implementieren. Mit Diensten wie dem Azure Security Center erhalten Sie eine Übersicht über Ihren Sicherheitsstatus und Empfehlungen zur Erhöhung der Sicherheit.

Am wichtigsten ist: Sobald es zu einem sicherheitsbezogenen Problem kommt, werden Sie benachrichtigt – und wissen daher immer Bescheid, wenn eine Bedrohung vorliegt. Auf diese Weise können Sie unmittelbar Maßnahmen einleiten, um Ihre Ressourcen zu schützen. Einige davon sehen wir uns in diesem Kapitel einmal genauer an.

Azure Active Directory

Die Sicherheit Ihrer Anwendung kann nur gewährleistet werden, wenn sich die Benutzer vorab authentifizieren müssen. Doch die Authentifizierung lässt sich nicht ganz einfach implementieren.

Wie können Sie mit Azure Ihre App schützen?

Entwicklerleitfaden für Azure

Mai2019

Page 42: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Bei diesen geheimen Daten kann es sich um die Anmeldeinformationen in einer Verbindungszeichenfolge handeln. Ihre Anwendung erhält in diesem Fall die Verbindungszeichenfolge von Key Vault und nicht aus dem Konfigurationssystem. Somit können die Administratoren die geheimen Daten kontrollieren und die Entwickler müssen sich nicht damit befassen. Key Vault speichert auch SSL und andere Zertifikate, mit denen der Datenverkehr zu und von Ihren Anwendungen über HTTPS gesichert wird.

Azure Sentinel

Mit einer SIEM-Plattform (Security Information and Event Management) erhalten Sie eine gute Übersicht über den Sicherheitsstatus Ihres Unternehmens und all seiner Benutzer, Anwendungen, Dienste und Daten. Azure bietet jetzt eine KI-gestützte SIEM-Lösung in Form von Azure Sentinel.

Mit Azure Sentinel erfassen Sie Daten aus Ihrem Unternehmen, darunter auch Daten zu Benutzern, Anwendungen, Servern und Infrastrukturressourcen wie Firewalls und Geräte, die in der Cloud und on-premises ausgeführt werden. Dank der integrierten Connectors ist es ein Leichtes, Daten aus Ihrem Unternehmen zu sammeln. Während Daten erfasst werden, erkennt Azure Sentinel Sicherheitsbedrohungen. Fehlalarme werden dabei dank der intelligenten Machine-Learning-Algorithmen minimiert.

Wenn eine Bedrohung vorliegt, werden Sie gewarnt und können den Vorfall mithilfe von KI untersuchen. Dabei profitieren Sie von der jahrzehntelangen Erfahrung, über die Microsoft im Bereich Cybersicherheit verfügt. Mit der in Azure Sentinel integrierten Workfloworchestrierung und Aufgabenautomatisierung können Sie auf Vorfälle reagieren.

42

So müssen Sie unter anderem Benutzeridentitäten und Anmeldeinformationen speichern, eine Kennwortverwaltung einrichten und eine sichere Handshake-Authentifizierung erstellen.

Azure Active Directory (Azure AD) bietet all das und noch mehr standardmäßig. Sie speichern Ihre Benutzeridentitäten in Azure AD. Benutzer authentifizieren sich dort und werden nur dann an Ihre Anwendung weitergeleitet, wenn die Authentifizierung erfolgreich war. Azure AD erledigt das Kennwort-Management, inklusive der Auflösung häufiger Szenarien wie vergessene Kennwörter.

Da Azure AD tagtäglich von Millionen Anwendungen genutzt wird, darunter auch Azure-Portal, Outlook.com und Office 365, kann es schädliches Verhalten besser erkennen und entsprechend reagieren. Wenn sich ein Benutzer beispielsweise in Europa und eine Minute später in Australien bei einer Anwendung anmeldet, kennzeichnet Azure AD dieses Verhalten als bösartig. Der Benutzer wird dann aufgefordert, über die mehrstufige Authentifizierung weitere Angaben zu machen.

Azure Key Vault

Sie benötigen für Ihre Sicherheitsarchitektur einen sicheren Ort, an dem Sie Zertifikate, Schlüssel und andere geheime Daten speichern und verwalten können. Azure Key Vault bietet diese Möglichkeit. Mit Key Vault können Sie die von Ihren Anwendungen verwendeten geheimen Daten an einem zentralen Speicherort aufbewahren.

Mai2019

// Testen Sie es: Jetzt mit Azure Key Vault einsteigen

// Jetzt mit der Einarbeitung in Azure Sentinel einsteigen

Entwicklerleitfaden für Azure

Page 43: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

43

Azure API Management

APIs sollten sicher sein. Dies gilt für die von Ihnen selbst erstellten APIs genauso wie für APIs, die Sie von Drittanbietern erhalten haben. Um Ihre APIs zu schützen, können Sie Azure API Management nutzen. Dabei handelt es sich im Grunde um einen Proxy, den Sie vor die APIs setzen. Dieser Proxy bietet Funktionen wie Caching, Drosselung und Authentifizierung bzw. Autorisierung.

Mit API Management schützen Sie eine API, indem Sie von den Benutzern verlangen, ein Abonnement dafür zu erstellen. Auf diese Weise müssen sich Anwendungen authentifizieren, bevor sie Ihre API nutzen können. Verschiedene Authentifizierungsmethoden wie Security-Token, Standardauthentifizierung und Zertifikate stehen Ihnen zur Verfügung. Zudem können Sie nachverfolgen, wer Ihre API aufruft, und unerwünschte Aufrufer blockieren.

Weit mehr als nur Sicherheit

Zwar ist Sicherheit entscheidend, Azure API Management bietet jedoch weitere Funktionen zur Optimierung Ihres Entwicklungs- und Testworkflows. Hierzu gehören beispielsweise die Simulation von Testdatenantworten, die Veröffentlichung mehrerer API-Versionen, die sichere Einführung von Änderungen, die die Anwendung nicht beeinträchtigen, bei Überarbeitungen und der Zugriff auf die automatisch generierte Dokumentation zu Ihrer API, den API-Katalog und Codebeispiele für Entwickler.

Azure AD-Anwendungsproxy

Azure AD-Anwendungsproxy bietet Single Sign-on (SSO) und sicheren Remotezugriff für on-premises gehostete Web-Anwendungen. Zu den Apps, die Sie vermutlich veröffentlichen möchten, gehören SharePoint-Websites, Outlook Web Access und andere Line-of-Business (LOB)-Web-Anwendungen. Diese On-Premises-Web-Apps werden in Azure AD, die auch von Office 365 verwendete Identitäts- und Steuerungsplattform, integriert. Anwender können genauso auf Ihre On-Premises-Anwendungen zugreifen, wie sie dies bei Office 365 und anderen in Azure AD integrierten SaaS-Apps tun.

Verwaltete Identitäten für Azure-Ressourcen

Wie können Sie Anmeldeinformationen vollständig aus Ihrem Code heraushalten? Zunächst einmal mithilfe von Azure Key Vault. Doch wo speichern Sie die Anmeldeinformationen für die Verbindung? Verwaltete Identitäten für Azure-Ressourcen stellen eine Lösung dar.

Sie können verwaltete Identitäten für zahlreiche Dienste in Azure verwenden, darunter auch Azure App Service. Sie aktivieren Managed Identity einfach über eine Schaltfläche, um Anmeldeinformationen zur Laufzeit in die Anwendung einzufügen, und verwenden dann diese Anmeldeinformationen für den Zugriff auf andere Dienste wie Azure Key Vault. Jede Authentifizierung zwischen Diensten erfolgt auf Infrastrukturebene. Ihre Anwendung muss sich also nicht damit auseinandersetzen und kann einfach andere Dienste verwenden.

Mai2019

// Testen Sie es: Verwendung von verwalteten Identitäten für Azure-Ressourcen in App Service und Azure Functions

// Testen Sie es: Jetzt mit Azure API Management einsteigen

Entwicklerleitfaden für Azure

Page 44: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

44

Standard-Datenverschlüsselung

Ihre Daten sind in Azure standardmäßig verschlüsselt, wenn sie in Azure SQL Database, Azure SQL Data Warehouse, der Azure-Datenbank für MySQL, der Azure-Datenbank für PostgreSQL, Azure Storage, Azure Cosmos DB oder Azure Data Lake Store gespeichert sind. Diese Verschlüsselung wird automatisch ausgeführt. Sie müssen nichts konfigurieren.

Zur Erfüllung von Sicherheits- und Compliance-Anforderungen können Sie die folgenden Features für die Verschlüsselung von Daten im Ruhezustand verwenden:

• Azure Disk Encryption verschlüsselt Windows- und Linux-Infrastructure-as-a-Service (IaaS)-Starts virtueller Maschinen und Datenmengen mittels kundenverwalteter Schlüssel.

• Azure Storage Service Encryption verschlüsselt Daten automatisch, bevor sie in Azure Storage persistent gespeichert werden, und entschlüsselt sie automatisch, wenn Sie die Daten abrufen.

• Azure Client-Side Encryption unterstützt die Verschlüsselung von Daten in Clientanwendungen, bevor sie zu Azure Storage oder anderen Endpunkten hochgeladen werden, und entschlüsselt Daten, wenn sie zum Client heruntergeladen werden.

• SQL Transparent Data Encryption (TDE) verschlüsselt SQL Server-, Azure SQL Database- und Azure SQL Data Warehouse-Datendateien. Daten und Protokolldateien werden mittels Verschlüsselungsalgorithmen verschlüsselt, die Branchenstandards entsprechen. Die Seiten in einer Datenbank werden verschlüsselt, bevor sie auf die Festplatte geschrieben werden, und entschlüsselt, wenn sie gelesen werden.

• SQL Always Encrypted verschlüsselt Daten in Clientanwendungen, bevor sie in Azure SQL Database gespeichert werden. Das Feature ermöglicht die Delegierung der On-Premises-Datenbankadministration an Dritte und wahrt die Trennung zwischen den Benutzern, die die Daten besitzen und anzeigen können, und Benutzern, die die Daten zwar verwalten, jedoch nicht auf diese zugreifen sollten.

• Azure Cosmos DB erfordert keine Aktionen Ihrerseits – in Azure Cosmos DB im nicht flüchtigen Speicher (Solid State Drives) gespeicherte Benutzerdaten werden standardmäßig verschlüsselt, und es gibt keine Steuerelemente, mit denen dies aktiviert oder deaktiviert werden kann.

Verschlüsselung

Mai2019

Entwicklerleitfaden für Azure

Page 45: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

45

Azure Security Center stellt eine vereinheitliche Sicherheitsverwaltung und einen erweiterten Schutz vor Bedrohungen für Hybrid Cloud-Workloads bereit. Das Feature bietet zentralisierte Richtliniensteuerelemente, um die Gefährdung durch Bedrohungen zu begrenzen und Schwachstellen schnell zu finden und zu beseitigen.

Darüber hinaus unterstützt Security Center die Integration in Drittanbieterlösungen und kann mithilfe von Automatisierungs- und Programmierungsfunktionen angepasst werden. Sie können Security Center für die Analyse des Sicherheitsstatus von Datenverarbeitungsressourcen, virtuellen Netzwerken, Speicher- und Datendiensten sowie Anwendungen verwenden. Eine kontinuierliche Bewertung hilft, mögliche Sicherheitsprobleme zu entdecken, beispielsweise Systeme mit fehlenden Sicherheitsupdates oder verfügbar gemachten Netzwerkports. Eine Liste mit priorisierten Beobachtungen und Empfehlungen kann Warnungen oder andere angeleitete Abhilfemaßnahmen auslösen.

Azure DDoS Protection

Sie haben es zu oft in den Nachrichten gehört und möchten sicherlich nicht, dass es in Ihrem Unternehmen passiert: Eine Anwendung ist zum Ziel eines Distributed-Denial-of-Service (DDoS)-Angriffs geworden. Diese Arten von Angriffen werden häufiger und können Ihre Anwendung bis zu einem Punkt auslasten, an dem sie von niemandem mehr verwendet werden kann. Der Dienst Azure DDoS Protection bietet Schutz vor DDoS-Angriffen auf einer kostenlosen Stufe (Basic) und einer kostenpflichtigen Stufe (Standard).

Sie müssen nichts unternehmen, um die Stufe „Basic“ zu aktivieren. Sie ist automatisch für jeden Kunden als Teil der Azure-Plattform aktiviert. Dieser Dienst schützt Ihre Anwendungen mittels Echtzeitüberwachung und Schadensminderung vor den häufigsten DDoS-Angriffen und nutzt dabei dieselben Verteidigungstechniken wie die Microsoft-Onlinedienste (MOS).

Die Stufe „Standard“ bietet zusätzliche Funktionen für die Schadensminderung, die speziell an Azure Virtual Network-Ressourcen angepasst sind. Sie ist einfach zu aktivieren, ohne dass Sie Ihre Anwendungen ändern müssen, da alles auf der Netzwerkebene geschieht. Darüber hinaus können Sie mit der Stufe „Standard“ den Schutz auf der Stufe „Basic" durch eigene Richtlinien anpassen, die sich auf Ihre spezifischen Anwendungsfälle und Anwendungen konzentrieren.

Azure VPN Gateway

Eine der zahlreichen Optionen für die Verbindung von Azure mit Ihrem On-Premises-Netzwerk ist Azure VPN Gateway. Damit können Sie eine verschlüsselte Standort-zu-Standort (S2S)-VPN-Verbindung zwischen einem virtuellen Azure-Netzwerk und Ihrem On-Premises-Netzwerk herstellen.

Der Datenverkehr wird verschlüsselt und ist somit sicher – selbst, wenn er im öffentlichen Internet übertragen wird. VPN Gateway kann verschlüsselten Datenverkehr zwischen virtuellen Azure-Netzwerken über das Microsoft-Netzwerk senden.Sie können auch verschlüsselte S2S-Verbindungen von Ihrem Computer mit Azure einrichten. Auf diese Weise steht Ihnen eine private, sichere Verbindung mit Azure zur Verfügung – sogar unterwegs.

Azure Security Center

Mai2019

// Weitere Informationen Erfahren Sie mehr über Azure DDoS Protection.

Entwicklerleitfaden für Azure

Page 46: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

46

Azure Application Gateway

Azure Application Gateway ist eine dedizierte virtuelle Appliance, die einen Anwendungsbereitstellungs-Controller (Application Delivery Controller, ADC) als Service bereitstellt. Die Appliance bietet verschiedene Layer 7-Funktionen für den Lastausgleich und ermöglicht Kunden die Optimierung der Produktivität ihrer Webfarmen, indem die rechenintensive SSL-Beendigung zum Anwendungs-Gateway ausgelagert wird. Der Gateway stellt darüber hinaus weitere Layer-7 Routingfunktionen bereit, einschließlich der Roundrobin-Verteilung des eingehenden Datenverkehrs, der Cookie-basierten Sitzungsaffinität, des auf dem URL-Pfad basierenden Routings und der Möglichkeit, mehrere Websites hinter einem einzigen Anwendungs-Gateway zu hosten.

Azure Web Application Firewall

Sie müssen Ihre Anwendung vor zahlreichen Bedrohungen schützen. Dazu gehören die Bedrohungen, die im Open Web Application Security Project (OWASP) definiert werden, wie etwa die Einschleusung von SQL-Befehlen oder die Website-übergreifende Skripterstellung (Cross-Site Scripting, XSS). Eine WAF von Azure kann Sie dabei unterstützen. WAF ist ein Feature des Azure Application Gateway -Dienstes, das Ihrer Anwendung Echtzeitschutz bereitstellt. Es kann bösartige Angriffe, wie im OWASP-Kernregelsatz definiert, erkennen und diese Angriffe blockieren, bevor sie Ihre Anwendung erreichen. Das Feature meldet darüber hinaus versuchte oder aktuell ausgeführte Angriffe, sodass Sie die aktiven Bedrohungen für Ihre Anwendung erkennen können. Dies bietet zusätzlichen Schutz.

Azure Network Watcher

Azure Network Watcher ist ein regionaler Dienst, mit dem Sie Bedingungen auf Netzwerkebene überwachen und diagnostizieren können, was den Datenverkehr in, zu und aus Azure betrifft.

Die zahlreichen Diagnose- und Visualisierungstools des Diensts helfen Ihnen, Ihr Netzwerk in Azure besser zu verstehen und tiefere Einsichten zu erhalten.

Beispiele sind:

• Topologie: Dabei handelt es sich um eine Ansicht auf Netzwerkebene, die die verschiedenen Verbindungen und Verknüpfungen zwischen den Netzwerkressourcen in einer Ressourcengruppe zeigt.

• Variable Paketerfassung: Dieses Tool erfasst Daten zu Paketen, die an virtuelle Maschinen bzw. aus virtuellen Maschinen gesendet werden. Erweiterte Filteroptionen und optimierte Steuerelemente, wie die Möglichkeit, Zeit- und Größeneinschränkungen festzulegen, bieten Flexibilität. Die Datenpakete können in einem Blob-Speicher oder auf der lokalen Festplatte im CAP-Format gespeichert werden.

• IP-Flussprüfung: Dieses Tool prüft, ob ein

Paket zugelassen oder abgelehnt wird, basierend auf 5-Tupel-Paketparametern und -Flussinformationen (Ziel-IP, Quell-IP, Ziel-Port, Quell-Port und Protokoll). Wenn das Paket von einer Sicherheitsgruppe abgelehnt wird, werden die Regel und die Gruppe, die das Paket abgelehnt hat, zurückgegeben.

Mai2019

// Jetzt mit der Erstellung eines Azure VPN Gateways mit PowerShell einsteigen

Entwicklerleitfaden für Azure

Page 47: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

47

Netzwerksicherheitsgruppen

Eine Netzwerksicherheitsgruppe (NSG) enthält eine Liste von Sicherheitsregeln, die Netzwerkverkehr zu Ressourcen zulassen oder ablehnen, die mit Azure Virtual Networks verbunden sind. NSGs können mit Subnetzen, individuellen VMs (VMs im klassischen Stil) oder einzelnen Netzwerkschnittstellen (Network Interface Controllers, NICs) verknüpft sein, die VMs (im Stil von Resource Manager) zugeordnet sind. Wenn eine NSG mit einem Subnetz verknüpft ist, gelten die Regeln für alle mit dem Subnetz verbundenen Ressourcen. Sie können den Datenverkehr weiter einschränken, indem Sie eine NSG mit einer VM oder NIC verknüpfen.

Azure DNS Private Zones

Das DNS ist für die Übersetzung (oder Auflösung) eines Dienstnamens zur IP-Adresse verantwortlich. Azure DNS ist ein Hostingdienst für DNS-Domänen, der Namen mithilfe der Azure-Infrastruktur auflöst. Mit Azure DNS Private Zones unterstützt Azure DNS zusätzlich zu DNS-Domänen im Internet jetzt auch private DNS-Domänen in einem Vorschaufeature. Zu den Vorteilen, die private DNS-Zonen für die Sicherheit haben, gehört die Möglichkeit, eine geteilte DNS-Infrastruktur zu erstellen. Auf diese Weise können Sie private und öffentliche DNS-Zonen mit denselben Namen erstellen, ohne interne Namen verfügbar zu machen. Darüber hinaus beseitigt die Verwendung des Features „Azure DNS Private Zones“ die Notwendigkeit, angepasste DNS-Lösungen einzuführen, die die allgemeine Angriffsfläche aufgrund unabhängiger Aktualisierungs- und Verwaltungsanforderungen vergrößern könnten.

Standortübergreifende VPNs

Azure unterstützt zwei Arten von standortübergreifenden VPN-Verbindungen: P2S-VPN und S2S-VPN. Eine 2S-VPN-Verbindung ermöglicht Ihnen die Erstellung einer sicheren Verbindung mit Ihrem virtuellen Netzwerk an einem einzelnen Clientcomputer. Diese Art der Verbindung wird vom Clientcomputer aus eingerichtet. Dies ist hilfreich für mobile Mitarbeiter, die sich an Remotestandorten mit Azure Virtual Networks verbinden möchten. Eine P2S-VPN-Verbindung ist auch nützlich, wenn Sie nur wenige Clients haben, die eine Verbindung mit einem virtuellen Netzwerk herstellen müssen. Im Gegensatz hierzu wird eine S2S-VPN-Verbindung verwendet, um Ihr On-Premises-Netzwerk über einen IPsec/IKE (IKEv1 oder IKEv2)-VPN-Tunnel mit einem virtuellen Azure-Netzwerk zu verbinden. Diese Art der Verbindung erfordert ein VPN-Gerät, das sich on-premises befindet und eine extern ausgerichtete, öffentliche IP-Adresse besitzt.

Mai2019

// Erfahren Sie mehr: Lesen Sie mehr über P2S- und S2S-VPNs

// Erfahren Sie mehr: Lesen Sie mehr über DNS Private Zones

Entwicklerleitfaden für Azure

Page 48: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

48

Azure ExpressRoute

Azure ExpressRoute ermöglicht Ihnen die Erweiterung Ihrer On-Premises-Netzwerke in die Microsoft-Cloud über eine sichere private Verbindung, die durch einen Konnektivitätsanbieter bereitgestellt wird, ohne dass das Internet durchquert wird. Mit ExpressRoute können Sie Verbindungen mit Microsoft-Clouddiensten wie Azure, Office 365 und Dynamics 365 herstellen.

Azure Load Balancer

Mithilfe des Lastenausgleichs können Sie die Verfügbarkeit von Anwendungen verbessern. Azure unterstützt sowohl den externen als auch den internen Lastenausgleich in einer öffentlichen oder internen Konfiguration.

Darüber hinaus können Sie den Lastenausgleich so konfigurieren, dass er Ports für hohe Verfügbarkeit (High Availability, HA) unterstützt. Dabei ist eine HA-Port-Regel eine Variante einer Lastenausgleichsregel, konfiguriert auf dem internen Standard Load Balancer. Sie können mit einer einzigen Regel einen Lastenausgleich für alle TCP- und UDP-Flüsse an allen Ports eines internen Lastenausgleichs herstellen.

Mai2019

// Weitere Informationen: Lesen Sie mehr über Load Balancer und Regeln für HA-Ports

Entwicklerleitfaden für Azure

Page 49: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

49

Azure Log Analytics

Azure Log Analytics unterstützt Sie bei der Sammlung und Analyse von Daten, die von Ressourcen in Ihren Cloud- und On-Premises-Umgebungen generiert wurden. Das Feature bietet Echtzeiteinsichten durch die Verwendung einer integrierten Suchfunktion und benutzerdefinierter Dashboards, um Millionen von Datensätzen für alle Workloads und Server unabhängig vom physischen Speicherort zu analysieren.

Azure Monitor

Azure Monitor unterstützt die grundlegende Überwachung von Azure-Diensten durch die Sammlung von Metriken, Aktivitäts-und Diagnose-Log-Dateien. Die erfassten Metriken stellen Leistungsstatistiken für verschiedene Ressourcen bereit, einschließlich des mit einer VM verknüpften Betriebssystems.

Die Aktivitäts-Log-Dateien zeigen an, wenn neue Ressourcen erstellt oder geändert werden. Sie können diese Daten in einem der Explorer im Azure-Portal anzeigen und sie zur Erstellung von Trend- und Detailanalysen an Log Analytics senden oder Regeln für Warnungen erstellen, um proaktiv über kritische Probleme benachrichtigt zu werden.

Fluss-Log-Dateien für Azure NSG

Als Feature von Network Watcher ermöglichen Fluss-Log-Dateien für Azure NSG Ihnen die Anzeige von Informationen zu dem IP-Verkehr, der über eine NSG ein- und ausgeht. Fluss-Log-Dateien können analysiert werden, um Informationen und Einsichten in den Netzwerkverkehr sowie Sicherheits- und Leistungsprobleme im Zusammenhang mit diesem zu erhalten.

Obwohl Fluss-Log-Dateien auf NSGs ausgerichtet sind, werden sie nicht wie andere Log-Dateien angezeigt und lediglich in einem Speicherkonto gespeichert.

Azure Monitor Application Insights

Azure Monitor Application Insights ist ein erweiterbarer APM-Dienst (Application Performance Management) für Webentwickler, die auf mehreren Plattformen arbeiten. Der Dienst umfasst leistungsstarke Analysetools, die Sie bei der Diagnose von Problemen unterstützen und Ihnen zeigen, wie Benutzer Ihre App verwenden. Er ist für Anwendungen auf einer Vielzahl von Plattformen geeignet, die On-Premises oder in der Cloud gehostet werden, darunter .NET, Node.js und J2EE.

Protokollierung und Überwachung

Mai2019

Entwicklerleitfaden für Azure

Page 50: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Azure-Dokumentation zu Technologie und Architektur der Sicherheit

Für Azure ist eine umfangreiche Bibliothek mit einer technischen Sicherheitsdokumentation verfügbar, die Sicherheitsinformationen für einzelne Dienste ergänzt. Auf der Azure Security Information-Webseite finden Sie Whitepaper, Dokumente mit Beschreibungen bewährter Methoden und Checklisten.

Darüber hinaus werden wichtige Sicherheitsthemen im Zusammenhang mit der Public Cloud für verschiedene Bereiche abgedeckt, darunter Netzwerksicherheit, Speichersicherheit, Computersicherheit, Identitäts- und Zugriffsverwaltung, Protokollierung und Auditierung, Schutz von Workloads in der Cloud, PaaS-Sicherheit und mehr.

Weiterführende Literatur

Erfahren Sie mehr über Azure-Sicherheit in den folgenden kostenlosen E-Books.

50

Application Insights kann in Ihren DevOps-Prozess integriert werden und verfügt über Schnittstellen zu zahlreichen Entwicklungstools. Es kann mit Visual Studio App Center integriert werden, um Telemetriedaten aus mobilen Apps zu überwachen und zu analysieren.

Azure Security and Compliance Blueprint

Der Azure Security and Compliance Blueprint – HIPAA/HITRUST Health Data and AI stellt Tools und Anleitungen für die Bereitstellung einer Platform-as-a-Service (PaaS)-Umgebung bereit, um die Compliance mit dem Health Insurance Portability and Accountability Act (HIPAA) und Health Information Trust Alliance (HITRUST) sicherzustellen.

Diese PaaS-Lösung unterstützt den Import, die Speicherung und die Analyse personenbezogener und nicht personenbezogener medizinischer Datensätze in einer sicheren, mehrschichtigen Cloudumgebung als End-to-End-Lösung und ermöglicht Benutzern, mit diesen zu interagieren. Der Blueprint enthält eine grundlegende Referenzarchitektur, die auch auf Anwendungsfälle außerhalb des Gesundheitswesens angewendet werden kann. Er wurde entwickelt, um die Einführung von Azure zu vereinfachen.

Mai2019

// Weitere Informationen: Lesen Sie mehr über Azure Security and Compliance Blueprint

// Enterprise Cloud-Strategie

// Azure für Architekten

// Weitere Informationen: Lesen Sie mehr über die Azure-Seite mit Sicherheitsinformationen.

Entwicklerleitfaden für Azure

Page 51: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

51

Mus ma dolor duciuscit, odit volupis as volo eos et libusci duntem commo es nit etur sit dolum earum

Duntiaspel is vel estotatem qui qui sitatio nsedit, ea sere volor molupta dolut officto blaut omnimenem fugitas et omnihil lestibea veliquia conem estiae quidi aut facearchilit quidelia peri conserrum, qui utaquiasit utaquiae reperum re et fugitibus re porepedit faciminciae lant et dolorpos et volum se doloreh endigenis pratibus quis in natem.

Sedicil labores citatem natem sedit autet volorit, quos ut lameniatur? Um enimagnis minctur simillab is arum quatinverro te destibus, tem adis eum rehenia si omnimusam veni nossita.

51Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

5151

Intelligentere Anwendungen

Entwicklerleitfaden für Azure

Mai2019

04 /

Page 52: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

52

Mit KI kann sich Ihre Anwendung von denen Ihrer Mitbewerber abheben. Stellen Sie sich einmal vor, was Sie alles entwickeln könnten: Apps, die das gesprochene Wort in Echtzeit übersetzen, noch während eine Person spricht, oder eine App, mit deren Hilfe Sie in einem Mixed-Reality-Training Motorteile identifizieren können. Es gibt vielfältige Möglichkeiten. Aber die Entwicklung einer KI-gestützten App scheint eine große Herausforderung zu sein. Wie können Sie z. B. einen Algorithmus erstellen, der Sprache verstehen kann? Glücklicherweise müssen Sie nicht alles allein schaffen. Azure hilft Ihnen weiter. Azure hält viele KI-Dienste bereit, die Sie einfach in Ihre Anwendung integrieren können, z. B. den Sprachübersetzungsdienst (ein Dienst in Azure Cognitive Services), der die gesprochene Sprache in Echtzeit übersetzt.

Wenn Sie einen Dienst wie diesen verwenden, können Sie die KI einfach nutzen. Mit Diensten wie Azure Machine Learning Studio und Azure Machine Learning Service können Sie aber auch Ihre eigenen Machine-Learning-Algorithmen entwickeln.

Wie können Sie mit Azure KI in Ihre App integrieren?

Entwicklerleitfaden für Azure

Mai2019

Page 53: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

53

Azure Search*

Azure Cognitive

Services*

Azure Bot Service*

Azure M

achine Learning Studio*

Azure M

achine Learning*

Azure Spatial

Anchors*

Azure Rem

ote Rendering*

Verschieben von Daten von Speicher zu Speicher ●

Datentransformation ● ● ● ● ● ● ●

Abfragen und Filtern von Streamingdaten ● ● ●

Bereitstellung eines In-Memory-Semantikmodells für Benutzer ● ● ●

Möglichkeit für Benutzer, Daten abzufragen und Dashboards zu erstellen ●

Analysieren von Daten zur späteren Verwendung ● ● ●

Tabelle 4-1

Entwicklerleitfaden für Azure

Mai2019

Was ist wann zu verwenden?

Bevor wir auf die Optionen für KI in Azure eingehen, sehen wir uns einmal Tabelle 4-1 an. Sie fasst zusammen, welche Dienste erhältlich sind und welche Funktionen sie bieten.

* Mit einem Sternchen gekennzeichnete Dienste sind in einer kostenlosen Version verfügbar, mit der Sie gratis einsteigen können.

Page 54: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

54

Azure Search ist eine gängige Funktion in den meisten Anwendungen, und dennoch ist es schon immer schwierig gewesen, sie zu implementieren. Azure Search stellt einen großen Teil des Codes bereit, der für Suchfunktionen benötigt wird. Sie richten lediglich eine Azure Search-Instanz ein, erstellen zur Unterstützung von Suchvorgängen einen Index und füllen ihn mit Daten. Das bedeutet, dass Sie einfach Azure Search implementieren könnten, damit Benutzer den Produktkatalog in Ihrer E-Commerce-Anwendung durchsuchen können.

Sie haben zahlreiche Möglichkeiten, Azure Search anzupassen. Darüber können Sie viele herausragende Features nutzen, um Suchvorgänge für Ihre Benutzer zu vereinfachen, z. B.:

• die Geo-Suchfunktion, mit der Benutzer Daten basierend auf der Nähe eines Suchergebnisses zu einem physischen Standort suchen können.

• Sprachanalyseprogramme von Apache Lucene und die für 56 Sprachen verfügbare NLP von Microsoft, die sprachspezifische linguistische Merkmale intelligent verarbeiten können. Dies schließt Verbformen, Genus, Pluralformen (wie „Maus” und „Mäuse”), Auflösungen von Wortzusammensetzungen und Worttrennungen (bei Sprachen ohne Leerzeichen) ein.

• Überwachung und Berichterstellung, die Ihnen Informationen dazu bereitstellen, wonach gesucht wurde und wie schnell und erfolgreich die Suche war.

• Benutzerfreundliche Funktionen wie Sortieren und Blättern in den Suchergebnissen sowie intelligente Filter und die Bereitstellung von Suchvorschlägen.

• Cognitive Search, das ein KI-basierter Ansatz zur Interpretation von Inhalten ist. Cognitive Search basiert auf den integrierten Cognitive Services von Azure Search. Das Feature nutzt Daten aus so gut wie jeder Quelle und wendet einen Satz von kombinierbaren kognitiven Funktionen an, die Informationen extrahieren. Diese Informationen werden anschließend organisiert und in einem Index gespeichert. Damit können die Daten mit Azure Search auf neue Arten durchsucht werden.

Cognitive Search wird von Öl- und Gasunternehmen verwendet, deren Teams aus Geologen und anderen Spezialisten seismische und geologische Daten interpretieren müssen. Diese Teams verfügen häufig über PDF-Dateien, deren Inhalte über viele Jahrzehnte erfasst wurden und die Bilder von Beispielen enthalten. Dazu kommen handgeschriebene Notizen. Die Teams müssen Orte, Fachleute und Ereignisse miteinander verbinden und auf der Basis all dieser Informationen wichtige Entscheidungen treffen.

Cognitive Search nutzt Cognitive Services, um diese Daten zu analysieren, Informationen zu extrahieren und anschließend zu korrelieren – ganz ohne komplizierte Bilderkennung oder OCR-Software.

Azure Search

Mai2019

// Testen Sie es: Erstellen Sie Ihren ersten Azure Search-Index im Portal.

Entwicklerleitfaden für Azure

Page 55: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

55

Cognitive Services stellt Machine-Learning-Algorithmen, die von Microsoft erstellt wurden, und Daten als Dienst bereit. Für die meisten Dienste hat Microsoft auch die entsprechenden Daten verfügbar gemacht, um diese Algorithmen zu trainieren. Für einige Dienste können Sie jedoch für das Training der Algorithmen eigene benutzerdefinierte Daten verwenden.

Cognitive Services stellt eine besonders einfache Möglichkeit dar, Machine Learning und KI in Ihre Anwendung zu integrieren, indem Sie einfach APIs aufrufen.

Tabelle 4-2 können Sie entnehmen, welche APIs derzeit verfügbar sind. Beachten Sie, dass die Liste immer länger wird.

Alle Dienste sind in einer kostenlosen Version verfügbar, mit der Sie einsteigen können.

Jede Kategorie in der Tabelle enthält mehrere Dienste, die Sie durch den Aufruf einer API verwenden können. Einige Kategorien enthalten anpassbare Dienste, beispielsweise Custom Vision, Sprachverständnis und die benutzerdefinierte Bing-Suche. Diese stellen wie die anderen Dienste vorkonfigurierte Machine-Learning-Algorithmen bereit, ermöglichen Ihnen jedoch auch die Verwendung eigener Daten zum Training des Modells. Zusätzlich zu diesen Diensten können Sie die Dienste in den Cognitive Services Labs verwenden. Die Labs enthalten experimentelle Dienste, die Microsoft zurzeit testet, um zu ermitteln, wie nützlich sie für Kundenszenarien sind. Ein solcher experimenteller Dienst ist Project Gesture. Dieser Dienst ermöglicht Ihnen die Erkennung von Gesten (wie Winken mit der Hand) und ihre Integration in Ihre Benutzererfahrung.

Betrachten wir einige Cognitive Services etwas genauer.

Cognitive Services

Tabelle 4-2

Sehen Spracherkennung Sprache Wissen Search

Computer Vision

Gesichtserkennung

Video Indexer

Content Moderator

Custom Vision

Sprache zu Text

Text zu Sprache

Sprachübersetzung

Sprechererkennung

Text Analytics

Translator Text

Bing-Rechtschreibprüfung

Content Moderator

Sprachverständnis

QnA Maker Bing-Websuche

Visuelle Bing-Suche

Bing-Entitätssuche

Bing-News-Suche

Benutzerdefinierte Bing-Suche

Bing-Bildersuche

Bing-Vorschlagssuche

Bing-Videosuche

Bing Local Business Search

Mai2019

// Testen Sie es: Cognitive Services entdecken

* Alle Dienste sind in einer kostenlosen Version verfügbar, mit der Sie einsteigen können.

Entwicklerleitfaden für Azure

Page 56: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Sprachverständnis

Mit dem Dienst Language Understanding (LUIS) können Sie verstehen, was Benutzer Ihnen in sozialen Netzwerken, über Chatbots oder über sprachfähige Anwendungen mitteilen. Beispielsweise ist es möglich, Flüge zu buchen oder Meetings zu planen.

Um den LUIS-Dienst zu nutzen, stellen Sie ihm Beispiele für Aussagen bereit, die er verstehen soll (z. B. „Buche einen Flug nach Seattle“ oder „Setze um 13 Uhr ein Meeting mit Bob an“). Geben Sie auch an, welche Wörter Sie suchen. Bei den genannten Beispielen wären dies zum einen das Flugziel („Seattle“) und zum anderen Uhrzeit und Teilnehmer des Meetings („13 Uhr“ und „Bob“)

Der LUIS-Dienst erstellt ein Machine-Learning-Modell basierend auf Ihren Beispielen. Daraufhin kann er aus der natürlichen Sprache der Benutzereingaben Informationen extrahieren.

Custom Vision

Mithilfe des Diensts Custom Vision können Sie auf der Basis eigener Trainingsdaten Informationen in Bildern erkennen. Custom Vision funktioniert ähnlich wie andere Cognitive Services, da der Dienst einen vordefinierten Machine-Learning-Algorithmus enthält. Sie müssen dem Dienst lediglich Ihre Daten bereitstellen.

Angenommen, Sie möchten ein Modell erstellen, das verschiedene Wolkentypen wie Kumulus- und Stratuswolken am Himmel erkennen kann. Um dieses Modell zu erstellen, laden Sie Bilder verschiedener Wolkentypen ins Custom Vision-Portal hoch. Kennzeichnen Sie sie mithilfe von Tags, die dem Dienst mitteilen, wie das Modell trainiert werden soll. In diesem Beispiel würden

56

Sie ein Bild mit einem Tag wie „Kumulus“ oder „Stratus“ kennzeichnen.

Wenn Sie eine ausreichende Anzahl von Bildern hochgeladen haben, können Sie Ihr Modell trainieren. Je mehr gekennzeichnete Bilder Sie hochladen und je mehr Sie das Modell trainieren, desto genauer wird Ihr Modell.

Sobald Ihr Modell gut funktioniert, können Sie es verwenden. Rufen Sie dazu die Custom Vision-API auf, und fügen Sie dem Modell neue Bilder hinzu. Wenn Sie ein neues Bild hochladen, teilt der Dienst Ihnen mit, ob er es basierend auf den hochgeladenen Bildern erkennt.Abbildung 4-1 zeigt ein Beispiel für den API-Endpunkt.

Die Verwendung des Custom Vision-Diensts, um Informationen basierend auf Ihrem eigenen Modell zu erkennen, ist beeindruckend. Sie können mit Custom Vision aber noch mehr machen. Das Modell, das Sie erstellen, während Sie den Custom Vision-Dienst mit Ihren Daten trainieren, kann für das „Intelligent Edge“ bereitgestellt werden. Das bedeutet, dass das Modell und die API an anderen Stellen als in der Cloud bereitgestellt werden können, beispielsweise auf einem On-Premises-Server in einem Docker-Container oder auf einem

Abbildung 4-1

Mai2019

// Testen Sie es: Erstellen Sie eine neue App im LUIS-Portal.

Entwicklerleitfaden für Azure

Page 57: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

57

anderen Gerät wie Ihrem Smartphone.Das macht Sie sehr flexibel. Sie benötigen keine aktive Internetverbindung, um die Funktionalität des Custom Vision-Diensts zu nutzen. Sie können ihn auch lokal ausführen, was eine herausragende Leistung ermöglicht. Darüber hinaus ist das Modell auf Edge nur etwa einige Dutzend Megabyte groß, da Sie nur das Modell und die API, nicht jedoch die Trainingsdaten bereitstellen.

Video Indexer

Der Dienst Video Indexer analysiert die Video- und Audiodateien, die Sie zu ihm hochladen. Dieser Cognitive Service ist auch Teil der Media Analytics-Suite von Azure Media Services. Er stellt einen vordefinierten Machine-Learning-Algorithmus bereit und Sie die Daten. Neben vielen anderen Fähigkeiten besitzt Video Indexer auch die folgenden:

• Transkription von Video-Texten. Sie können das Transkript manuell verbessern und Video Indexer trainieren, sodass der Dienst Branchenbegriffe wie „DevOps“ erkennt.

• Gesichter erfassen und identifizieren, wer wann in Videos erscheint. Video Indexer bietet dieselbe Fähigkeit auch für Audiodateien. Hier erkennt der Dienst, welche Personen etwas sagen und wann sie dies tun.

• Visuelle Texte in Videos erkennen, beispielsweise Texte auf einer Folie, und in das Transkript einfügen.

Abbildung 4-2

Mai2019

// Testen Sie es: Laden Sie Ihr erstes Video zu Video Indexer hoch.

// Testen Sie es: Erstellen Sie Ihr eigenes Custom Vision-Projekt.

Anhand der Bandbreite dieser Funktionen können Sie erkennen, dass Video Indexer viele Cognitive Services wie Sprache zu Text und Sprechererkennung miteinander kombiniert. Diese Dienste stellen gemeinsam leistungsstarke Funktionen bereit, die helfen, dass Inhalte besser auffindbar, zugänglich und nützlicher sind.

Sie können Mediendateien über das Video Indexer-Portal oder die API zu Video Indexer hochladen. Abbildung 4-2 zeigt die Ergebnisse für ein Azure Friday-Video, das zum Video-Indexer-Dienst hochgeladen wurde.

Wie in der Abbildung gezeigt, hat Video Indexer ein Transkript des Audios im Video erstellt. Sie können das Transkript bearbeiten und sogar in andere Sprachen übersetzen. Sie können auch sehen, dass Video Indexer den Text auf der Folie hinter den Referenten erkannt und als „OCR“ gekennzeichnet hat. Sie können zu diesem Text springen, indem Sie einfach auf ihn klicken. Video Indexer stellt diese Funktionalität durch die Einbettung des Widgets Cognitive Insights für bestimmte Anwendungen bereit.

• Stimmungsanalysen durchführen, um festzustellen, wann etwas Positives, Negatives oder Neutrales gesagt oder gezeigt wurde.

Entwicklerleitfaden für Azure

Page 58: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

58

Bing-Vorschlagssuche

Der Dienst Bing Autosuggest stellt während der Eingabe Suchvorschläge bereit. So können Sie Ihren Benutzern eine Suchumgebung bereitstellen, die ähnlich wie Bing oder Google verwendet wird, bei der Suchergebnisse automatisiert oder vervollständigt werden.

Sie geben den Suchtext Zeichen für Zeichen in Bing Autosuggest ein. Anschließend erhalten Sie schnell Suchvorschläge im JSON-Format.

Wenn Sie beispielsweise den Abfragetext „Wonach sollte ich suchen“ eingeben, gibt der Dienst die folgende JSON-Zeichenfolge zurück (größere Abbildung auf Seite 59):

Hier sind alle Vorschläge enthalten. Oben in den Ergebnissen finden Sie die ursprüngliche Suchabfrage.

QnA Maker

Der Cognitive Service QnA Maker bietet eine einfache Möglichkeit, eine Dialogebene für vorhandene Daten zu erstellen, z. B. Seiten mit häufig gestellten Fragen, Support-Websites oder Produkthandbücher. Mit QnA Maker können Sie die Informationen analysieren und in Paare von Fragen und Antworten umwandeln, die leicht verwaltbar sind. Einfach gesagt können Sie mit QnA Maker Apps entwickeln, die Benutzern Informationen in Form einer Unterhaltung bereitstellen.

Sie haben bei QnA Maker die Möglichkeit, über das benutzerfreundliche QnA Maker-Portal oder mit REST-APIs Wissensdatenbanken zu erstellen und zu verwalten. Wir haben den Prozess für die Bot-Erstellung vereinfacht: Nun können Sie ganz einfach einen Bot mit Ihrer Wissensdatenbank erstellen – ohne, dass Code- oder Einstellungsänderungen nötig sind. Weitere Informationen finden Sie hier: Erstellen eines QnA-Bots. Natürlich können Sie mit QnA Maker auch unter Verwendung von Azure Bot Service einen Bot erstellen und Ihren QnA-Bot um den Language Understanding Service ergänzen. Für etwas mehr Persönlichkeit können Sie Ihrem Bot Geplauder hinzufügen und häufig aufkommende Smalltalk-Szenarien standardmäßig beantworten.

Sie zahlen nur für das Hosting von QnA Maker, nicht für die Häufigkeit, mit der Benutzer den erstellten Dienst abfragen.

Mai2019

// Testen Sie es: Erstellen Sie mit QnA Maker Ihren eigenen Wissensdatenbankdienst.

// Testen Sie es: Erhalten Sie einen API-Schlüssel, und testen Sie Bing Autosuggest kostenlos für 7 Tage.

Entwicklerleitfaden für Azure

Page 59: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

59

{ “_type”: “Suggestions”, “instrumentation”: null, “queryContext”: { “originalQuery”: “what should I search for” }, “suggestionGroups”: [ { “name”: “Web”, “searchSuggestions”: [ { “url”: “https://www.bing.com/search?q=what+should+i+search+for&FORM=USBAPI”, “urlPingSuffix”: null, “displayText”: “what should i search for”, “query”: “what should i search for”, “searchKind”: “WebSearch” }, { “url”: “https://www.bing.com/search?q=what+should+i+search+for+on+bing& FORM=USBAPI”, “urlPingSuffix”: null, “displayText”: “what should i search for on bing”, “query”: “what should i search for on bing”, “searchKind”: “WebSearch” }, { “url”: “https://www.bing.com/search?q=what+should+i+search+for+on+the+internet& FORM=USBAPI”, “urlPingSuffix”: null, “displayText”: “what should i search for on the internet”, “query”: “what should i search for on the internet”, “searchKind”: “WebSearch” }, { “url”: “https://www.bing.com/search?q=what+should+i+search+for+today& FORM=USBAPI”, “urlPingSuffix”: null, “displayText”: “what should i search for today”, “query”: “what should i search for today”, “searchKind”: “WebSearch” }, { “url”: “https://www.bing.com/search?q=what+should+i+search+for+in+dna+raw+data& FORM=USBAPI”, “urlPingSuffix”: null, “displayText”: “what should i search for in dna raw data”, “query”: “what should i search for in dna raw data”, “searchKind”: “WebSearch” } ] } ]}

Mai2019

Entwicklerleitfaden für Azure

Page 60: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

60

Das Erstellen eines Bots – einer Anwendung, die automatisch und selbstständig mit Benutzern interagiert – ist keine leichte Aufgabe. Sie müssen den Kontext Ihrer Interaktion mit jedem Benutzer berücksichtigen und auf eine Vielzahl möglicher Interaktionsparameter reagieren können.

Mit Azure Bot Service können Sie intelligente Bots auf Enterprise-Niveau entwickeln und Erlebnisse schaffen, die Ihre Marke erweitern und Ihnen die Kontrolle über Ihre Daten sichern. Erstellen Sie zum Einstieg einen einfachen Frage-und-Antwort-Bot, oder entwickeln Sie einen ausgereiften virtuellen Assistenten. Mit einem umfassenden Open-Source-SDK und vielen Tools können Sie Ihren Bot ganz unkompliziert über beliebte Kanäle und Geräte vernetzen. Durch die native Integration in Cognitive Services kann der Bot Ihre Benutzer hören, verstehen und mit ihnen reden.

Azure Bot Service vereinfacht die Bot-Entwicklung und bietet den folgenden Support:

• Möglichkeit, entwickelte Bots mit dem Microsoft Bot Framework zu hosten und zu verwalten, mit einem umfassenden Open-Source-SDK und vielen Tools für die Bot-Entwicklung.

• Native Integration in Cognitive Services.

• Verbindung des Bots mit Ihren Kunden, mit Connectors zu Kanälen wie Facebook, Slack, Microsoft Teams, Line, Telegram usw.

• Alle Vorteile verwalteter Dienste in Azure, darunter massive Skalierbarkeit und integrierte kontinuierliche Bereitstellung (Continuous Delivery, CD) und eine nutzungsbasierte Berechnung.

Beispielsweise können Sie mit Azure Bot Service einen Bot erstellen, der Benutzern Antworten auf häufig gestellte Fragen gibt. Hier bietet sich die gleichzeitige Nutzung von QnA Maker Cognitive Service an. Die Benutzeroberfläche des Bots kann eine Chat-Box auf Ihrer Website sein. Mit dem Solution Accelerator für virtuelle Assistenten können Sie auch einen eigenen virtuellen Assistenten für Ihre Marke entwickeln.

Azure Bot Service

Mai2019

// Testen Sie es: Jetzt mit Azure Bot Service in Chatbots einsteigen

Entwicklerleitfaden für Azure

Page 61: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

61

Sie können Ihren Anwendungen mit Azure-Diensten wie Cognitive Services Intelligenz hinzufügen. Diese basiert auf Machine-Learning-Algorithmen, die Microsoft als Dienst bereitstellt. Es gibt jedoch weitere Möglichkeiten, wie Sie Machine Learning in Ihren Anwendungen nutzen können. Sehen wir uns zunächst an, was Machine Learning bedeutet.

Was ist Machine Learning?

Machine Learning wird häufig mit künstlicher Intelligenz (KI) gleichgesetzt. Es handelt sich jedoch um zwei verschiedene Konzepte. Bei der KI geht es um Maschinen, die Aufgaben ausführen, die charakteristischerweise menschliche Intelligenz erfordern. Neben anderen Techniken kann KI auch mithilfe von Machine Learning implementiert werden. Machine Learning an sich ist ein Gebiet der Informatik und verleiht Computern die Fähigkeit, ohne ausdrückliche Programmierung zu lernen. Machine Learning kann durch die Verwendung eines oder mehrerer Algorithmustechnologien wie neuraler Netzwerke, Deep Learning oder Bayesscher Netzwerke implementiert werden. Worum also handelt es sich bei Machine Learning? Abbildung 4-3 zeigt den grundlegenden Workflow für die Nutzung von Machine Learning.

Der Machine-Learning-Prozess funktioniert

wie folgt:

• Daten enthalten Muster. Wahrscheinlich kennen Sie einige der Muster, wie die Bestellgewohnheiten von Benutzern. Wahrscheinlich gibt es jedoch auch einige, die Ihnen nicht bekannt sind.

• Der Machine-Learning-Algorithmus ist die Intelligenzkomponente der Software, die in Daten Muster erkennen kann. Diesen Algorithmus können Sie mithilfe von Techniken wie Deep Learning oder Supervised Learning erstellen.

• Das Erkennen von Mustern in Daten mithilfe eines Machine-Learning-Algorithmus wird auch als „Trainieren eines Machine-Learning-Modells“ bezeichnet. Das Training führt zu einem Machine-Learning-Modell. Dieses Modell enthält das Wissen, das mithilfe des Machine-Learning-Algorithmus gewonnen wurde.

• Anwendungen nutzen das Modell, indem sie ihm neue Daten bereitstellen und mit den Ergebnissen arbeiten. Neue Daten werden entsprechend den Mustern analysiert, die in den Daten gefunden wurden. Wenn Sie beispielsweise ein Machine-Learning-Modell trainieren, um Hunde in Bildern zu erkennen, sollte es einen Hund in einem Bild identifizieren können, das es nie zuvor gesehen hat.

Der entscheidende Teil dieses Prozesses ist, dass er iterativ ist. Das Machine-Learning-Modell wird laufend mit neuen Daten trainiert, um den Algorithmus anzupassen oder eine bessere Unterscheidung zwischen falschen und richtigen Ergebnissen zu ermöglichen.

Azure Machine Learning Studio

Abbildung 4-3

Mai2019

Muster Findet Muster

Training

Übereinsti- mmung

DataAlgorithmus (Deep Learning,

Clustering ...)Modell

Erkennt Muster Anwendung

Entwicklerleitfaden für Azure

Page 62: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

62

Azure Machine Learning Studio zur Erstellung von Modellen verwenden

Sie können Azure Machine Learning Studio verwenden, um eigene, angepasste Machine-Learning-Modelle zu erstellen und sie über Webdienste für Ihre Anwendungen bereitzustellen.

Machine Learning Studio ist ein Dienst in Azure, mit dem Sie Machine-Learning-Projekte und -Experimente visuell umsetzen, Datensätze koppeln, Notizbücher erstellen und Modelle über Webdienste bereitstellen können. Das Studio selbst ist ein Portal, das Sie über Ihren Webbrowser verwenden können. Hier können Sie Algorithmen per Drag-and-drop erstellen.

Im Studio können Sie ganz von vorne oder mit einem der zahlreichen Experimente aus dem Katalog beginnen, einschließlich eines Experiments, das die Dauer von Krankenhausaufenthalten vorhersagt, und eines anderen, das in Echtzeit Anomalien in Datenströmen entdeckt. Nutzen Sie diese Experimente als Grundlage für ein Machine-Learning-Modell oder erfahren Sie, wie diese Fälle gelöst werden können.

Ein Machine-Learning-Experiment in Machine Learning Studio besteht aus mehreren Schritten, in denen Daten bearbeitet und Machine-Learning-Algorithmen auf sie angewendet werden. Nutzen Sie die verfügbaren, vordefinierten Schritte im Studio, um einen Machine-Learning-Algorithmus zu erstellen.

Abbildung 4-4 zeigt ein Experiment in Machine Learning Studio, mit dem zum Training eines Modells ausgeführten Workflow und den Kategorien von vordefinierten Schritten, die im Workflow verwendet werden können.

Wenn Sie Ihre Experimente entwickelt und auf Ihre Daten angewendet haben, um ein Machine-Learning-Modell zu erstellen, können Sie diese als Webdienste veröffentlichen. Wenn Ihre Anwendungen die Webdienste verwenden, können sie Daten an Ihr Modell senden und die Vorhersagen Ihres Modells empfangen.

Azure Machine Learning Service

Mit dem Azure Machine Learning Service können Sie unter Verwendung von Open-Source-Tools wie Python und der Azure CLI Algorithmen für die Datenanalyse erstellen.

Abbildung 4-4

Mai2019

// Testen Sie es: Registrieren Sie sich für Azure Machine Learning Studio.

Entwicklerleitfaden für Azure

Page 63: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

63

Wie bei Machine Learning Studio können Sie beliebige Algorithmen entwickeln. So werden die unterschiedlichsten Szenarien flexibel ermöglicht, z. B. prädiktive Analysen, Datenempfehlungen und Datenklassifizierung.

Mit Azure Machine Learning Service erstellen Sie von Grund auf benutzerdefinierte Machine-Learning-Algorithmen.Darin liegt der Unterschied zu Machine Learning Studio, wo Sie einen Algorithmus visuell erstellen, indem Sie vordefinierte Elemente eines Machine-Learning-Algorithmus kombinieren. Azure Machine Learning Service unterstützt vollumfänglich Open-Source-Technologien wie Google TensorFlow, PyTorch und scikit-learn.

Bei Azure Machine Learning Service handelt es sich um einen Komplettdienst, der Fähigkeiten von A bis Z bereithält. Sie können einen Algorithmus erstellen, Ihre Daten vorbereiten, den Algorithmus damit trainieren, ihn testen, bereitstellen, nachverfolgen und verwalten, wenn er ausgeführt wird.

Azure Machine Learning Service ist mit zahlreichen Azure-Diensten kompatibel, die das Erstellen, Trainieren und Ausführen des Algorithmus unterstützen. Sie können ihren Algorithmus z. B. in Jupyter Notebook erstellen, ihn mit Azure Databricks trainieren und auf einem Kubernetes-Container-Cluster in Azure Kubernetes Service bereitstellen.

Mai2019

// Jetzt mit dem Azure-Portal in den Azure Machine Learning Service einsteigen

Entwicklerleitfaden für Azure

Page 64: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

64

Visual Studio Tools for AI Visual Studio Tools for AI ist eine kostenlose Erweiterung für Visual Studio. Sie können sie verwenden, um auf eine Reihe von KI-Diensten und -Frameworks zuzugreifen, darunter Microsoft Cognitive Toolkit (CNTK), TensorFlow, Keras und Caffe2. Visual Studio Tools for AI ermöglicht Ihnen die Entwicklung von Machine-Learning-Algorithmen, ähnlich wie Azure Machine Learning Studio. Sie können Sprachen wie Python, C, C++ und C# oder eines der vielen Beispiele aus dem Katalog für Machine-Learning-Experimente verwenden.

Mit Visual Studio Tools for AI können Sie Machine-Learning-Elemente über Visual Studio erstellen. Außerdem können Sie die Leistungsfähigkeit von Visual Studio nutzen, um Machine-Learning-Algorithmen zu debuggen und Machine-Learning-Modelle zu trainieren. Sie können Trainingsaufgaben in Visual Studio erstellen, die über viele VMs in Azure skaliert werden können. Sie können auch die Trainingsleistung überwachen und anschließend einen Webdienst generieren, um das Machine-Learning-Modell in Ihren Anwendungen zu verwenden. Sie können all das tun, ohne Visual Studio zu verlassen.

AI Toolkit for Azure IoT Edge Die lokale Verwendung von Machine-Learning-Modellen auf Geräten („Intelligent Edge“) bietet einen überzeugenden Vorteil: Sie können die lokale Verarbeitungsleistung des Geräts nutzen, ohne von einer Internetverbindung abhängig zu sein oder der Latenz eines Webdiensts ausgesetzt zu sein, den Sie aufrufen müssen, um Ihre Ergebnisse zu erhalten. Wie im vorangehenden Abschnitt über Cognitive Services erwähnt, unterstützt der Dienst Custom Vision bereits die Ausführung auf Edge. In der Zukunft werden weitere Dienste auf Edge ausführbar sein. Um Machine-Learning-Modelle auf Edge auszuführen, benötigen Sie Tools, die Sie bei der Bereitstellung der Modelle und Webdienste unterstützen. AI Toolkit for Azure IoT Edge unterstützt Sie, indem Sie Machine-Learning-Modelle in Azure IoT Edge-kompatiblen Docker-Containern verpacken und diese Modelle als REST-APIs zur Verfügung stellen können. AI Toolkit for Azure IoT Edge enthält Beispiele für den Einstieg und ist eine vollständige Open-Source-Ressource, die auf GitHub verfügbar ist.

Entwicklertools für KI

Mai2019

// Testen Sie es: Laden Sie die Erweiterung Visual Studio Tools for AI herunter.

Entwicklerleitfaden für Azure

Page 65: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

65

Ihre Anwendungen sind nicht mehr auf eine 2D-Umgebung begrenzt. Jetzt bildet die ganze Welt den Hintergrund für Ihre App, unterstützt durch räumliche Intelligence von Komponenten wie IoT-Sensoren, Mixed Reality und maschinelles Sehen. Mit Azure Mixed Reality Services können Sie Daten in 3D zum Leben erwecken – wann und wo Ihre Benutzer sie benötigen. Azure Spatial Anchors In der Mixed-Reality-Welt können Sie digitale Daten in den Kontext der physischen Umgebung integrieren, beispielsweise ein Hologramm Ihrer Lieblingsfigur aus einem Spiel in Ihre Küche. Mit Azure Spatial Anchors können Sie digitale Inhalte an einem physischen Ort platzieren und über beliebige Geräte und Plattformen mit anderen Benutzern teilen.

Menschen, die ein Krankenhaus aufsuchen, wissen beispielsweise häufig nicht, wohin sie gehen müssen. Mit Azure Spatial Anchors kann die Klinik eine mobile App entwickeln, die im Krankenhausgebäude digitale Informationen anzeigt, um Menschen zu verschiedenen Zielen zu leiten. Die Besucher können in der App auf ihrem iOS-Gerät die Richtungspfeile der physischen Informationstafeln im Krankenhaus nutzen, um den richtigen Weg zu finden.

Ein weiterer Anwendungsfall für Azure Spatial Anchors ist die Schulung des Pflegepersonals. Pearson Education hat es Pflegeschülern und -dozenten ermöglicht, die Diagnose und Behandlung von Patienten in 3D zu üben – ohne dem Druck einer realen Situation ausgesetzt zu sein. Schüler und Lehrkräfte können dafür HoloLens-Geräte oder Smartphones und Tablets mit iOS oder Android verwenden.

Mit Azure Spatial Anchors können Sie digitale Informationen und Hologramme teilen, die in der physischen Welt platziert sind. Der Dienst funktioniert mit Apps, die auf Unity, ARKit, ARCore und Universal Windows Platform (UWP) aufsetzen.

KI undMixed Reality

Mai2019

Entwicklerleitfaden für Azure

Page 66: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

66

Er kann zusammen mit einem HoloLens-Gerät, mit iOS-basierten Geräten, die ARKit unterstützen, und Android-basierten Geräten, die ARCore unterstützen, verwendet werden.Mit Azure Spatial Anchors können Sie Ihre räumlichen Daten einfach schützen und Benutzern den Zugriff über Azure Active Directory erlauben. Sie können auch Speicher, KI, Analysen und IoT-Dienste in Ihre räumliche Anwendung integrieren.

Azure Remote Rendering Wenn Sie 3D-Modelle in Szenarien wie Designprüfungen und medizinischen Verfahrensplänen verwenden, müssen sie so detailliert wie möglich sein. Jedes Detail zählt.

Viele Unternehmen verwenden komplexe 3D-Modelle, die mehrere hundert Millionen Polygone enthalten. Edge-Geräte mit geringer oder mittlerer Grafikleistung können diese Modelle nicht rendern. Bislang umgingen Entwickler dieses Problem mit einer Technik namens Dezimierung. Dabei werden die Modelle vereinfacht, indem Polygone entfernt werden, wodurch solche Geräte die Modelle anzeigen können.

Mai2019

// Jetzt mit der Freigabe von Azure Spatial Anchors für alle Sitzungen und Geräte einsteigen

Mit dieser Detailminimierung gehen jedoch auch wichtige Informationen verloren, die in vielen Situationen für die Entscheidungsfindung gebraucht werden. Mit Azure Remote Rendering werden 3D-Modelle in der Cloud gerendert und in Echtzeit zu Geräten gestreamt – ohne Beeinträchtigung der visuellen Qualität.

So können Sie die ursprüngliche Qualität des Modells beibehalten. Bei der Interaktion mit Inhalten auf Edge-Geräten wie Headsets und Handys ist jedes Detail unverändert präsent.

Entwicklerleitfaden für Azure

Page 67: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Moderne, global verteilte Anwendungen müssen häufig große Mengen eingehender Nachrichten verarbeiten. Bei ihrer Entwicklung sind daher die Entkopplung und die Skalierung zu berücksichtigen. Azure stellt mehrere Dienste bereit, die das Hinzufügen von Ereignissen, ihre Analyse und die Identifikation von Nachrichtenmustern unterstützen. Diese Dienste sind auch für die Erstellung intelligenter, KI-nutzender Anwendungen von kritischer Bedeutung. Azure Service Bus Das Messaging in Azure ist um Azure Service Bus herum konzipiert. Service Bus umfasst eine Sammlung an Diensten, die Sie für Nachrichtenmuster verwenden. Die wichtigsten Dienste sind Azure Service Bus-Warteschlangen und -Themen.

Azure Service Bus-Warteschlangen

Azure Service Bus-Warteschlangen dienen der Entkopplung von Systemen. Ein Beispiel dafür ist eine Webanwendung, die Bestellungen von Benutzern erhält und zu ihrer Bearbeitung einen Webdienst aufrufen muss. Der Webdienst benötigt zu viel Zeit, um die Bestellungen zu verarbeiten, möglicherweise bis zu fünf Minuten.

67

Eine Möglichkeit, dieses Problem zu beheben, besteht darin, mit einer Warteschlange die Webanwendung vom Webdienst zu entkoppeln. Die Webanwendung empfängt die Bestellung und schreibt sie in eine Nachricht in einer Service Bus-Warteschlange. Anschließend informiert die Webanwendung den Benutzer darüber, dass die Bestellung verarbeitet wird. Der Webdienst verarbeitet die Nachrichten aus der Warteschlange nacheinander. Nach der erfolgreichen Verarbeitung einer Bestellung sendet der Webdienst dem Benutzer eine E-Mail-Benachrichtigung, dass der Artikel bestellt wurde.

Durch die Entkopplung der Systeme kann die Webanwendung mit einer anderen Geschwindigkeit arbeiten als der Webdienst. Beide können individuell an die Anforderungen der Anwendung angepasst werden.

Eine Service Bus-Warteschlange ist ein einfacher Mechanismus. Zwar können mehrere Anwendungen Nachrichten in die Warteschlange stellen, doch verarbeiten kann sie immer nur eine Anwendung. Es gibt einige interessante Funktionen für die Verarbeitung von Nachrichten in der Warteschlange wie Duplikaterkennung und eine untergeordnete Warteschlange, in die Nachrichten verschoben werden, die nicht korrekt verarbeitet werden können.

Ereignisse und Nachrichten in Ihrer Anwendung verwenden

Mai2019

Entwicklerleitfaden für Azure

// Starten Sie jetzt mit Azure Service Bus-Warteschlangen

Page 68: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Azure Event Hubs

Azure Event Hubs unterstützt Unternehmen dabei, enorme Mengen an Daten zu erfassen, zu analysieren oder zur späteren Verwendung zu transformieren und zu verschieben.

Event Hubs wurde für die Erfassung massiver Datenmengen entworfen. Der Dienst kann problemlos Millionen von Nachrichten pro Sekunde verarbeiten. Er bewahrt Nachrichten bis zu sieben Tage auf oder schreibt sie mit der Funktion Event Hubs Capture in einen Datenspeicher und bewahrt sie so für unbegrenzte Zeit auf.

Sie können Event Hubs nutzen, um empfangene Daten mittels Abfragen zu filtern und an einen Datenspeicher wie Azure Cosmos DB auszugeben. Sie können Nachrichten sogar erneut wiedergeben.

68

Azure Service Bus-Themen Wie Service Bus-Warteschlangen dienen auch Azure Service Bus-Themen der Entkopplung von Anwendungen.

Der Unterschied ist folgender:

• Bei einer Warteschlange schreiben mehrere Anwendungen Nachrichten dorthin, doch nur jeweils eine Anwendung kann sie verarbeiten.

• Bei einem Thema schreiben mehrere Anwendungen Nachrichten dazu und mehrere Anwendungen können sie gleichzeitig verarbeiten.

Anwendungen können ein Themenabonnement erstellen, das anzeigt, an welcher Art Nachrichten sie interessiert sind. Wie Warteschlangen verfügen auch Themen über Funktionen wie Duplikaterkennung und eine untergeordnete Warteschlange für unzustellbare Nachrichten, die nicht korrekt verarbeitet werden können.

Vergleich von Service Bus-Warteschlangen und Azure Queue Storage

Service Bus-Warteschlangen und Azure Queue Storage führen praktisch dieselbe Aufgabe aus. Es gibt jedoch Unterschiede, wie in Tabelle 4-3 gezeigt.

Azure Service Bus-Warteschlangen

Azure Queue Storage

Lebensdauer der Nachricht > 7 Tage

Lebensdauer der Nachricht < 7 Tage

Garantierte Reihenfolge (Reihenfolge des Eingangs)

Warteschlangengröße > 80 GB

Duplikaterkennung Transaktions-Log-Dateien

Nachrichtengröße ≤ 1 MB

Nachrichtengröße ≤ 64 KB

Tabelle 4-3

Mai2019

// Testen Sie es selbst: Jetzt mit dem Senden von Nachrichten an Azure Event Hubs starten

Entwicklerleitfaden für Azure

Page 69: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

69

Azure IoT Hub

Genau wie Event Hubs wurde auch Azure IoT Hub für die Erfassung massiver Datenmengen entwickelt. Er wurde spezifisch für die Verarbeitung der enormen Mengen von Datennachrichten aus IoT-Geräten wie intelligenten Thermostaten oder Fahrzeugsensoren entwickelt.

Azure IoT Hub verfügt über nahezu die gleichen Eigenschaften wie Event Hubs, z. B. die Möglichkeit, Nachrichten bis zu sieben Tage aufzubewahren und erneut zu versenden.

IoT Hub bietet den Vorteil, dass der Dienst auch Nachrichten an Geräte senden kann. Er kann Ihre komplette IoT-Infrastruktur verwalten. Sie können mit ihm Geräte registrieren und deren Status melden. Sie können sie sichern, neu starten und Daten an sie senden.

Abbildung 4-5

Azure Event Grid

Azure Event Grid bietet eine andere Art von Nachrichten an. Es handelt sich um einen vollständig verwalteten Veröffentlichungs- und Abonnementdienst mit Schnittstellen zu beinahe allen Diensten in Azure, der in benutzerdefinierte Herausgeber und Abonnenten eingebunden werden kann.

Dieser Ansatz unterscheidet sich von Service Bus-Warteschlangen und -Themen, da Sie hier die Warteschlangen oder Themen nach neuen Nachrichten abfragen müssen. Event Grid sendet Nachrichten automatisch an Abonnenten. Es handelt sich daher um einen reaktiven Echtzeit-Ereignisdienst.

Dienste in und außerhalb von Azure veröffentlichen Ereignisse (wenn beispielsweise ein neues Blob oder ein neuer Benutzer zu einem Azure-Abonnement hinzugefügt wird). Azure Event Grid entdeckt diese Ereignisse und stellt sie für Ereignishandler und -dienste bereit, die diese Ereignisse abonniert haben, wie in Abbildung 4-5 gezeigt.

Beispiele für Ereignishandler sind Azure Functions oder Azure Logics Apps, die Daten aus dem Ereignis verwerten können.

Mai2019

// Testen Sie es selbst: Schließen Sie Ihr Gerät an Ihren IoT-Hub an.

Blob Storage

Ressourcengruppen

Azure-Abonnements

Event Hubs

Custom Topics

Ereignisherausgeber Topics Ereignisabonnements Ereignishandler

Azure Functions

Logic App

Azure Automation

WebHooks

Entwicklerleitfaden für Azure

Page 70: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Azure SignalR Service

Sie können Azure SignalR Service verwenden, um Ihren Anwendungen in Echtzeit Webfunktionalität hinzuzufügen. Der Service basiert auf ASP.NET Core SignalR und wird als ein eigenständiger und vollständig verwalteter Dienst in Azure bereitgestellt.

SignalR kann verbundene Anwendungen in Echtzeit über HTTP aktualisieren, ohne dass die Anwendung Updates abfragen oder neue HTTP-Anfragen übermitteln muss. Auf diese Weise können Sie nahtlose Weberfahrungen bereitstellen, in denen Informationen laufend aktualisiert werden. Beispielsweise könnte eine Auktionsanwendung SignalR verwenden, um das jeweils aktuelle Gebot zu aktualisieren, sobald ein neues vorliegt, ohne die ganze Seite zu aktualisieren oder laufend Informationen abrufen.

Das Hosting eines SignalR-Servers ist keine triviale Aufgabe. Es kann schwierig sein, ihn ordnungsgemäß zu skalieren und zu sichern. Wenn Sie den vollständig verwalteten Azure SignalR Service verwenden, ist die Einrichtung einfach. Sicherheit, Verfügbarkeit, Leistung und Skalierbarkeit werden für Sie verwaltet.

Eine weitere wichtige Eigenschaft von Event Grid ist die Serverlosigkeit. Das bedeutet, dass Event Grid wie Azure Logic Apps und Azure Functions automatisch skaliert wird. Es müssen keine Instanzen bereitgestellt werden. Sie müssen den Dienst nur konfigurieren und können ihn dann gleich nutzen. Darüber hinaus zahlen Sie nur für die tatsächliche Nutzung.

Sie können Azure Event Grid verwenden, um jedes Mal eine E-Mail-Benachrichtigung zu versenden, wenn ein Benutzer zur Mailingliste in Mailchimp hinzugefügt oder entfernt wird. Azure Event Grid aktiviert eine App in Azure Logic Apps und wird so konfiguriert, dass es auf Veränderungen in der Mailchimp-Mailingliste reagiert. Azure Event Grid signalisiert Logic Apps daraufhin, eine E-Mail mit dem Namen des hinzugefügten oder gelöschten Benutzers einschließlich der ausgeführten Aktion zu versenden.

70Mai2019

// Testen Sie es: Überwachen Sie Änderungen der virtuellen Maschine mithilfe von Azure Event Grid und Logic Apps.

// Testen Sie es: Erstellen Sie einen Chatraum mit SignalR.

Entwicklerleitfaden für Azure

Page 71: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Weiterführende Literatur

Weitere Informationen zur Verwendung von Azure AI Services in Ihrer Anwendung finden Sie in diesem kostenlosen E-Book:

71

Was ist wann zu verwenden?

Azure bietet unzählige Optionen für das Messaging und die Entkopplung von Anwendungen. Welche Optionen sollten Sie wann verwenden? Tabelle 4-4 unterstützt Sie mit einer Übersicht der Unterschiede bei der Auswahl.

Mai2019

// Entwicklerleitfaden für das Entwickeln von KI-Anwendungen

SignalR Service*

Event Grid*

Event Hubs*

IoT Hub*

Topics*

Service Bus-W

arteschlangen*

Azure Q

ueue Storage*

Ereigniserfassung ● ● ●

Geräteverwaltung ●

Messaging ● ● ● ● ● ● ●

Mehrere Consumer ● ● ● ● ●

Mehrere Absender ● ● ● ● ● ● ●

Verwendung zur Entkopplung ● ● ● ● ●

Verwendung für Herausgeben/Abonnieren ● ●

Maximale Nachrichtengröße 64 KB 64 KB 256 KB 256 KB 1 MB 1 MB 64 KB

Tabelle 4-4

* Mit einem Sternchen gekennzeichnete Dienste sind in einer kostenlosen Version verfügbar, mit der Sie gratis einsteigen können.

Entwicklerleitfaden für Azure

Page 72: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

72

Mus ma dolor duciuscit, odit volupis as volo eos et libusci duntem commo es nit etur sit dolum earum

Duntiaspel is vel estotatem qui qui sitatio nsedit, ea sere volor molupta dolut officto blaut omnimenem fugitas et omnihil lestibea veliquia conem estiae quidi aut facearchilit quidelia peri conserrum, qui utaquiasit utaquiae reperum re et fugitibus re porepedit faciminciae lant et dolorpos et volum se doloreh endigenis pratibus quis in natem.

Sedicil labores citatem natem sedit autet volorit, quos ut lameniatur? Um enimagnis minctur simillab is arum quatinverro te destibus, tem adis eum rehenia si omnimusam veni nossita.

72Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

7272

Unternehmen mit dem IoT vernetzen

Entwicklerleitfaden für Azure

Mai2019

05 /

Page 73: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

73

Die reale Welt zu beeinflussen, ist eines der aufregendsten Dinge, die Sie als Entwickler tun können. Sie können das mit Geräten wie Robotern, Sensoren und Mikrocontrollern tun. Wenn Sie Anwendungen mit diesen Geräten entwickeln, können Sie beispielsweise den Zeitpunkt vorhersagen, zu dem eine Maschine gewartet werden muss, bevor tatsächlich Reparaturbedarf besteht. Sie könnten sogar ein autonom fahrendes Auto erschaffen.

Mit Geräten zu arbeiten und damit die reale Welt zu beeinflussen kann schwierig sein, wenn Sie jegliche Software selbst entwickeln. Glücklicherweise bietet Azure Lösungen, die Ihnen diese Arbeit erleichtern. Sie können z. B. Azure IoT Hub nutzen, um Nachrichten von Sensoren sicher zu empfangen und die Geräte zu verwalten, also beispielsweise Nachrichten an Geräte zu senden und sie zurückzusetzen. Wenn Sie ein Produkt mit einem Mikrocontroller (Computer mit einem Chip) entwickeln, bietet sich Azure Sphere an. Dabei handelt es sich um eine Kombination aus einem Hardware-, Betriebssystem- und Cloud-Dienst mit integrierter Sicherheit.

Sehen wir uns einmal die Dienste in Azure an, die Sie beim Entwickeln hervorragender IoT-Anwendungen unterstützen.

Wie können Sie mit Azure Ihre Geräte in der Cloud vernetzen, schützen, verwalten, überwachen und kontrollieren?

Entwicklerleitfaden für Azure

Mai2019

Page 74: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

74

Den Kern von Azure IoT bildet Azure IoT Hub, eine offene und flexible Cloud-PaaS. Mit ihr können Sie Geräte sicher und skalierbar vernetzen, überwachen und verwalten. Wir haben Azure IoT Hub zwar bereits in einem der vorhergehenden Kapitel behandelt, aber es gibt im Zusammenhang mit dem IoT noch mehr Wissenswertes.

Sie wissen bereits, dass Sie IoT Hub verwenden können, um die enormen Mengen an Nachrichten zu erfassen, die in der Regel von IoT-Geräten gesendet werden, beispielsweise Nachrichten mit Daten von Temperatursensoren. Darüber hinaus ist IoT Hub auch insofern etwas Besonderes, weil er nicht nur Nachrichten empfängt, sondern auch Befehle zurück an die Geräte sendet. Die Plattform stellt eine Zwei-Wege-Kommunikation mit Geräten her. Sie können auf Geräten sogar Code ausführen.

IoT Hub ist leistungsstark und bietet Ihnen mehrere Möglichkeiten, Geräte zu verwalten. Sie können ihnen beispielsweise eine Nachricht mit der Anweisung zum Neustart senden oder ein Startskript ausführen. Dadurch wird IoT Hub zum zentralen Dienst, der eine robuste IoT-Anwendung in Azure ermöglicht. Um die Bereitstellung von Geräten in großem Maßstab zu unterstützen, bietet Azure den IoT Hub Device Provisioning-Dienst.

Dieser Dienst ermöglicht die Just-in-Time-Bereitstellung ohne manuelle Eingriffe zum richtigen IoT Hub. So können Sie Geräte sicher und skalierbar bereitstellen. Der Service kann Sie bei zahlreichen Gerätebereitstellungsszenarien unterstützen, darunter die Verbindung von Geräten mit einem IoT Hub und die Ausführung ihrer Skripts für die Ersteinrichtung, der Lastenausgleich zwischen Geräten über mehrere Hubs hinweg und Neubereitstellungen infolge von Änderungen am Gerät.

IoT Hub kann auch Geräte vernetzen, die in der Cloud entwickelte Workloads ausführen können, auch die, die Azure IoT Edge-Laufzeiten und -Module ausführen. Sobald ein Gerät mit IoT Hub verbunden wird, erkennt der Hub das Gerät und besitzt einen Datensatz seiner Identität. Dies ermöglicht dem IoT Hub das Senden von Nachrichten und das Überwachen des Geräts. Der Hub kann auf diese Weise auch das Gerät und die Kommunikation zwischen ihnen schützen. Geräte werden über verschiedene, in der Branche bewährte Sicherheitsprotokolle wie X.509-Zertifikate und tokenbasierte SAS-Authentifizierung zur Authentifizierung am IoT Hub aufgefordert. Sie können die Sicherheit jedes einzelnen verbundenen Geräts verwalten und Berechtigungen widerrufen, wenn Sie möchten, dass ein bestimmtes Gerät keine Verbindung mehr herstellen kann.

Wenn Geräte Nachrichten an Azure IoT Hub senden, können Sie die Nachrichten speichern oder zur Analyse oder Ergreifung von Maßnahmen an einen anderen

Azure IoT Hub

Mai2019

Entwicklerleitfaden für Azure

Page 75: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

75

Dienst senden. Sie können beispielsweise eingehende Nachrichten mit der IoT Hub-Nachrichtenweiterleitung weiterleiten. Diese Funktion ist einfach, zuverlässig und skalierbar, ohne dass Sie komplexe benutzerdefinierte Weiterleitungslösungen entwickeln müssen.

Eine weitere Option für die Integration von IoT-Ereignissen in Azure-Dienste oder Geschäftsanwendungen ist die Nutzung von Azure Event Grid, einer vollständig verwalteten Lösung für die Ereignisweiterleitung, die ein Publish-Subscribe-Modell verwendet. Mit der Kombination aus IoT Hub und Event Grid können Sie IoT Hub-Ereignisse in Azure- und andere Dienste beinahe in Echtzeit integrieren.

Sie können mithilfe von Gerätestreams auch bidirektionale Kommunikationstunnel erstellen. Azure IoT Hub-Gerätestreams vereinfachen die Erstellung sicherer bidirektionaler TCP-Tunnel für zahlreiche Szenarien für die Kommunikation zwischen Cloud und Gerät. Beispiel: Azure IoT Hub

Ein Unternehmen, das Einsichten in die Bewegung und Nutzung von Lastwagen und Menschen bereitstellt, skaliert gerade sein Geschäft. Zuvor überwachte das Unternehmen Objekte mithilfe eines benutzerdefinierten Codes in einer nativen Smartphone-App, die einen benutzerdefinierten Webdienst aufruft, in Verbindung mit Abfragen von GPS-Dongles, die an Lastwagen angebracht sind. Die Wartung dieser Lösung war aufwendig, da es schwierig war, neuen Objekten neue Geräte bereitzustellen. Das Unternehmen wollte jedoch einen neuen Kunden hinzufügen, der über mehr als 2.000 Objekte verfügte. Jetzt nutzt das Unternehmen für die Geräteverwaltung und Kommunikation Azure IoT Hub. Es kann den IoT Hub Device Provisioning-Dienst verwenden, um die 2.000 neuen Geräte hinzuzufügen und sie mit einem kundenspezifischen IoT-Hub zu verbinden. Die Smartphone-App verwendet jetzt für die

Interaktion mit IoT Hub Node.js und Azure IoT Device SDK. Wichtig ist, dass das Unternehmen nun die Kontrolle über die Sicherheit seiner Geräte hat, ihren Status ermitteln kann und sie nach Bedarf zurücksetzen kann. Zusätzlich leitet das Unternehmen die Daten aus GPS-Dongles über Azure Stream Analytics. Nur die Daten für GPS-Änderungen werden gespeichert. Das reduziert die Datenmengen erheblich, da die Dongles die Positionsdaten jede Sekunde senden. Über Azure IoT Hub konnte das Unternehmen sein Geschäft skalieren und entwickeln, indem es eine erstklassige Sicherheits- und Geräteverwaltung bereitstellt. Das Unternehmen konnte darüber hinaus mehr mit Geräten erreichen, als je für möglich gehalten worden war.

Azure IoT Central

Azure IoT Central ist eine gehostete IoT-Lösungsplattform, mit der Sie umfassende IoT-Anwendungen nur mithilfe von Assistenten erstellen können.

Sie müssen nichts kodieren oder detailliert konfigurieren, da IoT Central all das für Sie übernimmt: Alles Nötige wird bereitgestellt und konfiguriert, einschließlich Azure IoT Hub.

Sie verfügen über dieselbe Funktionalität, die Sie erhalten hätten, wenn Sie die Lösung von Grund auf entwickelt hätten. Sie benötigen hier jedoch keine langjährige Programmiererfahrung. Wenn Sie bestimmte Bereiche stärker kontrollieren möchten, können Sie stets tiefer einsteigen und die Lösung an Ihre Anforderungen anpassen.

Mai2019

Entwicklerleitfaden für Azure

Page 76: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Vernetzen und überwachen Sie Ihre Geräte mittels Remoteüberwachung. Erhalten Sie unabhängig vom Standort bessere Einsichten in Geräte, Objekte und Sensoren. Sammeln und analysieren Sie Echtzeitgerätedaten mittels eines vorkonfigurierten Solution Accelerator für die Remoteüberwachung, der automatische Warnungen und Aktionen auslöst – von Remotediagnosen bis zu Wartungsanforderungen.

Es gibt zahlreiche weitere IoT Solution Accelerator, beispielsweise für die Verbesserung der industriellen Effizienz durch die Vernetzung von Produktionsstätten, für die Steigerung der Gerätezuverlässigkeit durch prädiktive Wartungen sowie für die Entwicklung und das Testen Ihrer IoT-Lösung mithilfe einer Gerätesimulation.

76

Azure IoT Solution Accelerators sind eine hervorragende Möglichkeit, um mit der Entwicklung Ihrer IoT-Lösung zu beginnen.

Mithilfe dieser umfassenden, anpassbaren Vorlagen können Sie alle nötigen Funktionen entwickeln, von der Überwachung und Sicherung von Geräten bis zur Bereitstellung von Benutzeroberflächen. Sie helfen Ihnen auch bei der Verbindung vorhandener und neuer Geräte. Abbildung 5-1 zeigt ein Beispiel einer Lösungsvorlage.

Abbildung 5-1

Mai2019

Azure IoT Solution Accelerators

Entwicklerleitfaden für Azure

Page 77: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

77Mai2019

Azure IoT EdgeIn modernen IoT-Anwendungen kann die Datenverarbeitung cloud- oder geräteseitig erfolgen. Die geräteseitige Verarbeitung wird auch als Edge Computing bezeichnet.

Sie verwenden Edge Computing, wenn Sie sich nicht auf die Verbindung mit der Cloud verlassen möchten (oder können) oder die Anwendungsleistung durch die Beseitigung der Übermittlung von und zur Cloud verbessern möchten, oder aus Sicherheitsgründen, wegen des Datenschutzes oder aufgrund von Vorschriften nicht vom Gerät aus mit der Cloud kommunizieren können.

Für Szenarien wie diese verwenden Sie Azure IoT Edge. Azure IoT Edge wird über IoT Hub verwaltet. So können Sie Teile Ihres Workloads zu Edge verlagern. Diese Vorgehensweise reduziert den Zeitaufwand für das Senden von Nachrichten von Geräten zur Cloud und ermöglicht Offlineszenarien ebenso wie schnellere Reaktionen auf Statusänderungen.

Azure IoT Edge besteht aus den folgenden Komponenten:

• IoT Edge-Module sind Container, die Azure-Dienste, Drittanbieterdienste oder Ihren eigenen Code ausführen. Sie werden auf IoT Edge-Geräten bereitgestellt und lokal darauf ausgeführt.

• Die IoT Edge-Laufzeit wird auf jedem IoT Edge-Gerät ausgeführt und verwaltet die auf den einzelnen Geräten bereitgestellten Module.

• IoT Hub macht spezifische Schnittstellen verfügbar, um IoT Edge-Geräte über das Azure-Portal, die Azure-CLI oder die SDKs remote zu überwachen und zu verwalten.

Diese drei Komponenten sorgen gemeinsam auf den Geräten und in der Cloud dafür, dass Ihre Workloads am Intelligent Edge ausgeführt werden.

Sie können zahlreiche Azure-Dienste am Edge ausführen, um bestimmte Szenarien zu unterstützen. Die Liste der verfügbaren Dienste wächst. Tabelle 5-1 listet nur einige dieser Dienste auf.

Sobald Sie Azure IoT Edge verwenden, können Sie schnelle Lösungen entwickeln, die Machine-Learning-Algorithmen lokal ausführen und umgehend Feedback zu den Ergebnissen bereitstellen.

Wenn Sie Folgendes tun möchten:

Verwenden Sie diese Option auf Azure IoT Edge:

Entwickeln und Bereitstellen von KI-Modellen

Maschinelles Lernen

Anpassen von Modellen für maschinelles Sehen an Ihren Anwendungsfall

Custom Vision-Dienst

Verarbeiten von Echtzeit-Streamingdaten Stream Analytics

Verarbeiten von Ereignissen mit serverlosem Code

Functions

Bereitstellen einer SQL Server-Datenbank am Edge

SQL Server-Datenbanken

Einhaltung der Interoperabilitätsstandards von Industrie 4.0

OPC Unified Architecture

Entwickeln einer benutzerdefinierten Logik Custom-Modul

Tabelle 5-1

Entwicklerleitfaden für Azure

Page 78: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

78

Im IoT-Bereich verwenden Sie vielleicht viele IoT-Geräte und Sensoren, die in Verbindung mit Menschen und Objekten arbeiten. Um die von IoT-Geräten erfassten Daten tatsächlich zu verstehen, müssen Sie die physische Umgebung kennen, in der diese Geräte eingesetzt werden.

Bei einem Temperatursensor sind z. B. die Temperaturdaten alleine nicht sonderlich aussagekräftig. Wenn Sie jedoch wissen, in welchem Raum sich der Sensor befindet, wie groß dieser Raum ist, welche anderen Geräte in diesem Raum betrieben werden und welche Daten sie erfassen, wie viele Menschen sich in diesem Raum aufhalten und wie sie sich bewegen –

Azure Digital Twins

Mai2019

dann erhalten Sie ein viel deutlicheres Bild dessen, was die Temperaturdaten aussagen. Die physische Umgebung, in der sich Ihre IoT-Geräte befinden, können Sie mit Azure Digital Twins modellieren. Dieser Dienst ermöglicht Ihnen die Erstellung einer Datengrafik, die Orte, Menschen und Objekte enthält – z. B. ein Bürogebäude mit einem Raum, in dem sich Menschen und Sensoren befinden.

Mit Azure Digital Twins können Sie Daten aus verschiedenen Quellen um Kontext ergänzen und miteinander in Beziehung setzen, beispielsweise die Temperatur- und Luftfeuchtigkeitsdaten von Sensoren im selben Raum. Auf diese Weise können Sie Daten im Zusammenhang eines Raums abfragen, anstatt von einzelnen Sensoren.

Mit Azure Digital Twins können Sie außerdem Berechtigungen für Daten und Geräte in der physischen Umgebung verwalten. Sie können mit Azure AD festlegen, dass bestimmte Benutzer nur von bestimmten physischen Standorten aus auf Daten zugreifen können.

// Jetzt starten: Finden Sie mit Azure Digital Twins verfügbare Räume.

Entwicklerleitfaden für Azure

Page 79: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

79

Immer mehr Geräte enthalten Mikrocontroller (Computer mit einem Chip), um intelligenter zu sein. Szenarien wie das einer Waschmaschine, die den Besitzer über eine fällige Routinewartung informiert, können so zur Realität werden.

Azure Sphere

Mai2019

// Erfahren Sie mehr über Azure Sphere

Es ist allerdings eine komplizierte und herausfordernde Aufgabe, Geräte mit integrierten Mikrocontrollern zu sichern, wie die vielen Sicherheitsvorfälle mit vernetzten Geräten in den letzten Jahren gezeigt haben.

Azure Sphere bietet eine Lösung für die Sicherheit von Geräten mit Mikrocontrollern. Die Azure Sphere-Plattform besteht aus einem sicheren Mikrocontrollerchip, einem Betriebssystem und einem Satz an Cloud-Diensten, die den Mikrocontroller vernetzen und während der Ausführung aktualisieren. Diese Kombination stellt die Grundlage für eine vernetzte, sichere Umgebung dar.

Mit den Entwicklungstools von Visual Studio können Sie Anwendungen entwickeln, die auf Azure Sphere ausgeführt werden können. Somit steht die Mikrocontroller-Entwicklung einer deutlich größeren Gruppe an Entwicklern offen.

Entwicklerleitfaden für Azure

Page 80: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

80

Erfahren Sie mehr über Azure IoT

Mai2019

Azure IoT-Lösungen sind benutzerfreundlich. Es gibt viele zugehörige Ressourcen, darunter:

• Azure IoT School: Diese kostenlose Onlineakademie bietet umfassende Schulungen für Azure IoT, mit einer großen Auswahl an Kursen für Einsteiger und Fortgeschrittene.

• Entwickeln von IoT-Lösungen mit Azure: In dieser angeleiteten Online-Lernumgebung können Sie alle wichtigen Azure IoT-Konzepte in Ihrem eigenen Tempo kennenlernen.

• Entwickeln von Azure IoT-Anwendungsseiten: Diese Ressource bietet eine Übersicht über Azure IoT-Dienste und Beispiele für ihre Verwendung.

• Azure IoT Solution Accelerators: Nutzen Sie diese Vorlagen für den Einstieg in Azure IoT.

• Azure IoT Hub: Diese Ressource bietet eine Übersicht über Azure IoT Hub und Beispiele für die Verwendung.

• Azure IoT Edge: Diese Ressource bietet eine Übersicht über Azure IoT Edge und Beispiele für die Verwendung.

• Technische Azure IoT-Videos: Erfahren Sie auf Channel 9 mehr über das IoT.

Entwicklerleitfaden für Azure

Page 81: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

81

Azure IoT Hub Azure IoT Central

Azure IoT Solution

Accelerators

Azure IoT Edge

Kontrolliertes Erstellen einer IoT-Lösung mit benutzerdefinierter Kodierung ●

Erstellen einer IoT-Lösung ohne Code und Verwaltung von Azure-Diensten ●

Erstellen einer IoT-Lösung mit minimalem Konfigurations- und Kodierungsaufwand für ein häufiges Szenario ●

Lokale Ausführung von KI-Workloads auf IoT-Geräten ●* ●

Sie wissen jetzt, welche Azure IoT-Dienste verfügbar sind. Aber welchen Dienst sollten Sie für Ihr Szenario verwenden? Tabelle 5-2 zeigt, wann Sie die einzelnen IoT-Optionen in Azure verwenden sollten.

Tabelle 5-2

Alle Dienste sind als kostenlose Version verfügbar, mit der Sie einsteigen können.

* Sie benötigen Azure IoT Hub, um Azure IoT Edge-Bereitstellungen und -Geräte zu verwalten.

Weiterführende Literatur

Erfahren Sie mehr über die Nutzung von Azure für Ihre IoT-Lösung in den folgenden kostenlosen E-Books:

// Entwicklerleitfaden zum IoT

// Transformation

Mai2019

Was ist wann zu verwenden?

Entwicklerleitfaden für Azure

Page 82: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

82

Mus ma dolor duciuscit, odit volupis as volo eos et libusci duntem commo es nit etur sit dolum earum

Duntiaspel is vel estotatem qui qui sitatio nsedit, ea sere volor molupta dolut officto blaut omnimenem fugitas et omnihil lestibea veliquia conem estiae quidi aut facearchilit quidelia peri conserrum, qui utaquiasit utaquiae reperum re et fugitibus re porepedit faciminciae lant et dolorpos et volum se doloreh endigenis pratibus quis in natem.

Sedicil labores citatem natem sedit autet volorit, quos ut lameniatur? Um enimagnis minctur simillab is arum quatinverro te destibus, tem adis eum rehenia si omnimusam veni nossita.

82Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

8282

Wo und wie Sie Ihre Azure-Dienste bereitstellen können

Entwicklerleitfaden für Azure

Mai2019

06 /

Page 83: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

83

Azure bietet eine Option für jede Art von Unternehmen, auch wenn sie Azure im eigenen Rechenzentrum benötigen. Sie können Ihre Anwendungen entweder in der Azure Public Cloud oder on-premises in Azure Stack bereitstellen, je nachdem, wie portabel Ihre Anwendungen sein sollen.

Sie können auch Apps in Containern entwickeln, um sie on-premises oder in einer anderen Cloud bereitzustellen, oder Azure Resource Manager-Vorlagen verwenden, um Ihre gesamte Infrastruktur zu programmieren.

Sehen wir uns diese Optionen einmal genauer an.

Wie kann Azure Ihre Dienste bereitstellen?

Entwicklerleitfaden für Azure

Mai2019

Page 84: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

84

Infrastruktur als Code (Infrastructure-as-Code, IaC) erfasst Umgebungsdefinitionen als deklarativen Code, z. B. als JSON-Dokumente, für die automatisierte Bereitstellung und Konfiguration. Alle in diesem Handbuch vorgestellten Azure-Dienste basieren auf Azure Resource Manager, den Sie dank der Resource Manager-Vorlagen zur Dokumentierung Ihrer Umgebung als IaC verwenden können. Bei diesen Vorlagen handelt es sich um JSON-Dateien, die beschreiben, was Sie bereitstellen möchten und was die Parameter hierfür sind.

Es ist ganz einfach, Azure Resource Manager-Vorlagen in Visual Studio und Visual Studio-Code mit Azure-Ressourcengruppen-Projektvorlagen zu erstellen. Außerdem können Sie Azure Resource Manager-Vorlagen aus dem Azure Portal generieren. Dazu klicken Sie auf die Schaltfläche Automation Script, die in der Menüleiste von jeder Ressource im Azure-Portal verfügbar ist. Dies erzeugt die Azure Resource Manager-Vorlage für die angegebene Ressource. Zudem wird mithilfe von Azure-CLI, PowerShell, .NET usw. sogar der Code zur Erstellung der Ressource generiert. Die so erstellte Azure Resource Manager-Vorlage können Sie mithilfe von PowerShell, Azure-CLI oder Visual Studio in Azure bereitstellen. Sie können die Bereitstellung in einer Continuous Deployment (CD)-Pipeline auch mit Azure DevOps automatisieren.

Ein herausragendes Beispiel für die Bereitstellung von Ressourcen in der Cloud mit Azure Resource Manager ist die Schaltfläche „Deploy To Azure“ (In Azure bereitstellen), die Sie in vielen GitHub-Repositorys finden.

Zusätzlich zur Verwendung von Resource Manager für IaC können Sie vorhandene Funktionen und Tools wie Ansible, Chef und Terraform nutzen, um die Azure-Infrastruktur direkt bereitzustellen und zu verwalten.

Infrastruktur als Code

Mai2019

Entwicklerleitfaden für Azure

Page 85: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

85

Es ist ein Leichtes, die Vorlagen, Ressourcengruppen, Benutzeridentitäten und Zugriffsrechte und -richtlinien von Azure Resource Manager zu verwenden, um eine vollständige Infrastruktur zu konzipieren und zu erstellen. Aber wie können Sie all diese Komponenten zusammenhalten? Wie behalten Sie die Übersicht darüber, in welchen Umgebungen ein Element der Infrastruktur bereitgestellt wurde und welche Version des Artefakts jetzt bereitgestellt ist? Organisieren Sie all Ihre Infrastruktur-Artefakte mit Azure Blueprints. Azure Blueprints bietet einen Mechanismus, mit dem Sie Artefakte erstellen, aktualisieren, Umgebungen zuteilen und Versionen definieren können. Sie können diese Artefakte speichern und verwalten und auch ihre Versionen verwalten und mit ihren Umgebungen in Verbindung setzen. Damit können Sie Ihre Infrastruktur organisieren und einen Kontext für Azure Resource Manager-Vorlagen, Benutzeridentitäten, Ressourcengruppen und Richtlinien schaffen.

Azure Blueprints

Mai2019

// Jetzt starten, einen Azure Blueprint im Azure-Portal definieren und zuweisen.

Entwicklerleitfaden für Azure

Page 86: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

86

Containerisierung ist eines der technologischen Modewörter, die durch die Nachrichten geistern. Container sind jedoch mehr als nur eine Modeerscheinung: Sie sind für die Ausführung Ihrer Anwendungen tatsächlich sehr nützlich. Container sind im Grunde leichte virtuelle Computer, die sehr viel schneller starten und stoppen als traditionelle virtuelle Computer. Daher sind sie für die Entwicklung, das Testen und die Ausführung von Anwendungen in der Produktion sehr viel nützlicher. Der Hauptvorteil von Containern besteht darin, dass ein einzelner Container stets gleich bleibt. Sie führen einen Container lokal aus, wenn Sie Ihre App entwickeln, und nutzen dieselbe Container-

Konfiguration auch in der Cloud oder an anderer Stelle. Ihr gesamtes Team verwendet genau dieselbe Containerkonfiguration. Sie wissen daher, dass die Infrastruktur für alle Benutzer in der Produktion gleich ist. Die altbekannte Entwickleraussage „Es funktioniert auf meinem Rechner” bedeutet jetzt, dass ein Code auch in der Produktion funktioniert. Für die Ausführung von Containern stehen zahlreiche Technologien zur Verfügung, darunter Docker. Azure kann Container mit Azure Container Instances und Azure Kubernetes Service ausführen und verwalten. Sie können Container auch in Web-App für Container und in Azure Batch ausführen. Tabelle 6-1 zeigt, welchen Dienst Sie für verschiedene Szenarien wählen können, wenn Sie Container verwenden.

Container auf Azure

Azure Kubernetes Service

Azure Container Instances

Web-App für Container

Container auf Azure Batch

Bereitstellung von komplexen Systemen (mit einem Containerorchestrator) in der Produktion

Ausführung einfacher Konfigurationen (möglicherweise ohne Orchestrator) ● ●

Über längere Zeit ausgeführte Workloads auf Containern ● ●

Über kürzere Zeit ausgeführte Workloads auf Containern ● ●

Orchestrierung eines auf Containern basierenden Systems ●

Orchestrierung mit Open-Source-Orchestratoren (Kubernetes) ●

Orchestrierung mit integrierten Orchestratoren

Verwenden von App Service-Features wie Bereitstellungsslots ●

Tabelle 6-1

Mai2019

Entwicklerleitfaden für Azure

Page 87: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

87

Falls Sie die Vorteile von Azure nutzen möchten, auch wenn Ihre Anwendungen und Daten on-premises verbleiben müssen, sollten Sie sich für Azure Stack entscheiden. Azure Stack ist branchenweit einzigartig und eine Erweiterung von Azure, die Sie in Ihrer eigenen Umgebung hosten. Im Wesentlichen handelt es sich dabei um eine Azure-Paketlösung. Azure Stack funktioniert wie Azure: Sie erhalten das gleiche Portal und nutzen die gleichen APIs, um Azure-CLI, PowerShell oder Ihre bevorzugte IDE verwenden zu können.

Auf Azure Stack können Sie Lösungen wie Azure App Service und Virtual Machines ausführen. Alles funktioniert genauso wie in der Public Cloud. Es wird nur On-Premises ausgeführt. Wenn Sie sich später für eine Migration zur Public Cloud entscheiden, können Sie die Dienste einfach von Azure Stack zu Azure verlagern. Beispiel: Azure Stack Ein Unternehmen, das Luxuskreuzfahrten anbietet, hat für die Organisation verschiedene Softwarelösungen entwickelt. Unter anderem wurde eine Anwendung für die Kabinenverwaltung und eine für das Passagiermanagement erstellt. Das gesamte Kreuzfahrtschiff ist von diesen Anwendungen abhängig. In der Vergangenheit wurden die Anwendungen auf Servern an Bord der Kreuzfahrtschiffe ausgeführt. Das Unternehmen musste diese Lösung wählen, da die Schiffe nicht während der gesamten Reise mit dem Internet verbunden waren. Das Unternehmen stellte fest, dass die Ausführung der Anwendungen on-premises aufwendig war, da virtuelle Computer und Betriebssysteme gewartet und erhebliche Verfügbarkeitsprobleme bewältigt werden mussten.

Jetzt führt das Unternehmen seine Anwendungen auf Azure Stack aus, das on-premises auf den Kreuzfahrtschiffen ausgeführt wird. Da Azure Stack die gleichen Dienste wie Azure bereitstellt, wurden die Bereitstellung und Verwaltung der Anwendungen sehr viel einfacher. Das Unternehmen nutzt außerdem Azure App Service, um die Anwendungen auszuführen. So kann es sich auf die Anwendungen statt auf die Wartung von virtuellen Computern und Betriebssystemen konzentrieren. Noch besser: Die Benutzer profitieren von der höheren Verfügbarkeit, die ein Merkmal von Azure – und damit auch von Azure Stack – ist.

Azure Stack

Mai2019

Entwicklerleitfaden für Azure

Page 88: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

88

Wenn Sie IaaS-basierte Dienste bereitstellen möchten (bei denen Sie die Kontrolle über das Betriebssystem haben), sollten Sie folgende Optionen in Betracht ziehen: • Bei einer Bereitstellung on-premises oder

an anderen Stellen (z. B. auf Ihrem lokalen PC oder in einer anderen Cloud) stehen Ihnen folgende Optionen zur Verfügung:

• Azure Stack (in diesem Fall stellen Sie Dienste wie VMs bereit)

• Jeder Azure Container-Dienst (da Container überall ausgeführt werden können)

• In der öffentlichen Azure-Cloud können Sie aus folgenden Optionen wählen:

• Container (da Container in allen Azure-Containerdiensten ausgeführt werden können)

Wenn Sie PaaS-basierte Dienste bereitstellen möchten (bei denen Sie weniger Kontrolle haben, die Plattform jedoch die Arbeit für Sie übernimmt), sollten Sie folgende Optionen in Betracht ziehen: • Bei einer Bereitstellung on-premises oder

an anderen Stellen (z. B. auf Ihrem lokalen PC oder in einer anderen Cloud) stehen Ihnen folgende Optionen zur Verfügung:

• Azure Stack (da Sie PaaS-Dienste wie App Service in Azure Stack bereitstellen können)

• In der öffentlichen Azure-Cloud können Sie aus folgenden Optionen wählen:

• Jeden Azure-PaaS-Dienst, den Sie als Resource Manager-Vorlage erstellen

Weiterführende Literatur

Erfahren Sie mehr zur Bereitstellung Ihrer Anwendungen in Azure und zur Kostensenkung in diesen kostenlosen E-Books:

Wo und wann sollte die Bereitstellung erfolgen?

Mai2019

// Grundlagen der Cloudmigration

// Effektivere DevOps

// Azure für Architekten

// Optimale Nutzung der Cloud an jedem Ort

Entwicklerleitfaden für Azure

Page 89: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

89

Mus ma dolor duciuscit, odit volupis as volo eos et libusci duntem commo es nit etur sit dolum earum

Duntiaspel is vel estotatem qui qui sitatio nsedit, ea sere volor molupta dolut officto blaut omnimenem fugitas et omnihil lestibea veliquia conem estiae quidi aut facearchilit quidelia peri conserrum, qui utaquiasit utaquiae reperum re et fugitibus re porepedit faciminciae lant et dolorpos et volum se doloreh endigenis pratibus quis in natem.

Sedicil labores citatem natem sedit autet volorit, quos ut lameniatur? Um enimagnis minctur simillab is arum quatinverro te destibus, tem adis eum rehenia si omnimusam veni nossita.

89Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

8989

Codefreigabe, Überwachung der Arbeit und Bereitstellung der Software

Entwicklerleitfaden für Azure

Mai2019

07 /

Page 90: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

90

Sie haben ganze Nächte oder gar Wochenenden damit verbracht, neue Versionen Ihrer Anwendungen bereitzustellen. Dann haben Sie vermutlich auch viel Zeit für den Versuch aufgewendet, die Fehler zu beheben, die Benutzer von der neuen Version abhalten. Es gibt eine bessere Methode.

Azure DevOps ist ein Satz an Lösungen, mit denen Sie Ihre Builds und Bereitstellungen automatisieren sowie Code und Apps vor der Einführung automatisch testen können.

Um Sie bei Entwicklung, Bereitstellung, Testen und Nachverfolgung von Code und Apps zu unterstützen, enthält Azure DevOps Folgendes:

• Azure BoardsNutzen Sie Azure Boards, um die Arbeit teamübergreifend zu planen, nachzuverfolgen und zu diskutieren.

• Azure ReposMit Azure Repos können Sie gemeinsam an der Code-Entwicklung arbeiten. Es stehen Ihnen kostenlose private und öffentliche Git-Repositorys, Pull Requests und Codeprüfungen zur Verfügung.

• Azure-PipelinesUm Build- und Release-Pipelines für die Automatisierung zu erstellen, können Sie Azure Pipelines verwenden.

• Azure Test PlansVerbessern Sie mit Azure Test Plans die allgemeine Qualität Ihres Codes – mit manuellen und explorativen Testdiensten für Ihre Apps.

• Azure Artifacts Mit Azure Artifacts können Sie Code-Pakete (z. B. npm-, NuGet- und Maven-Pakete) für Ihr gesamtes Unternehmen freigeben.

Sehen wir uns die Azure DevOps-Dienste genauer an.

Wie können Sie mit Azure intelligenter planen, besser zusammenarbeiten und Ihre Apps schneller bereitstellen?

Entwicklerleitfaden für Azure

Mai2019

Page 91: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Das gesamte Planungssystem wurde auf flexibles Arbeiten ausgelegt. Es umfasst sogar Kanban-Boards für die Verwaltung Ihrer Arbeit (Abbildung 7-1).

Alles lässt sich anpassen, um ideal für Ihre Teams geeignet zu sein, ganz gleich, ob Sie Scrum, eine andere flexible Methode oder den CMMI-Prozess (Capability Maturity Model Integration) verwenden. Sie können Aufgaben, Funktionen, User Storys, Bugs, Anforderungen, Probleme, Änderungsanfragen usw. erstellen und verwalten.

Warum passen Sie nicht einmal Ihre Boards an und erstellen Diagramme (Burndown-Diagramme oder Aufgabenlisten), die alle benötigten Informationen anzeigen? Sie können Arbeitsaufgaben und Fortschritte abfragen und mit ihnen Ihre Boards, Diagramme und Listen anpassen. Von hier aus können Sie sie freigeben oder auf Ihrem Azure DevOps-Dashboard fixieren, damit jeder sie sieht.

91

Das Planen Ihrer Arbeit und das Nachverfolgen Ihrer Fortschritte sind wichtige Aufgaben – und Azure Boards hilft Ihnen dabei.

Mai2019

Azure Boards

// Testen Sie es: Nutzen Sie jetzt Azure Boards, um Probleme, Aufgaben und Epics nachzuverfolgen.

Abbildung 7-1

In Azure Boards können Sie einen kompletten Bestand an Arbeitsaufgaben (wie User Storys) erstellen und sie in Phasen planen, damit Ihr Team diese Aufgaben iterativ abarbeiten kann.

Entwicklerleitfaden für Azure

Page 92: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019

92

Versionskontrolle ist für die Zusammenarbeit unabdingbar. Und für die Gewährleistung, dass Ihre wichtigste Ressource – Ihr Code – sicher gespeichert ist. Azure Repos ist ein Satz an Tools für die Versionskontrolle, mit denen Sie Ihren Code sicher speichern und für Ihr Team freigeben können. Das ist für Teams sowie für einzelne Entwickler hilfreich. Versionskontrolle bewahrt den Verlauf Ihrer Entwicklung auf. Sie können jede Version Ihres Codes einsehen und den Code sogar auf eine frühere Version zurücksetzen.

Bei der Nutzung von Azure Repos stehen die beiden folgenden zwei Systeme der Versionskontrolle zur Verfügung:

Git

Dieses Kontrollsystem wird von vielen Entwicklern verwendet und ist die Basis für GitHub. Git ist ein verteiltes Versionskontrollsystem. Der komplette Quellcode (alle Versionen aller Dateien) befindet sich also auf Ihrem Rechner – weshalb Sie problemlos offline arbeiten können. Bei Git befindet sich die Source of Truth praktisch auf jedermanns Rechner und wird synchronisiert, wenn Entwickler ihren Code auf den Git-Server (in diesem Fall Azure Repos) hochladen.

Azure Repos nutzt Standard-Git. Sie können es mit jedem beliebigen Git-Tool und jeder IDE verwenden, inklusive Visual Studio und Visual Studio Code sowie Git für Windows, Mac, Eclipse und IntelliJ.

Wenn Sie dem Git-Workflow folgen, beginnen Sie in der Regel damit, eine eigene Verzweigung des Codes zu erstellen, um beispielsweise eine Funktion hinzuzufügen. Sobald Sie damit fertig sind, übergeben Sie Ihren Code, um einen Pull Request für diese Verzweigung zu erstellen und an den Server zu übermitteln. Benutzer können diesen Pull Request sehen, prüfen, testen und diskutieren. Sobald er gut genug ist, um in die Hauptverzweigung übernommen zu werden, wird die Anforderung angenommen. Ihre Entwicklungsverzweigung kann daraufhin gelöscht werden.

Azure Repos umfasst einen großen Satz an Tools, die den Git-Workflow unterstützen. Sie können Arbeitsaufgaben wie User Stories oder Bugs mit Pull Requests verknüpfen. So ist klar ersichtlich, um was es bei den einzelnen Änderungen geht. Sie können den übermittelten Code diskutieren und sogar Änderungen des Codes kommentieren. Azure Repos ermöglicht auch Abstimmungen über Code-Änderungen. Diese werden dann nur angenommen, wenn alle Teammitglieder einverstanden sind.

Azure Repos bietet kostenlos und unbegrenzt private Git-Repositorys.

Azure Repos

// Jetzt starten: Lernen Sie Programmieren mit Git.

Page 93: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019

93

Team Foundation Version Control

Team Foundation Version Control (TFVC) ist ein zentralisiertes Versionskontrollsystem, das gewährleistet, dass eine Source of Truth immer auf dem Server belassen wird. Entwickler speichern normalerweise nur eine Version jeder Datei auf ihrem Rechner, was die Offline-Arbeit erschwert.

Bei TFVC können Sie aus folgenden Arbeitsbereichen auswählen:

Server-Arbeitsbereiche: Entwickler „leihen“ sich Dateien öffentlich vom Server, sodass niemand sonst diese Dateien ändern kann. Wenn sie fertig sind, geben sie die aktualisierten Dateien zurück. Andere Entwickler können sie jetzt ausleihen und selbst Änderungen vornehmen. Dadurch entfällt die Notwendigkeit, Änderungen zusammenzuführen, und Code-Konflikte werden verhindert. Lokale Arbeitsbereiche: Damit haben Entwickler die aktuelle Version jeder Datei auf ihrem Rechner und können sie ändern. Wenn sie alle Änderungen vorgenommen haben, übergeben sie die Änderungen an den Server und beheben ggf. Konflikte.

Mit TFVC auf Azure Repos kann jeder die Versionen von Codeverzweigungen herunterladen, die Sie auf dem Server erstellen. Außerdem stellt Azure Repos einen umfassenden Satz an Tools bereit, mit denen Sie Arbeitsaufgaben an Code-Änderungen anhängen können. Sie können auch Code-Prüfungen anfordern und durchführen, damit Ihr Team Änderungen besprechen und Aktualisierungen vorschlagen kann, bevor die Zusammenführung mit der Hauptverzweigung erfolgt.

// Testen Sie es: Beginnen Sie damit, Code mit TFVC und Visual Studio zu erstellen und freizugeben.

Page 94: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019

94

Sobald sich Ihr Code in einem Repository wie Azure Repos befindet, können Sie Ihre Build- und Releaseprozesse mit Azure Pipelines automatisieren.

Azure Pipelines bietet viel Wert in kurzer Zeit. Der Dienst ermöglicht die kontinuierliche Integration (Continuous Integration, CI) für das Kompilieren und Testen von Code bei Änderungen sowie die kontinuierliche Bereitstellung (Continuous Deployment, CD) für das Bereitstellen von Apps, nachdem Änderungen kompiliert und erfolgreich getestet wurden. Wir empfehlen jedem Unternehmen, sich mit CI und CD auseinanderzusetzen, da diese Prozesse die Qualität des Codes verbessern und den Bereitstellungsaufwand senken.

Azure Pipelines unterstützt die CI und CD mit Entwicklungs- und Bereitstellungspipelines. Jede umfasst Schritte, mit denen Sie Ihren Code kompilieren, testen und in einer oder mehreren Umgebungen bereitstellen können. Der Vorteil von Azure Pipelines besteht darin, dass der Dienst mit jeder Art von Code funktioniert, egal, wo Sie ihn speichern – von C# auf Azure Repos bis hin zu Java auf BitBucket.

Azure Pipelines kann gut zusammen mit Azure-Diensten eingesetzt werden, um Ihre Anwendung z. B. in einer Azure-Web-App bereitzustellen. Es ist auch mit anderen Diensten kompatibel, die in anderen Umgebungen ausgeführt werden, z. B. Google Cloud und

Amazon, oder sogar on-premise in Ihrem eigenen Rechenzentrum. Wenn Sie bereits Tools für die kontinuierliche Integration wie Jenkins oder Spinnaker verwenden, können Sie vorhandene

Abbildung 7-2: Azure-Pipelines: Build-Pipeline

Entwicklungen und Pipelines leicht in Azure importieren und Plug-Ins mit dynamischen Agent nutzen, um Infrastrukturanforderungen und -kosten zu senken. Es gibt zwei Möglichkeiten, wie Sie Azure Pipelines verwenden können: Sie können mit dem visuellen Designer im Azure DevOps-Portal Pipelines erstellen oder den fortschrittlicheren YAML-basierten Ansatz nutzen. Dabei erstellen Sie eine YAML-Codedatei, die alle Schritte der Pipeline enthält, und übergeben diese an die Quellkontrolle.

Die einfachste Option für den Einstieg ist der visuelle Designer. Sehen wir uns ein Beispiel einer Build- und Release-Pipeline an.

Build-Pipeline: Die Build-Pipeline (oder CI-Pipeline) in Abbildung 7-2 zeigt eine Liste von Aufgaben, die durchgeführt werden, wenn diese Pipeline ausgeführt wird. Die Pipeline ist so konfiguriert, dass sie ausgeführt wird, sobald Änderungen an Azure Repos übergeben werden. Sie nimmt den Code

Azure-Pipelines

Page 95: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019

95

Abbildung 7-3

in Azure Repos (eine Node.js-App), erstellt daraus ein Docker-Container-Image und sendet es an die Azure Container Registry. Dort kann Helm das Image in einem Paket kompilieren, das Sie auf Azure Kubernetes Service bereitstellen können.

Beachten Sie, dass Sie konfigurieren können, welche Hosts Ihre Pipelines ausführen. Rechts im Bild sehen Sie, dass diese Pipeline auf einem gehosteten Pool an Ubuntu-Rechnern ausgeführt wird. Es sind auch Linux- und Windows-Hosts verfügbar und sogar ein gehostetes MacOS, mit dem Sie Ihre iOS-Apps entwickeln können. Dies ist nur ein Beispiel für eine Build-Pipeline. Sie können für jede denkbare Anwendung eine solche Pipeline erstellen. Zusätzlich können Sie Tests integrieren, einschließlich Einheitentests und statischer Codetests.

Release-Pipeline: Die Release-Pipeline (oder CD-Pipeline) wird ausgeführt, sobald die Build-Pipeline erfolgreich läuft. Sie können jedoch auch festlegen, dass sie manuell ausgelöst wird. Die Release-Pipeline in Abbildung 7-3 enthält neun Aufgaben, die zunächst einen Azure Kubernetes Service-Cluster erstellen und dann das Helm-Paket auf dem Cluster bereitstellen, das in der Build-Pipeline produziert wurde.

Abbildung 7-3 zeigt die Schritte in der Entwicklungsphase. Phasen sind wie Umgebungen. Sie können z. B. eine Phase für die Entwicklung, für Tests oder Produktionsumgebungen konfigurieren. Möglich ist auch die Konfiguration anderer Schritte wie Genehmigungen vor der Bereitstellung, bei denen die Freigabe einer Anwendung für eine bestimmte Umgebung (z. B. die

Produktionsumgebung) genehmigt werden muss. Sie können also alle Schritte automatisieren und die Entscheidung für die Produktionsfreigabe einer Führungskraft überlassen, die sie basierend auf den Testergebnissen aus vorhergehenden Schritten der Pipeline trifft.

Gestalten Sie Ihre Pipelines so einfach oder komplex, wie Sie möchten. Im Idealfall automatisieren Sie so viele Aufgaben wie möglich, von Erstellung und Vernichtung der Infrastruktur bis zu Bereitstellung und Tests Ihrer Anwendung. Pipeline-Aufgaben sind für fast alles verfügbar. Sie können auf weitere Aufgaben als Erweiterungen zu Azure DevOps im Visual Studio Marketplace zugreifen.

// Jetzt mit Azure Pipelines starten: Erstellen Sie Ihre erste Pipeline.

Page 96: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019

96

Abbildung 7-4

Um die Qualität Ihrer Anwendungen zu verbessern, nutzen Sie Azure Test Plans für die Definition von Testplänen und erstellen und führen dann manuelle und explorative Tests durch. Azure Test Plans stellen Tools bereit, mit denen Sie Tests erstellen und ausführen, Feedback aufzeichnen und die Testergebnisse nachverfolgen können.

Beginnen Sie bei Azure Test Plans mit dem Erstellen eines Testplans. Dieser enthält mehrere Testsuiten und Testfälle. Ein Testfall kann ein explorativer Test sein, bei dem untersucht wird, ob eine Anwendung erwartungsgemäß funktioniert, ein geführter manueller Test, bei dem die Testschritte und erwarteten Ergebnisse detailliert beschrieben sind, oder ein automatisierter Test. Sie können sogar Testschritte aufzeichnen, indem Sie Klicks in einer Anwendung aufnehmen und Azure Test Plans diese Klicks für einen Test automatisieren lassen. Darüber hinaus können Sie Belastungs- und Lasttests in Ihre Build- und Release-Pipelines integrieren. Testfälle sind, genau wie User Storys und Aufgaben, Arbeitsaufgaben und lassen sich daher in einer Iteration planen.

Wenn Sie einen Test erstellt haben (Abbildung 7-4), kann ein Tester ihn ausführen. Bei einem manuellen Test nutzt der Tester beispielsweise das Testtool, um die Testschritte durchzuführen und die Ergebnisse aufzuzeichnen, einschließlich Bildschirm, Stimme des Testers, Screenshots und Anhänge. Der Tester entscheidet bei jedem Schritt, ob er bestanden wurde oder nicht.

Über den Kontext des Tests kann der Tester auch einen Bug erstellen, der behoben werden muss.

Damit die Erwartungen aller Beteiligten mit Ihrem Plan übereinstimmen, können Sie mit Azure Test Plans auch zu Arbeitsaufgaben wie User Storys Feedback anfordern. So können sich alle Beteiligten Ihre Vorschläge ansehen und Feedback in Form von Texten, Anhängen, Videos oder Sprachdateien abgeben. Das vielleicht wichtigste Feature von Azure Test Plans ist die Bereitstellung von Dashboards und Diagrammen, die Sie über den Fortschritt und den Status Ihrer Tests im Projekt informieren. Auf diese Weise können Sie die Qualität Ihrer Anwendung ermitteln und sehen, wie sie sich im Laufe der Zeit weiterentwickelt. So können Sie Funktionen identifizieren, die noch nicht bereitgestellt werden können.

// Jetzt mit Azure Test Plans starten: Erstellen Sie manuelle Testfälle.

Azure Test Plans

Page 97: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019

97

Da Pakete Funktionen bieten, die Sie nicht selbst entwickeln müssen, verwenden Sie vermutlich viele davon in Ihren Anwendungen. Und Sie greifen wahrscheinlich über ebenso viele Quellen auf sie zu: NuGet, npm, Maven usw. Was aber, wenn ihr Team Pakete erstellt, die nur intern genutzt werden sollen? Wo hosten Sie sie sicher? Wie geben Sie sie frei? Azure Artifacts bietet diese Möglichkeit. Azure Artifacts ist ein Paket-Feed, mit dem Sie Ihre erstellten Pakete für Ihr Unternehmen hosten und sichern können.

Sie können alle Arten von Paketen auf Azure Artifacts hosten, darunter auch NuGet, npm, Maven, Python und Universal Packages. Sie können den Azure Artifacts-Feed sogar nutzen, um Pakete von öffentlichen Quellen wie nuget.org oder npmjs.com zu speichern. Wenn Sie Pakete von öffentlichen Quellen in Ihrem Feed speichern, können Sie sie auch dann noch verwenden, wenn sie nicht mehr im öffentlichen Feed verfügbar sind. Dies ist besonders

bei geschäftskritischen Paketen wichtig. Befolgen Sie diese einfachen Schritte, um Azure Artifacts zu nutzen:

1. Erstellen Sie einen Azure Artifacts-Feed.

2. Veröffentlichen Sie Ihr Paket im Feed.

3. Nutzen Sie den Feed in Ihrer bevorzugten IDE, z. B. Visual Studio.

Weiterführende Literatur

Wenn Sie die Qualität Ihrer Software verbessern und mehr über die Automatisierung von Build- und Release-Prozessen erfahren möchten, laden Sie die folgenden kostenlosen E-Books herunter:

// Testen Sie es: Jetzt mit Python-Paketen in Azure Artifacts starten

Azure Artifacts

// Kontinuierliche Bereitstellung in Java

// Effektivere DevOps

// Azure für Architekten

Page 98: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

98

Mus ma dolor duciuscit, odit volupis as volo eos et libusci duntem commo es nit etur sit dolum earum

Duntiaspel is vel estotatem qui qui sitatio nsedit, ea sere volor molupta dolut officto blaut omnimenem fugitas et omnihil lestibea veliquia conem estiae quidi aut facearchilit quidelia peri conserrum, qui utaquiasit utaquiae reperum re et fugitibus re porepedit faciminciae lant et dolorpos et volum se doloreh endigenis pratibus quis in natem.

Sedicil labores citatem natem sedit autet volorit, quos ut lameniatur? Um enimagnis minctur simillab is arum quatinverro te destibus, tem adis eum rehenia si omnimusam veni nossita.

98Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

9898

Azure in der Praxis

Entwicklerleitfaden für Azure

Mai2019

08 /

Page 99: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

99

Eines der wichtigsten Azure-Tools ist der zentrale Hub – das Azure-Portal. Die meisten Aufgaben, die Sie im Azure-Portal erledigen, können Sie auch über die Azure-API, die Azure-CLI und die Azure PowerShell durchführen.

Das Azure-Portal ist ein Dashboard mit Kacheln. Sie können einfach Dashboards erstellen und anpassen und sie für Teammitglieder freigeben.

Kacheln im Azure-Portal

Kacheln, wie in Abbildung 8-1 dargestellt, zeigen Informationen zu einem Dienst an oder fungieren als Verknüpfung zu einem Dienst. Sie sind im gesamten Portal auf den Seiten zu allen Diensten zu finden. Die Kacheln bieten eine nützliche, schnelle Übersicht über die Funktion eines Dienstes.

Exemplarische Vorgehensweise Nr. 1: das Azure-Portal

Abbildung 8-1

Die Kacheln des Application Insights-Dienstes zeigen Informationen wie aktive Warnungen, eingehende Live-Daten, aktive Benutzer in den letzten 24 Stunden und Verfügbarkeit. Sie können die Größe und Informationen einer Kachel sowie das Aussehen der Diagramme ändern, indem Sie Zeitpläne anpassen und Daten in unterschiedlichen Formaten anzeigen, z. B. als Linien oder Balken. Sie können Kacheln direkt an Ihre Dashboards anheften (Abbildung 8-2), um sie im Portal als Erstes zu sehen. Beispielsweise können Sie Kacheln von den Servicekennzahlen, die Sie verwenden, anheften, um ein Überwachungs-Dashboard zu erstellen, das Sie für Ihr Team freigeben oder auf einem physischen Bildschirm anzeigen.

Abbildung 8-2

Hinzufügen von Diensten

Es gibt verschiedene Methoden, Dienste im Azure-Portal zu finden und hinzuzufügen.

Klicken Sie auf das Pluszeichen in der oberen linken Ecke des Portalfensters, um neue Dienste zu erstellen. Daraufhin öffnet sich das Suchfeld für den Marketplace. Dort finden Sie alles von Web-Apps bis Linux-Server, wie in Abbildung 8-3 gezeigt.

Entwicklerleitfaden für Azure

Mai2019

Page 100: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

100

Abbildung 8-3

Abbildung 8-4

Wenn Sie den gewünschten Dienst in den Suchergebnissen gefunden haben (siehe Abbildung 8-4), leitet Sie ein Assistent durch die Konfiguration und Bereitstellung.

Abbildung 8-5

Sie können mit dem Suchfeld am oberen Rand des Portals Ihre Ressourcen durchsuchen und direkt zu ihnen gelangen (Abbildung 8-5). Das Menü „Favoriten” befindet sich im linken Bereich des Portals. Dieses Menü zeigt die Ressourcenkategorien (anhand ihrer Symbole), z. B. Azure App Service. Die Symbole lassen sich nach Wunsch durch Drag-and-drop neu anordnen. Sie können auch auswählen, welche Kategorien angezeigt werden sollen,

Entwicklerleitfaden für Azure

Mai2019

indem Sie das Menü „Favoriten” erweitern und die Stern-Symbole dieser Kategorien auswählen.

So funktionieren Blades

Seiten in Azure werden auch Blades genannt. Sie können sie an Ihre Dashboards anheften. Wenn Sie eine Web-App öffnen, sehen Sie zunächst das Übersichts-Blade, wie in Abbildung 8-6 gezeigt.

Darauf finden Sie Tools zum Stoppen, Starten und Neustarten der Web-App. Außerdem werden Kacheln mit Kennzahlen, z. B. der Anzahl von Anforderungen und Fehler, angezeigt. Bei Auswahl eines anderen Menüpunkts öffnet sich eine neue Ansicht. Blades öffnen sich immer in ihrem Kontext. Wenn Sie beispielsweise das „Bereitstellungsslots”-Blade öffnen und auf die Schaltfläche zum Erstellen eines neuen Bereitstellungsslots klicken, wird rechts davon ein neues Blade angezeigt. Der Kontext, in dem Sie sich befinden, bleibt erhalten.

Page 101: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

101

Abbildung 8-6

Erstellen einer neuen VM

Wir verwenden das Azure-Portal, um eine neue VM zu erstellen. Wenn wir das getan haben, fahren wir sie herunter und entfernen sie, damit Sie nicht mehr dafür zahlen müssen.

Ein Wort über Ressourcengruppen

Die VM wird in einer Ressourcengruppe bereitgestellt, einem logischen Container, der Ressourcen enthält. Alle Ressourcen von Azure

Entwicklerleitfaden für Azure

Mai2019

befinden sich in Ressourcengruppen. Sie können die Sicherheit einer Ressourcengruppe verwalten und die Kosten der Ressourcen in der Gruppe sehen. Zusammenhängende Dienste in Ressourcengruppen zu bündeln, ist eine gängige Praxis, um sie einfacher zu sichern.

1. Wählen Sie oben links im Azure-Portal Neuen Dienst erstellen aus.

2. Geben Sie im Suchfeld Windows Server virtual machine ein.

3. Klicken Sie auf Windows Server 2016 Datacenter.

4. Klicken Sie auf Erstellen. Der Assistent zum Erstellen von virtuellen Maschinen öffnet sich.

5. Wählen Sie einen Namen für die VM aus.

6. Wählen Sie den Datenträgertyp aus. SSD bietet eine schnellere VM, ist aber teurer. Wählen Sie für diese Anleitung SSD aus.

7. Geben Sie einen Benutzernamen ein.

8. Wählen Sie Kennwort für den Authentifizierungstyp aus.

9. Geben Sie ein Kennwort ein und bestätigen Sie es.

10. Geben Sie im Feld Ressourcengruppe einen neuen Namen ein.

Page 102: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

102

11. Wählen Sie den Standort der VM aus, und klicken Sie auf OK.

12. Wählen Sie die Größe der VM aus. VMs gibt es in vielen Größenordnungen. Die VM-Leistung bestimmt die Kosten. Wählen Sie über den Assistenten die Anzahl von Prozessorkernen, die Größe des Arbeitsspeichers und darauf basierende Optionen aus. Darüber hinaus gibt es weitere Funktionen mit Größenoptionen, z. B.:

• Festplattentyp (SSD oder normales HDD).

• Anzahl max. Input-/Output-Operationen pro Sekunde (IOPS). Diese Größe hat erheblichen Einfluss auf die Leistung der VM, insbesondere bei Anwendungen mit vielen Lese- und Schreibvorgängen zwischen Anwendung und Festplatte.

• Anzahl von Datenlaufwerken, die auf der VM installiert werden können.

• Fähigkeit, Lastenausgleich durchzuführen.

• Auf der VM installierte Grafikkarte. Hilfreich bei umfassendem Grafik-Rendering oder rechenintensiven Workloads.

13. Nach der Auswahl der Größe können Sie zusätzliche Einstellungen wie virtuelles Netzwerk, IP-Adresse und Erweiterungen auf dem Computer konfigurieren. Belassen Sie im Moment alle Angaben, und klicken Sie auf OK.

14. Überprüfen Sie die Zusammenfassung, stimmen Sie den Bedingungen zu, und klicken Sie dann auf Erstellen.

In der Regel dauert es nur ein paar Minuten, bis die VM bereitgestellt wird. Wenn Sie im Azure-Portal zur VM navigieren, können Sie sie weiter konfigurieren und sich mithilfe von Remotedesktop-Protokoll (RDP) bei der VM anmelden.

Wenn Sie sich mit RDP bei der VM anmelden möchten, klicken Sie auf die Schaltfläche Verbinden auf dem VM-Blade Übersicht im Azure-Portal (Abbildung 8-7). Daraufhin wird die RDP-Datei heruntergeladen, die Sie für die Verbindung mit der VM verwenden können.

Bei der exemplarischen Vorgehensweise angelegte Ressourcen bereinigen

Wenn Sie die VM erstellt haben, können Sie sie herunterfahren und entfernen, indem Sie die beim Generieren der VM erstellte Ressourcengruppe löschen. Darin sind die VM sowie alle anderen automatisch erstellten Ressourcen enthalten. Nach dem Löschen der Ressourcengruppe zahlen Sie nicht mehr für die im Laufe der Anleitung genutzten Ressourcen.

Mai2019

Entwicklerleitfaden für Azure

Abbildung 8-7

Page 103: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

103

In dieser exemplarischen Vorgehensweise stellen wir eine einfache .NET Core-Anwendung bereit, die mit einer SQL-Datenbank verbunden ist. Dann hosten wir sie in Web Apps.

Um der Anleitung folgen zu können, müssen Git v2 oder höher, .NET Core und Visual Studio Code auf Ihrem Computer installiert sein. Außerdem nutzen wir eine ASP.NET Core-MVC-Beispielanwendung zur Verwaltung einer Aufgabenliste.

Exemplarische Vorgehensweise Nr. 2: Web-App und Datenbank auf Azure entwickeln

Web-App und Datenbank im Azure-Portal erstellen

Um die .NET Core-Anwendung zu hosten, erstellen wir eine neue Web-App im Azure-Portal.

1. Wählen Sie im Azure-Portal Neuen Dienst erstellen aus.

2. Suchen Sie nach Web-App. Das Web App-Blade erscheint. Wählen Sie Erstellen aus. Das Blade Erstellen der Web-App wird geöffnet.

3. Geben Sie einen Namen für die Web-App ein.

4. Erstellen Sie eine neue Ressourcengruppe, indem Sie sie benennen.

5. Belassen Sie die Auswahl des Betriebssystems bei Windows.

6. Wählen Sie einen App Service-Plan aus oder erstellen Sie einen. Wählen Sie anschließend Erstellen aus.

Dienste wie Web Apps werden auf Azure App Service-Plänen ausgeführt. App Service-Pläne sind Abstraktionen von Ressourcen und Features wie CPU und Arbeitsspeicher und in Preisstufen organisiert.

App Service-Pläne sind außerdem an eine bestimmte geografische Region gebunden, die Sie auswählen. Zum Beispiel können Sie Ihre Web Apps-Anwendung in einem App Service-Plan der Preisstufe S1 ausführen, die 1 Kern und 1,75 GB RAM hat, wie in Abbildung 8-8 gezeigt.

Abbildung 8-8

Mai2019

Preisstufe: S1 Region: USA, Mitte

Entwicklerleitfaden für Azure

Page 104: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

104

Lokale Ausführung der .NET Core-Anwendung

Wir führen die App zunächst lokal aus, bevor wir sie in Azure ausführen. Die App kann lokal ausgeführt werden, weil sie eine SQLite-Datenbank verwendet. Dies ist eine eigenständige SQL-Datenbank-Engine.

1. Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zu dem Verzeichnis, das Sie als Quellcodeverzeichnis für dieses Projekt verwenden möchten.

2. Führen Sie die folgenden Befehle zum Abrufen des Quellcodes aus, und navigieren Sie zum Projektordner:

3. Das Projekt verwendet Entity Framework Core, um die Datenbank aufzufüllen. Um sicherzustellen, dass die Datenbank auf dem neuesten Stand ist, und um die Anwendung lokal auszuführen, führen Sie die folgenden Befehle aus:

git clone https://github.com/azure-samples/dotnetcore-sqldb-tutorial

cd dotnetcore-sqldb-tutorial

dotnet restore

dotnet ef database update

dotnet run

Mai2019

Sie können so viele App Services in einem App Service-Plan ausführen, wie Sie möchten, solange Sie beachten, dass die Ressourcen von allen App Services gemeinsam genutzt werden müssen.

Um die Datenbank zu hosten, erstellen wir eine SQL-Datenbank. Dies funktioniert genauso wie eine lokale SQL Server-Datenbank und wird jetzt vollständig verwaltet in Azure ausgeführt.

1. Klicken Sie im Azure-Portal auf Neuen Dienst erstellen.

2. Klicken Sie auf SQL Database, um das Blade SQL Database zu öffnen. Klicken Sie auf Erstellen. Das Blade SQL Database erstellen wird geöffnet.

3. Geben Sie einen Namen für die Datenbank ein.

4. Wählen Sie die Ressourcengruppe aus, die Sie für die Web-App erstellt haben.

5. Lassen Sie die Quelle unverändert als leere Datenbank.

6. Klicken Sie auf Server, um einen neuen SQL-Datenbankserver zu erstellen.

a. Geben Sie einen Namen für den Server ein.

b. Geben Sie den Anmeldenamen für den Serveradministrator ein. Dies ist der Benutzername für den Server.

c. Geben Sie das Kennwort ein, das Sie zum Anmelden am Server verwenden.

d. Bestätigen Sie das Kennwort.

e. Wählen Sie einen Speicherort aus. Wählen Sie denselben Speicherort aus, den Sie für den App Service-Plan ausgewählt haben.

f. Klicken Sie auf Auswählen, um die neue Serverkonfiguration zu übermitteln.

7. Wählen Sie eine Preisstufe aus. Für Entwicklungs- und Testzwecke genügt die Preisstufe Basic.

8. Klicken Sie auf Erstellen. Die Datenbank wird jetzt erstellt.

9. Navigieren Sie zur SQL-Datenbank, und klicken Sie auf Datenbank-Verbindungszeichenfolge anzeigen.

10. Notieren Sie sich die Verbindungszeichenfolge, da Sie sie später in diesem Tutorial wieder benötigen.

Entwicklerleitfaden für Azure

Page 105: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

105

Abbildung 8-9

4. Die App sollte nun ausgeführt werden. Die URL für die App (z. B. http://localhost:5000) sollte in der Ausgabe im Befehlsfenster angezeigt werden.

5. Navigieren Sie in einem Browser zu dieser URL. Dadurch wird die Anwendung geladen, wie in Abbildung 8-9 gezeigt. Jetzt können Sie durch Auswahl des Links Neu erstellen neue Aufgaben erstellen.

6. Schließen Sie die Anwendung, indem Sie das Befehlsfenster schließen oder STRG+C drücken.

Verbindung der lokalen Webanwendung mit der Datenbank in Azure

Sie besitzen nun eine funktionierende, lokal ausgeführte Anwendung. Bevor Sie diese in Azure bereitstellen, ändern Sie den Quellcode, damit sie eine Verbindung mit der SQL-Datenbank herstellen kann.

1. Suchen Sie im lokalen Quellcode-Repository die Datei Startup.cs und anschließend den folgenden Code:

servicesAddDbContext<MyDatabaseContext> (options => options.UseSqlite (“Data Source=localdatabase.db”));

// Use SQL Database if in Azure, otherwise, use SQLite

if(Environment.GetEnvironmentVariable(“ASPNETCORE_ENVIRONMENT”) == “Production”)

services.AddDbContext<MyDatabaseContext>(options => options.UseSqlServer(Configuration.GetConnectionString(“MyDbConnection”)));else services.AddDbContext<MyDatabaseContext>(options => options.UseSqlite(“Data Source=localdatabase.db”));

// Automatically perform database migrationservices.BuildServiceProvider().GetService<MyDatabaseContext>().Database.Migrate();

2. Ersetzen Sie den Code durch den folgenden Code, der eine Verbindung mit der Azure SQL-Datenbank herstellt:

Mai2019

Entwicklerleitfaden für Azure

Page 106: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Dieser Code berücksichtigt die Umgebung, in der er ausgeführt wird, und ändert die Datenbankverbindung entsprechend. Wenn er in der Produktionsumgebung ausgeführt wird (in diesem Fall Azure), erhält der Code die Verbindungszeichenfolge für die Datenbank aus der MyDbConnection-Variablen. Wir werden diese Variable in Azure konfigurieren.

Der Code führt auch die Methode Database.Migrate() aus, die die Entity Framework Core-Migrationen ausführt, die wir zuvor manuell ausgeführt haben.

3. Speichern Sie Ihre Änderungen, und führen Sie die folgenden Befehle aus, um die Änderungen an Ihr lokales Git-Repository zu übergeben:

Jetzt konfigurieren wir die Variable für die Verbindungszeichenfolgen in Azure.

4. Navigieren Sie im Azure-Portal zu der zuvor erstellten Web-App.

5. Navigieren Sie zu Anwendungseinstellungen.

106

Abbildung 8-10

git add .git commit -m “connect to SQLDB in Azure”

Bereitstellung der Web-App in Azure

Wir verwenden Git, um die Anwendung zu Azure zu verschieben. Um das lokale Git-Repository mit Azure zu verbinden, muss auf dem Server (Azure Web App) ein Bereitstellungsbenutzer konfiguriert werden, um die Bereitstellung zu authentifizieren. Der Bereitstellungsbenutzer wird auf Kontoebene eingerichtet und unterscheidet sich von Ihrem Azure-Abonnementkonto. Sie müssen diesen Bereitstellungsbenutzer nur einmal konfigurieren.

1. Navigieren Sie im Azure-Portal zur Azure Cloud Shell, indem Sie in der oberen Leiste die Schaltfläche auswählen, die wie folgt aussieht:

Mai2019

6. Erstellen Sie eine neue Verbindungszeichenfolge mit dem Namen MyDbConnection. Der Wert sollte die Verbindungszeichenfolge für die SQL-Datenbank (einschließlich Benutzername und Kennwort) sein, die Sie während der Erstellung der Datenbank gespeichert haben.

7. Klicken Sie auf Speichern. Die Anwendungseinstellungen im Azure-Portal sollten wie in Abbildung 8-10 gezeigt aussehen.

Entwicklerleitfaden für Azure

Page 107: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

107

2. Die Azure Cloud Shell ermöglicht Ihnen die Verwendung der Azure-CLI in der Cloud und verwaltet die Authentifizierung. Wenn die Cloud Shell vollständig geladen ist, führen Sie den folgenden Befehl aus, um den Bereitstellungsbenutzer zu erstellen. Ersetzen Sie die Werte <Benutzername> und <Kennwort> durch von Ihnen erstellte Werte. Notieren Sie sich den Benutzernamen und das Kennwort, da Sie sie später wieder benötigen.

3. Der Befehl führt zu einer JSON-Ausgabe. Wenn die Fehlermeldung „Konflikt. Details: 409“ angezeigt wird, ändern Sie den Benutzernamen. Wenn die Fehlermeldung „Ungültige Anforderung. Details: 400“ angezeigt wird, erstellen Sie ein stärkeres Kennwort.

Jetzt verschieben Sie den Quellcode vom lokalen Git-Repository zur Azure Web-App.

4. Öffnen Sie die Eingabeaufforderung auf dem lokalen Computer.

5. Fügen Sie Ihrem lokalen Git-Repository einen Azure-Remotespeicherort hinzu. Nutzen Sie dazu die Git-Remote-URL:

a. Ersetzen Sie <Benutzername> durch den Benutzernamen, den Sie zur Erstellung des Bereitstellungsbenutzers verwendet haben.

b. Ersetzen Sie <app_name> durch den Namen der Azure Web-App.

c. Verwenden Sie die URL, um den folgenden Befehl auszuführen:

6. Wenn das Remoteziel zum Git-Repository hinzugefügt wurde, können Sie Ihren Code dorthin verschieben, indem Sie folgenden Befehl ausführen: Sie müssen die Anmeldeinformationen eingeben, um Code zu Azure verschieben zu können. Verwenden Sie den Benutzernamen und das Kennwort, die Sie zur Erstellung des Bereitstellungsbenutzers genutzt haben. Das Verschieben des Quellcodes zu Azure nimmt möglicherweise beim ersten Mal einige Minuten in Anspruch. Navigieren Sie nach Abschluss des Vorgangs zur URL Ihrer Azure Web-App, die wie folgt aussehen wird: http://<app_ name>.azurewebsites.net

7. Fügen Sie einige Aufgaben in der Anwendung hinzu, um zu testen, ob die Verbindung mit der Datenbank funktioniert.

Sie besitzen nun eine funktionierende, in Azure ausgeführte Anwendung.

git remote add azure <deploymentLocalGitUrl>

git push azure masteraz webapp deployment user set --user-name <username> --password <password>

Mai2019

Entwicklerleitfaden für Azure

Page 108: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

108

Ein leistungsstarkes Feature der Anwendung ist die Fähigkeit, den Inhalt von Aufgabenelementen zu analysieren und anschließend im Kalender automatisch Termine für Aufgaben mit einem bestimmten Datum zu erstellen.

Wenn beispielsweise ein Benutzer ein neues Aufgabenelement mit dem Text „Familienessen nächsten Freitag um 19:00 Uhr“ erstellt, erstellt die Anwendung ein Kalenderelement für diesen spezifischen Freitag um 19:00 Uhr mit dem Thema „Familie Abendessen“.

Exemplarische Vorgehensweise Nr. 3: Anwendungen mit Logic Apps und Cognitive Services erweitern

Für diese Einrichtung verwenden wir das Feature Logic Apps von Microsoft Azure App Service und den Dienst Language Understanding Intelligent Service (LUIS), wie folgt:

• Die .NET Core-Anwendung schreibt die Aufgabe in die SQL-Datenbank.

• Die Logik-App wird jedes Mal ausgelöst, wenn in der Datenbank eine neue Zeile erstellt wird.

• Die Logik-App übergibt den Text des Aufgabenelements an den Language Understanding-Dienst.

• Der Language Understanding-Dienst analysiert den Text und erstellt im Office 365-Kalender ein Kalenderelement, wenn der Text ein Datum und eine Uhrzeit enthält.

Wir müssen die Anwendung nicht ändern, um diese Funktionalität hinzuzufügen. Logic Apps und Cognitive Service sind zusätzliche Dienste, die einfach die bereits vorhandenen Daten analysieren.

Sind Sie bereit?

Mai2019

Entwicklerleitfaden für Azure

Page 109: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

109

Language Understanding-Dienst erstellen

Zunächst erstellen wir den Language Understanding-Dienst, damit wir ihn später in unserer Logik-App verwenden können. In diesem Beispiel verwenden wir ein einfaches Modell. Wir entwickeln es nicht vollständig, damit Varianten erstellt werden können, die Benutzer für ein Datum in einer Aufgabe möglicherweise benötigen. Sie können das Modell selbst ergänzen, anstatt die von uns erstellten Erweiterungen zu nutzen.

1. Wählen Sie im Azure-Portal Neuen Dienst erstellen aus.

2. Klicken Sie in den Suchergebnissen auf Language Understanding, um das Blade Language Understanding zu öffnen. Wählen Sie Erstellen aus. Das Blade Language Understanding erstellen wird geöffnet.

3. Geben Sie einen Namen ein.

4. Wählen Sie eine Preisstufe aus (für diese Anleitung ist jede Preisstufe ausreichend).

5. Erstellen Sie eine neue Ressourcengruppe mit dem Namen datedetection.

6. Klicken Sie auf Erstellen.

7. Navigieren Sie zum Language Unterstanding-Dienst, sobald er erstellt wurde.

8. Standardmäßig wird der Service auf dem Blade Quick Start geöffnet. Wählen Sie hier Language Understanding Portal aus.

9. Wenn notwendig, melden Sie sich über die Schaltfläche Anmelden rechts oben an.

Wir befinden uns jetzt im Language Understanding Portal und können ein neues Sprachmodell entwickeln. Wir möchten, dass der Language Understanding-Dienst den Ausdruck „Familienessen nächsten Freitag um 19:00 Uhr“ versteht. Zu diesem Zweck fügen wir zuerst einige Entitäten hinzu. Entitäten sind Elemente, die der Dienst im Text erkennt.

1. Klicken Sie auf Entitäten.

2. Klicken Sie auf Vorab entwickelte Entitäten verwalten.

3. Wählen Sie Datetimev2 und keyPhrase aus.

4. Klicken Sie auf Fertig. Sie haben nun zwei Entitäten erstellt, die Text erkennen.

5. Klicken Sie auf Absichten.

6. Klicken Sie auf „Neue Absicht erstellen“.

7. Geben Sie einen Namen wie „Aufgabenkalendereintrag hinzufügen“ ein. Dies ist die Absicht, die wir im Text erkennen möchten.

8. Klicken Sie auf Fertig.

Mai2019

10. Klicken Sie auf Neue App erstellen.

11. Geben Sie einen Namen ein.

12. Klicken Sie auf Fertig.

Entwicklerleitfaden für Azure

Page 110: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

110Mai2019

Jetzt können Sie Äußerungen eingeben. Dies sind Beispieltexte, die die Absicht beschreiben, die Sie erkennen möchten.

9. Geben Sie „Familienessen nächsten Freitag um 19:00 Uhr“ als Absicht ein, dem Kalender einen Aufgabeneintrag hinzuzufügen.

10. Da wir bereits zwei Entitäten hinzugefügt haben, wird der Text in der Äußerung analysiert und als diesen Entitäten entsprechend erkannt, wie in Abbildung 8-11 gezeigt. Der Text „Familienessen“ wird als ein keyPhrase erkannt. Der Text „nächsten Freitag um 19:00 Uhr" wird als ein datetimev2 erkannt.

11. Wir verwenden dieses Modell nun, um den Dienst zu trainieren, und veröffentlichen es. Wählen Sie Trainieren oben rechts im Bildschirm aus.

keyPhrase datetimev2

Abbildung 8-11

• Daraufhin wird ein Machine-Learning-Training ausgeführt und ein Machine-Learning-Modell auf der Basis unserer Eingaben entwickelt.

• Um zu testen, ob der Dienst erwartungsgemäß funktioniert, tippen Sie „Familienessen nächsten Freitag um 19:00 Uhr“ im Fenster Test neben der Schaltfläche Trainieren ein.

12. Da der Dienst funktioniert, müssen wir dieses Modell für die Produktion veröffentlichen. Klicken Sie auf Veröffentlichen im Menü (neben der Schaltfläche Trainieren), um die Seite Veröffentlichen aufzurufen.

13. Belassen Sie den Slot als Produktion.

14. Klicken Sie auf Veröffentlichen.

15. Das Modell wird jetzt für die Produktion veröffentlicht. Scrollen Sie nach unten zu Ressourcen und Schlüssel. Notieren Sie sich die Schlüsselzeichenfolge, da wir sie in unserer Logik-App benötigen.

Erstellen der Logik-App

Die von uns erstellte Azure-Logik-App wird von neuen Zeilen von Aufgabenelementen ausgelöst, die in SQL Database geschrieben werden. Sie sendet den Wert jedes Aufgabeneintrags zur Analyse an den Language Understanding-Dienst. Wenn der Language Understanding-Dienst im Eintrag ein Datum findet, erstellt er in Ihrem Office 365-Konto ein neues Kalenderereignis.

Wir erstellen die Logik-App:

1. Klicken Sie im Azure-Portal auf Neuen Dienst erstellen.

2. Klicken Sie in den Suchergebnissen auf Logic App, um das Blade Logic App zu öffnen. Klicken Sie auf Erstellen. Das Blade zum Erstellen der Logic App wird angezeigt.

3. Geben Sie einen Namen ein.

4. Wählen Sie die Ressourcengruppe aus, die Sie für den Language Understanding-Dienst erstellt haben.

5. Wählen Sie einen Speicherort aus.

6. Klicken Sie auf Erstellen.

7. Wenn die Logik-App erstellt wurde, wird Ihnen eine Quick Start-Seite angezeigt, auf der Sie gefragt werden, ob Sie die Logik-App aus einer Vorlage starten möchten (Abbildung 8-12). Wählen Sie Leere Logic App aus.

Entwicklerleitfaden für Azure

Page 111: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

111

Abbildung 8-12

Abbildung 8-13

Wir müssen jetzt einen Auslöser für die Logik-App erstellen.

1. Suchen Sie nach SQL.

2. Wählen Sie die Aufgabe Wenn ein Element erstellt wird aus. Anschließend wird nach der Verbindung mit der SQL-Datenbank gefragt (Abbildung 8-13).

3. In diesem Fall wurde der richtige SQL Server bereits ausgewählt, da es nur einen gibt. Sie müssen den richtigen Server möglicherweise auswählen.

4. Geben Sie einen Namen für die Verbindung ein und anschließend Benutzernamen und Kennwort für die zuvor erstellte SQL-Datenbank.

Mai2019

5. Klicken Sie auf Erstellen. Damit wird die Verbindung erstellt und in Ihrem Azure-Abonnement gespeichert. Sie können diese Verbindung in anderen Logik-Apps erneut verwenden.

6. Wählen Sie die Tabelle aus, die Sie überwachen möchten – die Tabelle Aufgaben.

7. Wählen Sie ein Intervall und eine Häufigkeit aus. Einige Logik-App-Auslöser müssen einen Abruf ausführen, um ausgelöst zu werden, andere erhalten die Informationen per Push.

Jetzt wird die Logik-App jedes Mal ausgelöst, wenn ein neuer Aufgabeneintrag eingegeben wird.

Als Nächstes fügen wir eine weitere Aktion für die Logik-App hinzu.

1. Klicken Sie auf das Pluszeichen unterhalb des SQL-Tasks, und wählen Sie anschließend Aktion hinzufügen aus, um die nächste Aktion hinzuzufügen (Abbildung 8-14).

Abbildung 8-14

2. Suchen Sie nach LUIS, um den Language Understanding-Dienst anzuzeigen. Wählen Sie die Aktion LUIS-Vorhersage abrufen aus. Anschließend werden Sie zur Angabe einer Verbindung mit dem Language Understanding-Dienst aufgefordert.

Entwicklerleitfaden für Azure

Page 112: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

112

3. Geben Sie einen Namen für die Verbindung ein.

4. Fügen Sie den Verbindungsschlüssel ein, den Sie während der Veröffentlichung des Language Understanding-Modells gespeichert haben.

5. Klicken Sie auf Erstellen.

6. Wählen Sie die App-ID aus, die Sie im Language Understanding Portal erstellt haben.

7. Wählen Sie die Beschreibung aus dem SQL-Task als Eingabe für das Feld Äußerung aus.

8. Wählen Sie das Element Zum Aufgabenkalender hinzufügen für die gewünschte Absicht aus. Anschließend wird ausgegeben, ob die Aufgabe ein Datum enthält oder nicht.

9. Klicken Sie auf das Pluszeichen und anschließend auf Bedingung hinzufügen. Wir testen, ob der Text ein Datum enthält, indem wir überprüfen, ob die gewünschte Absicht wahr gewesen ist. Wenn der Text ein Datum enthält, erstellen wir ein Kalenderereignis. Wenn er kein Datum enthält, tun wir nichts.

10. Wählen Sie in der Bedingung das Element Ist Wert für gewünschte Absicht aus der Language Understanding-Aufgabe für den Wert aus.

11. Lassen Sie die Anweisung ist gleich unverändert.

12. Fügen Sie danach wahr im Textfeld für den Wert ein.

13. Die Bedingung erscheint sowohl im Feld für wenn wahr als auch im Feld für wenn falsch. Erstellen Sie im Feld wenn wahr eine neue Aktion.

14. Suchen Sie wie zuvor nach LUIS.

15. Wählen Sie die Aktion Entität nach Typ abrufen aus. Dies ist eine Language Understanding-Aktion, die eine Entität auf der Basis ihres Typs aus den Language Understanding-Ergebnissen extrahiert.

Mai2019

16. Wählen Sie die App-ID wie zuvor aus.

17. Wählen Sie builtin.datetimev2 für die gewünschte Entität aus.

18. Wählen Sie das Objekt LUIS-Vorhersage für das Feld LuisPredictionObject aus.

19. Fügen Sie unterhalb dieser Aktion eine weitere Aktion für Entität nach Typ abrufen hinzu.

20. Wählen Sie die App-ID aus.

21. Wählen Sie builtin.keyPhrase für die gewünschte Entität aus.

22. Wählen Sie das Objekt LUIS-Vorhersage für das Feld LuisPredictionObject aus.

23. Erstellen Sie im Feld wenn wahr eine neue Aktion. Suchen Sie nach Office 365, und wählen Sie dann die Aktion Ereignis V2 erstellen aus. Auf diese Weise kann ein Ereignis in Ihrem Office 365-Kalender erstellt werden.

24. Dies erfordert eine Verbindung mit Office 365. Klicken Sie auf Neue Verbindung hinzufügen, und melden Sie sich mit Ihren Office 365-Anmeldeinformationen an. Die Logik-App behält die Verbindung in Ihrem Azure-Abonnement.

25. Wählen Sie den Kalender aus, um das Ereignis zu erstellen.

26. Wählen Sie in den Feldern Endzeit und Startzeit den Entitätswert aus der Aktion aus, in der Sie die Entität datetimev2 herausfiltern.

27. Wählen Sie im Feld Thema den Entitätswert aus der Aktion aus, in der Sie die Entität keyPhrase herausfiltern.

28. Speichern Sie den Logik-App-Fluss. Das Feld wenn ja sollte ähnlich wie das in Abbildung 8-15 gezeigte aussehen.

29. Navigieren Sie zur URL der Aufgaben-App. Dies ist die URL der Web-App aus der vorherigen Anleitung.

Entwicklerleitfaden für Azure

Page 113: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

113

Abbildung 8-15

30. Erstellen Sie eine neue Aufgabe mit dem Text „Familienessen nächsten Freitag um 19:00“. Hierdurch sollte in Ihrem Kalender ein Ereignis erstellt werden.

Außer durch die Überprüfung Ihres Kalenders können Sie den Verlauf der Logik-App durch die Anzeige des Ausführungsverlaufs erkennen. Sie können auf den Ausführungsverlauf zugreifen, wenn Sie die Logik-App über das Azure Portal öffnen. Über den Ausführungsverlauf können Sie auch den Wert neu übermitteln, um ihn erneut durch die Logik-App verarbeiten zu lassen.

Dieses Beispiel zeigt, dass Sie eine Anwendung einfach durch eine Konfiguration mit Azure-Diensten erweitern können, ohne den Code zu ändern.

Wir haben dieses Beispiel einfach gehalten, damit es in dieser Anleitung leicht nachvollziehbar ist. In einem realen Szenario sollte das Language Understanding-Modell jedoch robuster sein, um weitere Äußerungen verstehen zu können. Zusätzlich könnten Sie die Logik-App so erstellen, dass sie auch bei Bearbeitungen von Aufgabenelementen und nicht nur bei ihrer Erstellung ausgelöst wird.

Mai2019

Entwicklerleitfaden für Azure

Page 114: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

114

Ihre Anwendung kann nun ausgeführt werden. Sie können Azure verwenden, um sie robuster und leichter aktualisierbar zu machen.

Kontinuierliche Bereitstellung mit GitHub einrichten

Bisher haben wir Code aus unserem lokalen Git-Repository per Push zu Azure übertragen. Das funktioniert gut, wenn Sie alleine arbeiten. Im Team benötigen Sie jedoch eine andere Art von Quellkontrolle, beispielsweise Azure DevOps Repos oder GitHub.

Wir werden GitHub verwenden, um unseren Code per Push zu verschieben, und dies anschließend mit unserer Web-App verknüpfen. Auf diese Weise werden Änderungen automatisch in Form einer Pipeline für die kontinuierliche Bereitstellung bereitgestellt.

Sind Sie bereit?

1. Melden Sie sich über https://github.com/new an, um ein neues Repository in GitHub zu erstellen.

2. Geben Sie einen Namen für das Repository ein.

3. Lassen Sie die anderen Einstellungen unverändert (öffentliches Repository, keine README-Datei erstellen).

4. Erstellen Sie das Repository. Es sollte wie in Abbildung 8-16 aussehen.

Exemplarische Vorgehensweise Nr. 4: Bereit für die Produktion

Abbildung 8-16

5. Verwenden Sie die auf dem Bildschirm angezeigte URL, um ein Remoteziel für das lokale Git-Repository einzurichten. Sie können dies im Befehlsfenster ausführen.

6. Wechseln Sie mit dem Befehl „cd“ in das Verzeichnis des Quellcodes der Anwendung.

7. Führen Sie den folgenden Befehl aus:

8. Führen Sie den folgenden Befehl aus, um den Code per Push zu GitHub zu verschieben:

Nun befindet sich der Code auf GitHub, und Sie können ihn mit Ihrem Team teilen.

git remote add github https://github.com/bmaluijb/test.git

git push github

Mai2019

Entwicklerleitfaden für Azure

Page 115: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

115

Nun richten wir die kontinuierliche Bereitstellung mit der Funktion „Bereitstellungsoptionen“ von Web Apps über das Azure-Portal ein. Beachten Sie, dass wir die Funktion „Kontinuierliche Bereitstellung“ direkt in Web Apps verwenden können. Dafür ist jedoch ein Azure DevOps Services-Konto erforderlich.

1. Navigieren Sie im Azure-Portal zu der Web-App, die die .NET Core-Aufgabenanwendung hostet.

2. Klicken Sie auf der Menüleiste auf Bereitstellungsoptionen.

3. Möglicherweise ist es bereits für das lokale Git-Repository konfiguriert. In dem Fall klicken Sie auf Trennen.

4. Wählen Sie in Quelle wählen GitHub aus.

5. Autorisieren Sie Azure im Abschnitt Autorisieren für die Nutzung von GitHub, indem Sie Autorisieren auswählen und die Berechtigung gewähren.

6. Wählen Sie im Abschnitt Projekt wählen das gerade von Ihnen erstellte GitHub-Repository aus.

7. Belassen Sie die Verzweigung bei master.

8. Klicken Sie auf OK.

9. Kehren Sie zum Menü Bereitstellungsoptionen zurück. Sie können nun sehen, dass die Verbindung mit GitHub hergestellt ist. Ab diesem Punkt wird jede neue Version des Quellcodes, die Sie per Push zu GitHub verschieben, automatisch erstellt und für die Web-App bereitgestellt. Dies wird in Abbildung 8-17 gezeigt, die das Blade Bereitstellungsoptionen abbildet. Sie können diesen Prozess auch erzwingen, indem Sie auf Synchronisieren klicken.

Abbildung 8-17

Einrichten von Staging-Umgebungen

Mit Azure App Service Web Apps können Sie einen Stagingslot einrichten, um neue Versionen Ihrer Anwendung über Bereitstellungsslots zu testen. Bereitstellungsslots sind App Services, mit denen Sie Code testen können, bevor Sie ihn an den nächsten Slot weiterleiten.

Es gibt Bereitstellungsslots für Staging, Lasttests und Produktion (dies ist stets der ursprüngliche App Service, in unserem Fall die .NET Core-Web-App). Tatsächlich können Sie so viele Bereitstellungsslots einrichten, wie Sie möchten, ohne dass Ihnen zusätzliche Kosten entstehen.

Die Bereitstellungsslots werden im selben App Service-Plan ausgeführt, für den Sie bezahlen. Denken Sie daran, dass zusätzliche Bereitstellungsslots in einem App Service-Plan Ressourcen wie CPU und Arbeitsspeicher verbrauchen.

Sie können neue Bereitstellungsslots über den Menüpunkt Bereitstellungsslots in der Web-App erstellen. Sie müssen die Web-App in der Standard- oder Premium-Preisstufe ausführen, da der kostenlose Plan keine Bereitstellungsslots enthält.

Mai2019

Entwicklerleitfaden für Azure

Page 116: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

116

In jedem von Ihnen erstellten Bereitstellungsslot können Sie die Bereitstellungsoptionen wie früher gezeigt konfigurieren, um Code automatisch bereitzustellen. Sie können sogar in verschiedenen Quellcode-Branches für unterschiedliche Umgebungen arbeiten und bestimmte Branches automatisch in bestimmten Bereitstellungsslots bereitstellen.

Zudem können Sie Ihre endgültige Fassung in einem Bereitstellungsslot testen und dann gegen die Version im Produktionsslot austauschen. Dadurch ist die Anwendung vor der Ersetzung bereits gestartet, was zu einer Bereitstellung ohne Ausfallzeiten führt.

Sehen wir uns an, wie ein Bereitstellungsslot erstellt und ersetzt wird.

1. Navigieren Sie im Azure-Portal zu der Web-App, die die .NET Core-Anwendung hostet.

2. Klicken Sie auf der Menüleiste auf Bereitstellungsslots. Das Blade Bereitstellungsslots wird geöffnet.

3. Klicken Sie auf das Pluszeichen, um einen neuen Bereitstellungsslot zu erstellen.

4. Geben Sie einen Namen für den Slot ein, z. B. „Staging“.

5. Wählen Sie die .NET Core-Web-App als Konfigurationsquelle aus. Dadurch werden die Anwendungseinstellungen zum neuen Slot kopiert.

6. Klicken Sie auf OK, um den Slot zu erstellen. Er ähnelt der ursprünglichen Web-App.

7. Richten Sie CD so für den Slot ein, wie Sie es zuvor für die Web-App getan haben.

8. Trennen Sie die Verbindung für die kontinuierliche Bereitstellung in der ursprünglichen .NET Core-Web-App. Auf

1. Navigieren Sie im Azure-Portal zur .NET Core-Web-App.

2. Klicken Sie auf der Menüleiste auf Bereitstellungsslots, um das Blade Bereitstellungsslots zu öffnen.

3. Klicken Sie auf Vertauschen, um das Blade Vertauschen zu öffnen. Lassen Sie alle Einstellungen unverändert.

4. Klicken Sie auf OK, um die Ersetzung zu starten.

Nach Abschluss des Austausches befindet sich die neue Version der .NET Core-Web-App in der Produktion. Sie können dies testen, indem Sie zur URL der .NET Core-Web-App navigieren. Die Nutzung von Bereitstellungsslots auf diese Weise hat viele Vorteile. Sie können die neue Version testen, bevor sie in Produktion geht, und anschließend ohne Ausfallzeiten live schalten.

diese Weise wird neuer Code, den Sie per Push verschieben, lediglich für den Stagingslot bereitgestellt.

9. Ändern Sie in der .NET Core-App einen Teil des Texts in der Datei Index.cshtml im Ordner Ansichten/Start.

10. Übergeben Sie die Datei an Git, und verschieben Sie sie per Push zu GitHub, wie Sie es zuvor bei der Bereitstellung der .NET Core-App getan haben.

Die neue Version befindet sich jetzt im Stagingslot und nicht in der ursprünglichen Web-App, die als Produktionsslot bezeichnet wird. Sie können dies überprüfen, indem Sie zur URL der.NET Core Web-App und zur URL des Stagingslots navigieren, die Sie im Blade Übersicht des Slots finden.

Lassen Sie uns nun die neue Version in Betrieb nehmen.

Mai2019

Entwicklerleitfaden für Azure

Page 117: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

117

Verwenden von Diagnose-Log-Dateien

Eine App kann mit Diagnose-Log-Dateien effizient überwacht werden, um Echtzeit-Log-Dateien aus der Web-App anzuzeigen. Sie können die Log-Dateien sogar an das Konsolenfenster übergeben. Hierzu führen Sie in der Azure Cloud Shell den folgenden Befehl aus:

Wenn Sie die Anwendung in der Web-App verwenden, um Datenverkehr zu erzeugen, werden Ihnen Log-Dateien angezeigt.

Überwachungs- und Warnmeldungen einrichten

Azure Monitor Application Insights ist eine weitere leistungsstarke Möglichkeit, Anwendungen nachzuverfolgen. Das Überwachungstool stellt Ihnen Informationen zur Anwendung bereit, z. B. zur Anzahl von Personen, die Ihre App verwendet haben, zur Anzahl von Ausnahmen und zu den Stellen im Code, an denen sie aufgetreten sind. Im Gegensatz zu Diagnose-Log-Dateien wird für Application Insights eine nominelle Gebühr erhoben.

Richten wir nun Application Insights ein.

1. Navigieren Sie zum Azure-Portal und dann zur Web-App, die die .NET Core-Anwendung hostet.

2. Klicken Sie auf der Menüleiste auf Application Insights.

3. Wählen Sie Neue Ressource erstellen aus.

4. Geben Sie einen Namen ein, und wählen Sie einen Speicherort für die Application Insights-Instanz.

az webapp log tail --name <app_name> --resource-group <myResourceGroup>

5. Klicken Sie auf OK. Application Insights wird bereitgestellt und beginnt, Daten für die Anwendung zu erfassen.

Jetzt müssen Sie Ihre Anwendung so konfigurieren, dass sie Daten an Application Insights sendet.

6. Wählen Sie im Code-Menü von Visual Studio Projekt > Application Insights-Telemetrie hinzufügen ... aus.

7. Daraufhin wird der Application Insights-Assistent geöffnet. Melden Sie sich mit Ihrem Azure-Konto an.

8. Wählen Sie einen Preisplan für Application Insights aus.

9. Klicken Sie auf Registrieren. Hierdurch werden automatisch alle benötigten Komponenten zum .NET Core-Projekt hinzugefügt und die Application Insights-Ressource in Azure erstellt.

10. Erstellen Sie das Projekt, und verschieben Sie die Änderungen per Push zu GitHub, sodass sie für die Web-App bereitgestellt werden. Wenn die Bereitstellung abgeschlossen ist, sendet die Anwendung Daten an Application Insights.

Application Insights führt standardmäßig eine intelligente Erkennung aus. Diese Funktion erkennt, wenn etwas nicht stimmt – wenn die Zahl der Anforderungsfehler plötzlich steigt oder die Anwendung ungewöhnlich langsam reagiert – und warnt sie. Sie können im Application Insights-Menü Warnungen auch eigene, benutzerdefinierte Ereignisse für verschiedene Arten von Metriken und Bedingungen erstellen, wie in Abbildung 8-18 gezeigt.

Abbildung 8-18

Mai2019

Entwicklerleitfaden für Azure

Page 118: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

118

11. Um zu prüfen, ob Application Insights ordnungsgemäß funktioniert, wählen Sie im Azure-Portal die Application Insights-Ressource aus. Ihnen wird die Übersicht angezeigt, die Basismetriken wie Serverreaktionszeit, Seitenladezeit, Anzahl von Serveranfragen und Anzahl von fehlgeschlagenen Anfragen enthält. Hier sollten Ihnen Daten angezeigt werden, was darauf hinweist, dass Application Insights funktioniert.

Skalieren der Web-App

Wenn es viele Benutzer gibt, müssen Sie Web Apps skalieren, damit der erhöhte Datenverkehr bewältigt wird. Wenn er nicht ausgelastet ist, müssen Sie herunterskalieren, um Kosten zu sparen. Hierfür können Sie das App Service-Feature Automatische Skalierung verwenden. Sie müssen Web Apps in der Standard- oder Premium-Preisstufe ausführen, um dieses Feature verwenden zu können.

Web Apps besitzt ein Menü namens Skalieren, wie in Abbildung 8-19 gezeigt. Damit können Sie manuell oder automatisch skalieren. Skalieren bedeutet, dass Sie mehr Instanzen Ihrer Anwendung hinzufügen, um die Last zu bewältigen.

Secure Sockets Layer hinzufügen

Wenn eine App in der Produktion verwendet werden kann, müssen Sie bestätigen, dass sie sicher ist. Neben der Authentifizierung und Autorisierung ist die Bereitstellung der Webanwendung über HTTPS eine der wichtigsten Sicherheitsmaßnahmen, die Sie ergreifen können. Ohne HTTPS könnten Angreifer den Datenverkehr zwischen Ressourcen anzeigen und diese Informationen für bösartige Zwecke nutzen, z. B. für die Anmeldung bei Ihrer Anwendung. Darüber hinaus ist HTTPS eine Voraussetzung für die Verwendung innovativer Features wie z. B. Service Worker.

Sie können Datenverkehr für Ihre Web-App über Secure Sockets Layer (SSL) bereitstellen, indem Sie ein SSL-Zertifikat in Web Apps importieren und es an einen Ihrer benutzerdefinierten Domänennamen binden. Sie können Ihr eigenes SSL-Zertifikat importieren oder eines über Azure App Service-Zertifikate kaufen. Dieser Dienst vereinfacht das Kaufen und Validieren von Zertifikaten. Nach dem Import des Zertifikats binden Sie es an eine der Domänennamen-Bindungen der Web-App. Sie können dies über das Menü SSL-Zertifikate in der Web-App ausführen.

Benutzer über neue Versionen benachrichtigen

Ihr Unternehmen erzielt Vorteile, wenn es Benutzer auf neue Produktionsversionen hinweist. Durch die Erweiterung des CI/CD-Vorgangs in Azure-Builds können Sie mit einem Logic Apps-Workflow die Kommunikation in sozialen Medien verwalten, beispielsweise Tweets oder Beiträge mit Versionshinweisen veröffentlichen.

Abbildung 8-19

Mai2019

Entwicklerleitfaden für Azure

Page 119: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

119

Mus ma dolor duciuscit, odit volupis as volo eos et libusci duntem commo es nit etur sit dolum earum

Duntiaspel is vel estotatem qui qui sitatio nsedit, ea sere volor molupta dolut officto blaut omnimenem fugitas et omnihil lestibea veliquia conem estiae quidi aut facearchilit quidelia peri conserrum, qui utaquiasit utaquiae reperum re et fugitibus re porepedit faciminciae lant et dolorpos et volum se doloreh endigenis pratibus quis in natem.

Sedicil labores citatem natem sedit autet volorit, quos ut lameniatur? Um enimagnis minctur simillab is arum quatinverro te destibus, tem adis eum rehenia si omnimusam veni nossita.

119Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

119119

Zusammen- fassung und Ressourcen

In diesem Handbuch haben wir die Leistungsfähigkeit vorgestellt, die Azure Ihren Anwendungen bringen kann. Mit Azure können Sie Ihren Anwendungen faszinierende Features hinzufügen, z. B. Gesichts- und Spracherkennung, Verwaltung von IoT-Geräten in der Cloud, unbegrenzte Skalierbarkeit und nutzungsbasierte Abrechnung.

Sie haben gesehen: Azure unterstützt Sie mit Diensten für fast jedes Szenario – ganz gleich, welche Programmiersprache Sie verwenden und für welche Plattform Sie Anwendungen entwickeln. Wir hoffen, dass Sie dieses E-Book nutzen werden, um sich mit der ganzen Bandbreite von Azure-Diensten besser vertraut zu machen und zu ermitteln, welche Dienste Ihre Anforderungen am besten erfüllen.

Dank der Vielzahl vorbereiteter Lösungen in Azure brauchen Sie keine komplizierten Codes mehr selbst zu schreiben. Arbeiten Sie an den Dingen, die wirklich wichtig sind – die umfassenden Angebote von Azure machen es möglich.

Entwicklerleitfaden für Azure

Mai2019

09 /

Page 120: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

120

Mit Ihrem kostenlosen Azure-Konto können Sie all diese Vorteile nutzen. Ihnen wird nichts berechnet, bis Sie sich für ein Upgrade entscheiden:

• 12 Monate lang kostenlose, beliebte Dienste

• €170 Guthaben, um 30 Tage lang alle Azure-Dienste zu entdecken

• 25+ Dienste immer kostenfrei

• Jetzt in Azure starten: Erfahren Sie in diesen kurzen Tutorials, wie Sie Azure nutzen können, um sofort mit Projekten zu beginnen. Nehmen Sie außerdem an unserem wöchentlich stattfindenden Webinar teil, das die Grundlagen von Azure vorführt und einen kontinuierlichen Zugang zu Experten bietet.

• Microsoft Learn: Erwerben Sie neue Kompetenzen, und entdecken Sie die Leistungsfähigkeit von Microsoft-Produkten mit exemplarischen Vorgehensweisen. Starten Sie noch heute – sehen Sie sich unsere Lernpfade und Module an.

• Azure Friday – hier erläutert das Microsoft-Engineering-Team Dienste und Funktionen von Azure.

• Azure.Source: Hier finden Sie stets aktuelle Informationen zu Azure, darunter Neuigkeiten, Updates und Informationen zu Features, die zurzeit als Preview oder allgemein verfügbar sind.

• Tipps und Tricks für Azure: Durchsuchen Sie eine Sammlung von hilfreichen Ideen, die Sie dabei unterstützen, produktiver mit Azure zu arbeiten.

Lernen mit Azure

Entwicklerleitfaden für Azure

Mai2019

Page 121: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

121

• Effektive DevOps: ein praktischer Leitfaden zur besseren Zusammenarbeit zwischen Teams, Förderung der effizienten Nutzung von Tools und Nutzung der Konzepte von DevOps.

• Entwicklerleitfaden für das IoT: ein E-Book, das eine Übersicht über die Azure IoT-Dienste und Tipps für den Einstieg enthält.

• Azure für Architekten: ein umfassender Leitfaden für Azure-Architekten.

• Handbuch für Entwickler zum Erstellen von KI-Anwendungen: ein praktischer Leitfaden für die Entwicklung Ihres ersten intelligenten Bots mit KI.

• Transformation: Inspirationen und Anleitungen zu den Möglichkeiten für Transformationen und deren Umsetzung.

• Praxisorientierte Tipps zu Microsoft Azure IaaS: Tipps und Best Practices zur Migration von On-Premises-Systemen zur Cloud mit Azure.

• Cloudstrategie für Unternehmen: bewährte Methoden zur Implementierung einer Cloud-Computing-Strategie in Ihrem Unternehmen.

• Grundlagen der Cloudmigration: ein E-Book zur Vereinfachung der Cloud-Migration bei gleichzeitiger Minimierung der Risiken und Störungen für Ihr Unternehmen.

• Überall das Beste aus der Cloud herausholen: ein E-Book zur einheitlichen Entwicklung und zu Modernisierungsverfahren in Hybrid-Umgebungen.

http://www.azure.com/kostenlos

Entwicklerleitfaden für Azure

Mai2019

Weitere kostenlose Ressourcen

Zusätzlich zu diesem Leitfaden gibt es zahlreiche weitere kostenlose Ressourcen zu Azure, darunter:

• Azure in der Mittagspause kennenlernen: eine praktische Möglichkeit, Azure von Grund auf in den Mittagspausen im Laufe eines Monats kennenzulernen.

• Azure Serverless Computing Cookbook: ein E-Book zu den Serverless-Aspekten von Azure.

• Verteilte Systeme entwickeln: ein E-Book zur Entwicklung containerisierter Anwendungen mit praktischen Übungen zum Azure Kubernetes Service.

• Apps mit Docker und Kubernetes containerisieren: ein praktischer Leitfaden für die Migration von Anwendungen zur Cloud mit Docker und Kubernetes.

• Leitfaden zu NoSQL mit Azure Cosmos DB: ein E-Book zur Entwicklung responsiver, geschäftskritischer Anwendungen mit Azure Cosmos DB.

Page 122: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019

VERÖFFENTLICHT VON Microsoft Press, einer Abteilung der Microsoft Corporation One Microsoft Way, Redmond, Washington 98052-6399.

Copyright © 2019 Microsoft Corporation. Alle Rechte vorbehalten. Ohne vorherige schriftliche Genehmigung darf kein Inhalt dieses Buchs in beliebiger Form oder auf beliebige Weise reproduziert oder übermittelt werden.

Die Bücher von Microsoft Press sind über Buchhändler und Distributoren weltweit erhältlich. Wenn Sie im Zusammenhang mit diesem Buch Support benötigen, senden Sie bitte unter [email protected] eine E-Mail an den Microsoft Press-Support. Bitte geben Sie uns Feedback zu diesem Buch, indem Sie an dieser Umfrage teilnehmen.

Dieses Buch wird „wie besehen“ bereitgestellt und drückt die Ansichten und Meinungen der Autoren aus. In diesem Buch dargelegte Ansichten, Meinungen und Informationen, einschließlich URLs und anderer Verweise auf Websites, können ohne vorherige Ankündigung geändert werden. Einige Beispiele hierin sind fiktiv und dienen lediglich der Veranschaulichung. Assoziationen oder Verbindungen mit tatsächlichen Beispielen sind weder beabsichtigt noch sollten solche abgeleitet werden.

Microsoft und die unter www.microsoft.com auf der Webseite „Marken“ aufgelisteten Marken sind Teil der Microsoft-Unternehmensgruppe. Alle übrigen Marken sind Eigentum der jeweiligen Inhaber.

122

Michael Crump arbeitet bei Microsoft an der Azure-Plattform. Er ist Programmierer, Blogger und hält international Vorträge zu verschiedenen Themen aus der Cloudentwicklung. Er möchte Entwicklern die Vorteile der Cloud in der Praxis vermitteln.

Sie können Michael auf Twitter unter @mbcrump oder über seinen Blog unter https://www.michaelcrump.net/ erreichen oder den neuesten Beitrag aus der Serie Tipps und Tricks für Azure lesen.

Barry Luijbregts ist unabhängiger Softwarearchitekt und -entwickler mit einem leidenschaftlichen Interesse an der Cloud. Er entwickelt Kurse für Pluralsight.

Sie erreichen Barry auf Twitter unter @AzureBarry und über seine Website unter https://www.azurebarry.com/.

Die Autoren

Michael und Barry sind begeistert von Azure und ermutigen Sie, sich bei Fragen zu diesem Buch auf Twitter an sie zu wenden.

Page 123: Entwicklerleitfaden für Azuredownload.microsoft.com/download/4/B/...5CDD28F815D0/...eBook_d… · Entwicklerleitfaden für Azure Mai 2019 Lorem ipsum dolor sit amet, consectetur

Entwicklerleitfaden für Azure

Mai2019Lorem ipsum dolor sit amet, consectetur adipiscing elit

Februar2018

123