Allgemein

Um contentXXL in die Windows-Azure-Cloud zu bekommen, sind im Vorfeld einige Schritte zu erledigen.

 

Was ist Windows Azure?

 

Subscription

Um Server, Datenbank und/oder Storages bei Windows Azure mieten bzw. benutzten zu können, müssen Sie sich zuerst eine Windows-Azure-Subscription anlegen:

Sie können eine dreimonatige kostenfreie Subscription aktivieren, die nach Ablauf dieser Zeit in eine kostenpflichtige Subscription umgewandelt wird.

 

CONTENTXXL-SUBSCRIPTION-NUTZUNG

contentXXL benötigt in Ihrer Subscription folgendes:

  • Speicher (Blobstorage)
  • Datenübertragung
  • Datenbanken
  • Speichertransaktionen
  • Ausgehende Datenübertragungen
  • Server / Unit
    Diese Unit wird nicht direkt von contentXXL verbraucht. Der Server stellt die IIS-Instanz bereit, dieser wiederrum stellt dann Ihre Webseite mit dem Content Management System von contentXXL bereitstellt.

Achtung: contentXXL braucht als Serverinstanz mindestens eine „Small-Instanz“

 

PRICING

Windows Azure geht genau auf Ihre individuellen Bedürfnisse ein, daher legen Sie im Vorfeld fest:

  • Welche Rechenleistung wird gebraucht
  • Wie viel Storage-Speicher wird gebraucht
  • Wie viel Datenbank-Speicher benötigt wird
  • Wie hoch die Serververfügbarkeit sein soll
  • etc.

Einige Übersichten bietet Microsoft hier:

 

 
 

Windows-Azure Übersicht

Nachdem Sie sich eine Windows-Azure-Subscription angelegt haben, können Sie sich unter:

www.windows.azure.com

auf Ihr Verwaltungsportal für Windows-Azure anmelden.

Damit Sie das Windows-Azure-Verwaltungsportal benutzten können, müssen Sie das letzte Silverlight-AddOn installieren.

Nach dem Anmelden bekommen Sie eine Verwaltungsoberfläche angezeigt:

Nach dem die Verwaltungsoberfläche fertig geladen wurde, legen wir in dieser Dokumentation Schritt für Schritt:

  • Eine Datenbank
  • Ein Speicherkonto
  • Einen Gehosteten Dienst

an.

contentXXL liefert in diesem Zusammenhang

  • ein ContentXXLCloud.cspkg Paket
  • eine ContentXXLCloud.Cloud.cscfg Konfigurationsdatei
  • ein ContentXXL-Azure-Certificate.pfx Zertifikat
  • eine Applikation “UploadPageBlob”

mit aus.

Diese Dateien finden Sie in unserem Partnerportal unter www.support.contentxxl.com

Das ContentXXLCloud.cspkg Paket beinhaltet ein Dummy-Projekt, das über angegebene Parameter in der Konfigurationsdatei entsprechende Operationen ausführt und somit contentXXL in der Cloud verfügbar wird. Das Zertifikat ist zwingend notwendig um das Paket sowie die Konfigurationsdatei in Windows-Azure hochladen zu können.

Zurzeit instanziiert das ContentXXLCloud.cspkg Paket eine „Small-Instanz“, bei Bedarf kann contentXXL Ihnen ein extra Paket zur Verfügung stellen, dass eine größere Instanz instanziiert.

Wenden Sie sich hierfür bitte an den Support unter support@contentxxl.com

 

DATENBANK

Unter „Abonnements“ können Sie nun Ihre vorher angelegte Subscription auswählen.

Falls unter dieser Subscription bereits ein Datenbankserver angelegt wurde, wird dieser wie in diesem Screenshot angezeigt.

Um einen neuen Datenbankserver anzulegen klicken Sie oben in der Menüleiste (Server) „Erstellen“:


 
Es erscheint ein Popup:


 
Wählen Sie hier Ihre Region aus und klicken Sie „Weiter“

Geben Sie Ihre Anmeldedaten ein:


 
Drücken Sie danach auf „Weiter“.

Nun muss mindestens eine Firewall-Regel hinterlegt werden:

Klicken Sie auf „Hinzufügen“.


 
Geben Sie hier Ihren Regelnamen ein, sowie den Anfangs und End IP-Bereich ein, falls Sie eine Feste-IP-Adresse in Ihrer Firma besitzen können Sie diese hier hinterlegen, damit können Sie nur mit dieser IP-Adresse auf den Datenbankserver zugreifen.

Falls Sie die Datenbank für alle IP Bereiche freigeben möchten, können Sie den IP-Bereich von 0.0.0.0 bis 255.255.255.255 angeben.

Wiederholen Sie diesen Vorgang so oft wie nötig.

Wenn Sie alle Regeln hinzugefügt haben drücken Sie „Fertig stellen“.

Nach Eingabe aller Regeln drücken Sie auf „OK“.

Nun sollten Sie Ihren angelegten Server sehen:


 
Der Servername kann nicht beeinflusst werden, da dieser von Windows-Azure selbstständig vergeben wird.

Eine „master“ Datenbank wird selbstständig beim Datenbankserver mit angelegt.

Nachdem der Datenbankserver nun angelegt und bereit ist, können Sie nun eine Datenbank für Ihre contentXXL-Instanz anlegen, hierfür klicken Sie oben in der Menüleiste (Datenbank) „Erstellen“:

Es erscheint ein Popup:


 
Geben Sie hier Ihren Datenbanknamen ein, dieser Name ist später auch wichtig für Ihren Datenbank-Connection-String, der in der web.config eingetragen wird.

Je nachdem welches Leistungsmodell Ihre Datenbank besitzen soll, wählen Sie in der Edition „Web“ oder „Business“ sowie die dazu benötigte maximale Größe aus.

Klicken Sie nun auf „OK“.

Die Datenbank wird nun erstellt und sieht wie folgt aus:

Der Datenbankname entspricht Ihrem eingegebenen Datenbanknamen.

 

SPEICHERKONTEN

Gehen Sie hier unter „Speicherkonto“ und wählen Ihre Subscription aus.

Um ein neues Speicherkonto anzulegen klicken Sie oben in der Menüleiste „Neues Speicherkonto“ (Erstellen):


 
Es erscheint ein Popup:


 
Geben Sie hier Ihre URL ein, unter dieser erreichen Sie später Ihren persistenten Speicher.

Nachdem Sie die URL eingegeben haben wählen Sie eine Region aus.

Drücken Sie danach „OK“.

Das Erstellen des Speicherkontos kann einige Minuten dauern.

Wenn Windows-Azure mit der Erstellung des Speichers fertig ist, sieht es in der Verwaltungsoberfläche so aus:


 
Der Speichername entspricht Ihrem eingegebenen Speichernamen.

 

GEHOSTETE DIENSTE

Wählen Sie hier Ihre Subscription aus und klicken Sie in der Menüleiste „Gehosteter Dienst“ (erstellen):
 

Es erscheint ein Popup:


 
Geben Sie zuerst Ihren Namen für den Dienst ein.

Vergeben Sie ein URL-Präfix, dieses Präfix ist einmalig.

Das Präfix wird später im Browser aufgerufen.

Der Aufruflink sieht wie folgt aus „http://präfix.cloudapp.net/“.

Dieses Präfix wird nur bei einer Produktionsbereitstellung benutzt, eine Stagingbereitstellung hat eine GUID (http://de.wikipedia.org/wiki/Globally_Unique_Identifier) als Präfix.

Wählen Sie nun Ihre Region aus und wählen Sie bei „Bereitstellungsoptionen“, „Nicht bereitstellen“ aus.

Klicken Sie auf „OK“.

Ihr Gehosteter Dienst wird nun erstellt und sieht so aus:


Der Gehostete Dienstname entspricht Ihrem eingegebenen Dienstnamen.

Gehen Sie nun auf den Ordner „Zertifikate“ und drücken Sie die rechte Maustaste:


 
Wählen Sie hier „Zertifikat hinzufügen“ aus.

Es erscheint ein Popup:


 
Wählen Sie hier das mitgelieferte ContentXXL-Azure-Certificate.pfx in Ihrem abgelegten Ordner aus.

Das Passwort lautet: contentXXLAzure

Drücke Sie „OK“.

Das hinzugefügte Zertifikat wird nun in Ihren Ordner „Zertifikate“ hochgeladen und danach angezeigt.


 
Wählen Sie nun erneut Ihren gehosteten Dienst aus, damit dieser Selektiert ist und wählen Sie in der Menüleiste „Produktionsbereitstellung“ oder „Stagingbereitstellung“ aus:


 
In diesem Beispiel benutzten wir eine Stagingbereitstellung.

Es erscheint ein Popup:


 
Geben Sie hier Ihren Bereitstellungsnamen.

Danach wählen Sie das ContentXXLCloud.cspkg Paket in Ihrem abgelegten Ordner aus.

Danach wählen Sie die ContentXXLCloud.Cloud.cscfg Konfigurationsdatei in Ihrem abgelegten Ordner aus.

In der Konfigurationsdatei werden spezielle Parameter durch das Paket erwartet. Diese Parameter werden in einem späteren Abschnitt dieses Dokuments erklärt.

Klicken Sie „OK“.

Das Paket wird nun hochgeladen, der Bereitstellungsname ist abhängig zu Ihrem eingegebenen Bereitstellungsnamen, umso größer das .cspkg Packet ist, umso länger kann dieser Vorgang dauern.


 
Nachdem das Packet hochgeladen wurde, initialisiert sich die Rolle.


 
Wenn die Initialisierung und die danach folgenden Schritte fertig sind, wechselt der Status auf „Bereit“:


 
Damit Sie sich auf den Server Verbinden können, wählen Sie Ihre Instanz aus und drücken Sie in der Menüleiste „Verbinden“:


 
Benutzer: dummyuser
Passwort: dummypassword1!

Wenn Sie diese Informationen abändern möchten, müssen Sie die Rolle auswählen und in der Menüleiste „Konfigurieren“ drücken:


 
Es erscheint ein Popup:


 
Hier können Sie Ihren neuen Benutzernamen eingeben sowie das Passwort.

Zusätzlich können Sie die Ablaufzeit bestimmen.

Nachdem Sie die Einstellungen getroffen haben drücken Sie „OK“.

Um die RemoteDesktop-Verbindung zu deaktivieren, entfernen Sie hierfür den hacken in „Aktivieren“.

Achtung: Die Rolle wird nach den Änderungen neu initialisiert, dies kann einige Zeit in Anspruch nehmen.
Die RemoteDesktop-Einstellungen gehen verloren, wenn Sie die aktuelle Bereitstellung updaten, dies bedeutet, wenn Sie ein neues ContentXXLCloud.cspkg Paket hochladen.

 

UPDATE EINER BEREITSTELLUNG

Da Windows-Azure sein Software-Development-Kit zu bestimmten Zeiten upgradet/verändert können aktuelle Implementierungen hinfällig werden, somit können eingebauten Mechanismen von contentXXL, die die API des SDK‘s von Microsoft benutzten, hinfällig werden.

Durch diesen Grund muss manchmal ein neues  ContentXXLCloud.cspkg Paket hochgeladen mit ggf. einer veränderten Konfigurationsdatei.
Das letzte Konfigurationspaket finden Sie unter www.support.contentxxl.com

Um Ihre aktuelle Instanz updaten zu können, selektieren Sie Ihre gewünschte Bereitstellung und drücken in der Menüleiste „Update“:


 
Es erscheint ein Popup:


 
Suchen Sie hier Ihr ContentXXLCloud.cspkg Paket sowie Ihre ContentXXLCloud.Cloud.cscfg Konfigurationsdatei.

Der Upgrade Modus steht Anfangs auf „Automatisch“ dies belassen wir dabei.

Setzen Sie einen Hacken auf „Aktualisierung der VM-Größe oder der Rollenanzahl zulassen“, dies bedeutet, dass der aktuelle Server upgedatet wird, somit muss Windows-Azure kein neuen Server aufgesetzt. Falls Sie dies dennoch möchten, setzten Sie keinen Hacken bzw. entfernen Sie diesen wieder. Dies kann in manchen Fällen sehr hilfreich sein, falls durch Codeänderungen Einstellungen auf dem Betriebssystem z.B. verändert wurden und somit der Server nicht mehr erreichbar ist.

Durch die neue Aufsetzung des Betriebssystems gehen solche Änderungen verloren und machen das System wieder funktional.

Nachdem alle Einstellungen getroffen wurden drücken Sie „OK“.

Die Aktualisierung kann einige Zeit in Anspruch nehmen.

Achtung: Wenn Sie die Bereitstellung updaten, werden die Parameter der mitgegebenen Konfigurationsdatei benutzt, somit werden ggf. von Ihnen per Hand geänderte Parameter verändert / überschrieben.

 

BEENDEN EINER BEREITSTELLUNG

Um Änderungen an Dateien vorzunehmen, die von contentXXL oder auch durch eine Ihrer eigenen Implementierungen dauerhaft gesperrt werden, ist es möglich die aktuelle Bereitstellung zu Beenden.

Hierdurch wird die Bereitstellung heruntergefahren und die Dateien freigegeben.

Selektieren Sie hierfür Ihre Bereitstellung und drücken in der Menüleiste „Beenden“:


 
Es erscheint kein Popup zur Sicherheit, dieser Mechanismus sollte zu einer fest geplanten Zeit in z.B. einem Wartungsfenster benutzt werden.

Achtung: Das Stundenkontingent bzw. die Units werden, auch wenn die Rolle beendet wurde, abgebucht.
Durch das Beenden der Bereitstellungen laufen Request-Anfragen ins Leere bzw. werden nicht mehr bearbeitet, somit bekommt der Benutzer nur eine Error-Seite bzw. eine weiße Seite angezeigt.

 

STARTEN EINER BEREITSTELLUNG

Nachdem Änderungen an Dateien vorgenommen wurden, kann die Bereitstellung wieder gestartet werden.

Selektieren Sie hierfür Ihre Bereitstellung und drücken in der Menüleiste „Anfang“:


 
Es erscheint kein Popup.


Nachdem "Anfang" gedrückt wurde, wird  die Bereitstellung neugestartet.

 

LÖSCHEN EINER BEREITSTELLUNG

Um Serverkontingent bzw. Units zu sparen können Sie Bereitstellungen löschen.

Selektieren Sie hierfür Ihre Bereitstellung und drücken in der Menüleiste „Löschen“:

Es erscheint ein Popup:


 
Wählen Sie „Ja“ für löschen, „Nein für nicht löschen.

 

UNTERSCHIED ZWISCHEN STAGING- UND PRODUKTIONSBEREITSTELLUNG

Die Stagingbereitstellung ist nicht für einen produktiven Einsatz gedacht da sich nach einem Serverneustart z.B. die DNS-Adresse zum Aufrufen verändert.

Bei einer Produktionsbereitstellung bleibt die die DNS-Adresse gleich des Gehosteten DNS-Präfixs.

Siehe auch „Baseurls“.

 

 
 

ContentXXL Azure

In diesem Bereich wird erläutert welche Einstellungen Sie in contentXXL treffen müssen, damit contentXXL in der Windows-Azure-Cloud funktionsfähig läuft.

 

CSCFG. KONFIGURATIONSDATEI

Öffnen Sie die ServiceConfiguration.Cloud.cscfg Konfigurationsdatei mit einem Dateieditor.

Im unteren Bereich finden Sie diese Parameter:

 

<Setting name="ActiveBlobAccountName" value=" " />
<Setting name="ActiveBlobAccountKey" value="" />
<Setting name="ActiveBlobContainer" value=" " />
<Setting name="ActiveWindowsAzureDriveVHD" value="" />
<Setting name="ActiveWindowsAzureDriveCacheValue" value="20000" />
<Setting name="ActiveWindowsAzureDriveSubDirectory" value=" " />
 

 

ACTIVEBLOBACCOUNTNAME

Geben Sie hier Ihren vorher angegebenen Speicherkontennamen ein, in diesem Beispiel wäre dies:

 

<Setting name="ActiveBlobAccountName" value=" contentxxlstorage" />
 

 

ACTIVEBLOBACCOUNTKEY

Drücken Sie „Ansicht“ beim primären Zugriffsschlüssel.

Ein Popup erscheint:


 
Wählen Sie hier Ihren primären Zugriffsschlüssel aus.

Geben Sie nun Ihren primären Zugriffsschlüssel in den Parameter ein, in diesem Beispiel würde dies so aussehen:

 

<Setting name="ActiveBlobAccountKey" value="rRk4txTnYZg+sBJpqm7M9Rk7XXXXXXXXXXXXXX"  />
 

 

ACTIVEBLOBCONTAINER

Geben Sie hier einen Containernamen ein z.B. „contentXXLContainer“

Der BlobContainer fungiert als eine Art „Festplatte“, nur dass diese nicht über einen Buchstaben z.B. „C:\“ angesprochen wird sondern über den Containernamen.

 

<Setting name="ActiveBlobContainer" value="contentXXLContainer"  />
 

 

ACTIVEWINDOWSAZUREDRIVEVHD

Geben Sie hier Ihren .VHD Namen ein, auf dem die contentXXL-Installation mitsamt Ihrer Kunden Daten liegt.

 

<Setting name="ActiveWindowsAzureDriveVHD" value="contentXXLDrive"  />
 

 

Sie müssen in dem Value kein „.VHD“ mitgeben, dies wird später selbstständig durch contentXXL gesetzt.
Das .VHD File wird mit einer Größe von 225GB auf Windows-Azure erstellt.

 

ACTIVEWINDOWSAZUREDRIVECACHEVALUE

Geben Sie hier einen Cache-Wert in Megabytes an, dieser Cache-Wert geht von der Instanziierten Größe von dem Windows-Azure-Drive weg.

Dies bedeutet, wenn Sie 25GB als Cache-Wert angeben, können maximal nur 200GB Daten auf dem Windows-Azure-Drive gespeichert werden.

Was ist der Vorteil des Caches?

  • Wenn eine Datei das erste Mal abgefragt wird, wird diese Datei vom Blobstorage geholt/abgefragt und angezeigt. Dieses Blobstorage liegt nicht Lokal auf dem aktuell Instanziierten Server, sondern ist auf einem Rechner platziert, dass über das Netzwerk abgefragt wird. Durch diese nicht direkte Verbindung ist immer eine Verzögerung bemerkbar.
    • Ist das Caching aktiviert, wird die Datei nachdem Sie das erste Mal geholt wurde, Lokal abgelegt, sodass, wenn die Datei ein zweites Mal abgefragt wird, diese nicht mehr aus dem Blobstorage geholt werden muss.
      • Somit sind die Dateien schneller Verfügbar
      • Zusätzlich werden hierdurch Transaktionen gespart (Kostenfaktor)

Achtung: Der Cachewert kann nicht verringert werden, dies bedeutet, falls Sie einmal 25 GB als Cache angegeben haben und beim nächsten update Ihres gehosteten Dienstes eine kleinere Cacheanzahl eingeben, bekommen Sie einen Fehler von Microsoft. Der ausgegeben Fehler in der Textdatei lautet „ERROR_CACHE_TOO_SMALL“.

 

ACTIVEWINDOWSAZUREDRIVESUBDIRECTORY

Dieser Parameter ist optional.

Hier können Sie eine Verzeichnisstruktur hinterlegen wie z.B.: „websites\live\“ auf die der IIS gemappt wird.

Lassen Sie diesen Wert leer, wird der Root-Pfad benutzt z.B.: „F:\“

F:\ steht für das gemountete Windows-Azure-Drive, dies wird später genauer erklären.

 

<Setting name="ActiveWindowsAzureDriveSubDirectory" value="websites\live\"  />
 

 

Nach dem abändern der Parameter muss die neue Konfigurationsdatei hochgeladen werden.

Hierfür selektieren Sie Ihre Bereitstellung und drücken in der Menüleiste „Konfigurieren“:


 
Es erscheint ein Popup:


 
Suchen Sie hier Ihre veränderte Konfigurationsdatei oder wählen Sie „Aktuelle Konfiguration bearbeiten“ und verändern dort die entsprechenden Werte.

Achtung: Die Rolle wird nach den Änderungen neu initialisiert, dies kann einige Zeit in Anspruch nehmen. Zusätzlich gehen diese Änderungen verloren, wenn Sie die aktuelle Bereitstellung updaten, dies bedeutet, wenn Sie ein neues ContentXXLCloud.cspkg Paket hochladen.

 

WINDOWS AZURE DRIVE -  .VHD - MIT CONTENTXXL

Damit Bestandsanwendungen einfach in die Cloud implementierbar sind und nicht angepasst werden müssen, hat contentXXL für die erst Implementierung in die Windows-Azure-Cloud auf das Windows-Azure-Drive gesetzt.

Das Windows-Azure-Drive ist eine extra Implementierung von Microsoft, dieses Windows-Azure-Drive ist für bereits existierende Anwendungen, die mit dem Dateisystem arbeiten (Dateien speichern, abändern, löschen, etc.), gedacht.

Das Windows-Azure-Drive ist, genauer gesagt, ein gemapptes Netzlaufwerk.

Dieses Netzlaufwerk hat eine .VHD Datei (http://en.wikipedia.org/wiki/VHD_%28file_format%29) im Hintergrund, diese .VHD Datei wird von Microsoft so emuliert wird, dass es dem Benutzer bzw. der Applikation so vorkommt, als würde er mit einem normalen Hard Disk Drive arbeiten, letztendlich ist diese .VHD Datei wiederrum im Blobstorage abgespeichert.

Benutzer können wie gewohnt über den Arbeitsplatz ihre Daten in das Hard Disk Drive ablegen.

Applikationen, die fest mit dem Dateisystem verbunden sind (System.IO Methoden in .NET), müssen hier keine Drittschnittstelle implementieren, z.B. zu einem Blobstorage.

Dadurch, dass die .VHD Datei im Blobstorage liegt, dauern Dateizugriffe länger, da die Daten über das Netzwerk geschickt werden müssen.

Hier spielt das Azure-Drive-Caching eine weitere Rolle, siehe hierzu „4.1. cscfg. Konfigurationsdatei - ActiveWindowsAzureDriveCacheValue“.

Diese Mechanismen sind allesamt von Microsoft implementiert, bzw. werden von Microsoft zur Modifizierung (Caching, Mapping, Emulierung etc.) bereitgestellt.

Damit Sie die „Virtuelle Hard Disk“ benutzten können, legt contentXXL durch die definierten Parameter in Punkt „4.1“ eine .VHD Datei (ActiveWindowsAzureDriveVHD, ActiveWindowsAzureDriveCacheValue) im Blobstorage (ActiveBlobAccountName, ActiveBlobAccountKey, ActiveBlobContainer) an.

Diese .VHD Datei wird nach dem anlegen über eine vorgegebene Schnittstelle von Microsoft als Netzlaufwerk auf dem aktuell instanziierten Server hinzugefügt und somit nutzbar gemacht.

Für nähere Informationen über das Windows-Azure-Storage (Windows-Azure-Drive ist eine abgewandelte Version hiervon) finden Sie unter:

 

BRINGEN SIE CONTENTXXL IN DIE CLOUD

Da Windows-Azure stateless (http://de.wikipedia.org/wiki/Stateless) arbeitet, müssen Ihre Daten auf einen anderen Weg verfügbar gemacht werden. In den nächsten Abschnitten erklären wir Ihnen wie Sie Ihre Daten in die Windows-Azure-Cloud bekommen.

 

DATEISYSTEM

Als erstes müssen die Dateien integriert werden, hierfür gibt es ein paar Möglichkeiten.

Möglichkeit 1 – RemoteDesktop – Kleine Datenmasse

Nachdem alle Konfigurationsparameter gesetzt wurden, verbinden Sie sich über die RemoteDesktop-Verbindung auf der aktuellen Rolleninstanz, siehe hierzu Punkt „3.0“.

Öffnen Sie den Arbeitsplatz:


 
Hier finden Sie nun ein Hard Disk Drive namens „WindowsAzureDrive“, der Hard Disk Drive Buchstabe verändert sich dynamisch und ist in diesem Fall „F:“

Spielen Sie unter diesem Hard Disk Drive Ihre contentXXL-Installation ein (Kopiervorgang von Ihrem Lokalrechner auf die RemoteDesktop-Verbindung).

Diese Methode sollte nur bei kleinen Datenmengen benutzt werden, da bei großen Datenmengen die Verbindung zum Server getrennt werden (Wenn der Server z.B. umgezogen wird oder sich neustartet) kann und somit der Kopiervorgang neu gestartet werden muss, dies könnte in Extremstfällen zu Datenverlust führen.

Das Ergebnis sieht dann in etwa so aus:

Möglichkeit 2 – Dritt-Tool – Große Datenmasse

Da bei größeren Installationen das Kopieren mehrere Stunden dauern kann, gibt es eine zweite Möglichkeit.

Hierfür brauchen Sie ein Dritt-Tool: http://geekswithblogs.net/technetbytes/archive/2011/04/18/144933.aspx

Wählen Sie hier ein Tool aus, dass Ihnen am meisten zusagt, in diesem Beispiel wird der „Azure Storage Explorer“ benutzt: http://azurestorageexplorer.codeplex.com/

Verbinden Sie sich mit dem Tool auf das angelegte Blobstorage:


 
Navigieren Sie in Ihren angelegten Container, den Sie in den Parametern festgelegt haben und suchen Sie die .VHD Datei.

Nachdem Sie die .VHD Datei gefunden haben, laden Sie diese Datei Lokal auf Ihren Rechner herunter.

Nach Abschluss des Downloads, rufen Sie die Datenträgerverwaltung auf, hierfür wird Windows 7 benötigt.


 
Fügen Sie die heruntergeladene .VHD an:


 
Suchen Sie Ihre virtuelle Festplatte:


 
Und klicken Sie danach auf „OK“

Nachdem die virtuelle Festplatte hinzugefügt wurde, können Sie diese über den Arbeitsplatz verwalten, hier können Sie nun Ihren ganzen Webauftritt hineinkopieren.

Achten Sie darauf, nicht nur das „portaldata“-Verzeichnis zu kopieren, sondern den kompletten Webauftritt.

Nachdem alle Daten auf die virtuelle Festplatte kopiert wurden, entkoppeln Sie die virtuelle Festplatte und laden Sie die fertige .VHD-Datei über das mitgelieferte Tool von contentXXL „UploadPageBlob“ hoch.

Hierzu starten Sie die Applikation.
 

Geben Sie Ihre Werte in die vorgegebenen TextBoxen ein.

Storage Accountname= ActiveBlobAccountName

Storage PrimaryKey = ActiveBlobAccountKey

Storage Container = ActiveBlobContainer

.VHD Name = Wenn dieses Feld leer bleibt, wird der .VHD Name der ausgewählten Datei verwendet, ansonsten der eigegebene.

Nachdem Sie alle Werte/Parameter eingegeben haben, drücken Sie auf „Start Upload“.

Im unteren Bereich ist eine Fortschrittsanzeige  eingeblendet.

Achten Sie nach dem Hochladen darauf, dass die Parameter in der Konfigurationsdatei eventuell angepasst werden müssen, falls sich z.B. der .VHD Name abgeändert hat.

Achtung: Falls der Webauftritt in einem Unterverzeichnis liegt, achten Sie darauf, dass Sie den Konfigurationsparameter „ActiveWindowsAzureDriveSubDirectory“ abändern bzw. setzten.
Die .VHD Datei kann nur überschrieben werden, wenn die aktuelle Bereitstellung gestoppt wurde, da ansonsten die .VHD Datei von der aktuellen Rolleninstanz in Gebrauch ist.

MÖGLICHKEIT 1: Stoppen Sie die Bereitstellung (Siehe 3.3.2). Nachdem die Bereitstellung gestoppt wurde, laden Sie die neue .VHD Datei hoch. Bei einer langsamen Leitung kann dies mehrere Stunden dauern, dies würde bedeuten Ihre Rolleninstanz wäre in dieser Zeit nicht verfügbar.

MÖGLICHKEIT 2: Laden Sie die .VHD Datei unter einem anderen Namen hoch und ändern Sie, nachdem die .VHD Datei hochgeladen wurde, in der Konfigurationsdatei den ActiveWindowsAzureDriveVHD Parameter und laden die Konfigurationsdatei neu hoch.
Bei einem aktiven CMS würden in der Zeit während des Hochladens und abändern, mögliche neue Daten verloren gehen.

MÖGLICHKEIT 3: - .VHD selbst erstellen – Große Datenmasse

Rufen Sie die Datenträgerverwaltung auf, hierfür wird Windows 7 benötigt.


 
Erstellen Sie danach eine neue virtuelle Festplatte.

Achtung: Eine Small-Instanz in Windows-Azure kann eine maximale Hard Disk Größe von 225 GB verwalten, achten Sie daher darauf, dass Sie bei einer Small-Instanz (aktuelle Einstellung beim contentXXL Paket) diese maximale Größe nicht überschreiten.


 
Wählen Sie hier Ihren Speicherort aus und geben Sie die maximale Größe.

Das Format der virtuellen Festplatte ist „Feste Größe“.

Nachdem Sie alle Einstellungen getroffen haben drücken Sie auf „OK“.

Nachdem die virtuelle Festplatte erstellt wurde, fügen Sie diese Ihrem System hinzu.

Vielleicht müssen Sie die Festplatte noch Formatieren, belegen Sie diese mit einem MBR oder einer  GUID sowie bei Bedarf mit einer NTFS Formatierung.


 
Nachdem die virtuelle Festplatte hinzugefügt wurde, können Sie diese über den Arbeitsplatz verwalten. Hier können Sie nun Ihren ganzen Webauftritt mit contentXXL hineinkopieren.

Achten Sie darauf, nicht nur das „portaldata“-Verzeichnis zu kopieren, sondern den kompletten Webauftritt.

Nachdem alle Daten auf die virtuelle Festplatte kopiert wurden, entkoppeln Sie die virtuelle Festplatte und laden Sie die fertige .VHD-Datei über das Tool auf das Blobstorage.

Gehen Sie hierzu zu Punkt 4.3.1.2  und laden Sie dort über das mitgelieferte Tool von contentXXL „UploadPageBlob“ die .VHD Datei erneut hoch.

Achtung: Die .VHD Dateien die über die Windows-Azure-Schnittstelle angelegt werden, werden alle mit Nullen initialisiert, dies wird bei der lokalen Variante über die Datenträgerverwaltung ggf. nicht auf die exakt gleiche Weise gemacht. Überprüfen Sie daher nach dem Hochladen der .VHD Datei Ihr Speicherkontingent, ob dies über das Erwartete gestiegen ist, falls nicht ist alles OK.

Falls der Webauftritt in einem Unterverzeichnis liegt, achten Sie darauf, dass Sie den Konfigurationsparameter „ActiveWindowsAzureDriveSubDirectory“ abändern bzw. setzten.

Überprüfen Sie Ihre Konfigurationsparametern „ActiveWindowsAzureDriveVHD“ und „ActiveBlobContainer“, ob dort Werte abgeändert werden müssen, da z.B. die .VHD-Datei nun anders heißt.

Falls bereits eine .VHD Datei existiert und diese überschrieben werden soll, kann dies nur geschehen, wenn die aktuelle Bereitstellung gestoppt wurde, da ansonsten die .VHD Datei von der aktuellen Rolleninstanz in Gebrauch ist.

MÖGLICHKEIT 1: Stoppen Sie die Bereitstellung (Siehe 3.3.2). Nachdem die Bereitstellung gestoppt wurde, laden Sie die neue .VHD Datei hoch. Bei einer langsamen Leitung kann dies mehrere Stunden dauern. Dies würde bedeuten, Ihre Rolleninstanz wäre in dieser Zeit nicht verfügbar.

MÖGLICHKEIT 2: Laden Sie die .VHD Datei unter einem anderen Namen hoch und ändern Sie, nachdem die .VHD Datei hochgeladen wurde, in der Konfigurationsdatei den ActiveWindowsAzureDriveVHD Parameter. Laden die Konfigurationsdatei neu hoch.

Bei einem aktiven CMS würden in der Zeit während des Hochladens und abändern, mögliche neue Daten verloren gehen.

 

DATENBANK

Um eine bereits erstellte Datenbank in die Windows-Azure-Datenbank zu bekommen, stellt Codeplex ein sehr nützliches Tool zur Verfügung: http://sqlazuremw.codeplex.com/

Windows-Azure bietet leider keine Möglichkeit, eine bereits existierende Datenbank in der Windows-Azure-Datenbank anzuknüpfen. Daher muss eine Bestandsdatenbank mit dem SQLAzureMW Tool integriert werden.

SYSTEM VORAUSSETZUNGEN:

  • SQL Server 2008 R2 bits (oder aktuellere)
  • BCP Version 10.50.1600.1 (oder aktuellere)

ERKLÄRUNGSVIDEO:

Achtung: Das Tool benutzt den Port 1433, falls dieser Port in Ihrem Unternehmen durch eine Firewall blockiert ist, kann das Tool nicht benutzt werden.

Die Daten, müssen nicht unbedingt in eine neue Datenbank eingefügt werden, die das Tool erstellt, sondern können auch auf eine Bestands Windows-Azure-Datenbank eingefügt werden, diese Daten sollten auf die unter Punkt 3.1 erstellte Datenbank eingefügt werden.

Falls Sie eine komplett neue Instanz von contentXXL erzeugen möchten, verbinden Sie sich, wie in dem Video gezeigt, über das SQL Server Management Studio mit der Windows-Azure-Datenbank und führen Sie das createdatabase_500.sql Script von contentXXL aus.

 

WEB.CONFIG
Conntectionstring:

 

<add Kley="connectionstring" value="Server=uok5pw0xi4.database.windows.net;Database=contetnXXL_Database;User ID=User@uok5pw0xi4;Password=password;Trusted_Connection=False;Encrypt=True;"/>

uok5pw0xi4 = Servername (abhängig von Ihrem Servernamen siehe Punkt 2.1)
contentXXL_Database = Datenbankname (abhängig von Ihrem Datenbanknamen siehe Punkt 2.1)

 

 

Basedir

 

<add key="basedir" value="”/>
 

Dieser Wert bleibt leer, contentXXL setzt diesen Wert selbstständig.

 

Portaldatadir

 

<add key="portaldatadir" value=" " / >
 

Dieser Wert bleibt leer, contentXXL setzt diesen Wert selbstständig.

 

BASEURLS

Durch die Besonderheit der Staging- und Produktionsbereitstellung in Windows-Azure sollte die Stagingumgebung in Windows-Azure nur zum Testen genommen werden.

Falls es einen Serverfehler gibt, oder einen overload des Servers, zieht dieser selbstständig neu um. Danach bekommt der Server eine neue URL. Diese muss wiederum in contentXXL eingetragen werden. Da man aber nie sagen kann, wann es zu einem reimaging des Servers kommt, sollte diese Bereitstellung nicht als Live-Einsatz angedacht werden, sondern nur zu konkreten Testzwecken.

In einer Produktionsbereitstellung, wird das DNS-Präfix als URL genommen, das unter „Gehosteter Dienst“ eingetragen wurde.

Eine URL könnte dann wie folgt aussehen: http://contentxxl.cloudapp.net/, diese URL bleibt immer gleich, auch wenn es zu einem reimaging des Serves kommt.

Durch diese Gründe, sollte keine Stagingumgebung als Produktiveinsatz benutzt werden.

 

LIZENSIERUNG

Die laufenden Server in Windows-Azure sind alle stateless, das bedeutet, sie sind unabhängig vom Rest, daher ändert sich nach einem reimaging immer der Servername, daher Lizensiert contentXXL in der Cloud nicht den Servernamen, sondern die angegebene Bereitstellungs-ID.

Die Bereitstellungs-ID finden Sie unter:


 
Die Bereitstellungs-ID ist einzigartig und zu jeder Bereitstellung unterschiedlich.

Die Bereitstellungs-ID verändert sich nur, falls die Bereitstellung gelöscht wird und eine neue angelegt wird. Falls dies passiert, muss eine neue contentXXL-Lizenz beantragt werden.

Achtung: Das Löschen einer Bereitstellung passiert nicht selbstständig, sondern muss durch Sie händisch ausgeführt werden.

 

EIGENE IMPLEMENTIERUNGEN

Falls Sie eigene Implementierungen geschrieben haben und diese feste Pfadangaben haben, wie z.B.: „D:\live\Folder\data“, in diesem Fall ist „live“ das Root-Verzeichnis auf das der IIS schaut, tauschen Sie dies durch „Server.Mappath(„~“) + „\Folder\Data“ aus (http://msdn.microsoft.com/de-de/library/system.web.httpserverutility.mappath.aspx)

Dies ist nötig, da das Windows-Azure-Drive einen beliebigen Buchstaben zugewiesen bekommt, der erst während der Laufzeit bekannt ist.

Falls Sie mit Portal.Basedir oder Portal.Portaldatadir arbeiten, müssen Sie nichts abändern.

 

EIGENE DOMAIN

Da Windows-Azure eine Instanz immer mit http://GUID_Präfix.cloudapp.net bereitstellt und dies Problematiken im Thema CI aufwirft gibt es eine Möglichkeit eine eigene Domain für die bereitgestellt Instanz zu hinterlegen.