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

Softwaredistribution über die Cloud

Sonntag, 26. Juni 2011

Es ist vollbracht. Ihr Team hat die Anwendung fertiggestellt. Tausende zufriedener Kunden warten sehnsüchtig darauf und können es kaum abwarten sie von Ihrer Webseite herunterzuladen. Das Paket hat es in sich – knapp 300 MB. Aber dank DSL ist der Download auch von solchen Paketen kein Problem. In 5 Minuten sollte das zu schaffen sein. Los geht’s! Aber was zeigt da der Download Dialog? Verbleibende Downloadzeit 2 Stunden! Frust baut sich auf. Einige Nutzer geben entnervt auf.

Das neue Release hat einen ersten bleibenden Eindruck hinterlassen.

Die Verteilung von Softwarepaketen an eine große Nutzeranzahl in einem kleinen Zeitfenster ist eine Herausforderung. Die hohe Anzahl paralleler Zugriffe stellt sehr hohe Anforderungen an die Infrastruktur.

Für den Aufbau der Distributionsinfrastruktur gibt es unterschiedliche Varianten. Wir stellen Ihnen einige vor und zeigen, wie Sie kostengünstig Software verteilen können…

Distributionsserver innerhalb des Unternehmensnetzwerkes

Softwaredistribution-Intranet_thumb1

Der Distributionsserver wird in diesem Szenario in die DMZ des Unternehmens integriert. Die Kosten für die Bereitstellung des Servers, dessen Betrieb sowie für die Anpassung der Firewall sind von Unternehmen zu Unternehmen sehr unterschiedlich.

Belastete Infrastrukturkomponenten:

  • Intranet
    • Distributionsserver
      Gegebenenfalls ist die Verwendung eines SANs sowie eine redundante Auslegung erforderlich.
    • Netzwerk
      Die in der Regel hohe Bandbreite stellt keinen Engpass dar.
  • Zweigstelle
    • Standleitung
      Die Standleitung wird stark belastet. Durch die Verwendung eines zusätzlichen Proxy Servers in der Zweigstelle kann dies reduziert werden. Häufig sind die Verbindungen bereits durch andere Systeme, wie z.B. SAP, ausgelastet. Ein Ausbau der Standleitung ist relativ teuer.
  • Internet
    • Internetanbindung
      Entscheidend ist hier die ausgehende Verbindungsgeschwindigkeit. Die zur Verfügung stehende Bandbreite muss mit anderen Anwendungen (z.B. SharePoint) geteilt werden. Gegebenenfalls werden diese Systeme hierdurch beeinträchtigt.

Eine Auslegung der Infrastruktur auf Spitzenlastzeiten ist nicht wirtschaftlich. Eine verzögerte Distribution muss in Kauf genommen werden. Die Kosten pro Release sind fix.

Verwendung des Windows Azure Blob Storage als Distributionskanal

Softwaredistribution-Cloud_thumb4

Der Window Azure Blob Storage übernimmt die Rolle des Distributionsservers. Das Release wird hierzu in den Blob Storage abgelegt und steht sofort im Anschluss über eine einfache URL zum Download zur Verfügung. Der Dienst ist selbst skalierend. Eine 99 prozentige Verfügbarkeit wird von Microsoft garantiert. Die zu Verfügung stehenden Bandbreiten können voll ausgenutzt werden.

Für eine globale Distribution der Anwendung steht zusätzlich das Content Delivery Network (CDN) zur Verfügung. Ein Vielzahl von weltweit verteilten Cache Servern beschleunigt die Verteilung zusätzlich.

Belastete Infrastrukturkomponenten:

  • Intranet
    • Internetverbindung
      Die Pakete werden aus dem Internet heruntergeladen. Dies belastet die Internetverbindung. Im Gegensatz zum vorangegangen Szenario ist jedoch nur die Downloadgeschwindigkeit von Bedeutung. Leistungsstarke Asynchrone Anbindungen stehen kostengünstig zur Verfügung.
    • Proxy Server
      Der Proxy Server cached in der Regel das heruntergeladene Paket. Er übernimmt damit die Rolle des internen Distributionsservers.
  • Zweigstelle
    • Internetverbindung
      Eine kostengünstige asynchrone Internetanbindung ermöglicht zugängige Downloads.
    • Standleitung
      Die Standleitung wird nicht belastet. Die Bandbreite steht anderen Systemen zur Verfügung.
  • Internet
    • Internetanbindung
      Es kann die volle Bandbreite genutzt werden.

Der Windows Azure Blob Storage stellt damit eine leistungsfähige Alternative dar. Der Dienst wird nach tatsächlicher Nutzung abgerechnet. Im beschriebenen Szenario sind hier insbesondere die Kosten für den Datentransfer relevant. Diese steigen mit der Anzahl der Downloader. Sie sind damit erfolgsabhängig.

Ohne eine Berücksichtigung von Paketpreisen und Cache Servern belaufen sich die Kosten für die Verteilung des 300 MB Datenpaketes an 1000 Kunden auf 21,30 € und somit auf in etwa 2 Cent pro Kunde.

Eine einfache Berechnung ist über den Windows Azure Pricing Calcualtor möglich.

Weitere Vorteile gegenüber dem Einsatz eines internen Distributionsservers:

  • Es ist keine Bereitstellung eines internen Servers notwendig (Installationsaufwand, Hardware, Betriebssystem).
  • Die internen Betriebskosten (Strom, Kühlung) und Wartungsaufwände (Updates, Hardwareaustausch) werden verringert.
  • Das interne Netzwerks wird bei einer Distribution an vorwiegend externe Kunden nicht belastet.
  • Verbesserung Time-to-Market. Der Distributionsserver kann innerhalb von 20 Minuten eingerichtet werden.

Fazit

Die Bereitstellung einer Anwendung über den Windows Azure Blob Storage ist einfach und kostengünstig möglich. Die hohe Verfügbarkeit sowie die ausgezeichnete Skalierbarkeit sichert eine schnelle und zuverlässige Auslieferung der Pakete.

Ihre Anwendung hinterlässt damit bereits vor der Installation einen ersten positiven Eindruck.

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