Nachlese Build 2012; Windows Azure Active Directory

4. November 2012 Hinterlasse einen Kommentar

imageVittorio Bertocci hat auf der diesjährigen Build wieder einen sehenswerten Talk abgeliefert. In seiner bekannt charmanten Art und mit italienisch geprägtem Akzent hat er einen souveränen Vortrag über „Windows Azure Active Direcotry“ abgeliefert. Jeder der den Talk noch einmal nachvollziehen möchte sei dies unter http://www.buildwindows.com wärmstens empfohlen. Eine Zusammenfassung des Task möchte ich hier kurz geben:

 

 

Was ist Windows Azure Active Directory?

Abstrakt betrachtet kann man sich darunter eine AD Infrastruktur, wie man sie von einer on-premise Installation gewöhnt ist, betrieben in Windows Azure vorstellen. Nur dass diese Infrastruktur über „Internet-Freundliche“ Zugriffspunkte die sowohl von on-premise Applikationen als auch von SaaS Applikationen (natürlich auch von WebSites / PaaS oder Applikationen die auf IaaS Plattformen gehosted werden) verfügt.

image

Ein auf der Build offiziell vorgestelltes Feature ist hier der neue SAML-P Endpunkt.

Eine Verbindung zu einem lokal installiertem AD ist hierbei natürlich auch möglich. Dabei werden Informationen von einem lokalen AD nach Windows Azure Active Directory projiziert bzw. synchronisiert (siehe Dir-Sync in der obigen Grafik).

 

Was ist nicht ausreichend an der Kombination von ADFS und WIF?

Warum benötigt man nun ein AD in der Cloud und reicht nicht die Verwendung von ADFS in der on-premise Domäne und die Verwendung des Windows Azure Access Control Service (ACS) in Verbindung mit WIF in der Relying Party?

Es gibt Anwendungsfälle, bei dem die Information die im SAML Token an die Relying Party übertragen werden einfach nicht ausreichen. Es werden zwar alle im ADFS konfigurierten Informationen via Token an die Relying Party übertragen, aber z. B. die Informationen über alle User in einer bestimmtem Gruppe oder weitergehende Informationen (welche im Directory gespeichert sind) die nicht direkt dem User zugeordnet sind, können zwar theoretisch im SAML Token übertragen werden. Aufgrund der möglichen Datenmenge erscheint dies jedoch nicht erstrebenswert. Hier erscheint die Verwendung des Azure Active Directory als sehr einleuchtende Lösung.

Als weiteres Feature welches in der aktuellen Implementierung des ACS nicht zu finden ist, ist die Möglichkeit Benutzer innerhalb des Azure Active Directory anzulegen.

Anmeldung am Azure Management Portal

Vittorio hat im Talk gezeigt, wie einfach es ist, sich am Azure Management Portal anzumelden und hierbei nicht wie bisher einen Microsoft Account (a.k.a. Windows Live-ID) zu verwenden. Stattdessen kann via Azure Active Directory z. B. eine Smartcard sowie die Login-Credentials einer lokalen AD verwendet werden. Für mittelständische bzw. größere Firmen erscheint diese Funktionalität sehr sinnvoll und macht es den lokalen Administratoren einfacher Berechtigungen für den Zugriff auf das Management-Portal zu vergeben und zu verwalten.

Zugriff auf Windows Azufe Active Directory

Zum Abschluss des Talk hat Vittorio noch gezeigt, wie einfach es ist innerhalb von Visual Studio Windows Azure Active Directory zu verwenden. Hierbei wird das Windows Azure SDK 1.8 benötigt, welches bereits zum Download bereitsteht.

Build Redmond 2012; The day after party

3. November 2012 Hinterlasse einen Kommentar

 WP_20121101_021[1]

Nokia Lumia 920 und die Kamera

Im Zeichen der Space Needle fand die (zu jeder Microsoft Veranstaltung gehörende Attendee Party) statt. Eine gute Gelegenheit die Kamera der als Give-Away verteilten Lumia 920 Modelle zu testen.

Das Handy beeindruckt! Die Qualität der Aufnahmen bei schlechten Lichtverhältnissen ist herausragend wie das nebenstehende Foto beweist. Die NFC Unterstützung zum Übertragen von z. B. Bildern auf andere Geräte ist ebenfalls hervorragend gelöst.

 

Windows Azure Service Bus

Am letzten Tag der diesjährigen Bild hat David Ingham in seinem Talk “Building Hybrid Applications Using the Windows Azure Service Bus” die Neuerungen im Azure SDK 1.8 bezüglich der Verwendung des Service Bus vorgestellt.

 

Azure SDK 1.8

imageAls neue Features wurden vorgestellt:

  • Message lock renewal
  • Message auto-forwarding
  • Pause entities
  • Send-time filter evaluations
  • Improved monitoring
  • Batching APIs for sending and receiving groups of messages
  • Consistent send of messages to multiple
  • Session browsing

“Auto-forwarding” kann genützt werden, wenn bei Topic/Subscription Szenarios die aktuelle Größe von 2.000 Subscriptions überschritten werden muss. Dabei wird eine Subscription zum Topic für 2000 weitere Subscriptions usw.

 

Service Bus for Windows Server 1.0

David hat in seinem Vortrag die Global Availability des “Service Bus for Windows Server 1.0” verkündet. Dies ist ein wichtiger weiterer Schritt um hybride Szenarien zu unterstützen. Durch einfache Änderung des “Connection-Strings” kann sowohl der Azure Service Bus als auch der Service Bus for Windows Server 1.0 angesprochen werden. Das API für beide Dienste ist kompatibel.

Advanced Message Queuing Protocol 1.0

Es wurde ebenfalls die Unterstützung des AMQP 1.0 Standard durch den Azure Service Bus verkündet. Bei AMQP handelt es sich um eine OASIS Standardisierung, die sich folgendes Ziel gesetzt hat:

“Enables cross-platform apps to be build using brokers, libraries and frameworks   from different vendors”

 

Als Unterstützer des neuen Standards finden sich die folgenden bekannten Namen:

image

Interessant ist, dass nicht nur Technologie-Konzerne wie Microsoft und Red Hat oder VMware an dem Standard arbeiten sondern auch sehr viele Firmen aus dem Bankenbereich wie z. B. Bank of America, Credit Suisse oder Deutsche Börse.

Der Standard wird von Oracle und IBM noch nicht offiziell unterstützt. Lt. David stehen die Chancen jedoch sehr gut, dass Oracle und IBM noch mit auf den Standardisierungszug aufspringen und deren Messaging-Systeme den Standard ebenfalls unterstützen.

Kategorien:Uncategorized

Build Redmond 2012; Tag 2; Im Zeichen von Windows Azure

1. November 2012 Hinterlasse einen Kommentar

image

Satya Nadella, “President of Microsoft’s Server & Tools Business” eröffnete mit einer Keynote, die komplett Windows Azure gewidmet war, den zweiten Tag der diesjährigen Build.

Im Verlauf der Keynote wurde eine Win8 App entwickelt, welche Stück für Stück um ein leistungsfähiges Backend, welches Windows Azure Cloud Resourcen verwendet, erweitert.

 

Windows Azure Mobile Services

Nach einer Einführung in das Thema von Satya kam Josh Twist auf die Bühne und stellte die bereits seit längerem in der Public Preview befindlichen “Windows Azure Mobile Services” dem Publikum vor. Unter anderem wurde im Live-Coding gezeigt, wie einfach eine Windows 8 App unter Verwendung der “Windows Azure Mobile Services” Daten in einer Azure SQL Database ablegen kann. Kurz wurde noch auf die Möglichkeit eingegangen, wie Daten die in einer Azure SQL Database abgelegt werden sollen validiert und verifiziert werden können. Bisher stand der Dienst nur für Windows 8 Apps zur Verfügung. In der Keynote wurde angekündigt, dass ab sofort auch Windows Phone 8 Apps den Dienst nützen können.

image         image

 

Ein Test mit den am Vortag verteilten Surface Tablets während der Demo ergab dass im Portal nicht nur Windows Phone 8 Geräte ab sofort die Mobile Services benützen können. Auch iOS Applikationen können können den Dienst direkt ansprechen und sehr einfach Daten in einer Azure SQL Database ablegen. Die “Mobile Services” befinden sich noch im Public Preview Stadium und werden von den beiden US amerikanischen Rechenzentren gehostet. Ein Betrieb der “Mobile Services” in einem Rechenzentrum in Europa ist zum jetzigen Zeitpunkt noch nicht möglich. Hier muss die allgemeine Verfügbarkeit abgewartet werden.

WebSites

Scott Hanselmann, Principal Program Manager zeigte im weiteren Verlauf der Keynote, wie die erstellte Applikation um eine C# .NET 4.5 Web-Api Solution als Backend erweitert werden kann. Interessant war hierbei die Ankündigung, dass die Windows Azure Web Sites mit dem “Fall 2012 Preview” offiziell in allen Azure Rechenzentren von der “Public Preview” in die “Public Availability” überführt werden und damit in allen sechs Rechenzentren zur Verfügung stehen werden. Bisher konnten die WebSites nur in dem “East US” Rechenzentrum betrieben werden.

image

Zusätzlich zur allgemeinen Verfügbarkeit wurde ebenfalls die Unterstützung von .NET 4.5 und von Entity Framework 6 angekündigt.

 

Cloud Scale mit Cloud Services

Nach Scott Hanselmann erschien Scott Guthrie auf der Bühne und hat die Integration der momentan im Beta Stadium befindlichen “Windows Azure Media Services” in die Demo Applikation präsentiert. Nach erfolgreicher Integration der Media Services die für das Encoden und Streamen von einem Demofilm verwendet wurden, kündigte Scott noch das Azure SDK 1.8 a.k.a. Ocotober Release an

image

Des Weiteren steht ab dem Oktober Release auch Windows Server 2012 als Host Betriebssystem für Cloud Services, der Support von .NET 4.5 sowie ein dedizierter Cache zur Verfügung.

Team Foundation Service

Letztendlich zeigte Jason Zander, Corporate Vice President die Features des Team Foundation Service im Bereich der agilen Planung eindrucksvoll auf der Bühne. Der bisher als Public Preview zur Verfügung gestellte Dienst wurde ebenfalls als “Global Available” angekündigt.

image

Auf Nachfrage nach dem offiziellen Talk, was mit Projekten die im bisherigen Preview gemanagt wurden passiert, gab es die Antwort, dass diese ohne Eingreifen des Users automatisch in den Produktivbetrieb überführt werden. Zusätzlich gab es die Ankündigung, dass ab sofort Teams bis zu einer Größe von fünf Entwicklern den Dienst kostenlos benützen können. Ob es sich hierbei um “Named-Licenses” oder “Concurrent-User-Licenses” handelt wurde jedoch nicht aussagekräftig beantwortet.

HDInsight a.k.a Hadoop on Azure

Letztendlich wurden noch die überragenden Möglichkeiten von HDInsight  vorgestellt. Sacha Dietmann hat in mehreren Blogeinträgen anschaulich erläutert, wie HDInsight eingesetzt werden kann.

image

Windows Azure Store

Auch Windows Azure wird um einen Store erweitert, in dem Dienstleister Ihre Produkte anbieten können. So finden sich hier Lösungen zur Überwachung von Cloud Services, dem Versand von E-Mails usw. wieder. Leider ist der Preview Store zum jetzigen Zeitpunkt nur für Kunden aus den USA verfügbar. Im Azure Management Portal wird folgende Meldung nach Anmeldung mit einer deutschen Subscription angezeigt.

image

Zum Zeitpunkt wann der Azure Store in Deutschland zur Verfügung steht wurden keine weiteren Angaben gemacht.

 

Zusammenfassung

Microsoft hat auf der Build einen bunten Strauß an Dienstleistungen vorgestellt und auch Dienste welche im “Public Preview” waren in die “Global Availability” überführt. Die jeweiligen Dienste hier noch einmal im Überblick.

image

 

 

Build Redmond 2012; Tag 1; Eine subjektive Zusammenfassung

31. Oktober 2012 Hinterlasse einen Kommentar

imageBevor Steve Balmer mit der Keynote die diesjährige Build in Redmond auf dem Microsoft Campus eröffnet hat, hat Jordan Rudess in einem beeindruckendem Live-Konzert den Teilnehmern eingeheizt. Unter anderem hat er mit den Win8 Apps MorphWiz und Tachyon  auf einem Surface Tablet und einem Lenovo A720 Desktop für ordentlich Stimmung gesorgt.

Steve Balmer hat in einer gewohnt souveränen und mitreißenden Keynote das Publikum auf die kommenden Tage eingestimmt. Unter anderem hat er Windows 8 auf den verschiedenen Formfaktoren (vom Riesen-Touch-Screen über verschieden Slate bzw. Ultrabookm Formate bis hin zu Windows Phone 8 Geräten) die Datensynchronisation innerhalb von OneNote sehr anschaulich präsentiert.  Neben den bekannten Ankündigungen der vergangenen Wochen und den Informationen des Windows Phone 8 Launch vom 29.10.2012 hat er ebenfalls präsentiert, dass jede Windows 8 Lizenz eine kostenlose “XBox Music” Lizenz enthält. Ob es sich hier um einen mit Werbung finanzierten, einen zeitlich begrenzten Zugang oder um den sog. “Xbox Music pass” der bisher für 9,99 Euro / Monat zu Buche schlägt, handelt wurde jedoch nicht näher erläutert.

Die Halle hat förmlich getobt, als Steve Balmer das Giveaway der diesjährigen Build

image

image

vorgestellt hat. Jeder Teilnehmer erhält ein Surface RT 32 GB mit Touch Cover. Genau diese Geräte waren in den letzten Tagen in allen Microsoft Shops im Großraum Seattle ausverkauft. Als Richard Karris wenig später noch ankündigte, dass alle Teilnehmer zusätzlich ein Nokia Lumia 920 mit Windows Phone 8 bald Ihr Eigen nennen dürfen, war es um die Massen geschehen und die Einstimmung auf die weiteren technischen Vorträge war gelungen.

Building Awesome HTML Applications in Blend for Windows 8

Im Talk “Building Awesome HTML Applications in Blend for Windows 8” hat Kirupa Chinnathambi noch einmal sehr anschaulich aufgezeigt, wie HTML/JS Apps mit Hilfe von Blend einfach erstellt und optisch aufgepeppt werden können. Auch ohne eine tiefen Einblick in die aktuelle HTML5 Unterstützung des IE 10 zu haben.

Identische Code Basis für Win8 und Windows Phone 8 Apps

Gleich drei Sprecher wurden für das Thema aufgefahren. Dough Rothaus, Andrew Byrne und Larry Liebermann haben sich dem Thema in einem Talk angenommen. Als Best Practice wurde vorgestellt, das UI von der Applikationslogik zu trennen. Da es sich hier um ein allseits bekanntes Pattern handelt, ist es aus meiner Sicht keine spezielle Anforderung für die Entwicklung von Win8 und Windows Phone 8 Apps, sondern ein allgemein angewendetes Pattern.

Interresant wurde es, als gezeigt wurde, welche Komponenten Plattformübergreifend

image

verwendet werden können. Leider bezieht sich dies ausschließlich auf die Applikations Logik, die in eine sog. “Portable Client Library” ausgelagert werden kann. In solch einer Library

image 

kann hinterlegt werden, für welche Zielplattformen letztendlich das Assembly gebaut werden soll. Zu beachten ist zusätzlich, dass 3rd Party WinRT Komponenten oder selbst erstellte WinRT Komponenten für die jeweilige Plattform kompiliert werden müssen, da die Assemblies nicht binärkompatibel zwischen den Plattformen ausgetauscht werden können.

Letztendlich gab es noch eine sehr hilfreiche Übersicht, welche Komponenten in der Windows Runtime API für Windows Phone und Windows 8 übergreifend und damit von beiden Plattformen identisch vorhanden sind:

image

Kategorien:Azure, Build Schlagworte: , ,

Optimistic Concurrency im Windows Azure Blob Storage

15. Oktober 2012 Hinterlasse einen Kommentar

imageBei Azure Blob Storage denkt man sofort an große Dateien wie z. B. VHDs oder Filmmaterial.

Der Blob Storage bietet jedoch eine sehr einfache Möglichkeit um kleinere Datendateien wie z. B. Konfigurationen, XML Daten oder persistierte Objekte abzuspeichern.

Verwendet man den Blob Storage um Applikationsdaten zu speichern, kommt man sehr schnell auf die Problemstellung wie man gemeinsamen Zugriff von mehreren Instanzen bzw. Usern auf die Dateien regelt. Der Blob Storage liefert hier einen einfach zu integrierenden Mechanismus der für “Optimistic Concurrency” Implementationen verwendet werden kann.

Auslesen E-Tag Property

Beim Lesen oder bei der Erzeugung eines Blob kann über das Object Properties (Typ: Microsoft.WindowsAzure.StorageClient.BlobProperties) der BlobReference das Property ETag ausgelesen werden.

 

string eTag = "";
string containerName = "BlobContainer".ToLower();
string blobName = String.Concat(containerName, @"/DataInBlob");
string connectionString = "UseDevelopmentStorage=true”;

CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(connectionString);
CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
cloudBlobClient.RetryPolicy = RetryPolicies.Retry(5, TimeSpan.FromSeconds(1));
CloudBlockBlob cloudBlockBlob = cloudBlobClient.GetBlockBlobReference(blobName);
eTag = cloudBlockBlob.Properties.ETag;

 

ETag ist ein Read-Only Property welche eine spezifische Version des Blob eindeutig identifiziert. Der Wert wird vom Azure Storage System bei jedem Update bzw. bei der Anlage eines Blobs neu vergeben.

 

Verwendung E-Tag Property beim Upload

Verwendet man nun den Wert des ETag bei einem Update kann einfach geprüft werden, dass das Blob noch im Originalzustand ist und nicht von jemand anderem zwischenzeitlich geändert worden ist.

string eTag = "";
string containerName = "BlobContainer".ToLower();
string blobName = String.Concat(containerName, @"/DataInBlob");
string connectionString = "UseDevelopmentStorage=true”;

CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(connectionString);
CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
cloudBlobClient.RetryPolicy = RetryPolicies.Retry(5, TimeSpan.FromSeconds(1));
CloudBlockBlob cloudBlockBlob = cloudBlobClient.GetBlockBlobReference(blobName);
eTag = cloudBlockBlob.Properties.ETag;

cloudBlockBlob.UploadText("Upload Will Work!");

try
{
    cloudBlockBlob.UploadText("Upload Will Fail", Encoding.ASCII, new BlobRequestOptions()
    {
        AccessCondition = AccessCondition.IfMatch(eTag)
    });

}
catch (StorageClientException exception)
{
    if (exception.ErrorCode == StorageErrorCode.ConditionFailed)
    {
        throw new System.Data.DBConcurrencyException()
        {
            Source = "Blob Storage"
        };
    }
    throw;
}

Im obigen Beispiel wird der erste Upload mit dem Textinhalt “Upload Will Work” ohne weitere Prüfung durchgeführt. Dadurch ändert sich im Blob Storage das ETag des Blobs.

Beim zweiten Upload im obigen Beispiel wird der Upload unter Verwendung des ursprünglichen ETag durchgeführt (siehe AccessCondition.IfMatch(eTag)). Dies führt zu einer Exception die im weiteren Verlauf für das Erkennen und Auslösen einer DBConcurrencyException() verwendet werden kann.

Kategorien:Azure Schlagworte: , , ,

Debugging Azure Production Role; Intellitrace in VS 2012

10. September 2012 Hinterlasse einen Kommentar

Allgemein

Bisher stellte die Fehlersuche in einer produktiven Azure Web-, oder Worker Role immer eine Herausforderung dar. Die Verwendung der Azure Diagnostics API in Verbindung mit Traces innerhalb des Source Code stellt eine Möglichkeit zur Verfügung Bugs, welche nicht in der lokalen Entwicklungsumgebung auftreten, ausfindig zu machen und diese zu fixen.

Mit Visual Studio 2012 hat Microsoft eine sehr elegante weiterführende Möglichkeit integriert, produktive Azure Services unter Verwendung von IntelliTrace zu debuggen.  Hierzu werden keine speziellen Debug Builds oder Remote Debugging Konfigurationen benötigt. Auch muss der Azure Service nicht mit VS 2012 erstellt oder IntelliTrace beim Publish des Service aktiviert worden sein.

 

imageDie größte Einschränkung vorab: IntelliTrace ist leider auch in Visual Studio 2012 erst ab der Ultimate Version verfügbar. D. h. um das beschriebene Verfahren durchführen zu können muss die Ultimate Edition von Visual Studio 2012 installiert sein. Visual Studio Premium, Professional oder die kostenfreie Express Edition unterstützen IntelliTrace nicht. 

Ist man jedoch in dem Genuss einer 2012 Ultimate Edition steht dem eleganten Debuggen von produktiven Azure Diensten nichts im Weg.

 

 

Vorbereitungen

Das Sammeln der IntelliTrace Informationen in dem produktiven Azure Service erfolgt mit einer PowerShell Erweiterung. Deshalb muss sichergestellt werden, dass der Azure Service auch mit einer kompatiblen PowerShell Version gestartet worden ist.

Legt man einen neuen Cloud Service an, so findet sich in der Datei  ServiceConfiguration.Cloud.cscfg im Element <ServiceConfiguration> ein Attribut osFamily.

image

osFamily=1 steht hierbei für eine dem Azure Service zugrundeliegende virtuelle Maschine mit Windows Server 2008 SP2. Hier muss darauf geachtet werden, dass der Wert auf 2 geändert wird. Die 2 steht für eine zugrundeliegende virtuelle Maschine mit Windows Server 2008 R2.

Windows 2008 R2 verfügt über eine kompatible PowerShell Version welche für das Sammeln der IntelliTrace Informationen benötigt wird. Die aktuelle Version der PowerShell kann durch Eingabe von:

image

 

$Host.Version

 

in einem PowerShell Fenster ermittelt werden. Minimal sollte die Major Version 2.0 in der dem Azure Service zugrundeliegenden virtuellen Maschine installiert sein.

Um die PowerShell Version feststellen zu können und das Sammeln der IntelliTrace Informationen zu beginnen muss sich zunächst via RDP auf die dem Azure Service zugrundeliegende VM aufgeschaltet werden. Dies kann im Portal oder sehr komfortabel über den Servermanager innerhalb von Visual Studio erfolgen.

 

image

Einfach im Server Explorer den gewünschten Service auswählen und mit rechter Maustaste “Connect using Remote Desktop” anklicken. Alternativ kann auch über das Azure Portal eine entsprechende Verbindung aufgebaut werden. Sollte keine Verbindung möglich sein, bzw. die Auswahl “Connect using Remote Desktop” nicht zur Verfügung stehen, muss überprüft werden, ob beim Deploy des Azure Service die Option “Allow Remote Desktop connection” aktiviert wurde.

 

Sammeln von IntelliTrace Informationen

Nach erfolgreicher Anmeldung an der virtuellen Maschine des Azure Service via RDP kann von folgender URL: http://www.microsoft.com/en-us/download/details.aspx?id=30665 der sog. “IntelliTrace Collector for Visual Studio 2012” geladen werden. Hierbei handelt es sich um ein selbst entpackendes Exe mit einem enthaltenen CAB File. Wichtig ist, dass nichts auf dem produktiven Server installiert werden muss!

Das in dem EXE File enthaltene CAB File muss in einem Verzeichnis (im Beispiel C:\IntelliTrace) mit folgendem Kommando entpackt werden.

image

Es bietet sich an, das IntelliTrace File mit den gesammelten Informationen im gleichen Verzeichnis oder einem Unterverzeichnis anlegen zu lassen. Deshalb sollte dem Verzeichnis Schreib-, und Leserechte für den User “Everyone” zugewiesen werden.

Nach Entpacken des CAB Files kann eine PowerShell Session gestartet werden und innerhalb dieser das Modul “Microsoft.VisualStuido.IntelliTrace.PowerShell.dll” geladen werden.

image

Als nächsten Schritt kann mit dem Kommando “Start-IntelliTraceCollection” unter Angabe des ApplicationPools unter dem der Service ausgeführt wird, des CollectionPlan “collection_plan.ASP.NET.trace.xml” und dem Verzeichnis in dem das IntelliTrace File abgelegt werden soll das Sammeln der IntelliTrace Informationen gestartet werden.

image

Achtung: Der App-Pool wird neu gestartet!

Jetzt kann der Cloud Service getestet werden und alle “IntelliTrace Events” und “Call Information” werden gespeichert. Das Sammeln der Informationen kann mit “Stop-IntelliTraceCollection” und Angabe des App-Pools wieder beendet werden. 

image

In dem beim “Start-IntelliTraceCollection” angegeben Verzeichnis findet sich das erzeugte IntelliTrace File. Dieses kann in die lokale Umgebung kopiert und dort in Visual Studio 2012 geöffnet werden.

Interessant ist vor allen Dingen die neue Anzeige aller WebRequest anhand derer man schnell zu den jeweiligen Ereignissen navigieren und diese debuggen kann.

image

Es steht die komplette IntelliTrace Funktionalität zur Verfügung um alle Aktivitäten, welche auf dem Server in der Zeit in der das Sammeln der IntelliTrace Informationen auf dem Server gestartet war, zu debuggen.

image

 

Fazit

Das “historische Debuggen” mit Hilfe von IntelliTrace ist (insbesondere weil keine zusätzliche Software auf den produktiven virtuellen Servern installiert werden muss) eine sehr gelungene Möglichkeit produktive Umgebungen zu debuggen und Fehler schnell zu erkennen bzw. zu beheben.

Als Wermutstropfen bleibt jedoch die Tatsache, dass dies den Besitzern der Ultimate Edition von Visual Studio vorbehalten bleibt.

Windows Azure Kosten und Preise

5. September 2012 Hinterlasse einen Kommentar

Der Azure Kostenkalkulator ermöglicht bereits einen belastbare Kalkulation der zu erwartenden monatlichen Kosten einer Azure Lösung.

Malte Lantin (Product marketing Manager Microsoft Deutschland GmbH) hat auf den “Windows Azure Information Day” am 03.09.2012 in Unterschleißheim eine sehr gute und kompakte Übersicht der Kostenberechnung einer Azure Lösung zusammengefasst. Die von Malte Lanting zusammengetragen Informationen finden sich auch fragmentiert auf dem Azure Portal. Die Zusammenfassung von Malte erspart jedoch einige Zeit des Suchens. Teile seines Vortrages habe ich in diesem Blog zusammengefasst.

Übersicht

image

Zu beachten ist die Berechnung der Stundennutzung bei Compute. Hier zählen nicht die wirklichen “Nutzungsstunden” sondern es werden “Zeitstunden” berechnet. D. h. fährt man z. B. eine zusätzliche Instanz eines Compute Service um 13:59 hoch und um 14:01 wieder herunter fallen hierfür zwei Compute Stunden an! Beim Start um 13:01 und Shutdown um 13:59 jedoch nur eine Compute Stunde. Dies sollte unbedingt beim Starten von Instanzen berücksichtigt werden. Insbesondere bei automatischen Scaling Mechanismen (z. B. Autoscaling Application Block (WASABI) sollte dies unbedingt berücksichtigt werden. 

 

Websites

Für die kostenlos verfügbaren Websites ergeben sich folgende Einschränkungen:

image

Nach Erreichung bzw. Überschreitung des Limits von 165 MB ausgehendem Datenvolumen für die maximal 10 kostenlosen Websites (pro Subscription) sind diese faktisch nicht mehr erreichbar bzw. offline. Für den Betrieb eines Blogs oder einer minder frequentierten Internet Präsenz erscheint dies jedoch mehr als ausreichend.

Sollte das Übertragungsvolumen trotzdem nicht ausreichen, kann sehr einfach auf den Reserved Mode gewechselt werden. Im Reserved Mode sind die Einschränkungen bzgl. Datentransfer aufgehoben und der verfügbare Speicher steigt auf 10 GB.

image

 

Virtual Machines

Aktuell gilt für die Virtual Machines noch ein Nachlass von 33% auf die Kosten. Sobald die Preview Phase abgeschlossen ist, fallen die Nachlässe weg.

image

Interessant ist die Preisgestaltung bei Betrieb einer VM inklusive SQL Server Installation

image

Die Preise erscheinen im Vergleich zu einer on-premise Installation des SQL Server bzw. der Verwendung der SQL Database (aka SQL Azure) sehr konkurrenzfähig. Eine Aussage ob und wie die Preisgestaltung evtl. notwendiger Client CALs gehalten wird konnte Malte Lantin zum jetzigen Zeitpunkt noch nicht geben. Diese wichtige Information soll aber in den nächsten Wochen nachgereicht werden.

Kategorien:Azure Schlagworte: , , , , ,
Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.