Azure PowerShell Module Migration

Anfang des Jahres wurde das PowerShell Modul welches auf dem Azure Resource Manager Model basiert ersetzt durch das neue “Az” Modul welches auf .Net Standard basiert um CrossPlattform / PowerShell 6 Core kompatibel zu sein. Hier erkläre ich euch wie Ihr auf das neue Modul migriert. Das AzureRM Modul erhält seit Januar keine neue Funktionen mehr wird aber bis December 2020 noch BugFixes erhalten. Wenn Ihr jetzt bereits migrieren wollt ist es notwendig erst das alte Modul zu deinstallieren. Wenn Ihr das Modul als MSI Paket installiert könnt Ihr es direkt aus der Systemsteuerung heraus deinstallieren. Habt Ihr es via PowerShellGet installiert müsst Ihr mit den folgenden Schritten fortfahren. Da es durch Updates sein kann das mehrere Versionen parallel installiert sein können sollte vorher geprüft werden welche Versionen installiert sind. Mit folgender Befehlskombination lassen sich dann alle Module deinstallieren. Wichtig ist es hierbei natürlich die PowerShell als Administrator auszuführen. Sollten die Module sich nicht sauber deinstallieren lassen stellt uns Microsoft ein Skript auf der verlinkten Seite zur Verfügung. Bevor Ihr jetzt das neue Modul installieren könnt sollte man vorher prüfen das mindestens das .Net Framework in der Version 4.7.2 installiert ist sowie die PowerShell in der Version 5.1 . Das können wir mit einem einfachen Befehl überprüfen: Wenn man das Modul für alle User installieren will muss die PowerShell als Administrator installiert werden: Install-Module -Name Az -AllowClobber Alternativ hat man die Möglichkeit das Modul auch nur für seinen User zu installieren. Install-Module -Name Az -AllowClobber -Scope CurrentUser Nachdem das Modul installiert ist kommt jetzt der aufwendige Teil. Und zwar müssen alle eigenen Skripte und ähnliches jetzt überarbeitet werden. Während Ihr noch beschäftigt seit könnt Ihr Aliase aktivieren sodass keine Fehler bei Skript Ausführung auftreten. Enable-AzureRmAlias Herzlichen Glückwunsch jetzt habt Ihr auf die aktuelle Version migriert. Dieses Thema ist unteranderem Bestandteil in unserem Kurs Azure - Cloud-Dienste administrieren

Azure SignalR Service

Mit SignalR liefert Microsoft ein Framework um Push Nachrichten an Clients versenden zu können und trotzdem die HTTP Infrastruktur zu verwenden. Im Kern handelt es sich unter anderem um eine Abstraktion von Websockets samt Fallback. Dieser Artikel behandelt den Einsatz von Signalr Core mit Azure SignalR Service. Als Basis dient ein aspnet core Web Projekt, das mit Visual Studio erstellt worden ist. Eine Hub Klasse, erbt von Hub und implementiert eine Send Methode, die vom Client aufgerufen wird und hier alle verbundenen Clients mit der Nachricht versorgt. 1: public async Task SendMessage(string user, string message) 2: { 3: await Clients.All.SendAsync("ReceiveMessage", user, message); 4: } .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } Als nächstes wird dem Visual Studio Projekt das Nuget Paket Microsoft.Azure.SignalR hinzugefügt. Die Konfiguration der ASP.NET Razor Anwendung findet sich im Startup.cs und setzt sich aus DI und Config zusammen. Configure Services 1: services.AddMvc(); 2: services.AddSignalR().AddAzureSignalR("Endpoint=https://signalrdemoppedv.service.signalr.net .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } Configure 1: app.UseMvc(); 2: // app.UseStaticFiles(); warzum auch immer mit nächster Zeile ersetzen 3: app.UseFileServer(); 4: // app.UseSignalR 5: app.UseAzureSignalR(routes => 6: { 7: routes.MapHub<ChatDemoHub>("/chatDemoHub"); 8: }); .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } Was passiert hier gerade genau? Microsoft hat unterschiedliche Ansätze wie man Azure SignalR Service nutzen kann. Serverless per Azure Functions und direktem SignalR Call oder als umgeleiteter Dienst aus einer Webanwendung. Diese Web Anwendungen nennt Azure App Service. Genau diesen 2ten Weg wähle ich. Dazu lege ich im Azure Portal einen Signalr Service an Dem Service gibt man einen eindeutigen Namen. Meine Empfehlung ist eine neue Resourcegruppe anzulegen in die dann auch die Web Anwendung wandert (als App Service).  Der Gratis Dienst reicht fürs erste Dicke. Das Haupt Argument für Azure SignalR ist (wie immer) Scale ( bei der Preisstufe Standard) per mehrfach Instanzen. Beim Dropdown für Service Mode lassen wir default, weil wir ja eine Web Anwendung “vorschalten”.     Dann dauert es ein paar Sekunden bis Azure seinen Zauberstab geschwungen hat. Jedenfalls wird noch der Connection String benötigt, den man aus dem Azure Portal bzw der Key Section rauskopieren muss. Genau dieser String wird oben im C# Code Beispiel (Zeile 2) bei AddAzureSignalR als Paramater mitgegeben. Damit wird sozusagen die Umleitung vom HTTP Request auf neue URL und Port für den Websocket Connect konfiguriert. Ganz Wichtig: Im Client Code einer beliebigen Anwendung (WPF) wird weiter die URL des APP Services angegeben und nicht die SignalR Domain. 1: connection = new HubConnectionBuilder() 2: .WithUrl("https://signalrdemo2220190428112854.azurewebsites.net/ChatDemoHub") 3: .Build(); .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } Nun fehlt nur noch der Deploy aus Visual Studio. Am besten neu anlegen und die bestehende Resourcengruppe nutzen Mit etwas Geduld kann man dann im Azure Portal den Clients dabei zusehen wie sie Connections aufbauen und Nachrichten empfangen. Die Verzögerung für Verbindungen liegt im Bereich 5 Minuten und laut Doku werden erst ab 100 Messages diese im Diagramm dargestellt. So ist der Message Count 0. Dafür scheinen gleich 5 SignalR Server zu warten, obwohl sich nur 2 Clients verbunden haben.

Microsoft bietet 4 kostenlose Zertifizierungsprüfungen für Azure und Office365

Microsoft bietet einem Blog-Beitrag von Andrew Parson zufolge aktuell Prüfungen über Prometric kostenlos an. Damit lassen sich 2 Zertifizierungen erreichen: Für den Microsoft Certified Specialist in Azure muss mindestens eine dieser beiden Prüfungen abgelegt werden: 70-532: Developing Microsoft Azure Solutions 70-533: Implementing Azure Infrastructure Solutions    Um den Microsoft Certified Solutions Associate in Office 365 zu erreichen, müssen die beiden folgenden Prüfungen abgelegt werden: 70-346: Managing Office 365 Identities and Requirements 70-347: Enabling Office 365 Services   Die Voucher zum kostenlosen Ablegen der Prüfungen können von hier bezogen werden: http://borntolearn.mslearn.net/goodstuff/p/mcp.aspx Das Angebot ist nur begrenzt gültig und maximal bis zum 31. Dezember 2014 verfügbar – schnell sein ist also die Devise! PS: 70-532 ist ein Beta-Examen!

Neues aus der Cloud

Microsoft hat an diesem Wochenende eine Vorschau auf neue Cloud Services veröffentlicht. Darunter finden sich folgende neue Dienste: - Web Sites - Virtual Machines - Media Services   Mittels WebSites können Sie eigene WebSites direkt über WindowsAzure bereitstellen. Wenn Sie ein Windows Azure Abonnement besitzen oder eines abschließen können Sie 12 Monate lang zehn WebSites kostenlos nutzen. Mittels Virtual Machines haben Sie die Möglichkeit Ihre Applikationen beliebig zwischen Ihrem lokalen Applikationsserver und der Azure Cloud hin- und herzuschieben. Dabei können Sie sich optional mittels eines in Azure definierten VPN von Ihren eigenen Applikationsservern sicher mit der Virtual Machine in der Cloud verbinden. Die Wahl des Hostberiebssystem der VM ist dabei komplett Ihnen überlassen, es muss sich also nicht um ein Windowssystem handeln. Allerdings ist in den Kosten für Virtual Machines bereits die Lizenz für das Windows Betriebssystem vorhanden. Andere Betriebssysteme müssen extra lizenziert werden. Während der Previewphase ist die Nutzung des VPN mittels Virtual Network kostenlos, für Virtual Machines gibt es in der Previewphase ein um 33% reduziertes Angebot gegenüber den herkömmlichen Cloud-Diensten. Mittels Media Services können Sie Mediendienste (wie LiveStreaming, OnDemandStreaming, Aufnahme- und Konvertierungsfunktionen sowie Codierungs- und Inhatsschutzfunktionen auf der Basis der bestehenden Medienplattform von Microsoft und weiteren Micorsoftpartnern nutzen. Außerdem ist auch ein Einbinden eigener Workflows zur Verarbeitung und Verteilung der Mediendaten möglich.  Media Services ist bei einer maximalen Nutzung von 1TB Datenvolumen (Dateneingang + Datenausgang) pro Monat während der Previewphase kostenfrei. Eine komplette Übersicht über die Preisstruktur der neuen Dienste finden Sie unter https://www.windowsazure.com/de-de/pricing/details/ Außerdem wird auch das ManagmentProtal für Windows Azure überarbeitet. Eine Vorschau können Sie unter https://manage.windowsazure.com betrachten.