Analyse und Bewertung Cloud Computing Strategie der Firma Microsoft

Aus Winfwiki

Wechseln zu: Navigation, Suche
Name des Autors: Alex Bierhaus
Name des Autors: Christopher Wojciech
Titel der Arbeit: "Analyse und Bewertung Cloud Computing Strategie der Firma Microsoft"
Hochschule und Studienort: FOM Düsseldorf



Inhaltsverzeichnis

1 Einleitung

Der Begriff Cloud Computing beschreibt die Bereitstellung, das Hosting und das Management von Anwendungen[1]. Nach Serviceorientierte Architektur (SOA) und Software as a Service (SaaS) ist das Thema Cloud Computing das neuste Konzept der Informationstechnologie. Der klassische Weg sieht vor, dass eigene Server gekauft, installiert und im Betrieb gehalten werden und Anwendungen, die einerseits gekauft, andererseits selbst entwickelt wurden, auf diesen Servern betrieben werden. Dieses führt dazu, dass Unternehmen Ressourcen für Inbetriebnahme und Wartung der Server oder sogar eines gesamten Rechenzentrums zur Verfügung stellen müssen. Wenn ein Unternehmen diese Aufgaben nicht selber übernehmen möchte, werden sie meist an einen externen Dienstleister vergeben.

Anbieter von Cloud Computing Lösungen stellen die Infrastruktur zur Verfügung und kümmern sich von Hosting über Skalierung bis hin zum Backup um alle Aufgaben, die für den Betrieb von Nöten sind. Der Kunde stellt seine Anwendung in der Cloud bereit und zahlt für die tatsächlich beanspruchte Leistung, z.B. in Form von Rechenzeit, Speicherverbrauch und Netzwerkauslastung. Dies führt dazu das ein kleines Unternehmen die Kapazitäten eines Konzerns bieten könnte, sollte dies von nöten sein. Die skalierbarkeit einer Cloud-Lösung im Vergleich zu der klassischen Lösung bringt für viele Unternehmen neue Möglichkeiten. So könnten Ausfälle die aufgrund einer temporären zu großen Anfrage einer Webseite vermieden werden da auch nur temporär die Anzahl der in der Cloud vorhandenen Server erhört werden kann.

Heutzutage ist SOA für viele Entwickler und Entscheider kein Fremdwort mehr. Eine Serviceorientierte Architektur ermöglich es Standardlösungen zu entwickeln, welche dynamisch durch die Verwendung von Diensten erweitert werden können.

Diese Arbeit behandelt thematisch die Cloud Computing Strategie der Firma Microsoft. Im Rahmen der Arbeit werden zunächst die einzelnen Komponenten, die die Grundlage der Infrastruktur bilden, beschrieben. In diesem Zusammenhang wird gezeigt, wie eine Anwendung in der Microsoft Cloud Infrastruktur betrieben werden kann und aufgezeigt, welche Technologien im Rahmen der Microsoft Infrastruktur kompatibel sind. Die Zielgruppen Nutzen-Analyse geht auf die potenziellen Nutzerkreise ein. Die Wirtschaftlichkeitsbetrachtung stellt einen Kriterienkatalog für den Vergleich der jetzigen IT-Infrastruktur im Gegensatz zu einer Cloud basierten Infrastruktur zusammen. Mit einer Schlussbetrachtung, die die einzelnen Erkenntnisse zusammenfasst und einen Ausblick auf die Thematik gibt, schließt diese Arbeit ab.

2 Microsofts Herausforderung, Strategie und Vision zum Thema Cloud Computing

Abbildung 1: Möglichkeiten zum Betrieb einer Anwendung
Abbildung 1: Möglichkeiten zum Betrieb einer Anwendung[2]

Microsoft ist der weltweit führende Hersteller von Standardsoftware. Die Produktpalette deckt Betriebssysteme, mobile Endgeräte, Multimedia-Anwendungen und Online-Services für Privatpersonen und Unternehmen ab.

Eine Darstellung der Microsoft-Strategie bedingt die Betrachtung der historische Ausgangslage von Microsoft. Während Hersteller wie Amazon und Google, mit den Produkten Elastic Compute Cloud (EC2) bzw. der Google App Engine bereits seit längerer Zeit auf dem Markt agieren, hat Microsoft erst September 2008 einen Einblick in die eigene Strategie zum Thema Cloud Computing gegeben.

Microsoft verstand sich bisher nicht als Anbieter von Hosting-Lösungen, sondern als Anbieter von Standard-Lösungen. Das Feld Bereitstellung und Hosting wurde komplett anderen Marktteilnehmer überlassen.

Vergleicht man die Ausgangsposition von Microsoft mit Amazon oder Google, zeigt sich, dass Amazon und Google von Hause aus seit Jahren eine Cloud, auch wenn diese anders bezeichnet wurde, für den Betrieb des Webshops bzw. der Google-Dienste im Einsatz haben. Das Wissen, das die beiden Unternehmen so aufgebaut haben, konnte dazu verwendet werden um die interne Cloud auch nach außen zu wenden und es so anderen Anbietern zu ermöglichen auf einer Lösung, die bereits leistungserprobt ist, Anwendungen zur Verfügung zu stellen.

Beim Thema Cloud Computing erfindet Microsoft das Produktsegment nicht grundsätzlich neu. Viele der Microsoft Produkte sind seit mehren Jahren Bestandteil des Produkt-Portfolios. Hierzu zählen unter anderem:

  • Microsoft Windows als Betriebssystem für Privat- und Endkunden
  • Microsoft SQL Server für die Bereitstellung einer Datenbank-Engine und Business Intelligence Services.
  • Microsoft .NET Framework für die Entwicklung von Anwendungen für Windows, Web und mobilen Endgeräten
  • Microsoft SharePoint als Produkt für die Bereitstellung einer Kolloborativ–Umgebung
  • Microsoft Dynamics als Enterprise Resource Planning (ERP) und Customer Relationship Management Lösung (CRM)

Die Strategie ist es nun diese Lösungen zu kombinieren und einem großen Nutzerkreis einheitlich, d.h. ohne die Notwendigkeit Individualanpassungen durchzuführen, zur Verfügung zu stellen[2].

Als Hauptherausforderungen im Allgemeinen lassen sich die Skalierbarkeit, Sicherheit, Verfügbarkeit und Storage sowie Backup-Möglichkeiten identifizieren

Die Herausforderung im speziellen besteht für Microsoft nicht nur darin eine Lösung zu schaffen, die den anderen Marktakteuren gleichgestellt, bzw. überlegen ist, sondern auch, bisherige Partner, die einen großen Teil des Umsatzes durch die Bereitstellung und Hosting von Lösungen verdient haben, langfristig mit als Anbieter, die Lösungen für die Cloud entwickeln und diese vermarkten, zu gewinnen.

3 Bestandteile der Plattform

Abbildung 2: Bestandteile der Microsoft Azure Plattform
Abbildung 2: Bestandteile der Microsoft Azure Plattform[2]

Microsoft untergliedert die Bestandteile der Cloud Computing Plattform in verschiedene Gruppen. Folgend werden diese vorgestellt. Der Fokus liegt hierbei auf drei zentrale Herausforderungen: der Integration, der Zugriffskontrolle und der Orchestrierung.

3.1 Global Foundation Services

Die Global Foundation Services bezeichnet die technische Infrastruktur, die die Hardwareressourcen für den Betrieb von Anwendungen auf der Microsoft Cloud Plattform zur Verfügung stellt. Diese Infrastruktur basiert auf Hyper-V, einer Server-Anwendung für die Virtualisierung, sowie auf der Datenbanksoftware SQL Server[3]. Die Bereitstellung der Global Foundation Services erfolgt durch Microsoft, Endkunden schließen einen Service Level Agreement (SLA) Vertrag ab, der die Dienstleistungsparameter Verfügbarkeit der Dienste, Leistungsbeschreibung, Ausfallsicherheit, Überwachung und Datensicherheit regelt[4].

3.2 Windows Azure

Microsoft Windows Azure ist die Plattform für die weiteren Microsoft Cloud Services und die Bereitstellung um Anwendungen in der Cloud zur Verfügung zu stellen.

In der aktuellen Version[5] wird der Microsoft Windows Server 2008 als Grundlage für die Microsoft Windows Azure Plattform eingesetzt, durch Vitalisierung und Spiegelung wird erreicht, dass Änderungen des Systems und der darauf installierten Anwendungen sich auf allen verbundenen Servern wiederspiegeln. Windows Azure stellt zusätzlich die Schnittstellen für die Entwicklung und Bereitstellung der Anwendung sowie dem Service Management zur Verfügung.

3.3 .NET Services

Das .NET Framework ist seit 2001 Bestandteil der Microsoft Strategie. Es handelt sich hierbei um eine Programmierumgebung, die es Entwicklern ermöglicht mit unterschiedlichen Programmiersprachen Windows und Webapplikationen sowie Anwendungen für mobile Endgeräte zu entwickeln und bereitzustellen. Neben der Möglichkeit Anwendungen zu entwickeln und diese komplett auf der Cloud bereitzustellen ist es auch möglich bestimmte Funktionen zu entwickeln und diese in Form von Schnittstellen zur Verfügung zu stellen. Der Unterschied ist hier, dass z.B. eine Desktop-Anwendung lokal auf dem Arbeitsplatzrechner läuft und den größten Teil der Funktionen innerhalb dieser Anwendungen abgedeckt sind, andere Funktionen, wie z.B.: die Synchronisierung der Geschäftsdaten, über eine Schnittstelle läuft, die in der Cloud betrieben wird. Microsoft hat hier die BizTalk Services als Grundlage genommen, die bisher die Microsoft Haupttechnologie für die Bereitstellung von verteilten Anwendungen waren, und diese innerhalb der Cloud als sogenannter „Internet Service Bus" zur Verfügung gestellt.

Hierbei lassen sich folgende Komponenten unterscheiden:

3.4 Service Bus

Der Service Bus dient zur Bereitstellung der definierten Schnittstelle nach außen. Hierbei steht dem Entwickler der Schnittstelle offen, in welchem Format die Daten ausgetauscht werden sollen (zum Beispiel HTTP, RSS, REST, ATOM, JSON oder auch FeedSync)[2].

3.5 Access Control

Um Authentifizierung und Autorisierung zu ermöglichen stellt die Komponente Access Control eine Schicht zur Verfügung, die verschiedene Arten der Zugriffskontrolle zulässt. Systeme, die auf den Cloud-Dienst zugreifen möchten, übermitteln einen Token, der die Identität des jeweiligen Benutzers/Systems beinhaltet und einen Claim, der die gewünschte Anforderung enthält. Hierbei kann die Authentifizierung z.B.: über das firmeneigene Active Directory erfolgen oder auch mit offenen Lösungen wie dem OpenID Standard[6].

3.6 Workflow

Die Abbildung von Geschäftsprozessen, in denen einerseits Menschen involviert sind, andererseits Arbeitsteilung erfolgt, wird in der IT durch die Themen Business Process Management und Workflow-Management abgebildet[7]. Hierbei werden Arbeitsabläufe und Ressourcen, in einer für Menschen verständlichen Sprache, modelliert und in ein vorhandenes IT-System eingebettet. Microsoft integriert die Workflow Foundation, die bereits in vorigen Versionen von .NET und SharePoint beinhaltet waren [8], um Arbeitsabläufe abzubilden. Dies erlaubt dem Benutzer bereits vorhandene Workflows aus Systemen (zum Beispiel die Abbildung eines Reisekostenabrechnungsformulars) in Microsoft Azure bereitzustellen. Die Beschreibung des Ablaufes der Workflows basiert auf der XML (eXtensible Markup Language) ähnlichen Sprache XOML (Extensible Object Markup Language). Das Bearbeiten und das Abrufen von Informationen, die den Status des Workflows betreffen, erfolgt über eine Verwaltungswebseite. Die .NET Services stellen sicher, dass der Workflow komplett ausgeführt werden kann, Windows Azure kümmert sich um die Verfügbarkeit und Skalierbarkeit des Workflows.

3.7 Microsoft SQL Services

Mit dem SQL Server bietet Microsoft seit Ende der 80er Jahre einen Datenbankserver an, der besonders für den Einsatz im Unternehmen konzipiert ist. Microsoft stellt den Microsoft SQL Server (derzeit in der Version 2008) Microsoft Azure zur Verfügung. Die Speicherung der Daten kann über die Microsoft SQL Data Services vorgenommen werden[9]. Hier werden die Daten in einer relationalen Struktur gespeichert. Diese erlauben neben dem Speichern und dem Abfragen von Daten noch die Analyse und das Reporting. Ebenfalls ist es möglich die Daten mit anderen Plattformen zu synchronisieren. Der Microsoft SQL Server wird als Produkt, neben der reinen Datenbankengine, mit den Erweiterungen Integration Services, für die Abbildung von Extract, Transform, Load (ETL) Prozessen, den Analysis Services, für die Erstellung von Cubes und den Reporting Services, für die Bereitstellung von Berichten, ausgeliefert. Diese Erweiterungen stehen bei den Microsoft SQL Services in der aktuellen Azure Version nicht zur Verfügung.

3.8 Live Services

Unter der Dachmarke "Live" firmiert Microsoft Endkunden-Dienste, die sich vornehmlich an Privatkunden richten. Hierzu gehören neben Diensten wie Web-Suche, abgedeckt durch Live Search und einer E-Mail Plattform mit den Namen Windows Live Mail, Dienste zum Austauschen von multimedialen Dateien zwischen verschiedenen Benutzern. In der Cloud Computing Strategie von Microsoft sollen diese Live Dienste eingebunden werden, damit Anwendungen, sogenannte MashUps entstehen können, die vorhandene Dienste erweitern und verbinden[10]. Hierzu stellt die Live Operation Environment (LOE) Schnittstellen zur Verfügung, die wiederum von Anwendungen, die auf dem Client-Betriebssystem installiert sind, genutzt werden können. So wäre es möglich eine Anwendung bereitzustellen, die Daten zwischen dem Live-Dienst „Folder Share" mit allen eingebunden Clients synchronisiert. Die Cloud übernimmt dabei die Aufgabe der Verteilung und Sicherung und die Client-Anwendung die Funktionen für den Austausch der Daten zwischen Cloud und Client.

3.9 SharePoint & Dynamcis CRM Services

Die Bereiche SharePoint Services, sowie Dynamcis CRM Services, sollten ebenfalls in Zukunft die Azure Umgebung implementiert werden, sind aber in der aktuellen Version kein Bestandteil der Plattform[11].

4 Anbindung Applikation auf Basis der Microsoft Plattform

Da die Windows Azure Cloud auf dem Microsoft Server 2008 mit Hyper-V Technolo-gie basiert, richtet sich das Hauptaugenmerk bei der Entwicklung und Architektur von Applikationen oder Diensten auf die .NET Plattform. Microsoft stellt seit 2001, wie bereits erwähnt , eine Programmierplattform welche mit einer Vielzahl von Klassenbibliotheken und Services zur Verfügung. Die .NET Plattform ermöglicht die Verwendung von C#, VB.NET, J# und Jscript .NET als Programmiersprachen, dadurch spricht Microsoft jegliche Software an, welche mit diesen Sprachen entwickelt worden sind. Die Windows Azure Cloud unterstützt neben dem .NET Framework auch die Ausführung von nativem Maschinencode, ebenso wie die Integration des FastCGI[12] Moduls.
Die Entwicklung von FastCGI ist auf erhebliche Performance Probleme bei der Verwendung des CGI (Common Gateway Interface) zurück zu führen. So wurde zuerst die Lösung der Performance Probleme in der Verwendung von ISAPI (Microsoft) und NSAPI (Netscape) gesehen. Daraus entstand darauffolgend die FastCGI Schnittstelle und kombinierte die Vorteile beider Ansätze[13]:

  • Performance / Schnelligkeit
  • Einfachheit – Die Architektur ermöglicht eine einfache Migration von bereits existierenden CGI Applikationen auf FastCGI
  • Programmiersprachen unabhängig
  • Prozess Isolation – Eine schädliche FastCGI Applikation kann nicht das System zerstören
  • FastCGI läuft auf allen Marktführenden Web-Servern
  • Architektur unabhängig – Die Server Architektur wie z.B. Multithreading, 64bit etc. ist völlig unabhängig.

Durch die Unterstützung des FastCGI Moduls in Windows Azure öffnet Microsoft die Cloud für Entwickler, die nicht aus dem .NET Umfeld kommen, und erschließt somit neue Felder für den Einsatz und die Verwendung der Cloud. So gibt es bereits für verschiedene Programmiersprachen ein FastCGI-Modul, darunter auch Java und Ruby. Allerdings wird diese Hausarbeit nur auf das bereits von Microsoft unterstütze FastCGI-Modul für PHP näher eingehen.

4.1 Entwicklung von Applikationen für die Cloud Plattform

Die hauseigene Integrated Development Enviroment (IDE) Microsofts Visual Studio aktuell in der Version 2008 stellt eine Integration mit der Cloud Plattform zur Verfügung. So können Software-Entwickler eine vollständige Cloud Infrastruktur auf dem eigenen Computer simulieren. Auf dieser Simulation ist es möglich, die komplette Entwicklung, Testphase und Bereitstellung durchzuführen.

Für die Simulation stellt Microsoft die sogenannte „Development Fabric“, eine Windows Applikation, zur Verfügung über welche sich die Anwendungen administrieren, skalieren und überwachen lassen.

Die Bereitstellung, das sogenannte Deployment, ist in Visual Studio integriert. Ein Publish-Button ermöglicht die automatische Generierung von zwei Dateien, die ausreichen, um die Applikation in die Cloud zu laden. Zum einen gibt es eine „Cloud Service Configuration File“ (.cscfg), eine XML Konfigurations-Datei in welcher Applikationsspezifische Einstellungen vorgenommen werden können und die Anzahl der benötigen Server-Instanzen spezifiziert wird. Diese Datei lässt sich auch im Live-Betrieb über das Azure Webportal bearbeiten. Es wird außerdem eine „Service Package File“ (.cspkg) erstellt, in welcher sich die vollständige Applikation befindet. So ist diese Datei ein modifiziertes ZIP-Archiv und es lässt sich mit z.B. WinRAR öffnen.

Diese Dateien werden über das Azure Webportal in die Cloud hochgeladen. Dort gibt Microsoft die Möglichkeit, die Applikation vorher in einer Staging-Umgebung zu testen, indem automatisch eine URL mit einer ID-Nummer erstellt wird über die man die Web-Applikation aufrufen kann. Sobald der Test erfolgreich verlaufen ist, kann man die Applikation durch einen Klick in die Live-Umgebung laden und die Server-Instanzen konfigurieren, ohne einen weiteren Upload. Das Verfahren über einen vorherigen Test in einer Staging-Umgebung ermöglicht es Entwicklern die Applikationen in einer Art „Sandbox“ zu testen, denn nur dort hat man die Möglichkeit einen Test durchzuführen ohne Einfluss auf den Live Betrieb zu haben, falls etwas schief gehen sollte.

Microsoft hat bereits angekündigt[14], dass über das Commandline-Interface[15] von Azure fremde Tools dafür benutzt werden können Applikationen in PHP zu entwickeln. Darunter zum Beispiel Eclipse[16], eine Open-Source IDE auf Java Basis.
Microsoft gibt einem Windows Azure Entwickler die Möglichkeit in zwei unterschiedlichen Umgebungen zu arbeiten. Zum einen in der „Web-Role“, welches eine Umgebung darstellt was der ursprünglichen Form eines Webservers sehr ähnelt. Die Möglichkeit Webseiten zu erstellen und diese über eine URL verfügbar zu machen ist hier gegeben. Jeder Aufruf dieser URLs werden über einen Load-Balancer auf alle Instanzen dieser Applikation verteilt[14].Zum anderen gibt es die „Worker-Role“, was eine Service-Orientierte Umgebung darstellt. Hier gibt es für den Entwickler nur die Möglichkeit Klassenbibliotheken zu erstellen und diese als Service zu veröffentlichen. Es gibt keine Möglichkeiten ein GUI oder ähnliches hier zu verwenden. Somit folgt Microsoft auch hier dem aktuellen IT-Trend zur Service-Orientierten-Architektur (SOA).

Auch bei der Datenvorhaltung bzw. Speicherung hat Microsoft das klassische Konzept von Tabellen etwas ausgeweitet. So stellt Windows Azure drei grundlegende Typen von Daten und deren Speichermöglichkeit zur Verfügung[17]:

  • „Tables“ – Die Windows Azure Tables legen nur eine Teilmenge des ADO.NET Data Services Framework frei, der Microsoft Projekt Codename lautet „Asto-ria“. Im allgemeinen ist es eine schemalose Tabelle ähnlich wie Googles „BigTable“ oder Amazons „SimpleDB“. Das Datenmodel beinhaltet Tabellen und Entities (Zeilen). Jedes Entity / jede Zeile hat einen Primärschlüssel bestehend aus zwei Teilen {Partitions-Schlüssel|Zeilen-Schlüssel}, ein Zeitstempel der letzten Modifikation und eine beliebige Anzahl von Benutzer definierten Feldern.
  • „Blobs“ – Werden dafür verwendet binäre Daten zu speichern. Ein Benutzer der Speicherdienste von Windows Azure kann mehrere Blob-Container verwalten. Es ist allerdings nicht möglich diese Container hierarisch zu ordnen, so dass eine Art Festplatten Datei-System entstehen würde. Es gibt allerdings Wege, dies dennoch zu erreichen:
    • So müsste man die Abfrage-Architektur anpassen und über Prefixe Order-Strukturen simulieren.
    • Windows Azure erlaubt ‚\‘ als Zeichen in Blob Namen. Dadurch kann ein Blob zum Beispiel „Azure\Einfuehrung“ heißen und eine Ordner Struktur wäre simuliert.
  • „Queues“ – Queues zu Deutsch „Schlangen“ werden verwendet um Objekte in einer Chronologischen Reihenfolge zu speichern. Das Prinzip hinter Queues ist das „First In First Out (FIFO)“, dass heißt die Elemente, die zuerst in der Schlange gespeichert wurden, werden auch zuerst wieder aus der Schlange entfernt. Ein Benutzer kann mehrere Queues erstellen und dort Objekte einreihen. Die sogenannte „Time-to-live“ (TTL) beträgt 7 Tage, danach wird das Objekt automatisch entfernt. Queues sind eine häufige Lösung, um die Kommunikation zwischen Diensten zu ermöglichen.

Alle diese Speichermöglichkeiten sind über eine API für Entwickler erreichbar, so kann auch eine Anwendung welche sich nicht in der Cloud befindet, auf die oben genannten Speichermöglichkeiten zugreifen.

Desweitere geht auch bei Microsoft der Trend in der Serviceorientierten Architektur zur „Losen Kopplung der Dienste“ (sog. „loosely coupled services”). Hierfür sind die Queues ein wichtiges Werkzeug, denn sie können Nachrichten speichern, die von Services verschickt wurden. Services kommunizieren über Nachrichten, diese Nachrichten werden von dem Sender an die Queue geschickt, wo sie gespeichert wird. Die „Worker-Role“, also der Service der abgefragt werden soll, holt sich die Nachrichten aus der Queue und arbeitet sie ab. Somit ist der Sender nicht auf den Service angewiesen und, sollte der Service ausfallen, fällt nicht zwangsläufig auch die Sender-Applikation aus.

Fällt der zu abfragende Service aus nachdem er eine Nachricht abgeholt hat, ist die Queue API darauf ausgelegt diese Nachricht an einen anderen Service weiterzulei-ten. Somit wird sichergestellt, dass keine Nachrichten verloren werden können. Eine asynchrone Kommunikation wird somit direkt ermöglicht und etwaige Ausfälle werden abgefangen.

4.2 Betrieb auf der Cloud Plattform

Bei der Entwicklung von Software ist es neben der eigentlichen Programmierung ein wichtiger Bestandteil Vorbereitungen zu treffen, um Fehler im laufenden Betrieb zu identifizieren und zu lösen. Hierfür stellt Microsoft dokumentierte Schnittstellen zur Verfügung über welche sich ein vollständiges Logging implementieren lässt. Um Ausfälle so gering wie möglich zu halten, hat Microsoft das „Automated Service Management“ eingeführt. Durch verschiedene Eskalationsstufen innerhalb des Logging-Mechanismus ist es möglich die „Gesundheit“ einer Applikations festzustellen und darauf entsprechend zu reagieren. Die Verwaltung und Skalierung findet im Azure Webportal statt, dort kann die für den Live Betrieb benötigte Anzahl von Servern festgelegt werden, sowie Auswertungen über Traffic und Rechenzeit abgefragt werden.


Die Skalierung kann im live Betrieb durch Änderung einer Konfigurationsdatei vorgenommen werden, sie treten unmittelbar in Kraft. Durch die Verwaltung der Instanzen in einer Konfigurationsdatei, könnte auch eine automatische Skalierung in betracht gezogen werden, allerdings gilt es die Kosten zu beachten.

5 Analyse Technologie Interoperabilität

Die Unterstützung von Java, Ruby und PHP in Windows Azure ist ein Beitrag von Microsoft zur Interoperabilität der Dienste und Services. Microsoft spricht sich ganz klar dafür aus Standards zu schaffen, um verschiedene Sprachen, Modelle und Architektur zu unterstützen[18].

5.1 Java

Abbildung 3: Die Möglichkeiten des Java SDK
Abbildung 3: Die Möglichkeiten des Java SDK[19]

Die Unterstützung von Java bezieht sich auf das Ansprechen der von Microsoft bereitgestellten Dienste:

  • Access Control
  • Service Bus
  • Workflow Service

Diese Dienste können dann von Java Entwicklern benutzt und abgefragt werden.

Die darunter liegende Architektur basiert auf „Metro“ einem Open-Source Web-Service Stack. So beinhaltet Metro das Java „Web Services Interoperability Technology“ (WSIT) Projekt. Dies ist eine Klassenbibliothek welche die Kommunikation zwischen Java und Microsofts Windows Communication Foundation (WCF) und .NET ermöglicht. Metro wird mit verschiedenen Applikationen ausgeliefert, darunter auch „GlassFish“ ein Open-Source Java Applikations-Server, welcher auch von Sun Micro Systems unterstützt wird[20].

Somit stellt Microsoft über einen Dritt-Anbieter „Schraka Inc.“[21] die Möglichkeit zur Verfügung aus Java heraus die Dienste von Azure anzusprechen und zu verwenden, jedoch nicht die Möglichkeit eine Java Applikationen in der Cloud zu verwenden.

5.2 Ruby

Ruby ist schon eine etwas ältere Programmiersprache. Erfunden wurde sie 1995, allerdings ist der große Durchbruch erst 2006 gekommen. Der Erfinder „Yukihiro “matz” Matsumoto vermischte Teile seiner Lieblingssprachen (Perl, Smalltalk, Eiffel, Ada und Lisp) und formte daraus eine neue Programmiersprache, in der funktionale und imperative Programmierung ausbalanciert sind“[22].

Abbildung 4: Architektur von Ruby und Windows Azure
Abbildung 4: Architektur von Ruby und Windows Azure[23]

Auch hier ermöglicht Microsoft es einem Dritt-Anbieter „ToughtWorks“[24] seine Open-Source Lösung zur Anbindung von Ruby an die .NET Services bereitzustellen. Wie auch in Java ist hier die Möglichkeit gegeben über das Framework von Tought-Works die .NET Services anzusprechen und zu verwenden. Eine dokumentierte API und eine Demo- Applikationen ermöglichen es Ruby Entwicklern einen Einstieg zu finden.

Das zurzeit aktuelle SDK (Milestone 2 – 10. April 2009) stellt bereits folgende Features für Ruby Entwickler zur Verfügung[25]:

  • Access Control Service - Der Microsoft .NET Zugriffkontroll Dienst, ist die Auslagerung komplizierter Programmierung in einen externen Dienst in der Cloud. Dieser Dienst ist vollständig konfigurierbar und übernimmt die kompletten Aufgaben des Identitätsmanagement[26].
  • Volatile Message Buffer (interactions) - Ein kurzlebiger Speicher für Nachrichten, welche nicht direkt übermittelt werden konnten.
  • Authentication - Web-Authentifizierung spielt mit dem Access Control Service eine wichtige Rolle im Identitätsmanagement. Für eine mit Benutzer, Passwort Kombination geschützte Anwendung unabdinglich. Die Authentifizierung übernimmt die Kontrolle der Zugangsberechtigungen.
  • Web-style-HttpRelayBinding - Relay Bindings sorgen dafür das Nachrichten korrekt erstellt und Dienste über eine URL angesprochen werden können. Dadurch können andere Applikationen diese Dienste verwenden.
  • Interactive Credentials - Die interaktive Verwaltung von Credentials sogenannten Rechten, ist für die Änderung von Benutzerrechten über die API. Somit können Applikationen erstellt werden, welche die Benutzerrechte verwalten und bearbeiten können.
  • Notification Service - Der Notification Service ist ein Push-Service welcher beim abbonieren automatisch Nachrichten an den Client schicken kann. Somit kann der Dienst zum Beispiel zur Übermittelung von Nachrichten bei Fehlern verwendet werden.
  • ServiceBus Environment Settings - Der Service Bus ist in Windows Azure der Knoten für alle Dienste, die in der Cloud gehostet werden. Hier hat der Entwickler nun auch die Möglichkeit den Service Bus an seine Ruby Dienste anzupassen.

Die Grundlegenden Funktionen zur Verwendung der Windows Azure Cloud, wie das HttpRelayBinding und die Authentifizierung, aus einer Ruby Applikationen sind bereits vorhanden, allerdings ist es in der aktuellen Version nicht möglich seine eigenen Dienste in Ruby zu entwickeln und in der Cloud zu verwalten. Somit ist die Applikationen, wie bereits in Java, auch nur ein Client für die .NET Services.

5.3 PHP

Die Open-Source Programmiersprache PHP „Hypertext Preprocessor“ wird haupt-sächlich für dynamische Webseiten und Inhalte verwendet. Die aktuelle Version PHP 5.3 ermöglicht ebenso wie das .NET Framework die strikte Objektorientierung.

Im Gegensatz zu Java und Ruby bietet Microsoft den Benutzern von Windows Azure hier auch die Möglichkeit den PHP-Intepreter als FastCGI-Modul zu integrieren. Somit wird es möglich komplette PHP Applikationen in der Cloud bereitzustellen und zu skalieren. Auch können die Azure Services mittels des SDKs für PHP abgefragt oder eigene Dienste über den Service Bus bereitgestellt werden. Microsoft erschließt somit eine völlig neue Zielgruppe für die Verwendung der Windows Azure Cloud.

Abbildung 5: Deployment Szenarien
Abbildung 5: Deployment Szenarien[27]

Für das Open-Source Software-Development-Kit für PHP und Azure namens „PHPAzure“[28] hat Microsoft wie bereits für Java und Ruby einen Dritt-Anbieter „REALDOLMEN“ zur Hilfe gezogen. Die aktuelle sogenannte „Community-Technology-Preview“ (CTP) beinhaltet folgende Features:

  • Windows Azure Blob Speicher Anbindung
  • Erstellen, Ändern, Löschen und auslesen aus dem Speicher
  • Metadaten des Speichers zu setzen
  • Erstellen einer Zugriffliste für Speicher
  • BLOB Felder durchsuchen
  • Hilfs-Klassen für den HTTP Transport, AuthN/AuthZ, REST & Fehler Management

Somit sind auch für PHP die Grundlegenden Funktionen bereitgestellt um eine PHP-Applikation an die Azure Dienste zu binden.

6 Zielgruppen Nutzen-Analyse

Microsoft richtet die Cloud Computing Infrastruktur an verschiedenen Zielgruppen aus. Primär lassen sich diese als Unternehmen, Endanwender, Softwareentwickler und Independent Software Vendors beziffern, die alle mit unterschiedlichen Anforderungen und Zielen an eine neue technologische Plattform herantreten.

6.1 Unternehmen

Das Modell, Anwendungen komplett oder teilweise in einer fremdgelagerten Umgebung bereitzustellen, ist ein sehr neuer und wenig erforschter Ansatz für Unternehmen. Besonders große Firmen, die jahrelang Anwendungen intern aufgebaut, verwaltet und betreut haben, werden mit der Frage, wie Cloud Computing der zukünftigen IT-Entwicklung nützen kann, konfrontiert. Mit der Hinzunahme des Software + Service Angebots[29] in das Produkt-Portfolio tritt Microsoft mit dem Thema Cloud Computing das erste Mal in der Unternehmensgeschichte als Dienstleister für die Betreuung von Anwendungen auf. Bisher wurden von Microsoft Produkte für den Betrieb von Software, sowie Support-Leistungen bei Fragen und Problemen dieser Produkte angeboten.

Für Unternehmen, die sich entscheiden Anwendungen oder Dienste ganz oder teilweise auf der Cloud Plattform in Betrieb zu nehmen, ist es wichtig, dass Service Level Agreements, die mit Microsoft bezüglich der Themen Ausfallsicherheit, Datensicherheit, Datensicherung, Verfügbarkeit und Support-Zeiten eingehalten und überwacht werden können. Durch die Nutzung des externen Betriebes können Unternehmen die Planung von Hardware-Ressourcen besser entwerfen und skalieren. So wäre es denkbar bei der Erwartung eines hohen Datenaufkommens in Systemen (zum Beispiel bei der jährlichen Bilanzkonsolidierung) Ressourcen in Form von Servern und Datentransfer kurzfristig hinzuzubuchen und bei Rückgang wieder abzubestellen, Unternehmen können so flexibler auf aktuelle Geschehnisse reagieren.

Adrian Studer, Technical Alliance Manager der Open Text Corporation, einem Anbieter für Enterprise Content Management Systeme, wird in einer Partner-Studie zitiert:

"By integrating our products with Azure, every organization can now afford to run an enterprise-class electronic records management solution without the burden of an up-front capital investment in storage hardware." [30]

Damit Anwendungen untereinander kommunizieren können, bedarf es einer einheitlichen Definition von Schnittstellen, mit dem Betrieb einer Anwendung in der Cloud werden diese Schnittstelle von vornherein festgelegt, dies ermöglicht Unternehmen für die gesamt IT eine einheitliche Architektur, da sich alle Systeme für die Kommunikation an diese Schnittstellen halten müssen.

Ein großes Thema ist die Gefahr der unzureichenden Datensicherheit. Dadurch, dass die Daten nicht mehr im eigenen Rechenzentrum liegen sondern verteilt auf der ganzen Welt, ist die Befürchtung groß, dass bei Datenpannen unternehmensinterne Informationen an Dritte gelangen.

Die Analysten von Gartner empfehlen Unternehmen aufgrund des nicht klar definierten Einführungstermins von Azure die Plattform in kurzfristige Planungen nicht mit einzubeziehen, jedoch auf langfristige Sicht alle oder einzelne Komponenten mit in der strategische Sicht der Unternehmens-IT einzubeziehen[31].

6.2 Endanwender

Neben den Unternehmen sieht Microsoft bei der Cloud Strategie ein großes Potential in privaten Endanwendern, die die Cloud nutzen können. Hierfür wurde das Produkt „Live Mesh" entwickelt[32]. Live Mesh nutzt die Cloud Dienste um selber eine Anwendung bereitzustellen, mit der Endwander, in der Theorie, alle Geräte, die an das Internet angeschlossen sind, verbinden können. Diese Geräte tauschen ihre Daten über die Live Mesh Plattform so aus, dass alle Endgeräte auf diesele Datenbasis zugreifen[33]. Durch die Bereitstellung einer Application Programming Interface (API) können Dritthersteller auf Dienste der Live Mesh zugreifen und Anwendungen für Endanwender in diese integrieren.

In der aktuellen Version [34] kann Live Mesh über eine Anwendung, die auf dem Computer des Benutzers installiert werden muss, angesteuert werden. Derzeit werden die Microsoft Betriebssysteme Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 und Windows 7 unterstützt. Für MacOS steht ebenfalls eine Anwendung bereit.

Endanwender können von der Cloud Computing Strategie profitieren, da durch die Verbreitung der Cloud neue oder erweiterte Dienste entstehen, die aufgrund des Wettbewerbes mit anderen Anbietern kostenlos oder günstig zur Verfügung gestellt werden. Der Endanwender muss sich nicht mit neuen Konzepten auseinandersetzen, da vorhandene Applikationen hinsichtlich Schnittstellen in Richtung der Cloud erweitert werden. Datenschützer sehen aber auch eine große Gefahr der Datensicherheit und Integrität, wenn Anwender ihre Daten im Internet zur Verfügung stellen. Der Burton Group Analyst Richard Watson weist darauf hin[35], dass die Einhaltung der Datensicherheit für Bürger der Europäischen Union, wenn die Dienste außerhalb von Rechenzentren der EU liegen, nach aktuellen Gesetzgebungen nicht geregelt ist.

6.3 Softwareentwickler

Softwareentwickler können durch die Verwendung der Cloud ihre Software einer breiteren Zielgruppe zur Verfügung stellen. Durch die Infrastruktur ist es für die Entwickler möglich die Anwendung zunächst lokal, das heißt auf dem eigenem Computer oder einer eigenen kleinen Serverfarm, zu testen um diese dann per Integrationsdienst zunächst in die Testumgebung in die Cloud zu übertragen um danach die getestete Version in der Produktivumgebung zu installieren. Somit können Investitionen in Hard- und Software, die nötig sind, um eine große Applikation zu testen, eingespart werden.

Microsoft verwendet Konzepte, die es Entwicklern, die bereits vorher auf Basis von Microsoft Technologien Software entwickelt und bereitgestellt haben, ermöglichen soll bereits bestehende Anwendungen in die Cloud zu stellen, ohne dass diese komplett neu entwickelt werden müssen.

Als Risiko ist gegeben, dass Softwareentwickler, die Anwendungen für die Microsoft Azure Plattform entwickeln, diese nicht auf andere Cloud-Plattformen von Herstellern wie Google, Amazon oder Sun übertragen können. Microsoft hat die von IBM gestartete Initiative des „Open Cloud Manifest"[36] abgelehnt. Mit dieser Initiative [37] soll versucht werden einen Standard für die Verwendung von Infrastruktur und Schnittstellen zu schaffen, damit Anwendungen zwischen unterschiedlichen Clouds, ohne großen Anpassungsbedarf, migriert werden können. Der strategische Fokus liegt somit nur auf der Microsoft Plattform, so müssen auch Frameworks für die Integration von Dritt-Anbieter Software im engen Zusammenhang mit der .NET Plattform entwickelt werden. Und die meisten Möglichkeiten, zur Anbindung von Software beschränken sich auf die Integration der Dienste.

6.4 Independent Software Vendors (ISVs)

Beim Thema Cloud-Computing kommen für Anbieter von Software neue Chancen und Risiken auf. Durch die zunehmende Verlagerung von Software ins Internet entfällt das klassische Geschäft, bei denen Software als Produkt im Laden verkauft wurde.

Nach Analysen des Technologie-Marktforschers Gartner wird der Markt für Software as a Service (SaaS) bis 2012 um jährlich 23,8% steigen[38]. Das Geschäftsmodell von SaaS sieht vor, dass Software und die dazugehörigen Dienstleistungen wie Wartung und Betrieb über das Internet angeboten werden. Als Beispiel kann der AppStore von Apple für das iPhone herangezogen werden, Nutzer haben hier die Möglichkeit direkt über ihr Mobiltelefon Software von Drittherstellern über einen Shop zu beziehen, der von der Firma Apple bereitgestellt wird. Die Hersteller der Software verdienen an der verkauften Software und an eventuellen Abonnement Gebühren, die bei der Benutzung anfallen, Apple verdient wiederum an der Distribution.

Neben Software, die out-of-the-box, also ohne Modifikationen, eingesetzt werden kann, ist es für Independent Software Vendors auch möglich nur bestimmte Funktionen in der Cloud zur Verfügung zu stellen. So wäre es zum Beispiel möglich eine Schnittstelle anzubieten, die den aktuellen Umrechnungskurs einer bestimmten Währung ausgeben würde. Der Anbieter dieser Schnittstelle könnte anderen Softwareanbietern und Unternehmen, die auf eine solche Funktion angewiesen sind, diese Schnittstelle zur Verfügung stellen. Die Abrechnung der Leistung könnte dann auf Basis der tatsächlichen Nutzung der Funktion erfolgen. Der Softwareanbieter kann hier von der Cloud profitieren, da er sich nicht um Hosting, Backup und Ausfallszenarien kümmern muss. Bei steigender oder sinkender Nachfrage kann der Softwareanbieter zusätzliche Leistung durch die Cloud anfordern ohne dadurch die eigentliche Anwendung anpassen zu müssen.

Freiberufler und kleinere Anbieter haben durch die Skalierbarkeit der Cloud so auch die Chance in Märkte einzudringen, die aus Gründen der Ressourcenkomplexität bisher großen Anbietern vorbehalten waren. Testumgebungen für Kunden müssen zum Beispiel nicht aufwendig aufgebaut und entwickelt werden, sondern können durch die Infrastruktur der Cloud abgebildet werden, was wiederum den Vertrieb von Softwareanwendungen erleichtern kann.

7 Wirtschaftlichkeitsbetrachtung

Für die Kostenanalyse und Kostenrechnung ist es erforderlich die Kostenstruktur zu ermitteln, zuzuordnen und zu bewerten um auf Basis dessen die Kosten, die beim Betrieb der IT anfallen, zu messen[39]. Für den Bereich Cloud Computing ist ein Kriterienkatalog zu bilden, der die Punkte Investitionen, Fixkosten (zum Beispiel für die Posten Miete, Server, Strom), Kosten der Verfügbarkeit, Kosten der Ausfallsicherheit und Personalkosten beinhaltet.

Die Kosten, die bei dem Betrieb von Anwendungen in der Cloud anfallen, lassen sich durch folgende Punkte identifizieren:

  • Rechenzeit
  • Ein- und ausgehende Bandbreite
  • Verwendung von Speicherplatz
  • Transaktionen und Anwendungsanfragen

Anhand dieser Punkte rechnet Microsoft die tatsächlichen Kosten ab, die dem Käufer der Cloud-Dienstleistung in Rechnung gestellt werden[40]. Auf Basis des aktuellen Stands [41] fallen keine weiteren Kosten beim Betrieb in der Microsoft Azure Plattform an.

Das Produkt dieser Kosten lässt sich summieren und mit den Kosten der derzeitigen Infrastruktur vergleichen. Dabei sind nicht nur die Kosten für die Miete des Servers, Bandbreitenverbrauch, Stromverbrauch etc. zu berücksichtigen, sondern auch die Personalkosten für Administration und Wartung der jeweiligen Server.

Der Microsoft Cloud Computing Ansatz, nur tatsächlich in Anspruch genommene Leistung zu zahlen, kann die Transparenz bei der IT-Budgetierung erhöhen. Unternehmen können den Kapitalbedarf durch verursachungsgerechte Zuordnung der Kosten besser planen und steuern, da benötigte Leistungen in der Cloud Plattform mit kalkulierbaren Kosten hinzugebucht und überschüssige Ressourcen abbestellt werden können. Auf der anderen Seite entsteht dadurch auch ein erhöhtes Risiko. Sollte eine Spitze in den Zugriffszahlen nicht auffallen und die Kapazitäten reduziert worden sein, könnte es zu Überlastungen und Ausfällen kommen. Eine Lösung für dieses Problem wäre die automatische Skalierung, jedoch fällt eine genaue Kalkulation der Kosten dann damit aus.

8 Schlussbetrachtung und Bewertung

Der Markt für Cloud Computing ist in der Wachstumsphase, alle großen Hersteller versuchen derzeit neue Cloud Computing Dienste zu entwickeln und diese so schnell wie möglich für die Benutzer zu öffnen. Dabei entwickeln die meisten Hersteller (z.B.: IBM) nicht ein komplett neues System sondern passen vorhandene Systeme an um diese auch in einer sogenannten Cloud-Umgebung bereitzustellen. Auch Microsoft geht diesen Weg, Technologien, wie Windows Server, der SQL Server und das .NET Framework, die bereits seit Jahren im Einsatz sind und auf Basis dessen eine große Entwicklergemeinde Software entwickelt, in eine Cloud-Umgebung zu heben[42].

Der Cloud Computing Markt wird nach Einschätzung von Gartner eine ähnlich große Bedeutung haben wie der E-Business Markt in den vorigen Jahren [43]. Microsofts Ziel, neben dem Ausbau der Position am Markt, ist es ein neues Geschäftsmodell zu erschließen und damit die nächste Konzern Cash Cow aufzubauen und in diesem Cloud Computing Markt eine Führerrolle einzunehmen.

Für Unternehmen und Entwickler, die bereits jetzt auf Microsoft Technologie setzen, ist der Übergang in die Azure Plattform fließend. Im hybriden Umfeld jedoch, also in Unternehmen bei denen neben Microsoft noch andere Technologien eingesetzt werden, was überwiegend der der Fall sein sollte, ist es schwer möglich bereits vorhandene Anwendungen auf die Cloud Plattform zu portieren, solange diese auf andere Technologien setzen. Hier müsste viel Aufwand betrieben werden.

So ist die Anbindung an die von Microsoft bereitgestellten Dienste wie Access Control und den Service Bus auf der Basis der bisherigen SDKs relativ einfach möglich. Eine Portierung eigener Dienste und deren Bereitstellung in der Cloud funktioniert allerdings nur, wenn diese Dienste in das .NET Programmiermodel umgeschrieben werden oder es ein FastCGI-Modul gibt. Somit ist für die Verwendung der Microsoft Cloud Azure in den meisten Fällen die Kenntnis des .NET Frameworks ein sehr wichtiger Bestandteil für den produktiven Einsatz. Microsofts Unterstützung der Interoperabilität bezieht sich mit Hinblick auf Windows Azure, auf die Bereitstellung Standardisierter Schnittstellen für die .NET Services der Cloud und die Möglichkeit über das FastCGI Modul andere Interpreter wie für zum Beispiel PHP zu integrieren. Ein weiterer wichtiger Punkt mit Hinblick auf die Interoperabilität ist der Service Bus Dienst. Dieser war bisher ein wichtiger Bestandteil des Microsoft BizTalk Servers und über die Veröffentlichung dieser Komponente in Windows Azure ist es auch ohne die kostenintensive Investition in den BizTalk Server möglich eine große Komponente zu nutzen.

Im weiteren Blick auf die Interoperabilität verschafft sich Microsoft ein Alleinstellungsmerkmal. Mit der Verwendung des Internet-Information-Servers mit Hyper-V Technolgie und die Möglichkeit über das FastCGI-Modul fremde Interpreter wie zum Beispiel PHP zu laden, bindet Microsoft seine Kunden sehr nah an die Infrastruktur und strategische Ausrichtung auf Microsoft Architektur.

Unternehmen laufen weiter Gefahr sich von den Microsoft Cloud-Diensten abhängig zu machen, da es nicht möglich ist, wie es bei anderen Herstellern durch das Open Cloud Manifesto der Fall sein könnte, die Dienste zu einem anderen Hersteller zu portieren. Auch ist es von Microsoft bisher nicht geplant die Azure Plattform in einem externen oder eigenen Rechenzentrum zu betreiben[44].

An dieser Stellte hätte noch weiter untersucht werden können, inwieweit andere Hersteller ähnliche Lösungen anbieten, die ähnliche Funktionalitäten abbilden und sich besser portieren lassen.

Laut einer Studie vertrauen weltweit 72 % der IT-Verantwortlichen mehr in interne Systeme als in Cloud-Lösungen[45]. Gerade Unternehmen, die die Vorteile einer Cloud-Infrastruktur nutzen möchten, jedoch aus Gründen des Datenschutzes keine Alternative außer dem Betrieb im eigenen Rechenzentrum sehen, werden unter Aspekten des Datenschutzes voraussichtlich nicht in die Azure Plattform investieren. Microsoft wird mit der Einführung einer Cloud Computing Plattform doppelt geprüft, einerseits tritt Microsoft das erste Mal als Hosting-Anbieter auf dem Markt auf, andererseits gibt es, aufgrund des jungen Marktes, noch keine Langzeitstudien wie es um die Punkte der Verfügbarkeit, Ausfallsicherheit und Datenschutz steht. Microsoft muss hier auf breiter Ebene Überzeugungsarbeit leisten um einerseits Unternehmen, die durch das Buchen der Leistung Umsatz generieren, aber auch Partner, die Anwendungen für die Plattform zur Verfügung stellen können und möchten, zu akquirieren.

In diesem Umfeld wird die Cloud Infrastruktur, vor offizieller Markteinführung, bereits im Vorfeld genau geprüft und über Probleme berichtet[46]. Transparente Kosten helfen jedoch dabei die IT-Kosten für den Betrieb von Anwendungen exakt zu kalkulieren. Ob die Kosten beim Betrieb in einer Cloud-Infrastruktur für Unternehmen günstiger sind, muss individuell bei jedem Kunden betrachtet werden, Microsoft verspricht hier aber marktübliche Konditionen.

Die Microsoft Azure Plattform ist derzeit noch nicht als fertiggestellte Lösung verfügbar, die Community Technologie Previews geben einen Eindruck über die Fähigkeit des System. An einigen Stellen besteht noch einiges an Verbesserungsbedarf. So ist es zum Beispiel unpraktikabel das Deployment über einen Webseiten-Upload durchzuführen, ein weitaus deutlich strapazierfähiger Upload mechanismus wäre wünschenswert. Ebenso müsste die Software Industrie über Lizenzmodelle nachdenken, die die bisherig typischen Modelle wie zum Beispiel über Anzahl der Prozessoren, ablösen könnte. Auch Microsoft muss in diesem Zusammenhang noch die API um die genaue Abfrage jeweiliger Parameter erweitern. An der Technologie oder der Reife des Produktes wird der Erfolg oder Misserfolg der Technologie vermutlich nicht liegen, fraglich bleibt jedoch wie Unternehmen, Independent Software Vendors und Entwickler die ungeklärten Probleme bei den Themen Datenschutz, Abhängigkeit und zudem die Kosten aufnehmen.

9 Fußnoten

  1. Vgl.: (Geelan, 2009)
  2. 2,0 2,1 2,2 2,3 Vgl.: (Sirtl, 2009) S. 4
  3. Vgl. (Sirtl, 2009) S.6
  4. Vgl.: (Buchsein, 2007) S. 81f
  5. Stand Juni 2009
  6. Vgl.: (OpenID Foundation)
  7. Vgl.: (Hagen, 2004) S. 21
  8. Vgl.: (Scribner, 2007) S. 6
  9. Vgl.: (Sirtl, 2009) S. 12
  10. Vgl.: (Sirtl, 2009) S. 8
  11. Vgl.: (Azure Services) Abschnitt Microsoft SharePoint Services
  12. Basierend auf CGI (Common Gateway Interface) ist FastCGI ein Standard für den Datenaustausch zwischen einer externen Software und dem Webserver.
  13. Vgl.: (FastCGI, 1996)
  14. 14,0 14,1 Vgl.: (PDC 2009 - A Lap around Windows Azure)
  15. Erhältlich über das SDK (http://www.microsoft.com/azure/sdk.mspx)
  16. Mehr Informationen: http://www.eclipse.org/org/
  17. Vgl.: (Dare Obasanjo 2008)
  18. Mehr Informationen: http://www.microsoft.com/interop/
  19. Vgl.: (jdotnetservices)
  20. Mehr Informationen: https://glassfish.dev.java.net/
  21. Mehr Informationen: http://www.schakra.com/stuff-we-do/jdotnetservices.html
  22. Vgl.: (Über Ruby)
  23. Vgl.: (.NET Services for Ruby)
  24. Mehr Informationen: http://www.dotnetservicesruby.com/
  25. Siehe: http://www.dotnetservicesruby.com/
  26. Mehr Informationen: http://www.microsoft.com/azure/accesscontrol.mspx
  27. Vgl.: (PHPAzure)
  28. Mehr Informationen: http://phpazure.codeplex.com/
  29. Vgl.: (Galli, 2007)
  30. Vgl.: (Open Text Corporation und Microsoft Coporation, 2008 )
  31. Vgl.: (Gartner, Yefim V. Natis, 2008) S.2
  32. Vgl.: (Microsoft Corporation, 2009)
  33. Vgl.: (Foley, 2008)
  34. Stand Juni 2009
  35. Vgl.: (Watson, 2009)
  36. Vgl.: (The Open Cloud Manifesto, 2008)
  37. Vgl.: (Heise Zeitschriften Verlag, 2009)
  38. Vgl.: (Gartner, 2008)
  39. Vgl.: (Saleck, 2005) S. 106 - 112
  40. Vgl.: (Microsoft Corporation, 2009)
  41. Stand Juni 2009
  42. Vgl.: (Reuters, 2007 )
  43. Vgl.: (Gartner, 2008)
  44. Vgl.: (Martin, 2009)
  45. Vgl.: (Großes Misstrauen gegenüber Cloud Computing, 2009)
  46. Vgl.: (Microsoft erklärt Ausfall von Windows Azure, 2009)

10 Literatur- und Quellenverzeichnis

Buchsein, R. (2007). IT-Management mit ITIL® V3. Strategien, Kennzahlen, Umsetzung. Vieweg Friedr. + Sohn .

Foley, M. J. (22. April 2008). Zdnet. Abgerufen am 16. April 2009 von Ten things to know about Microsoft's Live Mesh: http://blogs.zdnet.com/microsoft/?p=1355

Galli, P. (8. September 2007). Microsoft to Pitch Software Plus Services to Partners. Abgerufen am 2009. April 13 von eweek: http://www.eweek.com/c/a/Enterprise-Applications/Microsoft-to-Pitch-Software-Plus-Services-to-Partners/

Gartner. (12. September 2008). Gartner. Abgerufen am 20. April 2009 von Market Trends: Software as a Service, Worldwide, 2007-2012 : http://www.gartner.com/DisplayDocument?ref=g_search&id=757431&subref=simplesearch

Gartner, Yefim V. Natis. (5. November 2008). Windows Azure Completes the Microsoft Platform. Abgerufen am 10. April 2009 von Gartner: www.gartner.com/resources/162700/162798/windows_azure_completes_the__162798.pdf

Geelan, J. (24. Januar 2009). Twenty-One Experts Define Cloud Computing. Abgerufen am 2. Mai 2009 von sys-con.com: http://cloudcomputing.sys-con.com/node/612375

Großes Misstrauen gegenüber Cloud Computing. (17. April 2009). Abgerufen am 19. April 2009 von CIO.de: http://cio.de/index.cfm?pid=180&pk=875431

Hagen, C. R.-v. (2004). Business-Process- und Workflow-Management: Prozessverbesserung durch Prozess-Management. Vieweg+Teubner.

Heise Zeitschriften Verlag. (30. März 2009). Heise. Abgerufen am 11. April 2009 von Dunkle Wolken über dem Open Cloud Manifesto: http://www.heise.de/newsticker/meldung/135449

Martin, S. (24. März 2009). Development Unfiltered. Abgerufen am 18. April 2009 von Windows Azure and Windows Server - Licensing Model: http://blogs.msdn.com/stevemar/archive/2009/03/24/windows-azure-and-windows-server-licensing-model.aspx

Microsoft Corporation. (12. April 2009). Live Mesh Features. Abgerufen am 12. April 2009 von Mesh: https://www.mesh.com/Welcome/features/features.aspx

Microsoft Corporation. (18. Januar 2009). Microsoft.com. Abgerufen am 13. Mai 2009 von Pricing & Licensing Overview : http://www.microsoft.com/azure/pricing.mspx

Microsoft erklärt Ausfall von Windows Azure. (19. März 2009). Abgerufen am 17. April 2009 von zdnet.de: http://www.zdnet.de/news/digitale_wirtschaft_internet_ebusiness_microsoft_erklaert_ausfall_von_windows_azure_story-39002364-41001912-1.htm

Open Text Corporation und Microsoft Coporation. (23. Oktober 2008 ). Enterprise Content Management Company to Reach More Customers with Cloud Computing. Abgerufen am 20. April 2009 von Microsoft.com: http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000002892

OpenID Foundation. (kein Datum). OpenID About. Abgerufen am 1. Mai 2009 von http://openid.net/what/

Pettey, C. (26. Juni 2008). Gartner. Abgerufen am 4. Mai 2009 von Gartner Says Cloud Computing Will Be As Influential As E-business: http://www.gartner.com/it/page.jsp?id=707508

Reuters. (28. November 2007 ). Reuters. Abgerufen am 19. April 2009 von Popularity of .NET is Grinding Java's Market Share: http://www.reuters.com/article/pressRelease/idUS57445+28-Nov-2007+PRN20071128?sp=true

Scribner, K. (2007). Microsoft Windows Workflow Foundation - Schritt für Schritt . München: Microsoft Press.

Sirtl, H. (2009). Microsoft Press PreView 1-2009: Cloud Computing mit der Azure Services Platform. München: MS Press.

The Open Cloud Manifesto. (14. März 2008). Abgerufen am 11. April 2009 von The Open Cloud Manifesto: http://www.opencloudmanifesto.org/opencloudmanifesto1.htm

Watson, R. (7. April 2009). Patriot Act vs. EU Data Protection Directive: regulatory death-match in the Cloud. Abgerufen am 13. April 2009 von burtongroup: http://apsblog.burtongroup.com/2009/04/patriot-act-vs-eu-data-protection-directive-regulatory-death-match-in-the-cloud.html

Azure Services (23. März 2009). Abgerufen am 19. Mai 2009 von Microsoft SharePoint Services: http://www.microsoft.com/azure/services.mspx

FastCGI (April 1996). Abgerufen am 03. Juni 2009 von A High-Performance Web Server Interface a Technical Whitepaper: http://www.fastcgi.com/drupal/node/6?q=node/15

Microsoft Professional Developer Conference (2009). Abgerufen am 1. Juni von A Lap around Windows Azure: http://channel9.msdn.com/pdc2008/ES16/

Dare Obasanjo (November 2008). Abgerufen am 2.Juni von Windows Azure from a Developer's Perspective: http://www.25hoursaday.com/weblog/2008/11/03/WindowsAzureFromADevelopersPerspective.aspx

Ruby Abgerufen am 2. Juni von Über Ruby: http://www.ruby-lang.org/de/about/

PHPAzure abgerufen am 1. Juni von Deployment scenarios: http://phpazure.codeplex.com/

.NET Services for Ruby abgerufen am 30. Mai 2009 von High Level Architecture Overview: http://www.dotnetservicesruby.com/

jdotnetservices abgerufen am 30. Mai 2009 von High Level Architecture: http://www.dotnetservicesruby.com/

11 Abkürzungsverzeichnis

Abkürzung Bedeutung
APIApplication Programming Interface
CTPCommunity Technology Preview
EC2Elastic Compute Cloud 2
ETLExtract, Transform, Load
FastCGIFast Common Gateway Interface
FIFOFirst In First Out
GUIGraphical User Interface
IDEIntegrated Development Enviroment
LOELive Operation Environment
PHPHypertext Preprocessor
SOAServiceorientierte Architektur
SaaSSoftware as a Service
SLAService Level Agreement
TTLTime to live
MSMicrosoft
WCFWindows Communication Foundation
WSITWeb Service Interoperability Technology
XMLeXtensible Markup Language
XOMLExtensible Object Markup Language


12 Abbildungsverzeichnis

Abbildung Bezeichnung
Abb. 1 Möglichkeiten zum Betrieb einer Anwendung
Abb. 2 Bestandteile der Microsoft Azure Plattform
Abb. 3 Die Möglichkeiten des Java SDK
Abb. 4 Architektur von Ruby und Windows Azure
Abb. 5 Deployment Szenarien


Persönliche Werkzeuge