Windows Azure – Letzter Step-by-Step Guide um mit den letzten frei verfügbaren Tokens eine Anwendung auf die Windows Azure CTP zu bringen

Von Mario Szpuszta Autor Feed 15. December 2009 19:06

Nicht mal drei Stunden ist der Artikel mit den letzten frei Verfügbaren Tokens für die Azure CTP online und wir werden mit Anfragen überflutet. Melden Sie sich also noch rasch, wenn Sie noch einen letzten Token für frei verfügbaren Zugriff auf Azure möchten, um nachfolgendes einfach mal ausprobieren zu können. Denn viele Tokens haben wir nicht mehr. Mehr Details, wie Sie zum Token kommen, finden Sie hier.

Nachdem es allerdings so viele Anfragen gegeben hat, haben wir uns kurzerhand durchgerungen, noch schnell einen Schritt-für-Schritt Guide für Ihr erstes Azure-Deployment zusammenzustellen und Ihnen zur Verfügung zu stellen. Hier also eine Anleitung, wie Sie mit diesem Token einen Account aktivieren können und wie Sie Schritt-für-Schritt eine neue Anwendung hochladen und auf Azure Compute testen können.

Bitte beachten Sie: die jetzt ausgestellten Tokens und Accounts laufen nur mehr bis 4. Januar 2010. Wenn Sie also unbedingt Azure noch mal ausprobieren möchten, sollten Sie den Token noch im Dezember einlösen und eine Anwendung deployen!

Schritt 1 – Voraussetzungen auf der Entwickler-Maschine

Um eine Anwendung für Windows Azure entwickeln zu können, müssen Sie über eine Maschine mit nachfolgender Konfiguration verfügen:

Windows 7, Windows Server 2008, Windows Server 2008 R2 oder Windows Vista

Visual Studio 2008 inklusive Service Pack 1

SQL Server 2008 Express Edition (mit der Express Edition geht's am einfachsten da dann Development Storage etc. automatisch angelegt wird).

IIS 7 mit ASP.NET, WCF http Aktivierung und optional CGI (für PHP-EntwicklerInnen) installiert – nachfolgend ein Screenshot aus dem "Programs and Features\Turn Windows features on or off" Dialog zur korrekten Installation von IIS 7

Schritt 2 – Installation der Windows Azure Development Tools

Nachdem die Entwickler-Maschine mit oben angeführter Software vorbereitet ist, können Sie die Entwicklungswerkzeuge und die Development Fabric von der Microsoft Homepage herunterladen und installieren. Nach der Installation finden Sie eine neue Projektvorlage, die Sie verwenden können, um ein Cloud-Projekt für Azure anzulegen. Sie finden Die Tools hier zum Download.

Schritt 3 – Aktivieren Sie Ihren Account mit dem von uns zugesandten Key (Wie komme ich zu einem Key?)

Navigieren Sie zu https://windows.azure.com und melden Sie sich mit Ihrer Windows Live ID an. Danach gelangen Sie zu nachfolgender Web Page bei welcher Sie die Bedingungen für die Nutzung der CTP bestätigen müssen:

Bestätigen Sie, indem Sie einfach auf "I Agree" klicken um fortzufahren. Das Azure Profil wird dann angelegt. Danach müssen Sie noch einmal auf den Continue-Button klicken, um den Schlüssel eingeben zu können (siehe nachfolgendes Bild):

Nachdem Sie den Continue-Button geklickt haben, kommen Sie zu einem weiteren Screen. Dort müssen Sie nun Ihren Token, den Sie von uns erhalten haben, eingeben um den Azure Compute Account zu provisionieren. Den Token geben Sie in das Textfeld ein wie nachfolgend dargestellt:

Als nächsten Schritt müssen Sie noch einmal die "Terms-Of-Use" der Windows Azure CTP akzeptieren. Wenn Sie fortfahren möchten, klicken Sie einfach auf "Accept" um zum nächsten Schritt zu gelangen. Zum Abschluss dieses Prozesses folgt noch eine kleine "Erfolgsmeldung" wie nachfolgend dargestellt. Jetzt können Sie auf "Continue" klicken und mit der Entwicklung losstarten:

Schritt 4 – Entwickeln Sie eine kleine "Hello-World" Anwendung als ersten Schritt

So, der Account ist nun aktiviert. Jetzt ist es an der Zeit eine einfache, kleine Anwendung für Windows Azure zu entwickeln. Daher öffnen Sie nun Visual Studio 2008 oder Visual Web Developer Express Edition und legen ein neues Projekt an. Wichtiger Hinweis: starten Sie Visual Studio als Administrator (Elevated unter Windows Vista und Windows 7). Wählen Sie das Menü "File – New Project" aus und wählen Sie aus dem New Project Dialog in der Kategorie "Cloud Service" das Projekt "Windows Azure Cloud Service" aus, um ein neues Projekt anzulegen:

Im nächsten Schritt werden Sie nach einigen Details zum Projekt wie Auswahl der Programmiersprache etc. gefragt. Hier wählen Sie für die ersten einfachen Tests die Sprache Ihrer Wahl aus und wählen im Anschluss den Eintrag ASP.NET Web Role aus und klicken auf den ">"-Pfeil um das anzulegende Projekt zu der neuen, anzulegenden Projektgruppe hinzuzufügen. Nachfolgender Screen Shot zeigt den Dialog nach allen getroffenen Einstellungen:

Wenn Sie den Eintrag in der Liste rechts anklicken, so erscheinen im rechten Bereich auch Icons zur Editierung der Eigenschaften. Damit können Sie den Namen des Projektes noch vorab verändern, bevor Sie es anlegen. In diesem Beispiel habe ich den Namen des Projektes auf DemoRole verändert. Klicken Sie auf "Okay" sobald Sie alle Einstellungen getroffen haben. Visual Studio legt nun zwei Projekte an – ein Web-Projekt mit einer Web Anwendung, die wir in der Cloud testen möchten und ein Cloud-Deployment-Projekt, welches das Verteilungspaket zwecks Deployment in Windows Azure darstellt.

In unserem kleinen Testprojekt werden wir nun eine Klasse "Person" mit Vornamen, Zunamen und Alter anlegen. Im Anschluss erstellen wir eine Klasse "PersonAdapter", welche eine Liste von Personen generiert und für UI-Databinding in unserer ASP.NET Anwendung zurückliefert. Diese Klassen sehen wie folgt aus:

namespace DemoRole

{

public class Person

{

public int Id { get; set; }

public string Firstname { get; set; }

public string Lastname { get; set; }

public int Age { get; set; }

}

 

public class PersonAdapter

{

private List<Person> _DemoPersons;

 

public PersonAdapter()

{

if (HttpContext.Current.Session["persons"] == null)

{

Random Rnd = new Random();

_DemoPersons = new List<Person>();

for (int i = 0; i < Rnd.Next(5, 20); i++)

{

_DemoPersons.Add(

new Person()

{

Id = i,

Firstname = "Person " + i.ToString(),

Lastname = "Lastname " + i.ToString(),

Age = (i + 1) * 10

}

);

}

HttpContext.Current.Session.Add("persons", _DemoPersons);

}

else

{

_DemoPersons = (List<Person>)HttpContext.Current.Session["persons"];

}

}

 

public List<Person> GetPersons()

{

return _DemoPersons;

}

 

public void UpdatePerson(Person person)

{

var PersonToUpdate = (from p in _DemoPersons

where p.Id == person.Id

select p).FirstOrDefault();

if (PersonToUpdate != null)

{

PersonToUpdate.Firstname = person.Firstname;

PersonToUpdate.Lastname = person.Lastname;

PersonToUpdate.Age = person.Age;

}

}

}

}

Nachdem wir nun relativ einfachen Code entwickelt haben, um simples Verhalten in unserer Web Anwendung simulieren zu können, gestalten wir nun noch zum Abschluss eine möglichst einfache ASP.NET Web-Page, welche die zuvor erstellten Klassen verwendet, um unsere Personen darzustellen:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DemoRole._Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>My first Azure Application</title>

</head>

<body style="font-family: Verdana">

<form id="form1" runat="server">

<div>

<h1>

My first Azure Demo Application

</h1>

<asp:ObjectDataSource ID="PersonDataSource" runat="server" DataObjectTypeName="DemoRole.Person"

SelectMethod="GetPersons" TypeName="DemoRole.PersonAdapter" UpdateMethod="UpdatePerson">

</asp:ObjectDataSource>

<div style="width: 165px; float: left">

<img alt="Christmas Tree" longdesc="A nice Christmas tree... hopefully" src="http://www.codefest.at/image.axd?picture=image_61.png"

style="width: 161px; height: 185px" />

</div>

<div style="width: 545px; float: left; margin-left: 20px;">

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"

DataSourceID="PersonDataSource" PageSize="5" Width="540px">

<Columns>

<asp:CommandField ShowEditButton="True" ShowSelectButton="True" />

<asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="true" SortExpression="Firstname" />

<asp:BoundField DataField="Firstname" HeaderText="Firstname" SortExpression="Firstname" />

<asp:BoundField DataField="Lastname" HeaderText="Lastname" SortExpression="Lastname" />

<asp:BoundField DataField="Age" HeaderText="Age" SortExpression="Age" />

</Columns>

<SelectedRowStyle BackColor="#99CCFF" />

</asp:GridView>

</div>

<div style="clear: both; float: left; text-align: center; width: 710px">

<br />

Marry Christmas and a happy new Year!!<br />

<br />

</div>

</div>

</form>

</body>

</html>

Wie Sie sehen können, verwenden wir einfach eine ObjectDataSource und ein GridView um die Personen darzustellen und auch editieren zu können, die in unseren Klassen zuvor verwendet werden. Damit haben wir eine kleine Anwendung, die wir auch schon als Weihnachtsaktion auf Windows Azure laufen lassen können. Davor testen wir Sie aber noch einmal. Dazu kompilieren Sie die Anwendung (CTRL + SHIFT + B). Im Anschluss drücken Sie F5 um die Anwendung in der lokalen Development Fabric (ein kleines, lokal laufendens Mini-Mini-Windows-Azure zum testen) laufen zu lassen. Nicht verwirren lassen, mit dem ersten Start wird der lokale Development Storage in Ihrer SQL Server Express Instanz angelegt.

Zwischenschritt – SQL Server Development Storage anlegen, falls Sie keine SQL Server Express Edition haben

Sollten Sie keine SQL Server Express Edition haben, so müssen Sie den Development Storage manuell anlegen, indem Sie das Tool dsinit.exe aus dem Verzeichnis "<sysdrive>:\Program Files\Windows Azure SDK\v1.0\bin\devstore" aufrufen. Wenn Sie dsinit /? aufrufen, dann sehen Sie den notwendigen Command Line Schalter zur Angabe einer anderen SQL Server Instanz außer der Express Edition (die üblicherweise den Instanznamen "SQLExpress" hat). Nachfolgender Aufruf hilft auf jeden Fall:

dsinit /sqlinstance:.

Damit wird der Development Storage am lokalen SQL Server angelegt, falls Sie die volle Version des SQL Servers laufen haben.

Okay, wenn das erledigt ist, dann können Sie die Anwendung lokal Testen und Debuggen, wie Sie es von jeder anderen Anwendung gewohnt sind. Geben Sie auch auf die Meldung über die Development Fabric im System Tray acht. Sie können dort die laufenden Instanzen mit einem Tool visualisieren.

Schritt 5 – Deployment der ersten Anwendung in der Windows Azure Cloud

So, wenn Sie die Anwendung lokal nun erfolgreich getestet haben und alles soweit funktioniert, können Sie diese nun in die Cloud "Deployen". Zu diesem zweck Klicken Sie das zweite Projekt (DemoCloudSerivce oder IhrNameCloudService) in Visual Studio mit der rechten Maustaste an und wählen Sie Publish aus dem Context Menü wie nachfolgend dargestellt:

Damit verpackt Visual Studio 2008 unser Projekt in ein Paket, welches wir in die Cloud hochladen können, öffnet ein Windows Explorer Fenster mit dem Verzeichnis, in welchem das Paket liegt und bringt uns gleichzeitig zum Windows Azure Portal, wo wir nun ein Online-Projekt anlegen müssen, in welches wir unser Projekt verteilen. Nachfolgender Screenshot zeigt die Situation nachdem wir Publish geklickt haben:

Schritt 6 – Anlegen des Online-Projektes auf Windows Azure

Nachdem Sie in Schritt 3 den Token eingelöst haben, finden Sie ein Online-Projekt mit dem Namen PDC08 CTP vor wie im letzten Screenshot rechts neben dem geöffneten Windows Explorer Fenster erkennbar. Klicken Sie auf dieses Projekt um Ihre Anwendung in die Cloud hochzuladen. Wenn Sie im Project PDC08 CTP sind, klicken Sie auf "New Service" im rechten, oberen Bereich neben dem "+"-Icon um ein neues Service zu verteilen.

Haben Sie auf den Link "New Service" geklickt, dann müssen Sie im nächsten Schritt auswählen, welche Art von Service Sie anlegen möchten. Windows Azure CTP unterscheidet grundsätzlich zwischen zwei Arten von Services – Storage Account und Hosted Services. Um eine Web Role oder eine Worker Role in der Cloud zu hosten, wie wir Sie als ASP.NET Anwendung soeben erstellt haben, wählen Sie nun den Eintrag Hosted Service aus, wie nachfolgend dargestellt:

Geben Sie im nächsten Schritt dem Service einen Namen und eine Beschreibung.

Klicken Sie dann auf den Button Next um fortzufahren. Dieser Schritt kann manchmal eine Zeit lang dauern, also bitte nicht ungeduldig sein und gleich abbrechen. Im nächsten Schritt müssen wir eine URL für unser Service vergeben. Geben Sie einen Namen ein, klicken Sie auf Check Availability und fahren Sie im Anschluss fort, indem Sie auf den "Create"-Button klicken.

Auch dieser Schritt kann dauern, also bitte nicht ungeduldig sein. Sobald wir diesen Schritt erledigt haben, kommen wir zu einer Web-Page, über welche wir nun das zuvor von Visual Studio erstellte Paket hochladen können. Erinnern Sie sich – Visual Studio hat ein Explorer-Fenster mit dem erstellten Paket geöffnet, nachdem wir "Publish" in unserem Cloud-Projekt geklickt haben. Klicken Sie im nachfolgenden Screen auf "Deploy…" um dieses von Visual Studio während der Kompilation erstellte Paket zu verteilen:

In der nachfolgenden Maske geben Sie Pfad und Dateinamen auf jene Dateien an, die Visual Studio für Sie im Rahmen des Publishings erstellt hat und in einem Windows Explorer Fenster geöffnet hat. Kopieren Sie einfach den Pfad aus diesem Windows Explorer Fenster um die Suche nach den Dateien zu vereinfachen. Nachfolgend eine ausgefüllte Beispiel-Maske, in welcher das Deployment-Paket und die erstellte Service Konfiguration angegeben wurden – als Application Package geben Sie IhrCloudService.cspkg an während Sie als Service Configuration immer die Datei ServiceConfiguration.cscfg angeben müssen:

Klicken Sie nun auf Deploy um dieses Paket auf die Windows Azure hochzuladen. Damit wird Ihre Instanz in den Data Centern von Microsoft erstellt und die Anwendung von Ihnen auf dieser Instanz eingerichtet. Der Verteilungsprozess kann einige Zeit dauern, daher müssen Sie sich auch hier etwas gedulden, bevor Sie fortfahren können. Sie sollten während des Deployments nachfolgenden Screen vorfinden:

Die Progress-Bar aktualisiert sich in regelmäßigen Abständen. Sobald die Anwendung erfolgreich eingerichtet wurde, finden Sie nachfolgenden Screen vor. Auf diesen müssen Sie nun noch auf den Button Run klicken um die Anwendung zugreifbar zu machen. Den standardmäßig sind die Anwendungen – wie der Screenshot zeigt – in einem "Stopped"-Zustand und damit nicht zugreifbar.

Nachdem Sie auf "Run" geklickt haben, arbeitet die Windows Azure Fabric und Sie erhalten über nachfolgenden Screen Mitteilung über den Fortschritt der Aktivierung Ihrer Anwendung in der Windows Azure Fabric.

Danach befindet sich die Anwendung für eine Zeit lang in einem Initialisierungs-Zustand wie nachfolgende Abbildung Zeigt. Solange sich die Anwendung im Initializing-Zustand befindet kann noch nicht auf Sie zugegriffen werden. Die erste Initialisierung kann in der CTP von Windows Azure etwas länger dauern – ich habe bei früheren Initialisierungen bis zu 20 min. Zeit einrechnen müssen. Daher bitten wir auch hier um etwas Geduld, beachten Sie nämlich vor allem, dass damit tatsächlich Virtuelle Maschinen in unseren Data Centern vollautomatisch durch die Windows Azure Fabric eingerichtet werden. Das Deployment für diesen Artikel heute hat schon nur mehr gerade mal 4-5 min. gedauert. Das Team hat also massiv an Performance zugelegt.

Im unteren Bereich dieser Verwaltungs-Page finden Sie die "Public URL" Ihrer Anwendung. Diese haben Sie zuvor im Rahmen des Deployments definiert und diese lautet üblicherweise auf http://ihrdefinierteslabel.cloudapp.net. Sobald die Inititalisierung abgeschlossen ist, können Sie damit von überall auf die Anwendung zugreifen. Hier nochmal meine kleine Testanwendung für diesen Artikel "in Action" – sie läuft sogar noch – wenn Sie also mal testen möchten…

Damit haben Sie es geschafft, Sie haben Ihre erste Cloud-Anwendung für Windows Azure entwickelt und auch gleich eingerichtet!

Viel Spass mit Ihrer Cloud-Anwendung!

Wir wünschen Ihnen ein frohes Fest und einen guten Rutsch ins neue Jahr!

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

Datenschutzhinweis: Sie stimmen durch "Kommentar speichern" der Speicherung Ihrer Angaben durch Microsoft Österreich für die Beantwortung der Anfrage zu. Sie erhalten dadurch keine unerwünschten Werbezusendungen. Ihre Emailadresse wird auf Ihren Wunsch dazu verwendet Sie über neue Kommentare zu informieren.

Microsoft respektiert den Datenschutz. Datenschutz & Cookies

Entwickler Wettbewerbe:

Wettbewerbe

Entwickler Events:

Developer Events

App für Windows 8, Windows Phone oder/und Azure? Diese Events zeigen Dir, wie es geht:

Mehr Information

Aktuelle Downloads

Visual Studio Downloads
 
Windows Azure Free Trial
Instagram
CodeFest.at on Facebook

Datenschutz & Cookies · Nutzungsbedingungen · Impressum · Markenzeichen
© 2013 Microsoft. Alle Rechte vorbehalten · BlogEngine.NET 2.7.0.0 · Diese Website wird für Microsoft von atwork gehostet.
powered by atwork