Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen
X
Boris Wehrle
Boris Wehrle ist Senior Software Consultant und zertifizierter Projektleiter bei der AIT.

Boris Wehrle

Ideen für die Verwendung des MSDN Azure Freikontingents: Bereitstellung von schnellen Downloads

Freitag, 25. Juli 2014

Bei einer entsprechenden Konfiguration eines Blob Storages kann auf die abgelegten Dateien direkt über eine statische URL zugegriffen werden. Eine Bereitstellung von Downloads ist damit einfach möglich. Aufgrund der sehr guten Anbindung der Microsoft Rechenzentren und der selbstskalierenden Architektur der Speicherlösung sind diese auch bei einer großen Anzahl an parallelen Abrufen, wie sie häufig kurz nach Releases auftreten, extrem schnell. Die Geschwindigkeit ist in der Region des Rechenzentrums, in der der Blob abgelegt wurde, zumeist nur noch von der eigenen Anbindung des Abrufenden abhängig.

Wer Daten global performant bereitstellen will, setzt noch das Azure Content Delivery Network als Performance-Booster oben drauf. Durch eine Vielzahl von global verteilten Endpunkten ist auch in der entlegensten Region, auf Wunsch unter der eigenen Domain, ein schneller Abruf möglich.

Die Einrichtung gestaltet sich wie gewohnt sehr einfach.

Der Blob-Storage wird, wie gehabt, über das Windows Azure Management Portal erstellt.

Einrichtung des Blob Storage

Der Name muss global eindeutig vergeben werden. Als Standort wählt man das Rechenzentrum aus, in dessen Nähe sich voraussichtlich die meisten Interessierten befinden.

Einrichtung des Blob Storage

Um auf Dateien direkt über einen Link zugreifen zu können, wird ein Container mit dem Zugriffsschutz „Öffentlicher BLOB“ eingerichtet.

Einrichtung des Containers

Einrichtung des Containers

Dies ermöglicht den Zugriff auf Dateien über eine URL. Eine Auflistung des Container-Inhalts wird jedoch verhindert. Den Zugriffsschutz stellt damit einzig und allein der Name der Datei dar.

Zum Hochladen von Dateien bietet sich, wie bereits im Beitrag Datensicherung gezeigt, der Azure Storage Explorer an.

Hochladen der Datei

Nach dem Upload steht die Datei direkt zum Download zur Verfügung. Die URL setzt sich dabei aus der URL des Containers sowie dem Dateinamen zusammen.

Download URL

Im dargestellten Beispiel ergibt sich die URL http://aitdownload.blob.core.windows.net/dowload/AIT.SandcastleExtension.V1_20140712.zip.

Die Kosten für die Bereitstellung setzen sich durch den verbrauchten Speicher sowie den Datentransfer zusammen. Letzterer ist abhängig von der Anzahl der Abrufe.

Für eine 100 MB Datei ergibt sich folgende Kalkulation:

100 MB x 0,0179 € pro GB = 0,00179 €
100 MB x 1000 Downloads x 0,045 € pro GB = 0,45 €

Insgesamt ergeben sich damit Kosten von knapp 50 Cent pro Monat. Über das MSDN Azure Freikontingent können damit eine Vielzahl von Downloads performant bereitgestellt werden.

Als weiteren Zusatz für einen schnellen Dateiabruf weltweit bietet sich die Konfiguration des Azure Content Delivery Networks an. Dieses repliziert die bereitgestellten Daten an eine Vielzahl von Standorten weltweit. Anfragen werden automatisch an den Knoten gesendet der am schnellsten erreicht werden kann. Bei einer Anfrage aus Australien wird z.B. der Inhalt über Sydney oder Melbourne bereitgestellt. Die Download Geschwindigkeit ist damit unabhängig von der momentanen Auslastung der Anbindung des Kontinents.

Ein Endpunkt wird wie folgt angelegt.

Anlegen eines CDN-Endpunkts

Anlegen eines CDN-Endpunkts

Der erstellte Knoten zeigt auf den zuvor erstellten Blob Storage. Abgelegte Dateien sind nun sowohl unter der ursprünglichen URL als auch über die des Content Delivery Networks abrufbar. Im vorliegenden Beispiel ergibt sich die URL http://az645735.vo.msecnd.net/dowload/AIT.SandcastleExtension.V1_20140712.zip.

Auf den ersten Teil des Namens hat man keinen Einfluss. Um diesen etwas sprechender zu gestalten, ist es möglich eine eigene Domäne zu hinterlegen.

Hinterlegung einer Domain

Hierzu muss beim Domain Provider ein C-Name eingerichtet werden, der auf den CDN-Endpunkt zeigt.

Hinterlegung einer Domain

Die Konfiguration gestaltet sich bei den einzelnen Providern unterschiedlich. Die Screenshots zeigen das Vorgehen bei 1und1.

Als erstes wird die Subdomain angelegt.

Hinterlegung einer Domain

Im Anschluss wird die Subdomain als Alias für den Endpunkt konfiguriert.

Hinterlegung einer Domain

Die Einrichtung kann dabei eine gewisse Zeit dauern. Sobald der C-Name bereitsteht, kann dieser dem CDN-Endpunkt hinzugefügt werden. Die korrekte Konfiguration wird hierbei überprüft.

Hinterlegung einer Domain

Im Anschluss sind die Dateien auch über die hinterlegte Domäne (z. B. http://download.aitgmbh.de/dowload/AIT.SandcastleExtension.V1_20140712.zip) abrufbar.

Bei der Nutzung des CDN entstehen in etwa die doppelten Kosten im Vergleich zu einer einfachen Blob-Storage Lösung. Aufgrund der relativ niedrigen Gebühren für die Bandbreite fallen diese aber erst bei bei einer sehr großen Anzahl an Downloads oder entsprechend großen Dateien ins Gewicht.

Die gezeigte Lösung eignet sich insbesondere für die Bereitstellung von Releases. Durch die selbstskalierende Architektur und die global verteilten Endpunkte kann auch bei einem großem Ansturm an Downloadern jederzeit ein schneller Abruf gewährleistet werden. Bei Nutzung des MSDN Azure Freikontingents sogar zum Nulltarif.

Verwandte Artikel:

Benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?

Wir stehen Ihnen unter info(at)aitgmbh.de gerne zur Verfügung.

Tags: , , ,

Hinterlasse eine Antwort