Tag: featured


Vorteile und Nachteile von Open-Source Cloud Computing Lösungen

Open-Source Cloud Frameworks haben in den vergangenen Monaten einen riesen Hype erlebt. Die vermeintlich großen Player wie Rackspace, HP, VMware und Citrix sorgen für die finanzielle Unterstützung von Lösungen wie OpenStack oder CloudStack und lassen unaufhörlich ihre Marketingkampagnen laufen. Dabei verfolgen alle genannten nur ein Ziel: Den Cloud Computing Krösus Amazon Web Services vom Thron zu stoßen. Allerdings müssen sich die Open-Source Anbieter die Frage gefallen lassen, ob ihre Technologien bereits für den Einsatz im Unternehmen taugen.

Vor- und Nachteile von Open-Source Clouds

Open-Source Cloud-Implementierungen gibt es erst seit ein paar Jahren und haben bis jetzt noch nicht ausreichend Anwendungsfälle im produktiven Betrieb. Obwohl eine Reihe von Early-Adoptern aus dem Telkosektor, Finanzdienstleister und wissenschaftliche Einrichtungen bereits Alternativen in Open-Source Cloud Systeme suchen, ist die Vielzahl an Unternehmen darüber nicht informiert. Es lohnt sich daher mal einen Blick auf die Vor- und Nachteile zu werfen.

Vorteil: Flexibilität

Per Definition bieten Open-Source Clouds ein höheres Maß an Flexibilität als der proprietäre Mitbewerb. Statt sich einfach nur mit dem Lesen von Anleitungen zufrieden zugeben oder an Schulungen teilzunehmen, können Nutzer selbst Änderungen an dem Code vornehmen und sich selbst mit eigenem Code an verschiedenen Projekten beteiligen. Zudem können sie eigene Projekte starten, eigene Dokus zur Verfügung stellen oder Seminare abhalten. Interaktionen mit der Gemeinschaft und der damit verbundenen Weiterbildung ermöglichen dem Anwender mehr Flexibilität bei der Gestaltung ihres Cloud-Designs und fördert innovative interne oder externe Lösungen.

Vorteil: Vendor Lock-In

Ein Argumente der Open-Source Cloud Community ist die Prävention vor einem Vendor Lock-in. Die Argumente sind einfach. Wird eine Cloud auf Basis einer offenen und weit verbreiteten Open-Source Technologien aufgebaut, hat kein Anbieter die Möglichkeit die volle Kontrolle über das Open-Source Framework zu erhalten. Damit können Anwender schneller auf die Entwicklung der Technologien im Rahmen des Open-Cloud Stacks reagieren. Darüber hinaus geben Open-Source Clouds dem Nutzer die Freiheit, seine Cloud an seine individuellen Bedürfnisse und Unternehmensziele anzupassen, statt diese anhand einer einzigen proprietäre Lösung aufzubauen.

Vorteil: Einsparung

Open-Source Software ermöglicht auf Grund seiner Lizenzierung die kostenlose Nutzung und hat damit preislich einen enormen Vorteil gegenüber dem kommerziellen Mitbewerb. Egal ob sich ein Nutzer nun für ein reines Open-Source Angebot oder für eine kommerzielle Open-Source Lösung entscheidet, wird er im Vergleich zu einer proprietären Software Kosten sparen können. In jedem Fall besteht für jedes Unternehmen die Möglichkeit, durch Open-Source Software, bei gleichzeitiger Erhöhung der Flexibilität, die Kosten zu senken, was einen Gewinn für jede Organisation darstellt.

Vorteil: Kontrolle, Offene Standards, APIs

Eine Open-Source Cloud setzt auf offene Standards und APIs und wird nicht von einem einzigen Hersteller kontrolliert. Das erlaubt es Unternehmen, die Kontrolle über die darunter liegende Hardware Infrastruktur und Managementplattform zu behalten, unabhängig davon, um welche Technologie es sich handelt. Des Weiteren ermöglichen offene APIs eine bessere Integration in bestehende offene oder proprietäre Lösungen, womit sichergestellt wird, dass aktuelle IT-Investitionen innerhalb der neuen Architektur weiterhin relevant sind.

Vorteil: Portabilität

Baut man seine Cloud auf Basis von Open-Source auf, sollte man immer schauen, wie es mit der Interoperabilität zu anderen Public, Private oder Hybrid Cloud Lösungen ausschaut. Entscheidet man sich für eine offene Technologie erhält man damit ein höheres Maß an Portabilität innerhalb des großen Cloud Ökosystems. Anstatt ihre eigenen Möglichkeiten auf proprietäre Technologien zu beschränken, können sich Nutzer an unterschiedlichen Open-Source Cloud Technologien bedienen und damit ihre IT-Entscheidungen unterstreichen und die eigenen Bedürfnisse und Unternehmensziele damit unterstützen.

Nachteil: Mangel an Unterstützung

Anwender die sich dafür entscheiden, ihre Cloud auf reiner Open-Source Software aufzubauen, begeben sich bzgl. Support in die Abhängigkeit des Open-Source Projekts. Das kann ganz schön zäh und schmerzhaft werden. Denn der Support kommt hier anhand von Foren, Chats, Q&A Systemen und Bug-Tracking Systemen von der Crowd. Zudem sollte man sich als Nutzer aktiv in der Community beteiligen und etwas dazu beitragen, was in der Welt der kommerziellen Software nicht notwendig ist. Auf der anderen Seite kann man sich für kommerzielle Open-Source Cloud Lösungen entscheiden, die für professionellen Support sorgen.

Nachteil: Kosten

Zwar haben Open-Source Lösungen auf Grund der in der Regel kostenlosen Lizenzen, im Vergleich zu kommerzieller Software, einen Kostenvorteil, allerdings gibt es auch hier Kosten die nicht zu vernachlässigen sind. Zum einen wird für den Aufbau einer Open-Source Cloud ein nicht zu unterschätzendes Wissen für die Entwicklung benötigt. Zum anderen müssen auch die Administratoren für einen einwandfreien Betrieb der Infrastruktur sorgen, wofür intensive Kenntnisse für die Verwaltung und Wartung der Lösung erforderlich sind. Darüber hinaus wird externes Fachwissen in Form von Beratung oder Entwicklung-Ressourcen benötigt.

Nachteil: Reifegrad

Je schneller sich das Open-Source Cloud Ökosystem entwickelt, kann sich ein Anwender nicht zwangsläufig darauf verlassen, das und wie lange ein Open-Source Projekt bestand hat. Wenn sich ein Cloud Architekt während des Designs einer Open-Source heute für eine bestimmte Technologie entscheidet, kann es durchaus passieren, das ihn diese in Zukunft einholen wird, da das Projekt eingestellt und nicht mehr weiterentwickelt wird. Mit den stetig steigenden Open-Source Projekten und unterschiedlichen Ansichten ist es für den Anwender zunehmend schwieriger geworden sich für den "richtigen" Weg zu entscheiden.

Fazit

Entscheider die sich für eine Cloud Infrastruktur entscheiden wollen diese hochverfügbar, einfach zu bedienen und so agil, dass sie sich mit den Bedürfnissen der Unternehmensziele verändert. Es ist daher entscheidend, dass sich ein Entscheider zunächst über die Unternehmensziele im klaren ist und sich mit seiner bestehenden IT-Infrastruktur auseinandersetzt, bevor er über den Aufbau einer Open-Source oder proprietären Cloud Infrastuktur nachdenkt. Möglicherweise kann man auch zu dem Ergebnis kommen, dass eine eigene Cloud für das Unternehmen keinen nennenswerten Vorteil bietet und andere Möglichkeiten evaluiert werden müssen.

Sollte die Entscheidung zu Gunsten einer Open-Source Cloud Lösung fallen, macht es durchaus Sinn eine kommerzielle Open-Source Software in Betracht zu ziehen, hinter der ein Unternehmen steht, das für die Kontinuität des Projekts und eine klare Richtung sorgt und darüber hinaus professionellen Support bietet. Damit kann das Risiko einer Open-Source Cloud Lösung deutlich minimiert werden.


Bildquelle: https://new.edu



openQRM 5.0 erscheint mit überarbeiteter Benutzeroberfläche und neuem Dual-Lizenzmodell

Wie bereits Anfang Juni hier auf CloudUser angekündigt, hat die openQRM Enterprise GmbH mit openQRM 5.0 die nächste Generation ihrer Infrastructure-as-a-Service- (IaaS) und Cloud Computing Management Lösung veröffentlicht. Zudem wird ein neues duales Lizenzmodell präsentiert, das es Unternehmen ermöglicht, professionellen Support aus erster Hand zu erhalten und damit ihre Investitionen in eine Open-Source Datacenter-Management-Plattform langfristig zu sichern.

openQRM 5.0 erscheint mit überarbeiteter Benutzeroberfläche und neuem Dual-Lizenzmodell

Komplett neue Benutzeroberfläche

openQRM 5.0 wurde weitgehend umgeschrieben, wobei nicht nur äußerliche Änderungen an dem IaaS- und Cloud-Builder vorgenommen wurden. Neben der Umstellung der graphischen Benutzeroberfläche auf das Model-View-Controller-Konzept wurden zudem alle openQRM-Plugins neu geschrieben und mit weiteren Funktionen ausgestattet. Als weitere Erneuerung steht nun ein komplett neues Cloud-Portal zur Verfügung, sowie Postgres als weitere Backend-Datenbank neben MySQL.

openQRM 5.0 wurde darüber hinaus so erweitert, dass alle weltweit möglichen Sprachen unterstützt werden können. Als Standardsprachen unterstützt openQRM 5.0 ab sofort Englisch und Deutsch, das Cloud-Portal zusätzlich noch Spanisch, Niederländisch, Französisch und Italienisch.

Um den Administrator zu zeigen, welche Aktionen das System aktuell im Hintergrund durchführt, hat openQRM 5.0 eine Statusanzeige für „Active Events“ erhalten, die der Admin jederzeit einsehen kann.

Neben der webbasierten Benutzeroberfläche bietet openQRM 5.0 dem Nutzer nun auch einen vollwertigen Kommandozeilen-Client, mit dem die Management-Plattform innerhalb einer Terminal-Sitzung kontrolliert oder mit weiteren Anwendungen integriert werden kann.

Alle weiteren Erneuerungen befinden sich im Change-Log zu openQRM 5.0 unter http://www.openqrm-enterprise.com/de/ueber-openqrm/changlog-50.html.

Dual-Lizenzmodell für professionellen Support

Mit openQRM 5.0 ändert sich aufgrund verstärkter Nachfrage der Kunden das Lizenzmodell. Neben der bereits vorhandenen Open-Source-Version (GPL 2.0) können Unternehmen zusätzlich eine Enterprise-Version erwerben. Diese bietet neben erweiterten, unternehmensrelevanten Funktionen, ebenfalls professionellen Support durch die openQRM Enterprise GmbH.

In den letzten Jahren vermehrten sich die Anfragen von Kunden nach professionellem Support und Enterprise-Lizenzen, aber vor allem nach weiteren Feature-Wünschen. Darüber hinaus ist die Anzahl der Support-Anfragen angestiegen. Aus diesem Grund hat sich die openQRM Enterprise GmbH dafür entschieden das Lizenzmodell zu ändern, um diesen Anfragen weiterhin professionell gerecht zu werden. Professionelle Anwender erhalten mit der neuen Enterprise-Version somit ein kommerziell lizensiertes Produkt, inklusive der damit einhergehenden Investitions- und Updatesicherheit, Produktgewährleistung und professionellem Support. Kunden mit bestehenden Serviceverträgen (SLA) werden automatisch von der neuen Version profitieren und erhalten alle nötigen Lizenzen für openQRM Enterprise 5.0.

Die Community-Version von openQRM 5.0 wird von der Änderungen ebenfalls profitieren. Die freie Version von openQRM 5.0 erscheint wie bislang auch unter der GPLv2-Lizenz und wird weiterhin stetig verbessert werden. Zudem will die openQRM Enterprise GmbH die Qualität der Dokumentation, HowTos und Videos - auf welche die Community kostenlos Zugriff erhalten wird - fortlaufend steigern.

Weitere Informationen zur Community- und Enterprise-Version von openQRM 5.0 und deren Unterschiede sind auf http://openqrm-enterprise.com/products-service/version-comparison.html zu finden.



Netflix veröffentlicht seinen Chaos Monkey

Netflix hat den Quellcode für seinen Chaos Monkey veröffentlicht. Das schreiben Cory Bennett und Ariel Tseitlin auf dem Netflix-Blog. Unternehmen die ernsthaft Systemarchitekturen in der Cloud der Amazon Web Services (AWS) betreiben wollen und sich auf Ausfälle von AWS vorbereiten möchten, sollten auf den Chaos Monkey zurückgreifen, um das eigene System zu stabilisieren.

Der Chaos Monkey

Der Chaos Monkey ist ein Service der auf den Amazon Web Services läuft, nach Auto Scaling Groups (ASGs) sucht Instanzen (virtuelle Maschinen) pro Guppe wahllos beendet. Dabei ist die Software flexibel genug entwickelt worden, dass sie ebenfalls auf den Plattformen anderer Cloud Anbieter funktioniert. Der Service ist voll konfigurierbar, läuft standardmäßig aber an gewöhnlichen Werktagen von 09.00 Uhr bis 15.00 Uhr. In den meisten Fällen hat Netflix seine Anwendungen so geschrieben, dass diese weiterhin funktionieren, wenn eine Instanz plötzlich Probleme hat. In speziellen Fällen passiert das bewusst nicht, damit die eigenen Leute das Problem beheben müssen, um daraus zu lernen. Der Chaos Monkey läuft also nur ein paar Stunden am Tag, damit sich die Entwickler nicht zu 100% auf ihn verlassen.

Weitere Informationen zum Chaos Monkey und der Simian Army gibt es unter "Netflix: Der Chaos Monkey und die Simian Army – Das Vorbild für eine gute Cloud Systemarchitektur".

Chaos Monkey Quellen



Die Revolution beginnt: instantnavi – Mobile Navigation direkt aus der Cloud

Es handelt sich um eine Revolution und zeigt die steigende Bedeutung der Cloud auch im Consumer-Umfeld. instantnavi, ein Sub-Projekt der sozialen Mitfahrzentrale flinc, macht lokale Apps für die Navigation auf Smartphones überflüssig und überträgt die Routendaten direkt aus der Cloud auf den mobilen Webbrowser.

Die Revolution beginnt: instantnavi - Mobile Navigation direkt aus der Cloud

instantnavi: Die Revolution der mobilen Navigation hat begonnen

Zwar benötigt Googles mobile Navigation App "Google Navigation" ebenfalls eine Datenverbindung, um die Routeninformationen live aus dem Web zu übertragen, jedoch ist dafür eine native lokale App mit einer Größe von immerhin 33,84 MB (Google Maps) notwendig.

instantnavi hingegen kann geräteunabhängig in jedem HTML-5 fähigen Webbrowser genutzt werden. Die Konfiguration erfolgt ebenfalls im Browser am PC/ Mac. Dazu meldet man sich zunächst per OAuth entweder mit seinem Twitter, Facebook Account oder per E-Mail an. Anschließend kann man neben der Zieladresse weitere Informationen (Symbole) die später auf dem Display angezeigt werden hinzufügen. Dazu gehören bspw. die aktuelle Geschwindigkeit, die Ankunftszeit oder die noch zu fahrenden Kilometer. Nun wählt man nur noch eine Farbe für die Symbole aus und gibt der Route einen Namen.

InstantNavi erzeugt anschließend einen Link in der Form http://instantnavi.com/to/[Bezeichnung] plus zusätzlichem QR-Code, der diesen Link enthält. Hinter diesen Link sind sämtliche Informationen und Konfigurationen gespeichert, die für Navigation benötigt werden. Sehr schick, die angelegten Routen lassen sich in Dosen abspeichern, um später ggf. Änderungen daran vornehmen zu können.

Dieser Link muss nun nur noch auf dem mobilen Webbrowser geöffnet, das GPS eingeschaltet werden und los geht’s.

Die Konfiguration muss derzeit noch über den Browser am Computer oder Tablet erfolgen, da die mobilen Displays für die Anordnung der Symbole zu klein sind. Hierfür sollen in Zukunft mobile Apps entwickelt werden, mit denen die Konfiguration vorgenommen werden kann.

OpenStreetMap dient als Datenbasis

Als Datenbasis greift instantnavi auf die Karten des OpenStreetMap Projekts zurück. Auf dem Rückweg vom Barcamp Bodensee 2012 habe ich die HTML-5 App (damals noch in einer geschlossenen Alpha) parallel zum "klassischen" Navi laufen lassen. Der erste Eindruck überzeugt. Nach kurzer Zeit wurde mein aktueller Standort erkannt und der Navigationspfeil bewegte sich mit uns. Die Karte wird derzeit nur im 2D-Modus dargestellt und ist ständig nach Norden ausgerichtet, was nicht weiter stört, nur ein wenig ungewohnt für denjenigen sein kann, der sonst den 3D-Modus nutzt. Was noch fehlt ist die Sprachausgabe, aber das System befindet sich in einem frühen Status und Silvia hat mir bereits von vielen weiteren Ideen erzählt, die in die App einfließen werden. Die erstellte Route kann übrigens ebenfalls über Facebook und Twitter geteilt oder in eine Webseite oder Blog als Graphik/ Link eingebunden werden.

Die instantnavi Navigation selbst wird kostenlos bleiben. Die bereits oben angesprochene mobile App - für die Konfiguration - soll ein paar Cent kosten. Die Monetarisierung kann bspw. über Zusammenarbeit mit Restaurants, Geschäfte oder Events erfolgen, indem die Route zu der Location via Link/ Barcode auf der Webseite eingebunden wird.

Aus der Studentenbude zum professionellen Sub-Projekt

Das Projekt entstammt urspünglich einer Master Thesis von Silvia Hundegger und ihrem Kommilitonen/ Kollegen Christian Bäuerlein an der UNI Darmstadt. Beide arbeiten aktuell für die soziale Mitfahrzentrale flinc. Das soziale Netzwerk hat die Idee der beiden als ein unabhängiges Co-Projekt mit dem Ziel „eingekauft“, bald selbst ein eigenes Navigationsystem im Portfolio zu haben, um es in flinc zu integrieren. Dazu erhalten Silvia und Christian von flinc entsprechend Arbeitszeit und Ressourcen wie Entwickler, Designer usw. zur Verfügung gestellt, um InstantNavi zu realisieren. Seit Ende Juni befindet sich instantnavi im Live-Betrieb.



Microsoft attackiert die Amazon Web Services über die Private Cloud

Microsoft portiert seine Cloud Lösungen Windows Azure Web Sites, Virtual Machines und das Service Management Portal auf den Windows Server und ermöglicht es damit Hosting Anbieter ihren Kunden hochverfügbare Webseiten und Infrastructure-as-a-Service Lösungen auf Basis von Microsoft Cloud Technologien anzubieten. Anders als die Google Compute Engine, lassen sich die neuen Microsoft Cloud Lösungen prinzipiell auch in einer Private Cloud aufbauen. Die Cloud Implementierung, die sich bei etablierten Unternehmen tendenziell als die Bevorzugte herausstellt.

Microsoft Hosting Services

Die Microsoft Hosting Services setzten sich im Kern aus der "Windows Server Hosting Platform", "Infrastructure-as-a-Service", "Windows Azure" und den "Business Productivity Hosting Solutions" zusammen. Dabei bietet die Hosting Plattform ein Framework, Web Server, Datenbanken und weitere Tools, mit denen Web Seiten auf Windows gehostet werden können. Mit dem "Dynamic Data Center Toolkit" können Web-Hoster on-Demand virtuelle Server, Cluster, Netzwerkinfrastrukturen und Speicherplatz bereitstellen. Über Windows Azure stehen Möglichkeiten zur Verfügung, neue Anwendungen auszurollen sowie neue Cloud Services zu erstellen. Die "Business Productivity Hosting Solutions" ermöglichen das Anbieten von Business Anwendungen auf Basis von Microsoft Exchange 2010 und SharePoint 2010.

Granularer wird zwischen "Web Sites", "Virtual Machines", dem "Service Management Portal" und einer "API" unterschieden.

Web Sites

Mit "Web Sites" können hochverfügbare und skalierbare Webseiten-Infrastrukturen aufgebaut werden, mit denen man über 10.000 Seiten in einer einzigen Web Farm verwalten kann. Zudem werden unterschiedliche Frameworks und Sprachen wie ASP.NET, ASP, PHP und Node.js mit einer vollständigen Git Integration unterstützt.

Virtual Machines

Zusammen mit bekannten Microsoft Technologien wie System Center und Windows Server lassen sich Infrastructure-as-a-Service Angebote aufbauen, mit denen virtuelle Machinen mit Windows Server und Linux bereitgestellt werden.

Service Management Portal und API

Anhand einer Metro-basierten Oberfläche und einem Self-Service Portal lassen sich "Web Sites" und "Virtual Machines" verwalten. Mit einer REST-basierten API lässt sich das Portal anpassen und erweitern, um damit bspw. andere Portal anzubinden.

Amazon ist ein reiner Service Anbieter

Auch wenn sich das neue Microsoft Angebot in erster Linie an Hosting-Anbieter richtet, sollte man nicht vergessen, wie einfach es ist, die Lösungen für die Private Cloud verfügbar zu machen.

Die Amazon Web Services verstehen es zwar hochwertige Public Cloud IaaS auszuliefern. Wenn es um die on-Premise Anforderungen von Unternehmen geht, hat Microsoft hier allerdings die Nase vorn. Wo AWS in der Cloud geboren ist und langsam damit anfangen muss, etablierte Kunden von der Basis abzuholen, um das große Geschäft zu machen, kommt Microsoft aus dem on-Premise Bereich und ist hier mit Abstand Marktführer.

Zudem weiß Microsoft, was es bedeutet, Software anzubieten, diese zu warten, Updates auszuliefern usw. Amazon ist ein reiner Service Anbieter und ist in kurzer Zeit nicht in der Lage diese Expertise und vor allem die notwendigen Vertriebskanäle aufzubauen.

Private Cloud wird bevorzugt

Und genau darin besteht auch Microsofts großer Vorteil. Das Unternehmen befindet sich bereits dort, wo die meisten Unternehmen gerne bleiben möchte, in den eigenen vier Wänden ihres Rechenzentrums, in der Private Cloud. Laut einer KPMG-Studie haben fast 60% (400 Befragte) der IT-Entscheider gute Erfahrung mit Private Cloud Lösungen gemacht. 21% wollen in Zukunft hier gezielter investieren. Dabei fließen bereits 19% des IT-Budgets in die Private Cloud, bevorzugt in Infrastructure-as-a-Services.

Für das Jahr 2013 wollen ein Drittel der befragten Unternehmen 26% - 50% ihres IT-Budget in die Private Cloud stecken. Darüber hinaus interessieren sich ca. 90% der Unternehmen nicht(!) für die Public Cloud, wobei 6% diese nutzen und 7% darüber nachdenken.

Amazons einziger Private Cloud Anker heißt Eucalyptus

Man kann sich nun die Frage stellen, ob AWS überhaupt daran interessiert ist, mit Microsoft in der Private Cloud in den Wettbewerb zu ziehen. Egal wird es ihnen allerdings nicht sein, das haben Maßnahmen zu Beginn des Jahres gezeigt.

Genauer geht es um den Deal der Amazon Web Services mit Eucalyptus Inc., die einen Fork der Amazon Web Services für die Private Cloud anbieten. Die Kooperation ist so aufgebaut, das Entwickler aus beiden Unternehmen Lösungen schaffen werden, um Private Cloud Lösungen auf Basis von Eucalyptus mit der Amazon Infrastruktur nahtlos zu verbinden. Zudem sollen die Kunden für die Nutzung von AWS als auch Eucalyptus dieselben Management Tools verwenden können. Darüber hinaus soll die Kompatibilität beider APIs verbessert werden.

Eucalyptus ist derzeit also der einzige Weg für die Amazon Web Services in die Rechenzentren der Unternehmen, wo Microsoft bereits wartet.



Netflix: Der Chaos Monkey und die Simian Army – Das Vorbild für eine gute Cloud Systemarchitektur

Die letzten Ausfälle bei den Amazon Web Services (AWS) hier und hier haben gezeigt, dass bei manchen Kunden wie bspw. Instagram, die Systemarchitektur nicht auf das Cloud Computing ausgelegt ist. Und auch wenn AWS so etwas nicht (mehr) passieren darf, sollte man selbst darauf achtgeben, präventiv auf den möglichen Ernstfall vorbereitet zu sein. Eine Möglichkeit ist der von Netflix entwickelte Chaos Monkey und weitere Tools, die ich in diesem Artikel vorstellen möchte.

Üben, Lernen, Testen

Bevor sich Netflix für den Einsatz seines Systems auf den Amazon Web Services entschieden hat (Migration von einer eigenen Infrastruktur), verbrachte das Unternehmen viel Zeit damit, um die AWS Plattform zu verstehen und ein Test-System innerhalb der Infrastruktur aufzubauen. Dabei wurde insbesondere darauf geachtet, soviel realistischen Traffic bzw. Traffic Szenarien wie möglich zu erzeugen, um damit das Test-System auf seine Stabilität hin zu prüfen.

Anfangs entwickelte Netflix dazu einen einfachen Repeater, der die echten und vollständigen Kundenanfragen auf das System innerhalb der AWS Infrastruktur kopierte. Damit identifizierte Netflix die möglichen Engpässe seiner Systemarchitektur und optimierte im Zuge dessen die Skalierbarkeit.

Netflix Rambo Architektur

Netflix selbst bezeichnet seine Software Architektur gerne auch als Rambo Architektur. Das hat den Hintergrund, dass jedes System unabhängig von den anderen Systemen einwandfrei funktionieren muss. Dazu wurde jedes System innerhalb der verteilten Architektur so entwickelt, dass es darauf vorbereitet ist, dass andere Systeme zu denen eine Abhängigkeit besteht, ausfallen können und das dieses toleriert wird.

Sollte das Bewertungssystem ausfallen, verschlechtert sich zwar die Qualität der Antworten, aber es wird dennoch eine Antwort geben. Statt personalisierten Angeboten werden dann nur bekannte Titel angezeigt. Sollte das System, dass für die Suchfunktion zuständig ist, unerträglich langsam sein, muss das Streaming der Filme trotzdem einwandfrei funktionieren.

Der Chaos Monkey

Eines der ersten Systeme die Netflix auf bzw. für AWS entwickelt hat, nennt sich Chaos Monkey. Sein Job ist es zufällig Instanzen und Services innerhalb der Architektur zu zerstören. Damit stellt Netflix sicher, dass alle Komponenten unabhängig voneinander funktionieren, selbst dann wenn Teil-Komponenten ein Problem haben.

Neben dem Chaos Monkey hat Netflix viele weitere Monitoring und Test-Tools für den Betrieb seines Systems auf den Amazon Web Services entwickelt, die das Unternehmen als The Netflix Simian Army bezeichnet.

Latency Monkey

Der Latency Monkey induziert künstliche Verzögerungen im Netflix eigenem REST-Client-Server Communication-Layer, um einen Leistungsabfall zu simulieren und rechtzeitig Maßnahmen zu ergreifen bzw. im Vorwege angemessen zu reagieren. Indem sehr große Verzögerungen erzeugt werden, kann damit zudem der Ausfall eines Nodes oder eines vollständigen Service simuliert werden, ohne diese Instanzen tatsächlich zu zerstören. Damit wird die Fehlertoleranz eines neuen Service überprüft, indem der Ausfall seiner Abhängigkeiten simuliert wird. Der Ausfall dieser Abhängigkeiten wirkt sich dabei jedoch nicht auf den Rest des Systems aus.

Conformity Monkey

Der Conformity Monkey findet Instanzen, die nicht den Best-Practices Anforderungen entsprechen und fährt diese herunter. Wenn z.B. Instanzen gefunden werden, die nicht zu einer Auto-Scaling Group gehören, weiß der Conformity Monkey, dass dieses zu Problemen führen wird. Diese werden also heruntergefahren, um dem Service-Owner die Gelegenheit zu geben, neue Instanzen mit den erwarteten Eigenschaften hochzufahren.

Doctor Monkey

Der Doctor Monkey überprüft die Health Checks, die sich auf jeder Instanz befinden und überwacht zudem weitere Eigenschaften, wie bspw. die CPU-Auslastung, um mögliche Fehlerquellen innerhalb der Instanzen selbst zu erkennen. Werden fehlerbehaftete Instanzen entdeckt, werden diese zunächst automatisch vom Service entfernt. Anschließend erhält der Service-Owner die Gelegenheit die Ursache für den Fehler zu finden und beendet diese Möglicherweise um stattdessen neue Instanzen zu starten.

Janitor Monkey

Der Janitor Monkey sorgt dafür, dass die Netflix Cloud Umgebung effizient betrieben wird und sich kein Müll oder überschüssige Instanzen anhäufen. Dazu sucht er nach ungenutzten Ressourcen und sorgt dafür, dass diese verschwinden.

Security Monkey

Der Security Monkey ist eine Erweiterung des Conformity Monkey. Er findet Sicherheitslücken oder Schwachstellen wie falsch konfigurierte AWS Security Groups und beendet die beanstandeten Instanzen. Er stellt zudem sicher, dass alle SSL-und DRM-Zertifikate gültig sind.

10-18 Monkey

Der 10-18 Monkey (steht auch für Lokalisierung-Internationalisierung bzw. l10n-i18n) erkennt Konfigurations- und Laufzeit Probleme innerhalb von Instanzen, die Kunden in verschiedenen geografischen Regionen, mit unterschiedlichen Sprachen und Zeichensätze bedienen.

Chaos Gorilla

Der Chaos Gorilla ist vergleichbar mit dem Chaos Monkey, simuliert allerdings einen vollständigen Ausfall einer Amazon Availability Zone. Damit wird sichergestellt, dass die Funktionalität des Systems automatisch in andere Availability Zones verschoben wird, ohne das ein manueller Eingriff von Netflix erforderlich ist und das der Nutzer davon etwas bemerkt.

Fazit

Die Simian Army von Netflix ist ein Extrembeispiel wie eine Cloud Architektur auszusehen hat. Das Unternehmen hat viel Zeit, Anstrengungen und Kapital in die Entwicklung seiner Systemarchitektur investiert, die auf der Cloud Infrastruktur der Amazon Web Services läuft. Aber es lohnt sich und jedes Unternehmen, das die Cloud ernsthaft nutzen möchte und ein hochverfügbares Angebot präsentieren will, sollte sich Netflix unbedingt zum Vorbild nehmen.



Google Cloud Platform vs. Amazon Web Services – Ein erster Vergleich

Nachdem Google sein Cloud Portfolio mit der Compute Engine erweitert hat, fangen erste Medien an darin den Killer der Amazon Web Services zu sehen. Ein Grund mal die Cloud Services von Google und Amazon gegenüberzustellen. Wer sich für einen direkten Vergleich von Microsoft Windows Azure mit den Amazon Web Services interessiert, sollte hier weiterlesen.

Der Vergleich: Google Cloud vs. Amazon Cloud

Die folgende Tabelle stellt das Cloud Services Portfolio 1:1 gegenüber und schafft Klarheit, wer in welchem Bereich was anbietet, wie der Name des jeweiligen Service lautet und unter welcher URL weitere Informationen zu diesem zu finden sind.

Funktion

Amazon Web Services

Google Cloud Platform

Rechenleistung

Virtuelle Maschinen Elastic Compute Cloud Full Virtual Machines (Google Compute Engine)
High Performance Computing Cluster Compute Instances
-
MapReduce Elastic Map Reduce Google App Engine
Dynamische Skalierung Auto Scaling Google Compute Engine

Speicher

Unstrukturierter Speicher Simple Storage Service Google Cloud Storage
Flexible Entities SimpleDB
-
Block Level Storage Elastic Block Store Persistent disk (Google Compute Engine)

Datenbanken

RDBMS Relational Database Service Google Cloud SQL, BigQuery
NoSQL DynamoDB "Google F1"

Caching

CDN CloudFront
-
In-Memory ElastiCache
-

Netzwerk

Load Balancer Elastic Load Balancer
-
Hybrid Cloud Virtual Private Cloud
-
Peering Direct Connect
-
DNS Route 53 Public DNS

Messaging

Async Messaging Simple Queue Service
-
Push Notifications Simple Notification Service
-
Bulk Email Simple Email Service
-

Monitoring

Ressourcen Monitoring CloudWatch
-

Sicherheit

Identitätsmanagement Identity Access Management
-

Deployment

Ressourcenerstellung CloudFormation
-
Web Application Container Elastic Beanstalk Google App Engine

Wie man sieht, ist das Google Cloud Portfolio im Vergleich zum Service Angebot der Amazon Web Services noch sehr dünn. Falls ich etwas bei Google übersehen habe, macht mich darauf bitte aufmerksam. Ich werde das dann umgehend nachtragen.



Orientierungshilfe: Katalog zur Auswahl eines Cloud Computing Anbieter

Cloud Computing Anbieter haben auf Unternehmen den größten Einfluss auf dem Weg in die Cloud. Dazu zählen die Eigenschaften und der Charakter des Anbieters bzgl. des Umgangs mit seinen Kunden und wie dieser arbeitet. Die größte Herausforderung stellt zudem die Selektion eines oder mehrerer Anbieter dar, um die Ansprüche des Unternehmens in Bezug auf die Integrationsmöglichkeiten, die Unterstützung der Geschäftsprozesse etc. so optimal wie möglich zu erfüllen.

Bei der Auswahl eines Cloud Computing Anbieter hilft eine Checkliste

Eine Norm für die Bewertung und Auswahl eines Anbieters existiert derzeit noch nicht und es wird ebenfalls schwierig werden eine zu entwerfen, da die individuelle Situation von Unternehmen zu Unternehmen sehr vielfältig ist. Speziell die individuelle Situation in Kombination mit den Ansprüchen des Unternehmens führt zu einer hohen Komplexität, was die Schwierigkeit erhöht, exakt den Anbieter zu finden, dessen Angebot und Leistungen optimal zu dem Unternehmen passen.

Schon eine kleine Auswahl von Anbietern und ihren Services zeigt, dass es sehr schwierig ist, einen direkten Vergleich vorzunehmen. Auf den ersten Blick sehen sich die meisten Angebote sehr ähnlich. Eine detaillierte Betrachtung legt aber offen, dass sich die jeweiligen Angebote in Bezug auf ihren Aufbau, den Umfang der Dienste und der Preisstruktur deutlich unterscheiden.

Das stellt Unternehmen vor eine große Herausforderung. Müssen sie zwar heute nicht mehr für den Aufbau und die Wartung der Infrastruktur sorgen, hat die Auswahl der richtigen und passenden Services jedoch allerhöchste Bedeutung. Dazu kommen Themen wie Compliance, Governance, Datenschutz usw. Zudem wird die Auswahl eines Anbieters immer sehr stark von den eigenen Bedürfnissen des Unternehmens beeinflusst.

Ein Beispiel sind SLAs. Die SLAs der großen Public Cloud Anbieter sind nicht sehr umfangreich und aussagekräftig. Kann die garantierte Verfügbarkeit nicht eingehalten werden, erstatten diese zwar den Betrag zurück, der in diesem Zeitraum zu entrichten war, eine zusätzliche Strafe, wie sie in klassischen SLAs stehen, gibt es jedoch nicht.

Es existieren daher grundlegende Fragen, die einem Anbieter, unabhängig in welchem Cloud Computing Bereich dieser tätig ist, gestellt werden müssen. Dies sollte auf Basis eines Fragenkatalogs vorgenommen werden, mit dem der Anbieter auf die grundsätzlichen Fakten überprüft wird. Dieser Katalog kann von jedem Unternehmen verwendet werden, das Services von einem Cloud Computing Anbieter verwenden möchte. Da der Katalog generisch nur die Fragen abbilden kann, die für alle Unternehmen gleichermaßen dieselbe Schnittmenge beinhalten, muss der Katalog von dem jeweiligen Unternehmen um die eigenen Fragen und Bedürfnisse, die wichtig sind, erweitert werden.

Der Anbieterauswahlkatalog dient als eine Orientierungshilfe, die Unternehmen nutzen können, um einen Anbieter anhand vordefinierter Kriterien auszuwählen. Auf Grund seiner Allgemeingültigkeit kann der Katalog nicht die jeweiligen speziellen Bedürfnisse eines Unternehmens abbilden, sondern nur die Kriterien als Prüfgegenstand nehmen, die für jedes Unternehmen gleichermaßen gelten. An der einen oder anderen Stelle wird der Katalog Lücken aufweisen, aber dennoch einen Gesamtüberblick zu den wichtigen Bereichen für die Auswahl eines Cloud Computing Anbieter geben.

Hintergrund

Kategorie/ Frage Ja Nein i.A. Bemerkung

Hintergrund – Reputation

Verfügt der Anbieter bereits über mehrere hunderte oder tausende Kunden?
Nimmt die Anzahl der Kunden stetig zu?
Verfügt der Anbieter bereits über mehrere Referenzprojekte?
Stehen bereits Anwendungsfälle (Use Cases) zur Verfügung?
Gibt es Aussagen/ Bewertungen von bestehenden Kunden?
Stehen auf der Webseite Informationen bzgl. des Top Managements zur Verfügung?
Wird über den Anbieter in traditioniellen Magazinen und Technology Blogs positiv berichtet?
Betreibt der Anbieter aktiv einen eigenen Blog und Social Media Seiten?

Hintergrund – Expertise

Hat der Anbieter Erfahrung mit dem Betrieb und der Verwaltung einer globalen, redundanten, hochverfügbaren und zuverlässigen Infrastruktur?
Verfügt der Anbieter über ausreichend Rechenzentrumskapazitäten?
Verfügt der Anbieter über eine unabhängige Zertifizierung?

Hintergrund – Finanzen

Kann ein positiver Rückschluss auf die Finanzstärke des Anbieters geschlossen werden?
Handelt es sich um ein börsennotiertes Unternehmen?
Wird der Anbieter ggf. über seriöse Investoren finanziert?
Konnte der Anbieter im vergangenen Geschäftsjahr einen Gewinn erzielen?

Hintergrund – Sonstiges

Kann das Angebot zunächst während einer Testphase kostenlos evaluiert werden?
Verfügt der Anbieter über eine physische Adresse sowie Kontaktdaten wie z.B. eine Telefonnummer?

Technologie

Kategorie/ Frage Ja Nein i.A. Bemerkung

Technologie – Standort

Werden die Daten und Anwendungen in mehreren geographisch voneinander getrennten Regionen gespeichert?
Ist mehr als ein Rechenzentrum vorhanden? Wenn ja, wie viele gibt es und in welchen Ländern stehen diese?
Stehen die Rechenzentren in einem durch eine Naturkatastrophe nicht bedrohtem Gebiet?

Technologie – Infrastruktur & Dimensionierung

Kann der Zugriff auf die Services und Daten von überall aus stattfinden?
Kann der Zugriff auf die genutzten Services und Daten beschränkt werden?
Stehen ausreichend Rechen- und Speicherkapazitäten zur Verfügung?
Können in einem kurzen Zeitraum weitere Kapazitäten hinzugefügt oder wieder entfernt werden?
Stehen Methoden zur dynamischen Erhöhung und Verringerung, zur Indizierung, Durchsuchung und Verarbeitung zur Verfügung?
Kann auf die Services des Anbieters mittels des Single Sign-On Verfahrens zugegriffen werden?
Wird die Speichertechnologie eingesetzt?
Wird die Virtualisierungstechnolgie eingesetzt?
Steht das Betriebssystem zur Verfügung?
Ist die konstante Stromversorgung der Rechenzentren sichergestellt?
Findet eine ordnungsgemäße Verwaltung der unterschiedlichen Typen von Anwendungen und Daten statt?
Stehen Methoden für das Klonen von virtuellen Servern innerhalb der Cloud Umgebung zur Verfügung?
Existieren Einschränkungen bzgl. der Größe des zu verwendenden Speicherplatzes?
Kann eine Remote Verbindung mit der Cloud hergestellt werden? Wenn ja, welche Verbindungen stehen zur Verfügung?
Stehen bereits fertige Betriebssystem-Templates für die Nutzung auf den virtuellen Servern zur Verfügung?

Technologie – Schnittstellen

Sind die Schnittstellen des Anbieters standardisiert?
Handelt es sich bei den Schnittstellen um offene Standards?
Existieren Schnittstellen für die Integration in die eigene, bestehende Infrastruktur?
Ist der Zugriff auf die API des Cloud Anbieters möglich?
Verursacht der Zugriff auf die API separate Kosten?

Technologie – Kompatibilität & Integration

Ist die Kompatibilität zu anderen Cloud Services garantiert?
Ist die Kompatibilität zur eigenen Infrastruktur gewährleistet?
Ist ggf. die Kompatibilität zu vorhanden Applikationen gewährleistet?
Können die benötigten Programmiersprachen selbst gewählt werden?
Kann die benötigte Anwendungsplattform selbst ausgewählt werden?
Stehen die bereits zuvor eingesetzten Betriebssysteme zur Verfügung?
Stehen die bereits zuvor eingesetzten Anwendungsumgebungen zur Verfügung?
Steht der bereits eingesetzte Technologiestack zur Verfügung?
Kann ggf. die eigene Architektur auf der Infrastruktur genutzt werden?
Stehen Mechanismen für die Automatisierung und die Orchestrierung zwischen der Cloud des Anbieters und der eigenen Infrastruktur zur Verfügung?
Kann eine Integration mit anderen Anwendungen oder Cloud Services stattfinden?
Wird die Integration mit anderen Systemen unterstützt?
Wird ggf. die Integration von älteren Anwendungen unterstützt?
Arbeitet der Anbieter mit Unternehmen zusammen, die sich auf die Integration von (Cloud)-Anwendungen spezialisiert haben?

Technologie – Service & Support

Stehen hinreichende Monitoringfunktionen zur Verfügung?
Stehen hinreichende Reportingfunktionen zur Verfügung?
Stellt der Anbieter Dokumentationen für die Nutzung der Infrastruktur bereit.
Hilft der Anbieter dabei, seine Infrastruktur zu verstehen und bestmöglich zu nutzen?
Verfügt der Anbieter über eine öffentliche und transparente Webseite, auf welcher der aktuelle Status der Services eingesehen werden kann?
Wird auf der Status-Webseite über mögliche Probleme und Ausfälle berichtet?
Steht eine Weboberfläche für die Verwaltung der Ressourcen zur Verfügung?

Technologie – Migration & Export

Werden offene Formate für den Datenaustausch verwendet?
Können die Daten ohne großen Aufwand exportiert und zu einem anderen Anbieter/ Service migriert werden?
Stehen Migrationspfade zu anderen Cloud Computing Anbietern zur Verfügung?
Können virtuelle Maschinen zwischen der Cloud des Anbieters und der eigenen Infrastruktur transferiert werden?
Können alle Daten aus der Cloud in einem für das Unternehmen lesbaren Format exportiert werden?
Können die Daten auf einem einfachen Weg exportiert und zu einem neuen Cloud Service migriert werden?
Können die Daten in einem offenen Format wie z.B. XML oder JSON exportiert werden?
Entstehen für den Export der Daten weitere Kosten?

Technologie – Backup & Disaster Recovery

Stehen Methoden zur Verfügung, mit denen ggf. Ausfallzeiten und Datenverluste innerhalb der Infrastruktur vorgebeugt werden können?
Stehen ausreichend Speicherplatzressourcen zur Verfügung, mit denen die Backup- und Disaster Recovery Strategien umgesetzt werden können?
Verfügt der Anbieter über ein Disaster Recovery und eine Business-Continuity Strategie?
Arbeitet der Anbieter mit einem spezialisierten Unternehmen für die Datenrettung zusammen?
Werden die Backup- und Disaster Recovery Strategien regelmäßig durchgeführt und einem Test unterzogen? Wenn ja, wie oft pro Jahr?
Wird regelmäßig ein Backup der Unternehmensdaten vorgenommen? Wenn ja, wie oft wird das Backup durchgeführt?
Werden die Daten auf zuverlässigen Datenträgern gespeichert?
Findet eine regelmäßige Defragmentierung der Daten statt?

Technologie – Expertise

Sind die Mitarbeiter entsprechend Ihrer Tätigkeiten geschult?
Verfügen die Mitarbeiter über die Zertifizierung?
Sind ausreichend personelle Ressourcen vorhanden?
Verfügt der Anbieter über strategische Partnerschaften zu seinen Technologieanbietern?

Technologie – Netzwerk

Erfüllt die Zuverlässigkeit des Anbieternetzwerks die eigenen Ansprüche?
Ist die globale Reichweite des Anbieternetzwerks ausreichend?
Können den eigenen Kunden ggf. weltweit und zuverlässig Inhalte bereitgestellt werden?
Verfügt der Anbieter über eine schnelle und stabile Internetanbindung?
Verfügt der Anbieter über Mechanismen, um die Latenzen auf Grund langer Netzwerkverbindungen zum Kunden zu minimieren?

Technologie – Sonstiges

Muss ggf. in die eigene Infrastruktur investiert werden, um den Cloud Service zu nutzen?
Stehen Zusatzleistungen zur Verfügung, die bspw. ein anderer Anbieter nicht leistet?

Vertrag

Kategorie/ Frage Ja Nein i.A. Bemerkung

Vertrag – Form & Gestaltung

Wird der Vertrag in schriftlicher Form geschlossen?
Wird der Vertrag online vereinbart?

Vertrag – Subunternehmer

Ist die Auslagerung von Bereichen an einen Subunternehmer vertraglich festgehalten?
Sind Regelungen vorhanden, die dem Subunternehmer, der möglicherweise zum Wettbewerb gehört, untersagen, Zugriff auf interne Unternehmensdaten zu erhalten?

Vertrag – Service Level Agreement

Stellt der Anbieter ein Service Level Agreement (SLA) zur Verfügung?
Handelt es sich dabei um ein Standard SLA?
Sind die SLAs ausreichend?
Sind die Leistungen in dem SLA hinreichend beschrieben?
Bietet das SLA eine garantierte Verfügbarkeit von %
Ist der Anbieter bereit das SLA nach den eigenen Wünschen anzupassen?
Wird beschrieben, wie der Anbieter die Einhaltung der SLAs sicherstellt?

Vertrag – Anpassungen

Sind die Methoden zur Änderung der Leistungen festgehalten?
Sind die Methoden zur Änderung der Qualitätsstandards festgehalten?
Müssen die Verträge neu verhandelt werden, wenn sich die eigenen Anforderungen ändern?

Vertrag – Insolvenz & Vertragsende

Sind die Kündigungsrechte des Vertrags ausreichend flexibel gestaltet, so dass jederzeit vom Vertrag zurückgetreten werden kann?
Ist die Rücknahme und der Export der Daten bei Vertragsende festgehalten?
Sind vertragliche Regelungen festgehalten, die im Falle einer Insolvenz des Anbieters über den Schutz und der Verfügbarkeit der Daten entscheiden?

Vertrag – Eigentumsregelung & Löschung

Ist das Eigentum sämtlicher Daten vertraglich geregelt?
Ist vertraglich geregelt und gewährleistet, dass die Daten durch den Anbieter immer dann tatsächlich gelöscht werden, wenn der Kunde dieses wünscht bzw. selbst vornimmt?
Ist vertraglich geregelt, dass die Daten nach Vertragsende gelöscht und Datenträger ggf. zurückgegeben werden?

Vertrag – Haftung

Wird in dem Vertrag beschrieben, ob und wie der Anbieter den finanziellen Verlust ausgleicht, wenn das Unternehmen durch eine Nichterreichbarkeit geschäftsunfähig ist?
Sind die Datenschutzbestimmungen vertraglich geregelt?
Sind die Regelungen bzgl. des Geschäftsgeheimnisses festgehalten?
Sind die Regelungen bzgl. des Bankgeheimnisses festgehalten?
Ist die Gewährleistung vertraglich detailliert festgehalten?
Ist die Haftung vertraglich detailliert festgehalten?
Ist die Haftung gegenüber anderen Nutzern auf derselben Infrastruktur so geregelt, dass der Anbieter für die Nichteinhaltung von Sicherheitsstandards haftbar ist?

Vertrag – Aufgabenverteilung

Sind die erforderlichen Rechte für die Überwachung im Vertrag festgehalten?
Sind die jeweiligen Verantwortungen im Vertrag festgehalten?
Sind die jeweiligen Zuständigkeiten im Vertrag festgehalten?
Sind die jeweiligen Schnittstellen im Vertrag festgehalten?
Ist vertraglich festgehalten, ob der Anbieter über einen Ausfall automatisch informiert?
Ist die Berichterstattung im Vertrag vereinbart?
Ist die Kontrolldichte im Vertrag vereinbart?
Sind die Möglichkeiten der Skalierung vertraglich festgehalten?

Vertrag – Sonstiges

Darf der Anbieter seiner Tätigkeit nachgehen?
Sind die Lizenzmodelle der eingesetzten Software für den Einsatz im Bereich des Cloud Computing gültig?
Verfügt das Unternehmen über andere Verträge, die der Nutzung des Cloud Computing im Wege stehen?

Abrechnung

Kategorie/ Frage Ja Nein i.A. Bemerkung

Abrechnung – Abrechnungsart

Erfolgt die Abrechnung der Services pauschal?
Erfolgt die Abrechnung der Services abhängig vom Verbrauch?
Erfolgt die Abrechnung der Services abhängig von ?

Abrechnung – Anpassung & Kompatibilität

Kann das Bezahlmodell (z.B. über eine Kreditkarte) durch das Unternehmen umgesetzt werden?
Ist das Bezahlmodell kompatibel zur Abrechnung der internen IT-Leistungen?
Können Mengenrabatte bzw. spezielle Tarife auf Basis der garantiert genutzten Services ausgehandelt werden?
Kann der Tarif ggf. bei der Änderung der Nutzung von Seiten des Kunden angepasst werden?

Abrechnung – Sonstiges

Stellt der Anbieter Methoden bereit, mit denen das Unternehmen vor der unkontrollierten Nutzung geschützt wird?
Entstehen für eine virtuelle Maschine und die von ihr genutzten Ressourcen auch dann Kosten, wenn diese nicht genutzt wird?
Entstehen für die Lizenzen von Betriebssystemen und Anwendungen, die auf den virtuellen Ressourcen genutzt werden, weitere Kosten?

Compliance

Kategorie/ Frage Ja Nein i.A. Bemerkung

Compliance – Allgemein

Wurde die Auslagerung von einem Wirtschaftsprüfer abgenommen?
Erfüllt der Anbieter die rechtlichen Regelungen und Bestimmungen?
Erfüllt der Anbieter die technischen Voraussetzungen für die rechtlichen Regelungen und Bestimmungen?
Entspricht die Datenhaltung den unternehmenseigenen Richtlinien zur Aufbewahrungen von Dokumenten?
Befindet sich der Rechtsstand im Ausland und ist das ggf. nicht mit den Unternehmensrichtlinien zu vereinbaren?
Erhält das Unternehmen auf Grund von gerichtlichen Anfragen und Beschlüssen unverzüglich Zugriff auf die in der Anfrage relevanten Daten?

Compliance – Zertifizierung

Ist der Anbieter nach SAS 70 Typ 1 zertifiziert?
Ist der Anbieter nach SAS 70 Typ 2 zertifiziert?
Ist der Anbieter nach SSAE-16 zertifiziert?
Ist der Anbieter nach ISO 27001 zertifiziert?
Ist der Anbieter PCI-Compliance zertifiziert?

Compliance – Datenschutz

Hält sich der Anbieter an die gesetzlichen Regelungen und des Datenschutzes und sind diese dokumentiert?
Kann der Anbieter nachweisen, dass er die Datenschutzrichtlinien einhält?
Werden die Daten ggf. in einem für das Unternehmen nicht zulässigen Land gespeichert?

Compliance – Transparenz

Darf eine Prüfung durch interne und externe Prüfer vorgenommen werden?
Haben Computer-Forensiker möglicherweise unautorisierten Zugriff auf Daten um diese zu rekonstruieren?
Gibt der Anbieter Auskunft darüber, wo die Daten und Anwendungen gespeichert und verarbeitet werden?
Nennt der Anbieter die Standorte wie das Land und die Region?
Gibt der Anbieter Auskunft darüber, wer Zugriff auf die Daten erhält?
Gibt der Anbieter ggf. Auskunft über seine Subunternehmer?
Legt der Anbieter transparent offen, welche Eingriffe er an den Daten der Kunden vornimmt?
Gibt der Anbieter regelmäßige Auskünfte über Veränderungen wie neue oder entfernte Funktionen sowie neue Subunternehmer?
Legt der Anbieter transparent offen, ob der Staat Zugriff auf die Daten erhält?

Governance

Kategorie/ Frage Ja Nein i.A. Bemerkung

Governance – Kompatibilität

Kann zwischen der Cloud des Anbieters und der Unternehmensinfrastruktur eine konsistente und einheitliche Verbindung hergestellt werden?
Kann mit der Nutzung der Cloud die Portabilität zu einer anderen Cloud sichergestellt werden?

Governance – Sicherheitsmaßnahmen

Sind die jeweiligen Schnittstellen gegen Angriffe oder Ausfälle geschützt?
Ist der Schutz vor internen Angreifern sichergestellt?
Wird die Vertraulichkeit der Daten sichergestellt?
Verfügt der Anbieter über Sicherheitsmanagement-Prozesse?

Governance – Audit

Ist es dem Kunden gestattet, Audits beim Anbieter vorzunehmen?
Stellt der Anbieter dem Kunden dazu ggf. entsprechende Schnittstellen zur Verfügung?
Kann der Anbieter aktuelle und unabhängige Auditberichte vorweisen?
Erhält der Kunde die Möglichkeit einen Penetrationstest beim Anbieter vorzunehmen?

Governance – Sonstiges

Werden die Daten physisch in einem für das Unternehmen konformen Land gespeichert?
Erhält der Kunde die Möglichkeit die SLAs zu überwachen, z.B. die Qualität der genutzen Services?

Datenschutz

Kategorie/ Frage Ja Nein i.A. Bemerkung

Datenschutz – Gesetzeskonformität

Handelt es sich um personenbezogene Daten?
Werden die personenbezogenen Daten außerhalb der EU bzw. des EWR verarbeitet?
Sind die Kunden über die Verarbeitung der Daten unter diesen Umständen informiert worden?
Verfügt der Anbieter über einen Datenschutzbeauftragten?
Kann der Anbieter nachweisen, dass seine Mitarbeiter über Datengeheimnis nach § 5 BDSG aufgeklärt wurden?
Kann der Anbieter nachweisen, dass er die Bestimmungen des BDSG einhält?
Verfügt der Anbieter über ein Konzept oder eine Dokumentation, in der er die Umsetzung der technischen und organisatorischen Maßnahmen bzgl. der Vergaben des Anhang zu § 9 BDSG nachweisen kann?
Existieren in den Ländern, von denen der Anbieter aus seine Services bereitstellt, bestimmte Gesetze, die mit den Unternehmensrichtlinien nicht vereinbart werden können?

Datenschutz – Audit

Erhält der Kunde oder eine durch den Kunden bevollmächtigte Personen beim Anbieter vor Ort das Recht Kontrollen vorzunehmen?
Unterzieht sich der Anbieter regelmäßigen Kontrollen, Audits und Zertifizierungen, durch die der Anbieter bzgl. des Datenschutzes überprüft und zertifiziert wird?

Datenschutz – Vertraulichkeit

Nimmt der Anbieter besondere Maßnahmen bei der Auswahl und der Einstellung seiner Mitarbeiter vor?
Werden die Daten vollständig von den Systemen entfernt, wenn diese von dem Kunden über den Web Service gelöscht werden?
Verwendet der Anbieter die Kundendaten, um damit das Unternehmen zu bewerben?
Wertet der Anbieter die Daten aus, um damit Werbung zu betreiben?
Verkauft der Anbieter seine Kundendaten sowie das Kundenverhalten an andere Unternehmen?
Gibt der Anbieter bspw. im Falle der Strafverfolgung den Behörden Zugriff auf die Kundendaten?

Sicherheit

Kategorie/ Frage Ja Nein i.A. Bemerkung

Sicherheit – Sicherheitsmanagement

Verfügt der Anbieter über ein IT-Sicherheitskonzept?
Verfügt der Anbieter über eine Identitätsverwaltung?
Verfügt der Anbieter über eine Zwei-Faktor-Authentisierung für seine Kunden?
Hat der Anbieter das Vier Augen Prinzip für schwierige Administrationsaufgaben implementiert?
Verfügen die Administratoren maximal nur über die Rechte, die sie für das Erledigen ihrer Aufgaben benötigen?
Verfügen die Kunden maximal nur über die Rechte, die sie für die Nutzung der Cloud benötigen?
Kann der Anbieter eine vollständige Überwachung, 24 Stunden am Tag und 7 Tage die Woche, seiner Cloud nachweisen?
Ist der Anbieter in die CERT Strukturen sowie sein nationales IT Krisenmanagement involviert?
Kann der Anbieter nachweisen, dass er interne Angriffe von Kunden auf andere Kunden erkennt?
Kann der Anbieter nachweisen, dass er die Erfassung und Auswertung von Logdaten vornimmt?
Verfügt der Anbieter über ein dauerhaft (24/7) erreichbares und funktionierendes Cloud Management sowie Troubleshooting?
Kann der Anbieter die Realisierung eines Notfallmanagements nachweisen?
Kann der Anbieter regelmäßige Übungen nachweisen?
Kann der Zugriff auf Daten und Funktionen für spezielle Bereiche auf Basis einer Rechteverwaltung gesteuert und kontrolliert werden?
Kann der Anbieter nachweisen, dass er feststellen kann, ob und wie eine Anwendungen angegriffen wurde?
Können im Falle eines Angriffs detaillierte Informationen schnellstmöglich an das Unternehmen überstellt werden?
Existiert eine bestimmte Aufbewahrungsfrist für die Daten?

Sicherheit – Transparenz

Legt der Anbieter offen, welche Lösungen eingesetzt werden, um seine Cloud zu schützen?
Wird das Löschen der nicht mehr benötigten Daten von dem Anbieter dokumentiert?
Werden die nicht mehr benötigten Daten ggf. mit speziellen Verfahren von den Festplatten entfernt?
Kann der Anbieter nachweisen, dass das Löschen von Daten von einem unabhängigen Unternehmen zertifiziert wird?

Sicherheit – Kommunikation

Wird der Kunde von dem Anbieter regelmäßig über den Status seines IT Sicherheitszustands informiert?
Nennt der Anbieter garantierte Reaktionszeiten, falls es zu einem Sicherheitsvorfall kommt?

Sicherheit – Zertifizierung

Kann der Anbieter auf Basis von Zertifizierungen den aktuellen Stand seines Sicherheitslevels nachweisen?
Verfügt der Anbieter über ein ISMS (Information Security Management System), z.B. ISO 27001 oder BSI-Standard 100-2 (IT-Grundschutz)?
Verfügt der Anbieter über ein definiertes Vorgehensmodell seiner IT-Prozesse, z.B. ITIL und COBIT?

Sicherheit – Audit

Nimmt der Anbieter eine regelmäßige, unabhängige Prüfung seines IT Sicherheitszustands vor?
Nimmt der Anbieter ständig umfassende Sicherheitstests an seiner Infrastruktur vor?
Nimmt der Anbieter ständig umfassende Sicherheitstests an der Infrastruktur seiner Subunternehmer vor?
Werden bei dem Anbieter ständig unabhängige Sicherheitsrevisionen vorgenommen?
Werden bei den Subunternehmen des Anbieters ständig unabhängige Sicherheitsrevisionen vorgenommen?

Sicherheit – Personal

Kann der Anbieter vertrauenswürdiges Personal nachweisen?
Verfügt der Anbieter über gut ausgebildete Mitarbeiter?
Erhalten die Mitarbeiter des Anbieters regelmäßige Schulungen?
Sind die Mitarbeiter des Anbieters bzgl. der Datensicherheit und des Datenschutzes sensibilisiert?
Wurden die Mitarbeiter hinsichtlich des Datenschutzes sowie der Einhaltung der Sicherheitsmaßnahmen und der vertraulichen Behandlung der Kundendaten verpflichtet?

Sicherheit – Technologie

Kann der Anbieter mit der Verschlüsselungsmethode angebunden werden?
Werden die Daten mit der Verschlüsselungsmethode beim Anbieter verschlüsselt?
Verfügt der Anbieter über eine ganzheitliche Sicherheitsarchitektur?
Kann der Anbieter die Rechenzentrumssicherheit nachweisen?
Kann der Anbieter die Netzsicherheit nachweisen?
Kann der Anbieter die Sicherheit der Host- und Servervirtualisierung nachweisen?
Kann der Anbieter die Anwendungs- und Plattformsicherheit nachweisen?
Kann der Anbieter ein Verschlüsselungs- und Schlüsselmanagement nachweisen?
Kann der Anbieter die strikte Trennung seiner Mandanten innerhalb der Cloud nachweisen?
Werden die Daten redundant gespeichert?
Kann der Anbieter sein Netzwerk in virtuelle LANs segmentieren?

Organisation

Kategorie/ Frage Ja Nein i.A. Bemerkung

Organisation – Service & Support

Wie oft wird ein Upgrade der Anwendungen durch den Anbieter vorgenommen?
Nehmen Upgrades direkten Einfluss auf die Nutzung der Anwendung?
Welchen Zeitraum nimmt ein Upgrade in Anspruch?
Stellt der Anbieter Möglichkeiten zur Verfügung, mit denen die Daten weiterhin bereitgestellt werden können, wenn der Anbieter insolvent sein sollte?
Stellt der Anbieter den Kunden Möglichkeiten zur Verfügung, das Nutzungsverhalten auf Basis von Auswertungen und Statistiken zu überprüfen?
Stellt der Anbieter die abgerechneten Leistungen in seinen Rechnungen transparent und nachvollziehbar dar?
Stellt der Anbieter Tutorials und weitere Hilfestellungen zur Verfügung, mit denen der Einstieg in die Nutzung der Services vereinfacht wird?

Organisation – Kommunikation

Informiert der Anbieter über geplante Wartungszeiträume?
Kann mit dem Anbieter in Bezug auf die Wartungen Kontakt aufgenommen werden, um weitere Informationen zu erhalten?
Stehen ausreichend Kontaktmöglichkeiten von Seiten des Anbieters bereit?
Verfügt der Anbieter über einen Kundenservice, der außer elektronisch auch telefonisch erreichbar ist?
Hat der Anbieter bestimmte Regelungen getroffen, die im Falle einer Eskalation notwendig werden?

Organisation – Mitarbeiter

Müssen die eigenen Mitarbeiter für die Nutzung geschult werden?
Muss der Help-Desk für die Nutzung geschult werden?

Organisation – Strukturen

Kann der Anbieter in das Anbieter Management der IT Organisation aufgenommen werden?
Können die genutzten Services wieder in das Unternehmen zurückgeholt werden?
Werden durch die Nutzung der Services des Anbieters ggf. Redundanzen aufgebaut?

Prozesse

Kategorie/ Frage Ja Nein i.A. Bemerkung

Prozesse – Individualisierung

Besteht die Möglichkeit der Individualisierung der Prozesse?
Würde sich die Nutzung der vom Anbieter vorgegebenen standardisierten Prozesse auf die Effizienz des Gesamtgeschäftsprozesses auswirken?
Hat der Kunde ein Mitspracherecht, wenn der Anbieter neue Softwareversionen bereitstellen will?
Gestattet der Anbieter seinem Kunden Zugriff auf die Anwendungen, um die Geschäftsprozesse auf die eigenen Bedürfnisse anzupassen?

Prozesse – Kommunikation

Existieren feste Eskalationswege auf der Seite des Anbieters?
Werden die Eskalationswege transparent kommuniziert?

Prozesse – Service & Support

Unterstützt der Anbieter bei der Durchführung eines Change Requests?
Unterstützt der Anbieter die bruchfreie Abbildung unterschiedlicher Prozesse über mehrere Anbieter hinweg?

Prozesse – Risikomanagement

Hat der Ausfall des bei dem Anbieter genutzten Service relevante und kritische Auswirkungen auf die Geschäftsprozesse bzw. den Gesamtgeschäftsprozess?
Stehen Alternativen zur Verfügung, falls der Prozess/ Service ausfallen sollte?

Finanzen

Kategorie/ Frage Ja Nein i.A. Bemerkung

Finanzen – Investitionen

Müssen mit dem Wechsel zu dem Anbieter weitere Investitionen vorgenommen werden?

Finanzen – Gebühren

Werden gesonderte Gebühren erhoben, wenn die Daten aus der Cloud des Anbieters exportiert werden?
Erhebt der Anbieter eine Einrichtungsgebühr?
Erhebt der Anbieter monatliche Mindestgebühren?

Sonstiges

Kategorie/ Frage Ja Nein i.A. Bemerkung

Sonstiges – Recht & Risiko

Ist das Unternehmen durch mögliche Schäden bei im Ausland ansässigen Anbietern versichert?
Existieren Fallback Szenarien für den Fall, dass der Anbieter ausfällt oder insolvent ist?
Existieren Fallback Szenarien für den Fall, dass es auf der Seite des Anbieters zu technischen Problem kommt?
Verfügt das Unternehmen über ein Risikomanagement um im Vorwege die möglichen Risiken abzuschätzen?
Ist das Unternehmen rechtlich in der Lage, seine Services für bestimmte Bereiche von einem Cloud Anbieter zu beziehen?

Sonstiges – Management

Muss evtl. der Betriebs- oder Personalrat informiert werden?
Ist die Unterstützung durch das Top-Management vorhanden?
Wurde Cloud Computing als enger Bestandteil in die IT-Strategie integriert?

Sonstiges – Infrastruktur

Verfügt das Unternehmen über eine schnelle und stabile Internetanbindung?
Sind die „Quality of Services“ der Internetanbindung ausreichend?
Muss das SLA der Internetverbindung angepasst werden?
Wurde eine Ende-zu-Ende Performanz Betrachtung vorgenommen und damit die Gesamtperformanz bestimmt?

* i.A. = in Arbeit


Bildquelle: http://themovingservices.com



Performance König Amazon? – AWS hängt Azure und Rackspace beim Datentransfer ab!

Sollen Daten aus dem Storage Service der Amazon Cloud zu Mittbewerbern wie Windows Azure und Rackspace übertragen werden, dauert dieser Vorgang 10 mal länger als der Transfer von Azure und Rackspace in die Amazon Cloud, das ergaben Testergebnisse des Speicherhersteller Nasuni.

Performance König Amazon?

Nasuni führte dazu fünf Testreihen durch, bei der in jedem Fall 12TB an Daten zwischen zwei Cloud Services übertragen wurden. Die Ergebnisse zeigen, dass die Datenübertragung von Amazon S3 zu Azure oder Rackspace deutlich mehr Zeit in Anspruch nimmt, als die Übertragung der Daten vom Mittbewerb in die Amazon Cloud. So dauert bspw. der Transfer von 12TB Daten von Amazon zu Azure 40 Stunden, wohingegen dieselbe Datenmenge von Azure zu Amazon nur 4 Stunden benötigt.

Der Transfer von Rackspace in Richtung Amazon benötigte 5 Stunden. Die Übertragung von Amazon zu Rackspace hingegen fast eine Woche. Der Transfer zwischen zwei Amazon Buckets dauerte 4 Stunden. Die Tests beschränkten sich dabei nur auf den Transfer zwischen Public Cloud Anbietern und nicht zwischen dem Rechenzentrum eines Nutzers und einem der genannten Cloud Services bzw. dem Rücktransfer von einem Public Cloud Anbieter in das eigene Rechenzentrum.

Die Testergebnisse variieren zudem von der Tageszeit und der Anzahl der für den Datentransfer eingesetzten Rechner. Dennoch zeigen die Ergebnisse den kleinsten zeitlichen Horizont, den es benötigt, um 12TB zu transferieren.

Im Folgenden sind die Ergebnisse zu finden, die zeigen, wie lange es benötigt 12TB an Daten zwischen den einzelnen Cloud Anbietern zu übertragen.

  • Amazon S3 zu Amazon S3 “Bucket”: 4 Stunden
  • Amazon S3 zu Windows Azure: 40 Stunden
  • Amazon S3 zu Rackspace: Knapp eine Woche
  • Microsoft Windows Azure zu Amazon S3: 4 Stunden
  • Rackspace zu Amazon S3: 5 Stunden

Ergebnisse des Cloud Storage Performance Tests.

Ergebnisse des Cloud Storage Performance Tests.

Nasuni kommt zu dem Ergebnis, dass die Hauptprobleme derzeit bei den Schreibvorgängen, also dem Speichern der Daten, in der Cloud liegen. Alle Datenübertragungen Richtung Amazon S3 betrugen zwischen 4 und 5 Stunden, wohingegen das Schreiben Microsoft Windows Azure und Rackspace erheblich länger dauerte.

Gründe für die langsame Amazon-zu-Azure Migration sieht Nasuni darin begründet, dass die Tests das Daten-Limit von Windows Azure erreicht haben könnten. Woran es genau liegt, darauf hat Nasuni keine Antwort. Es könnte an langsamen eingehenden Netzwerkverbindungen aber auch an einer technologischen Beschränkung liegen.

Aussagen von Microsoft bzgl. der Performance Unterschiede gibt es laut Nasuni bisher nicht. Jedoch bemerkte Nasuni bei Amazon S3 keine Performance Einschränkungen und führt die Leistungen auf die Architektur oder Bandbreite von Azure zurück.

Während der Migration von Amazon zu Rackspace bemerkte Nasuni ebenfalls eine schwache eingehende Datentransferrate und zieht hier Rückschlüsse auf eine schlechte Performance bei anderen OpenStack basierten Clouds, da auch Rackspace den Open Source Cloud Stack einsetzt und das Projekt massiv unterstützt.


Bildquelle: http://wikimedia.org, http://blogspot.com/



Kriterien zur Auswahl eines Cloud Computing Anbieters

Cloud Computing Anbieter haben mit ihren Angeboten und Eigenschaften den größten Einfluss auf Unternehmen und deren Informationstechnologie. Dabei müssen sich Unternehmen der Herausforderung stellen, den für Ihre Bedürfnisse idealen Anbieter zu identifizieren. Das stellte Unternehmen bereits in der Vorzeit des Cloud Computing vor Probleme, jedoch hat sich die Situation durch die hohe Standardisierung auf Seiten der Anbieter verschärft.

In der Regel müssen sich Unternehmen für das entscheiden, was der Anbieter im Portfolio hat ohne Einfluss darauf zu haben und Anpassungen vornehmen zu können. Hinzu kommt, dass neben dem Angebot und dem Preis ebenfalls die SLAs, Governance, Compliance usw. bei der Auswahl berücksichtigt werden müssen. Schließlich hat sich der Einflussbereich des Unternehmens minimiert und das Vertrauen in den Cloud Computing Anbieter steht auf dem Spiel.

Die eigenen Bedürfnisse sind ausschlaggebend

Unternehmen stehen damit vor der Herausforderung den oder die Anbieter zu selektieren, der bzw. die ihre Ansprüche bzgl. der Integration der vorhandenen Systeme, der Abbildung der Geschäftsprozesse usw. bestmöglich unterstützen und des Weiteren über eine hohe Vertrauensbasis verfügen.

Eine Bewertung und Auswahl vorzunehmen ist nicht trivial. Zudem existieren dafür keine geeigneten Frameworks und es ist ebenso schwierig so ein allgemeingültiges Framework zu erstellen. Das ist der Individualität und den Anforderungen eines jeden einzelnen Unternehmens geschuldet. Jedoch kann ein Unternehmen bei der richtungsweisenden Bewertung und Auswahl unterstützt werden.

Grundsätzlicher Auswahlprozess

Auf Grund einer Vielzahl von Angeboten, die unterschiedliche Services, Kosten, Support etc. mit sich bringen, benötigen Unternehmen eine klare Strategie und starke Auswahlkriterien um Cloud Computing bestmöglich für sich zu nutzen.

Während Kosten, Skalierbarkeit, Fachwissen und die operative Stabilität offensichtliche Kriterien sind, gibt es weitere wichtige Faktoren, die bei der Auswahl eines Cloud Computing Anbieters notwendig sind.

Eigene Anforderungen definieren

Ein Unternehmen muss sich zunächst über sich selbst im Klaren sein. Das heißt, es muss seine Unternehmensstrategie, seine Unternehmensziele sowie seine Kernprozesse und Funktionen kennen. Zudem muss es klar definieren, was es sich von der Nutzung der Cloud verspricht. Geht es eher darum, die Möglichkeiten der internen IT zu erweitern oder sollen die nicht strategisch wichtigen Unternehmensanwendungen in die Cloud migriert und dort betrieben werden?

Sobald das Unternehmen eine klare Vorstellung von seinen Anforderungen hat, gilt es einen geeigneten Partner zu finden, der bei der Ausführung hilft. Dabei sollte beachtet werden, dass ein Anbieter, der den aktuellen Bedürfnissen gerecht wird, möglicherweise bei einer Änderungen der Strategie nicht mehr die gewünschten Anforderungen erfüllen kann. Die eigene Strategie sollte daher nicht als ein statischer Plan behandelt werden und eine gewisse Flexibilität beinhalten. Denn die Geschäftsanforderungen ändern sich in der heutigen Zeit deutlich schneller und auch neue unvorhergesehene Cloud-Technologien werden auf dem Markt erscheinen, die dabei helfen werden das Unternehmen strategisch neu auszurichten. Daher ist es notwendig, die Cloud Strategie als auch den Cloud Computing Anbieter regelmäßig zu überprüfen.

Auswahl des Cloud Computing Anbieters

Jedes Angebot im Cloud Computing ist einzigartig. Sei es ein Infrastructure-as-a-Service, Platform-as-a-Service, Software-as-a-Service, Security Service oder ein Service zur Abbildung eines Geschäftsprozesses. Hinzu kommt, dass sich auch die Anforderungen eines Unternehmens an einen Services mit den Angeboten in der Cloud unterscheiden. Das betrifft in erster Linie den eigentlichen Nutzen für das Unternehmen bis hin zur technologischen Anbindung. Die erste Frage, die einem Cloud Computing Anbieter also grundsätzlich gestellt werden muss, ist, ob er genau den Cloud Service anbieten kann, der von dem Unternehmen benötigt wird. Sollte diese Frage mit ja beantwortet werden, gilt es anschließend den Anbieter genauer zu untersuchen. Verfügt er über langjährige Erfahrungen, hat er ein aussagekräftiges Kundenportfolio, passt der Anbieter ethisch zu dem Unternehmen. Bspw. wäre es für ein Unternehmen, das sich in vielen Bereichen für den Umweltschutz einsetzt, unvorstellbar einen Cloud Computing Anbieter zu wählen, der nicht über eine Green IT Policy verfügt.

Im Verlauf der Prüfung werden dann die detaillierten Anforderungen des Unternehmens untersucht und mit den Angeboten des Cloud Computing Anbieters verglichen. Dazu sollten während der Anforderungsanalyse Attribute definiert werden, die der Cloud Service bzw. die Anwendungen erfüllen müssen und je nach Gewichtung für oder gegen die Wahl des Cloud Computing Anbieters sprechen.

Beurteilung der allgemeinen Sicherheit

Eine der größten Sorgen ist die Datensicherheit in der Cloud und die Funktionsfähigkeit der Infrastruktur für den geschäftskritischen Betrieb. Die Systeme und Daten müssen sich daher in sicheren Händen befinden und das gilt es sicherzustellen. Bei der Auswahl des Cloud Anbieters muss daher zunächst eine Bestandsaufnahme der eigenen Sicherheitsanforderungen gemacht und die Probleme erörtert werden, die es zu bewältigen gilt. Dazu gehören z.B. der Datentransfer, die Speicherung, die Zutrittskontrolle, und Netzwerksicherheit. Im Anschluss muss bestimmt werden, ob der Anbieter über die Sicherheit und Compliance Technologien und Mechanismen verfügt, um diese Bedürfnisse zu erfüllen.

Hier sollte der Anbieter u.a. gefragt werden, wie die Sicherheitsmechnismen funktionieren, um den Schutz der Daten während des Transports und beim Speichern zu gewährleisten oder ob die virtualisierte Infrastruktur wirklich sicher ist. Weiterhin ist es notwendig zu wissen, ob der Anbieter über die entsprechenden Technologien und Prozesse wie Verschlüsselung und Entschlüsselung, Disaster Recovery, Zugangsbeschränkungen, Intrusion Protection/ Prevention und Firewall-Dienste verfügt.

Fragen stellen alleine reicht allerdings nicht. Um den Anbieter wirklich kennenzulernen müssen die Sicherheitdokumentationen und Zertifizierungen eingehend überprüft werden. Auch ein Besuch vor Ort sollte in Betracht gezogen werden, um zu sehen und zu verstehen, was sich hinter der Cloud des Anbieters verbirgt.

Zuletzt sollte immer das Worst-Case-Szenario in die Bewertung des Sicherheitsniveaus des Anbieters einfließen. Denn auch wenn das undenkbare niemals eintreten wird, sollte der Anbieter seine Kunden davor bestmöglich schützen können.

Bewertung des Service und Supports

Da es sich beim Cloud Computing um ein serviceorientiertes Model handelt, sollte sich ein Unternehmen für einen Anbieter entscheiden, der Vertrauen ausstrahlt, über eine ausgezeichnete Infrastruktur verfügt und messbare Ergebnisse nachweisen kann. Zudem sollte der Anbieter über eine hohe Reaktionsfähigkeit (schnelle Reaktion auf betriebliche Probleme) und einen guten proaktiven Support (z.B. Kundenbetreuung, vorbeugende Instandhaltung, Erhöhung der Ressoucen in einem Shared Umfeld etc.) verfügen.
Zwar sind maßgeschneiderte Verträge im Bereich des Cloud Computing nicht üblich, dennoch sollte der Anbieter bereit sein, unternehmensgerechte Service Level Agreements (SLAs) zu definieren. Darin enthalten sein sollten bspw. Performance, Verfügbarkeit, Bereitstellungszeit und ein Problemlösungszeitraum. Dazu gehören wiederum formale Eskalationsrichtlinien und definierte Sanktionen. Weiterhin könnte es interessant und notwendig sein, zu überprüfen, wie die bisherige Erfolgsbilanz bzgl. der Einhaltung der SLAs durch den Anbieter aussieht.

Die Suche nach einem flexiblen Anbieter

Das Interesse am Cloud Computing nimmt immer stärker zu. Jedoch ist kein Unternehmen bereit, seine Systeme vollständig in die Cloud zu verlagern. Daher planen die meisten Unternehmen mit dem Aufbau eines hybriden IT-Ökosystems. Also einer Hybrid Cloud, bei der die Ressourcen im eigene Rechenzentrum (ggf. Private Cloud) mit Ressourcen aus einer externen Cloud Infrastruktur (Public Cloud) kombiniert werden.

Unternehmen sollten hierbei darauf achten, dass der Anbieter in der Lage ist, hybride Umgebungen nahtlos zu integrieren und diese ebenfalls sorgfältig zu verwalten. So kann ein Unternehmen bei Bedarf die benötigten Cloud Services von dem Anbieter beziehen und damit seine internen IT Ressourcen und Möglichkeiten erweitern.

Verstehen des Abrechnungsmodells

Die nutzungsabhängige Abrechnung ist eine der attraktivsten Eigenschaften des Cloud Computing. Unternehmen erhalten dadurch die Möglichkeit, auf hohe Investitionen zu verzichten, indem die Kosten für die Beschaffung von Hard- und Software minimiert werden und wodurch sie ein vorhersehbares Betriebskostenmodell aufbauen können.

Dennoch sollten sich Unternehmen bewusst machen, dass jeder Anbieter seine eigene Art und Weise der Preisgestaltung für seine Services hat. Während einige bspw. eine Instanz pro Stunde oder pro Monat abrechnen, berechnen andere auf Basis der genutzten Ressourcen. Einige Anbieter erwarten z.B. eine Vorauszahlung für einen bestimmten Basis Service und in einigen Fällen muss für die Kundenbetreuung möglicherweise eine zusätzliche Gebühr bezahlt werden. Unternehmen müssen daher das Abrechnungsmodell des Anbieters verstehen, um spätere Überraschungen zu vermeiden und ggf. einen kundenspezifischen Preis auszuhandeln.

Auf in die Cloud

Um sicherzustellen, dass exakt die Cloud Services erworben werden, die ein Unternehmen auch wirklich benötigt, muss der Auswahlprozess klar definiert und sorgfältig vorgenommen werden. Dazu gilt es genau zu wissen, wie die Kriterien für die Nutzung von Cloud Computing heute aussehen und wie sie in Zukunft aussehen könnten bzw. sollen.


Bildquelle: http://www.wirtschaftsforum.de



Die Herausforderungen des Cloud Computing: Verträge der Cloud Anbieter

Mit der Adaption von Cloud Computing Technologien und Services stehen Unternehmen Herausforderungen gegenüber, die es zu bewältigen gilt. Zum einen müssen organisatorische Voraussetzungen geschaffen und Aufklärungsarbeit innerhalb des Unternehmens geleistet werden, um die Akzeptanz und das Verständnis zu stärken. Zum anderen treffen aber auch viele “Widerstände” von außen auf das Unternehmen. Das sind neben Fragen bzgl. der Sicherheit und des Datenschutz ebenfalls Themen zur Verfügbarkeit und Performanz des ausgewählten Cloud Service sowie dessen Integrationsfähigkeit in die bereits bestehende IT-Infrastruktur und die nahtlose Unterstützung der vorhandenen Geschäftsprozesse. Und wie auch schon aus den klassischen Sourcingmöglichkeiten bekannt, besteht auch im Cloud Computing die Angst, in die Abhängigkeit eines einzigen Anbieters zu verfallen. So müssen auch hier die Interoperabilität und die Schnittstellen des Anbieters sowie ein Vergleich zu anderen Anbieteren vorgenommen werden.

Ist die Entscheidung für die Nutzung des Cloud Computing gefallen, ist es für Unternehmen zunächst an der Zeit, eine Ist-Analyse der bestehenden IT-Infrastruktur und Systeme vorzunehmen, um auf Basis dieser zu planen, welche Cloud Services adaptiert werden sollen. Hier kann bspw. eine Kosten-/ Nutzen-Analyse weiterhelfen, bei der auch eine Risikobewertung nicht fehlen sollte. Um erste Erfahrungen auf dem Cloud Computing Gebiet zu sammeln, sollte ein Pilotprojekt initiiert werden, welches auf Grund des Cloud Computing Konzepts schnell und kostengünstig gestartet werden kann. Dieses sollte einem Gesamtverantwortlichen “Cloud” untergeordnert sein, der als zentrale Stelle innerhalb der Organisation für die Adaption und Beratung der einzelnen Abteilungen für dieses Thema zuständig ist. Mit den gesammelten Erfahrungen können dann weitere Projekte gestartet werden und die Adaption unterschiedlicher Cloud Services sukzessive vorgenommen werden.

Verträge der Cloud Anbieter

Bevor ein Unternehmen einen Vertrag mit einem Cloud Anbieter eingeht, sollte es sich vorab intensiv mit dem Auswahlprozess und den Inhalten des Vertrags beschäftigen, um zu erkennen, welche Bedingungen im Vertrag auf jedenfall enthalten sein müssen.

Nach Frank Ridder sind die Standardverträge auf Grund der Compliance- und Datenschutz-Anforderungen der Cloud Anbieter ohne Anpassungen für Unternehmen so nicht annehmbar. Weiterhin fehlen “[...] Regelungen bezüglich der zukünftigen Entwicklung der Preise und Qualität der Dienste [...]”. Zudem behalten sich viele Cloud Anbieter vor, “[...] die Bedingungen des Vertrages nach Abschluss im Ganzen oder teilweise zu ändern.” Ein Schutz vor steigenden Preisen ist ebenso wenig enthalten, wie “Eine Garantie, dass der Service in Zukunft verbessert werde oder zumindest auf dem gleichen Niveau bleibt [...]”.

Ridder rät daher, “[...] mit den Providern zusätzliche Vertragsklauseln auszuhandeln, die vor Zusatzkosten oder steigenden Preisen schützen [...]”. Zudem müssen insbesondere Unternehmen mit hohen Sicherheitsanforderungen unbedingt nachverhandeln. Dadurch kann sich der Preis aber auch das eigene Risiko erhöhen. Aus diesem Grund muss das Unternehmen bereits vor dem Weg in die Cloud eine detaillierte Risiko-Analyse vornehmen und diese während den gesamten Vertragsverhandlungen und der Vertragslaufzeit fortführen.


Bildquelle: http://imageshack.us



Cloud Computing – Die Herausforderung für etablierte Unternehmen

Cloud Computing hat sich vom technischen Experiment schon lange weg entwickelt und findet in den Chefetagen viel Beachtung, weil die betriebswirtschaftlichen Auswirkungen einer On-Demand Umgebung verlockend sind. Das erklärt auch die Bemühungen etablierter Unternehmen, die Prozesse so auszurichten, dass man geschäftlich von den unterschiedlichen Ansätzen des Cloud Computing profitieren kann.
von Chris Boos

Das Interesse für Cloud Computing auf den Führungsebenen hat auf der anderen Seite die Wirkung, dass jeder IT Hersteller seine Produkte in „Cloud“ umbenennt – leider meist ohne tatsächlich die Skalierbarkeit oder On-Demand Anforderungen konzeptionell umzusetzen. Eines ist klar: Jeder, der heute IT im Hause hat, ist vom Cloud Virus befallen und jeder der IT anbietet, will auf den Zug aufspringen. Dieser Beitrag erläutert realistisch, warum Cloud Computing neuen Unternehmen einen erheblichen Marktvorteil verschafft, warum der Weg in die Cloud für etablierte Unternehmen ein steiniger ist und warum das Thema Migration – auch wenn in den enthusiastischen Cloud Diskussionen nicht oft angesprochen – der entscheidende Faktor für nachhaltigen Erfolg für etablierte Unternehmen sein kann.

Der geschäftliche Nutzen von Cloud ist offensichtlich

Egal welche Cloud Philosophie man verfolgt oder über welche der Cloud Ansätze man liest. Das Ziel ist es, immer IT Services so anzubieten, dass diese nach Bedarf verfügbar gemacht werden und dementsprechend auch nach Bedarf bezahlt werden. Die verschiedenen Cloud Ansätze (z. B. IaaS, SaaS, PaaS, etc.) unterscheiden sich dabei lediglich von der Fertigungstiefe, in der dieses Modell angewandt wird. Bei Iaas (Infrastructure as a Service) ist die geringste Fertigungstiefe, weil man tatsächlich bisher physische Hardware durch dynamisch buchbare virtuelle Hardware ersetzt. Bei SaaS (Software as a Service) ersetzt man komplexe individuelle Entwicklungen durch standardisierte Anwendungen von deren Entwicklung und Pflege ein ganzer Kreis an Benutzern profitiert und bei PaaS (Plattform as a Service) reduziert man die Fertigungstiefe sogar auf das Niveau der Geschäftsprozessunterstützung. Gemeinsam haben diese Ansätze alle, dass man eine Überinvestition in grundlegende IT Ressourcen oder Entwicklungen verhindern will und stattdessen lieber die notwendigen Ressourcen genau dann einkauft, wenn diese gebraucht werden.

Das mag sich nach einem technologisch verspielten Ziel anhören, allerdings sollte man sich aber folgendes vor Augen führen: Auf Seiten der Infrastruktur nutzen die meisten etablierten Unternehmen durchschnittlich unter 1 0% und im Maximum nicht einmal 20% ihrer vorhandenen IT Ressourcen. Folglich wären zwischen 80% und 90% aller Anschaffungen in diesem Bereich vollkommen unnötig. Hierin sieht man den enormen betriebswirtschaftlichen Hebel, der sich hinter dem Thema Cloud Computing versteckt. Genau aus diesem Grund ist der zynischen Aussage, dass Cloud Computing die Ankunft der aller ersten IT Konzepte in der Finanzabteilung sei (bereits die Hosts in den 70 Jahren arbeiteten mit Virtualisierung), einiges abzugewinnen.

Formuliert man die Ergebnisse der Nutzung von Cloud Computing im vorgesehenen Sinne – und die Geschäftsmodelle der meisten Anbieter bilden diesen noch nicht zu 100% ab – kurz, bedeutet Cloud Computing eine Reduktion der notwendigen Investitionen in IT Assets um mindestens 80%.

Es ist also offensichtlich: Wer einem solch gravierenden Vorteil nicht folgen kann, der kann künftig unmöglich eine nachhaltig erfolgreiche Marktposition besetzen.

Für die Jugend ist der Himmel näher

Es überrascht nicht, dass junge Unternehmen (Startups) es leichter haben, von solchen neuen Konzepten zu profitieren. Und dazu muss man gar nicht die Psychologie bemühen, die besagt, dass Menschen sich nur unter Druck aus der Komfortzone bewegen und etablierte Verfahren ändern. Ein junges Unternehmen kann schlicht und einfach die Entscheidung treffen, wie es sich im Bezug auf IT Architektur, Datenhaltung, Softwarenutzung, Fertigungstiefe in der IT etc. aufstellen will und diese Entscheidungen einfach umsetzen. In einem etablierten Unternehmen kann die Entscheidung über das Ziel genauso schnell und einfach getroffen werden – auch wenn hier die Prozesse um eine Entscheidung zu finden alleine meist schon ungleich länger sind – aber die Umsetzung dieser Entscheidung ist ungleich komplizierter. Diese Komplexität rührt daher, dass man nicht einfach auf der grünen Wiese anfängt und IT so entwirft, wie man sie haben will. Es bestehen vielmehr etablierte IT Prozesse, die das Unternehmen auch jeden Tag zum Arbeiten braucht und diese sehr stark untereinander vernetzt sind. Will man nur für einen kleinen Teil dieser Landschaft Cloud Computing Prinzipien anwenden, hat das nicht nur Auswirkungen auf die betreffenden Dienste. Da bei einem Umzug diese anderen Diensten nicht mehr zur Verfügung stehen und ggf. keine Kompetenz im Betrieb oder in der fachlichen Nutzung vorliegt, kann das schnell Auswirkungen auf die gesamte IT des Unternehmens haben. Gerade durch den Vernetzungsgrad, den wir nicht nur dramatisch erhöht haben, sondern dessen Stabilität auch erheblich gesteigert wurde, wird die Einführung von Cloud Computing in etablierten, IT-fokussierten Unternehmen zu einer ungeheuren Herausforderung.

Von der technischen Herausforderung zum Existenzkampf

Die bisherige Ausführung beschreibt das Problem, in einer etablierten Umgebung eine notwendige Veränderung durchzuführen. Die Schwierigkeiten, die entstehen, wenn man diese Veränderung nicht ausführt, sollten aber noch plastischer sein: Angenommen ein großes deutsches Unternehmen hat ca. 5000 Anwendungen und ein Budget von 800 Mio. € p.a. in der IT und hat errechnet, dass allein durch die Nutzung einer Hybrid Cloud auf Infrastrukturebene ca. 1 00 Mio € p.a. für nicht benötigte Hardwareanschaffungen, nicht benötigte Lizenzen und nicht verbrauchte Energie eingespart werden können. Man entscheidet sich also dafür, unbedingt „dieses Cloud Zeug“ zu machen. Und stellt dann fest, dass man dazu alle 5000 Anwendungen - zumindest im Sinne der Infrastruktur auf der diese laufen - zumindest umziehen und in einigen Fällen sogar anpassen muss.

Jeder der schon einmal eine Migration zu einem Outsourcinganbieter mitgemacht hat, weiß was das bedeutet – sehr viel Arbeit und quasi Stillstand in der IT.

Untersucht man den notwendigen Migrationsaufwand – nur in Zeit – und stellt fest, dass eine Anwendung ca. 3 Monate Migrationszeit hat. Bei 5000 Anwendungen sind das 1500 Monate. Kann man 100 Projekte gleichzeitig durchführen – und das ist schon recht enthusiastisch – bleiben 150 Monate oder 12,5 Jahre. Die Idee in einem großen Unternehmen die IT für 12 Jahre lahmzulegen, dürfte im besten Falle mit einem milden Lächeln und im schlimmsten Falle mit dem Rauswurf des Architekten enden, der diese realistischen Schätzungen auf den Tisch legt. Und selbst wenn ein weit blickender Vorstand sich auf eine solche Migration einlassen würde, hat das Jungunternehmen, das dem Platzhirsch den Rang ablaufen will, 12 Jahre Zeit. 12 Jahre in denen der Platzhirsch wegen der Migration wenig IT Innovation erbringen wird und 12 Jahre in denen der Platzhirsch jedes Jahr 100 Mio. € ausgibt, die beim Jungunternehmen niemals als Kosten anfallen können.

Den gordischen Knoten der Migration durchschlagen

Es muss also eine Lösung für das Problem der Migration gefunden werden. Aber an diesem Problem arbeiten sehr viele Outsourcing-Anbieter und deren Kunden schon viele Jahre, denn ohne die aufwändigen Migrationen, wären die meisten Outsourcing-Projekte wesentlich profitabler und die Kunden wesentlich glücklicher, weil sie nicht mehr das Gefühl hätten, bei einem Dienstleister gefangen zu sein. Es erscheint also nicht realistisch, dass man eine Möglichkeit finden kann, mit der eine Migration wie oben beschrieben einfach in einem Monat erledigt ist. Man muss also nach einer Lösung suchen, die einerseits die Migrationszeit verkürzt und andererseits einen zusätzlichen Vorteil aus der durchgeführten Migration zieht.

Wenn man eine etablierte IT Landschaft besitzt und es gut finanzierte Jungunternehmen gibt, die in den eigenen Markt eindringen wollen, erscheint das Unterfangen nachhaltig im Markt bestehen zu wollen, vielleicht hoffnungslos. Dies wird jedoch zu einer machbaren Herausforderung, wenn man das Problem der Migration hinreichend lösen könnte. Glücklicher Weise reagieren Unternehmen auf derartige Herausforderungen besser als die Politik dies meistens tut und packen sie tatsächlich an.

Wissen und seine Anwendung sind die Lösung

Den Vorteil, den etablierte Unternehmen immer haben, ist das Wissen, das sie bei ihrer bisherigen Tätigkeit angehäuft haben. Wenn man es schafft, dass dieses Wissen eingesetzt wird, um Innovationen schneller nutzbar zu machen, so kann ein etabliertes Unternehmen immer einen gehörigen Vorteil gegenüber einem neuen Marktteilnehmer erwirtschaften.

Aber was haben diese philosophischen Gedanken mit dem Thema IT Migration zu tun? Bei einer Migration wird gewöhnlicher Weise das gesamte Wissen über die zu migrierende Anwendung, ihren geschäftlichen Nutzen, ihre Abhängigkeiten zu anderen Anwendungen, ihre Infrastruktur aufgearbeitet, übergeben und dafür genutzt, die Anwendung in einer neuen Umgebung wieder zum Laufen zu bekommen.

Schon einmal klar, warum Migrationen etwas mit Wissen zu tun haben. Die Frage, wie diese Erkenntnis die Migrationszeit reduzieren kann und gleichzeitig einen weiteren Vorteil für das folgende Geschäft etablieren kann, ist aber noch nicht beantwortet. Dazu muss man sich den typischen Business Case eines Outsourcingdeals ansehen: Bei diesem wird davon ausgegangen, dass wenn man einmal die zu übernehmenden Applikationen verstanden hat, eine bessere Cost-Income-Ratio dadurch erzielt werden kann, weil Teile dieses Wissens bereits verfügbar sind. Dadurch kann man damit nicht nur die Skaleneffekte verbessern, sondern da sich aus der Kombination des bestehenden und neuen Wissens neue Leistungen ergeben, den Marktauftritt verbessern. Nur bei einer Migration der gesamten IT, wie es für Cloud Computing notwendig ist, geht diese dauerhafte Verbesserung der Kosten nicht auf, weil schlicht und einfach der Markt fehlt, der die Umsetzung der Kostenverbesserung in zusätzliche Marge oder weitere Projekte ermöglicht. Umgekehrt kann man das bei einer Migration anfallende Wissen anwenden, um andere Teile der Migration zu automatisieren und damit Migrationszeiten zu verkürzen. Außerdem kann man dieses Wissen dann gleichzeitig auf den Betrieb der migrierten Umgebung anwenden.

Dadurch senken sich die Migrationskosten nicht nur um den „Cloud Faktor“, sondern auch noch um den Wissensfaktor: Mit der richtigen Methode, die zur Automation pures Wissen nutzt und dieses Wissen damit skalierbar macht, kann man den eigentlichen Overhead der Migration – den Transfer von Wissen – in einen dauerhaften Vorteil verwandeln.

Das Schlüsselwort für den Weg etablierter Unternehmen in die Cloud ist also Automation. Damit ist aber nicht Automation gemeint, wie sie schon seit 4 Jahren in der IT angewendet wird, sondern Automation, die Wissen aufnimmt und dieses dynamisch auf neue Umgebungen und Situationen anwendet, so dass die Automation nicht die Standardisierung erzwingt – die in sich wieder aufwändig ist – sondern die Weiterentwicklung und Innovation unterstützt.


Bildquelle: http://worldphotocollections.blogspot.com



Hintergrund und erste Schritte mit dem SQL Azure Sync Service

SQL Azure stellt ein echtes relationales Datenbankmanagementsystem als Cloud Service bereit. Enthalten sind ein Subset der Datenbank-Engine aus SQL Server, die SQL Azure Reporting Services sowie der SQL Azure Sync Service.

von Holger Sirtl

Abbildung 1: SQL Azure

Der SQL Azure Sync Service erlaubt es, eine lokale Datenbank mit einer SQL Azure Datenbank zu synchronisieren. D.h. Änderungen, die in einer der beiden beteiligten Datenbanken vorgenommen werden, können bei Bedarf in die jeweils andere Datenbank übertragen werden. Damit wird es sehr einfach möglich, Offline-Szenarien zu realisieren, in denen beim Aus-fall der Internet-Verbindung mit einer lokalen Datenbank weitergearbeitet werden kann. Änderungen, die in dieser Zeit lokal vorgenommen werden, können dann sehr leicht nach SQL Azure übertragen werden, wenn die Verbindung wieder steht.

Für die folgenden Ausführungsschritte legen Sie zunächst eine neue Datenbank unter SQL Azure an. Führen Sie auf dieser Datenbank (z.B. mit Hilfe des SQL Server Management Studios) das in Listing 1 gezeigte SQL-Skript aus.

CREATE TABLE [Kunden](
    [KundenID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
    [Anrede] [nvarchar](6) NOT NULL,
    [Vorname] [nvarchar](50) NOT NULL,
    [Nachname] [nvarchar](50) NOT NULL,
    [Email] [nvarchar](50) NOT NULL,
    [Website] [nvarchar](50) NULL,
    [Telefon] [nvarchar](30) NULL,
    [Timestamp] [timestamp] NOT NULL
)

CREATE INDEX IX_Kunden_Email ON Kunden (Email)

INSERT INTO [Kunden]
        ([Anrede], [Vorname], [Nachname], [Email], [Website], [Telefon])
    VALUES
        ('Herr', 'Holger', 'Sirtl', 'hsirtl@microsoft.com',
         'http://blogs.msdn.com/hsirtl', '089/123-456')

Listing 1: Anlegen von Tabelle und Tabelleneintrag in SQL Azure

Damit wird die Tabelle Kunden angelegt und in dieser Tabelle ein einzelner Tabelleneintrag geschrieben. Tabelle und Inhalt sollen später mit Hilfe des Microsoft Sync Frameworks in eine lokale Datenbank übertragen werden.

Das Microsoft Sync Framework

Synchronisation zwischen SQL Azure und einer lokalen Datenbank wird mit Hilfe des Microsoft Sync Frameworks implementiert. In den folgenden Abschnitten soll eine kleine Konsolenanwendung entwickelt werden, die eine Synchronisationsbeziehung zwischen einer lokalen SQL Express Datenbank und einer SQL Azure Datenbank herstellt. Die Architektur ist in Abbildung 2 zu sehen.

Abbildung 2: Architektur einer Sync Framework basierten Lösung

Eine auf dem Sync Framework aufsetzende Lösung enthält in der Regel folgende Komponenten, die in der Architekturabbildung zu sehen sind:

  • Sync Provider
    Dies ist eine Art Datenbank-Treiber, der die Funktionen des Sync Frameworks für die beteiligten Datenbanken in die jeweiligen Datenbank-Aufrufe übersetzt. Hier muss also für die betreffende Datenbank ein passender Sync Provider eingesetzt werden. Für SQL Server und SQL Azure stellt Microsoft passende Provider bereit. Für andere Datenbanksysteme sind von den jeweiligen Herstellern ebenfalls Provider verfügbar.
  • Sync Orchestrator
    Diese Komponente konfiguriert die beteiligten Datenbanken, initiiert die Synchronisa-tion und wertet die Ergebnisse aus. Für die Kommunikation mit den Datenbanken bedient er sich der Sync Provider.

Starten Sie nun Visual Studio und legen über den Menüpunkt File / New / Project ein neues Projekt an. Wählen sie als Projektvorlage eine Konsolenanwendung (Visual C# / Windows / Console Application). Da die Anwendung das Sync Framework nutzen soll, werden vier DLLs benötigt, die in Tabelle 1 aufgelistet sind.

Datei (C:[.]Program Files[.]Microsoft Sync Framework[.]...) Namespace
2.1[.]Runtime[.]x86[.] Microsoft.Synchronization.dll Microsoft.Synchronization
2.1[.]Runtime[.]ADO.NET[.]V3.1\x86[.] Microsoft.Synchronization.Data.dll Microsoft.Synchronization.Data
2.1[.]Runtime[.]ADO.NET[.]V3.1[.]x86[.] Microsoft.Synchronization.Data.Server.dll Microsoft.Synchronization.Data.Server
2.1[.]Runtime[.]ADO.NET[.]V3.1[.]x86[.] Microsoft.Synchronization.Data.SqlServer.dll Microsoft.Synchronization.Data.SqlServer


Tabelle 1: Für das Sync Framework benötigte Dateien und Namespaces

* die [.] bitten gegen einen SLASH (SHIFT + 7) ersetzen.

Nach Hinzufügen der DLLs sollte der Solution Explorer die entsprechenden Namespaces wie in Abbildung 3 zu sehen auflisten.

Abbildung 3: Referenzen zum Sync Framework

Die Konsolenanwendung soll die folgenden zwei Funktionalitäten bieten:

  • Initialisierung der Synchronisationsbeziehung (Methode Setup())
  • Durchführung einer Synchronisation (Methode Sync())

Die beiden hierzu benötigten Methoden sind in Listing 2 zu sehen. Sie werden je nach Aufrufparameter aufgerufen. Fehlt der Aufrufparameter, wird eine entsprechende Information auf der Konsole angezeigt.

using System;
using System.Data.SqlClient;
using Microsoft.Synchronization.Data.SqlServer;
using Microsoft.Synchronization.Data;
using Microsoft.Synchronization;

namespace SyncTest
{
    class Program
    {
        public static string sqlazureConnectionString =
            @"Server=.database.windows.net;
              Database=; 
              User ID=@; 
              Password=; 
              Trusted_Connection=False; 
              Encrypt=True;"; 
        public static string sqllocalConnectionString =
            @"Server=.\SQLEXPRESS;
              Database=; 
              Trusted_Connection=True"; 

        public static readonly string scopeName = "alltablesyncgroup";

        static void Main(string[] args)
        {
            // Test if input arguments were supplied:
            if (args.Length == 0)
            {
                System.Console.WriteLine("Please enter an argument.");
                System.Console.WriteLine("Usage: SyncTest.exe -setup");
                System.Console.WriteLine("       SyncTest.exe -sync");
            }

            else if (args[0] == "-setup")
                Setup();
            else if (args[0] == "-sync")
                Sync();
        }

        public static void Setup() { ... }
        public static void Sync() { ... }

        }
    }
}

Listing 2: Code-Gerüst für die Sync Anwendung

Die beiden Connection-Strings definieren den Zugang zu den beiden beteiligten Datenbanken. Ersetzen Sie die Platzhalter durch die für Ihre Datenbanken gültigen Werte.

Konfiguration der beteiligten Datenbanken

Bevor eine Synchronisation der Datenbanken durchgeführt werden kann, müssen diese entsprechend vorbereitet werden. Dabei werden in den Datenbanken Hilfstabellen angelegt, in denen Synchronisationsinformationen gespeichert werden. Das Schema der zu synchronisierenden Tabellen bleibt dabei unverändert. Für die initiale Konfiguration der Datenbanken implementieren Sie die Setup()-Methode nun wie in Listing 3 gezeigt. Die dort durchgeführte Konfiguration setzt voraus, dass Sie die SQL Azure Datenbank aufgesetzt haben, d.h. eine Kunden-Tabelle existiert.

public static void Setup()
{
    try
    {
        SqlConnection sqlServerConn = new SqlConnection(sqllocalConnectionString);
        SqlConnection sqlAzureConn = new SqlConnection(sqlazureConnectionString);
        DbSyncScopeDescription myScope = new DbSyncScopeDescription(scopeName);

        DbSyncTableDescription Customer =
            SqlSyncDescriptionBuilder.GetDescriptionForTable("Kunden", sqlAzureConn);

        // Add the tables from above to the scope
        myScope.Tables.Add(Customer);

 // Setup SQL Server for sync
        SqlSyncScopeProvisioning sqlServerProv =
            new SqlSyncScopeProvisioning(sqlServerConn, myScope);
        if (!sqlServerProv.ScopeExists(scopeName))
        {
            // Apply the scope provisioning.
            Console.WriteLine("Provisioning SQL Server for sync " + DateTime.Now);
            sqlServerProv.Apply();
            Console.WriteLine("Done Provisioning SQL Server for sync " + DateTime.Now);
        }
        else
            Console.WriteLine("SQL Server Database server already provisioned for sync " +
                              DateTime.Now);

        // Setup SQL Azure for sync
        SqlSyncScopeProvisioning sqlAzureProv =
            new SqlSyncScopeProvisioning(sqlAzureConn, myScope);
        if (!sqlAzureProv.ScopeExists(scopeName))
        {
            // Apply the scope provisioning.
            Console.WriteLine("Provisioning SQL Azure for sync " + DateTime.Now);
            sqlAzureProv.Apply();
            Console.WriteLine("Done Provisioning SQL Azure for sync " + DateTime.Now);
        }
        else
            Console.WriteLine("SQL Azure Database server already provisioned for sync " +
                              DateTime.Now);

        sqlAzureConn.Close();
        sqlServerConn.Close();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex);
    }
}

Listing 3: Methode zum Initialisieren der Synchronisationsbeziehung

Die Methode baut zunächst Verbindungen zu den beiden Datenbanken (wie über die Connection-Strings konfiguriert) auf und initialisiert einen sogenannten Sync-Scope. Dieser legt den Bereich, d.h. die Tabellen, fest, der synchronisiert werden soll. Danach wird die Schema-Information der Kunden-Tabelle ermittelt und dem Sync-Scope hinzugefügt. Anschließend wird der Sync-Scope zunächst auf der lokalen Datenbank und dann in SQL Azure provisioniert. Abschließend werden die Verbindungen zu den Datenbanken wieder geschlossen. Bauen Sie die Solution durch Auswahl des Menüpunkts Build / Build Solution. Öffnen sie anschließend ein Konsolenfenster und wechseln dort in das Verzeichnis, in das Visual Studio die exe-Datei geschrieben hat. Abbildung 4 zeigt die Konsolenausgabe bei Ausführung der Anwendung (zuerst Aufruf ohne Parameter, dann mit Parameter-setup).

Abbildung 4: Initialisierung des Sync Frameworks

Damit ist die Initialisierung der Datenbanken abgeschlossen. Das Sync Framework hat in beiden Datenbanken Hilfstabellen angelegt, in denen Änderungen bis zur nächsten Synchronisation zwischengespeichert werden. Abbildung 5 zeigt die Tabellenansicht aus dem SQL Server Management Studio vor und nach der Initialisierung.

Abbildung 5: Tabellen vor und nach Initialisierung des Sync Frameworks

Vor der Initialisierung ist nur in SQL Azure eine Kunden-Tabelle vorhanden. Nach der Initialisierung wurde zum einen die Tabelle auch in der lokalen Datenbank angelegt (ja, dies erledigt das Sync Framework automatisch), zum anderen wurden in beiden Datenbanken die Hilfstabellen angelegt. Noch wurden allerdings keine Daten übertragen. Die Änderungen beziehen sich noch ausschließlich auf die Schemata.

Synchronisation mit einer lokalen Datenbank

Nun soll die Sync()-Methode implementiert werden, mit deren Hilfe eine Synchronisation der beiden Datenbanken, d.h. ein Datenabgleich, erfolgen kann. Implementieren Sie die Methode wie in Listing 4 gezeigt. Die Methode baut Verbindungen zu den beiden Datenbanken auf und instanziiert einen neuen Sync-Orchestrator. Im Orchestrator werden zwei passende Sync-Provider und die gewünschte Synchronisationsrichtung definiert. Im Beispiel soll die Synchronisation in beide Richtungen erfolgen.

public static void Sync()
{
    try
    {
        SqlConnection sqlServerConn = new SqlConnection(sqllocalConnectionString);
        SqlConnection sqlAzureConn = new SqlConnection(sqlazureConnectionString);
        SyncOrchestrator orch = new SyncOrchestrator
        {
            LocalProvider = new SqlSyncProvider(scopeName, sqlServerConn),
            RemoteProvider = new SqlSyncProvider(scopeName, sqlAzureConn),
            Direction = SyncDirectionOrder.UploadAndDownload
        };

        Console.WriteLine("ScopeName={0} ", scopeName);
        Console.WriteLine("Starting Sync " + DateTime.Now);

        ShowStatistics(orch.Synchronize());

        sqlAzureConn.Close();
        sqlServerConn.Close();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex);
    }
}

public static void ShowStatistics(SyncOperationStatistics syncStats)
{
  Console.WriteLine("General Sync Statistics");
  Console.WriteLine("=======================");
  Console.WriteLine("\tSync Start Time : " + syncStats.SyncStartTime.ToString());
  Console.WriteLine("\tSync End Time   : " + syncStats.SyncEndTime.ToString());
  Console.WriteLine("");
  Console.WriteLine("Upload Statistics   (local SQL -> SQL Azure)");
  Console.WriteLine("============================================");
  Console.WriteLine("\tChanges Applied : " + syncStats.UploadChangesApplied.ToString());
  Console.WriteLine("\tChanges Failed  : " + syncStats.UploadChangesFailed.ToString());
  Console.WriteLine("\tChanges Total   : " + syncStats.UploadChangesTotal.ToString());
  Console.WriteLine("");
  Console.WriteLine("Download Statistics (SQL Azure -> local SQL)");
  Console.WriteLine("============================================");
  Console.WriteLine("\tChanges Applied : " + syncStats.DownloadChangesApplied.ToString());
  Console.WriteLine("\tChanges Failed  : " + syncStats.DownloadChangesFailed.ToString());
  Console.WriteLine("\tChanges Total   : " + syncStats.DownloadChangesTotal.ToString());
}

Listing 4: Methode zum Synchronisieren der Inhalte der Datenbanken

Nach erfolgreicher Synchronisation wird das Ergebnis über die Hilfsmethode ShowStatistics() angezeigt. Bauen Sie die Solution und wechseln Sie anschließend in das Konsolenfenster. Rufen Sie dort die Anwendung mit dem Aufrufparameter -sync auf. Abbildung 6 zeigt das Ergebnis.

Abbildung 6: Synchronisation der Inhalte aus SQL Azure

Da in der SQL Azure Datenbank nur ein Eintrag vorhanden war, zeigt die Ausgabe an, dass eine Änderung von der SQL Azure Datenbank in die lokale Datenbank übertragen wurde. Prüfen Sie (z.B. im SQL Server Management Studio), ob der Eintrag nun korrekt in der lokalen Datenbank liegt.

Ändern Sie nun den Eintrag in der lokalen Datenbank. Hierzu können Sie das SQL Skript verwenden, das in Listing 5 abgebildet ist, und führen Sie dieses im SQL Server Management Studio aus.

UPDATE [LokalDB].[dbo].[Kunden]
   SET [Vorname] = 'Max'
      ,[Nachname] = 'Mustermann'
 WHERE [KundenID] = 1
GO

Listing 5: Änderung eines Eintrags in der lokalen Datenbank

Starten Sie nun einen neuen Synchronisationslauf, indem Sie wieder in das Konsolenfenster wechseln und dort durch Aufruf der Anwendung mittels SyncTest -sync eine Synchronisa-tion der Datenbanken durchführen. Das Ergebnis ist in Abbildung 7 zu sehen.

Abbildung 7: Synchronisation der Änderung der lokalen Datenbank

In diesem zweiten Synchronisationslauf wurde nun ein Eintrag (der geänderte Eintrag) von der lokalen Datenbank nach SQL Azure übertragen. Abbildung 8 zeigt, wie sich das Ergebnis im SQL Server Management Studio darstellt. Dort ist der geänderte Eintrag in SQL Azure abgebildet.

Abbildung 8: Ergebnis der Synchronisation

Ressourcen

Ressourcen zur SQL Azure Database Engine

Ressourcen zum SQL Azure Sync Service



Die Herausforderungen des Cloud Computing: Latenz der Datenverbindungen

Mit der Adaption von Cloud Computing Technologien und Services stehen Unternehmen Herausforderungen gegenüber, die es zu bewältigen gilt. Zum einen müssen organisatorische Voraussetzungen geschaffen und Aufklärungsarbeit innerhalb des Unternehmens geleistet werden, um die Akzeptanz und das Verständnis zu stärken. Zum anderen treffen aber auch viele “Widerstände” von außen auf das Unternehmen. Das sind neben Fragen bzgl. der Sicherheit und des Datenschutz ebenfalls Themen zur Verfügbarkeit und Performanz des ausgewählten Cloud Service sowie dessen Integrationsfähigkeit in die bereits bestehende IT-Infrastruktur und die nahtlose Unterstützung der vorhandenen Geschäftsprozesse. Und wie auch schon aus den klassischen Sourcingmöglichkeiten bekannt, besteht auch im Cloud Computing die Angst, in die Abhängigkeit eines einzigen Anbieters zu verfallen. So müssen auch hier die Interoperabilität und die Schnittstellen des Anbieters sowie ein Vergleich zu anderen Anbieteren vorgenommen werden.

Ist die Entscheidung für die Nutzung des Cloud Computing gefallen, ist es für Unternehmen zunächst an der Zeit, eine Ist-Analyse der bestehenden IT-Infrastruktur und Systeme vorzunehmen, um auf Basis dieser zu planen, welche Cloud Services adaptiert werden sollen. Hier kann bspw. eine Kosten-/ Nutzen-Analyse weiterhelfen, bei der auch eine Risikobewertung nicht fehlen sollte. Um erste Erfahrungen auf dem Cloud Computing Gebiet zu sammeln, sollte ein Pilotprojekt initiiert werden, welches auf Grund des Cloud Computing Konzepts schnell und kostengünstig gestartet werden kann. Dieses sollte einem Gesamtverantwortlichen “Cloud” untergeordnert sein, der als zentrale Stelle innerhalb der Organisation für die Adaption und Beratung der einzelnen Abteilungen für dieses Thema zuständig ist. Mit den gesammelten Erfahrungen können dann weitere Projekte gestartet werden und die Adaption unterschiedlicher Cloud Services sukzessive vorgenommen werden.

Latenz der Datenverbindungen

Längere Distanzen zwischen dem Anwender und der Anwendung in der Cloud führen zu einer höheren Latenz beim Datentransfer. Hinzu kommt eine nicht ausreichende Bandbreite sowie Protokolle, die nicht für weite Strecken geeignet sind. Das hat zur Folge, dass ebenfalls die Geschwindigkeit der Anwendung darunter leidet und der Anwender so mit einer langsamen Anwendung arbeiten muss, wie er es von seinem lokalen System in der Regel nicht gewohnt ist. So kann es im schlimmsten Fall dazu kommen, dass das Öffnen und Speichern von Dokumenten in der Cloud ein paar Minuten in Anspruch nehmen kann.

Dietmar Schnabel nennt Ansätze um den Zugriff auf Anwendungen, die sich in der Cloud befinden, zu beschleunigen.

Die Mehrzahl der Unternehmen mit verteilten Standorten leiten den Datenverkehr der Außenstellen zuerst in die Zentrale, wo er über ein Internetgateway inkl. einem Content-Filter in das Internet übertragen wird. Das Nadelöhr ist damit dieser zentrale Gateway, den sich alle Cloud Anwendungen teilen müssen.

Die Außenstellen müssen daher mit einem eigenen lokalen Internetzugang ausgestattet werden, um den zentralen Gateway zu entlasten und jeder Anwendung damit mehr Bandbreite zur Verfügung zu stellen. Dafür müssen in den Außenstellen jedoch dieselben Richtlinien gelten wie bei dem beschriebenen zentralen Ansatz. Hinzu kommt, dass ebenfalls Sicherheitsmaßnahmen für Phishing-Attacken, Malware, Viren, Trojaner usw. vorgenommen werden. Weiterhin sollten die Gateways in den Außenstellen über Caching Funktionen verfügen, um redundanten Datenverkehr zu vermeiden.

Mit der Priorisierung von Anwendungen kann zudem die Latenz bei empfindlichen Protokollen verringert werden. Damit kann bspw. E-Mail Datenverkehr zweitrangig behandelt werden, wo hingegen Echtzeitdaten wie VoIP Daten, Videostreams oder Remoteverbindungen bevorzugt behandelt werden und weiterhin eine Mindestbandbreite zugewiesen bekommen können.

Ebenfalls hilfreich können “[...] Algorithmen zur Optimierung von ineffizienten Protokollen wie etwa Microsoft CIFS oder MAPI [...]” sein, mit denen die Reaktionszeit der Anwendungen in der Cloud erhöht werden.


Bildquelle: http://meship.com



The Personalised Cloud

Cloud computing is changing the way services are created, delivered and consumed for both the consumer and the enterprise. It promises significant gains in efficiency and flexibility, at a time when data centres are increasingly challenged by the rapid growth in the number of users and volume of data. Yet, while much of the discussion of the cloud tends to focus on the data centre, devices of all types continue to play an essential to how, when and where these services are consumed. Importantly, they are being used to build “personalised clouds” based on architectures that enhance and optimise access to content and processing.
by Alex Barreto, Ph.D.

Why a personalised cloud experience is important

Today;s end users are increasingly likely to utilise multiple devices, including smart-phones, tablets, and notebooks to access information. They embrace new applications and devices in their personal life, and expect those same capabilities to be available at work. Yet when it comes to the ability to access, display, manipulate, store or secure data, some devices are clearly more capable than others.

Larger displays, better graphics, greater storage, enhanced security; the reality is that different devices have different capabilities. Unfortunately, most services have followed the earlier web paradigm, and have been reduced to their lowest common denominator of functionality, with only limited ability to take advantage of device capabilities or suit the form factor. Enabling cloud-based applications to comprehend device capabilities is emerging to take advantage of them, in order to scale up or down to the device in terms of the greatest common multiple of functionality.

Additionally, for many, the definition of the workplace has changed from a single location to which they travel, to an activity in which they engage from anywhere, any time. Mobile workers are amongst the most productive employees. For them, the office is their set of devices – notebook, net-book, tablet, and smartphone. Cloud-based applications often require users to be connected to access information, yet the networks they rely upon are subject to broad variations in the quality of service, and thus can often be intermittently available or slow. Also, users may be working from a location without any network access, which is more common than is often thought. Cloud services must enable users to access and update data, even when working offline.

Rather than relying solely on the data centre to drive cloud capabilities, devices can provide resources to power them a part of a “personalised cloud.” End users and cloud providers each have unique needs that can be well addressed through this combined approach. Taking advantage of the combined capabilities of devices and the data centre, services, cloud providers, and enterprises have greater flexibility to optimise application delivery through the cloud. End users can also benefit from improved application performance and the ability to remain productive, even when working offline.

Benefits of a personalised cloud

End users are driven by the need to access their data and applications anywhere, any time, in a consistent, mobile manner. Cloud computing has represented a leap forward in this respect, yet devices have, until recently, largely accessed the cloud in a siloed, hub-and-spoke fashion. At the same time, the benefits of cloud can be overshadowed by poor user experience and the lack of ubiquitous connectivity. To succeed, solutions that address these user needs must be delivered.

End users and service providers can benefit from a device-aware, distributed infrastructure. For cloud-based applications, it’s important to look beyond simple availability metrics to take into account end-user experience.

User Benefits

  • Responsiveness – For cloud-based applications, response time is dependent on multiple factors including network performance, application performance, and cloud infrastructure performance. Enabling device-side, distributed execution for cloud-based applications can help improve end-user experience, especially for applications that are compute-intensive or bandwidth-constrained.
  • Productivity – Cloud services that are device-aware can enable a user to access data or information whether working in online or offline mode, as well as across devices. Once reconnected, applications can synchronise and save changes from the last connection.

Provider Benefits

  • Application delivery – In cases where cloud servers supporting a particular application are heavily subscribed or the network is constrained, the ability to execute a given application or portions of an application on the end point enables service providers to improve application delivery.
  • Flexible architecture – For most service providers, the transition to the cloud has and will continue to be evolutionary rather than revolutionary. Public clouds are being leveraged for well-defined, commoditised, low-risk applications and services. More complex, sensitive or customised applications will be supported using existing model, or deployed to private or hybrid clouds. Devices provide a flexible infrastructure able to support a variety of compute environments, distribute processing, and mesh together data and processing for any time, anywhere availability.

Enabling the Cloud to be Personal

In the personalised cloud, attributes and capabilities of devices are exposed to the cloud and to one another. Cloud-based applications - which share processing between devices and the data centre - use this information to determine how best to execute a given application and/or share content.

As an example, with devices such as smart-phones, tablets, netbooks, integrated media devices, etc., the cloud may detect limited device capabilities, and decide to run an application entirely from the cloud-based data centre, with little support from the device. Alternatively, with more powerful devices, such as notebooks, set-top boxes, internet TVs, desktop PCs, in-vehicle infotainment systems, etc. - that meet security, storage and processing policies - the application may decide to run on the device, taking advantage of performance and graphics to improve delivery.

At the same time, these devices will detect the availability and proximity of others that are identified as authenticated and authorised for a specific user or process, and rather than synchronising information across them, access the last good version or state of data. Thus, users will be able to access their content in a way that reduces data duplication, since the personalised cloud can present the latest version of preferences and content.

To enable this personalised cloud, devices are becoming capable of:

  • Transparent, automatic, intelligent connections between devices and the environment.
  • Experiencing transition appropriately according to the user’s environment and devices.
  • Devices gather and share contextually appropriate and available content to the user
  • Leveraging the cloud that accesses and provides both information and capabilities available in the user’s environment.

which is achieved through:

  • Device composability: Enhancing user experiences by changing the way services execute, according to the devices at hand at any given moment. Stacks allowing devices and services to discover and form the cloud of devices are in development by a number of vendors, along with APIs for developers so they can create their services with this in mind.
  • Usage suggestion: Users want to use content in different ways depending on the device that is using to access that content. This is as simple as a tag cloud, or complex as a text miner service, plus ontology engines.
  • Presence detection: Users inform the cloud of which device is active at any time through their interaction, so content can follow them from device to device, based on that activity.
  • Intuitive user interface (UI): A consistent UI is the glue that makes this all work, and depends upon providing the same experience, whilst targetting the form factor of each device.
  • Content services: When users transfer content among devices, this data will be distributed across the devices in the personal cloud.

Today many of these capabilities are already available across a number of devices. The personal cloud allows people to discover new usages based on their content, beyond their current perception. To the end user, they will soon be able to have their phones, cars, TV and your notebooks connect to each other and share information.

For example, a user takes a Voice over IP (VoIP) call, the cloud routes the audio (and video, as appropriate) streams to the device which is active. A user can initiate the VoiP session from their notebook, and when they switch to their smart-phone and begin interacting with it, the streams are moved to that smart-phone, and the call continues on it. When that user interacts with their TV, the streams can be moved to the available set-top box and/or internet TV controller, and they can take advantage of the TV display for an improved video VoIP call experience, along with visuals of attached/associated content such as RSS feeds, documents, etc. The user can than go to the kitchen and begin interacting with the integrated media device on their counter-top, and the call (and content) can follow them there.

End users benefit from a better overall experience across a range of devices; service providers benefit from improved resource utilisation, ensuring applications are delivered in the most secure and efficient way. When privileged data and/or processing are accessed, the ability to execute a given application or access a given file on a device requires that the device comply with security policies. Many devices include hardware-based capabilities to enable enhanced security, which are then determined and leveraged at run-time.

Summary

With an understanding of the needs and challenges faced by consumers and organisations using and implementing cloud services in their environment, vendors are working with systems and software solution providers to help develop end-to-end solutions that address these needs. Reference architectures that provide practical guidance on how to build clouds and implement personal cloud device-aware capabilities are being developed and distributed through such programs as the Open Data Center Alliance (http://www.opendatacenteralliance.org) and Intel’s Cloud Builders (http://www.intel.com/cloudbuilders). The future direction of cloud is being shaped today through the architecture and development of the personalised cloud. This is only the beginning - as devices improve their features and properties, they will only be able to better distribute and balance their capabilities amongst each other, across a cloud which no longer differentiates between your smartphone and a server rack in a data centre.


Image source: raspberryrocket.tumblr.com



Spiderman und die Cloud

„Aus großer Kraft folgt große Verantwortung“ heißt es bei Spiderman [1]. Doch was hat das ganze mit Cloud Computing zu tun? Cloud Computing ermöglicht einen vollkommen neuen Zugang und Umgang mit IT Ressourcen. Ob nun Entwickler, Architekt oder Manager, prinzipiell kann jeder Infrastructure-as-a-Service (IaaS) Ressourcen nutzen. Doch was bedeutet dies für ein Unternehmen? Ist es für eine Firma erstrebenswert, dass jeder Mitarbeiter Zugriff auf scheinbar unendliche IT Ressourcen hat? Nein, sicherlich nicht. Es ist sicherlich der Albtraum eines jeden CEO.
von Björn Böttcher

Hierzu ein aktuelles Beispiel

An einem Sonntagmorgen war ein System Administrator mit seiner Routine, der Wartung seiner Cloud Server beschäftigt, als er plötzlich feststellte, dass er eine Datenbank mit 800.000 Benutzeraccounts von einer anderen Firma sehen konnte.

Wie konnte es dazu kommen? Nun die Benutzer von Cloud Computing Angeboten sind wie schon gesagt nicht zwangsläufig nur Systemadministratoren, sondern auch Entwickler. Und eben ein solcher Entwickler hat in diese Fall als ein Systemadministrator gearbeitet und seine Datenbank selbst verwaltet, wie er es vielleicht von seiner lokalen Testumgebung stets gewohnt war. Doch im einem Produktionssystem gelten andere Anforderungen und andere Restriktionen.

Lassen Sie mich an dieser Stelle noch ein anderes mögliches Szenario beleuchten. Ein Entwickler eines angesehen Softwareentwicklungshauses arbeitet an einer Software, die einen enormen Wert für das Entwicklungshaus darstellt. Der Entwickler testet diese in einem selbstkonfigurierten Cloud Computing Setup. Er vergisst jedoch nach dem Testen die Systeme wieder herunterzufahren. Dummerweise hat er ferner alle Standardports offen gelassen und der Server mit dem Quellcode steht nun im Internet jedem als willkommenes Ziel zur Verfügung. Dadurch könnte dem Unternehmen ein enormer wirtschaftlicher Schaden entstehen.

Sind diese Fälle neu? Ist dies ein neues Risiko für die Unternehmen, die Cloud Computing im Unternehmen einsetzen wollen? Nun, ob alle Beispiele, welches theoretisch möglich wäre, auch tatsächlich in Erscheinung treten ist fragwürdig. Und Risiken haben Unternehmen auch schon immer getragen, wenn es um Daten und IT ging. Erinnern wir uns nur an den Fall eines verlorenen USB Sticks auf einer Messe mit wichtigen Konstruktionsplänen. Wichtig ist, dass die Mitarbeiter für Sicherheit sensibilisisert werden. Es muss eine Verantwortung und eine Identifikation mit dem Unternehmen erfolgen. Denn schließlich ist der wirtschaftliche Schaden des Unternehmens auch gleichbedeutend mit der Arbeitsplatzsicherung des Angestellten.

Auf der Seite des Unternehmens ist es ferner entscheidend, Richtlinien, Standards und Prozesse zu definieren, zu kontrollieren und einzuhalten. Nur wenn es weiterhin eine IT Abteilung mit Systemadministratoren gibt, die die Server, Firewalls etc. konfigurieren und warten, dann kann dies auch der Weg zu einer verantwortungsvollen Nutzung von Cloud Ressourcen führen. Und auch nur auf diese Weise kann eine Bildung von Schatten IT verhindert werden.
Wichtig ist also die eigene IT nicht zu umgehen bei der Migration in die Cloud, sondern effektiv und konsequent einzubeziehen. Denn der einzelne Entwickler sollte trotz der modernen Möglichkeiten, keinen direkten Zugriff auf “unbegrenzte” Unterenehmsressourcen haben. Die Bereitstellungszeit einer Ressource sinkt dennoch von Monaten, Wochen oder Tagen auf Minuten.

Mögliche Lösungen?

Wie kann ich das ganze technisch umsetzen? Wichtig im ersten Schritt ist es die bisherigen Strukturen der Bereitstellung der IT-Abteilung auch auf Cloudstrukturen abzubilden. Dies beginnt mit der Implementierung eines Identitätsmanagements. Dies kann mittlerweile direkt mit Tools der Anbieter erfolgen. Beispielsweise gibt es bei den Amazon Web Services dafür das Identity and Access Management (IAM) [2]. Dieses ermöglicht es mehrere Benutzer zu erstellen, die dann über ein zentrales Konto administrierbar sind. Jedem Account werden spezifische Sicherheitsbefugnisse erteilt und können auch wieder entzogen werden. Diese Accounts beziehen sich jedoch nicht nur auf Benutzer, sondern können ebenso Ressourcen adressieren, wie z.B. andere Systeme oder Anwendungen. Für eine einfachere Verwaltung können zudem Gruppen angelegt werden. Damit fällt es dann leichter die Administration im Auge zu behalten. So ist die Rotation von Zugangsschlüssel eine Kleinigkeit. Ein weiteres Highlight dieser Dienste ist es, dass man einem Benutzer den Zugang unter Nebenbedingungen erteilen kann. Dies könnte z.B. die Uhrzeit, die IP-Adresse oder ein ähnliches geeignetes Regularium sein.

Mit Hilfe eines Identitätsmanagements ist die Bereitstellung von Ressourcen, auch unter Restriktionen möglich und ergibt einen kontrollierten Umgang mit der Ressource Cloud. Die Abrechnung der genutzten Cloud Kapazitäten erfolgt weiterhin über ein Konto. Damit hat die interne IT Abteilung auch weiterhin ein Budget, über welches Sie entsprechende Ressourcen verwalten und zur Verfügung stellen kann.

Fazit

Zusammengefasst ist ein sinnvoller und organisierter Umgang bei der Nutzung von Cloud Ressourcen entscheidend für eine erfolgreiche Migration. Die bestehende interne IT-Abteilung sollte auch weiterhin in den Bereitstellungszyklus für Ressourcen integriert sein - vielmehr muss.


Quellen

[1] http://de.wikipedia.org/wiki/Spider-Man
[2] http://aws.amazon.com/de/iam/


Bildquelle: http://focus.de



Amazon Web Services vs. Microsoft Windows Azure – Ein direkter Vergleich

Viele Unternehmen befinden sich derzeit in der Evaluation von Public Cloud Services wie IaaS. Die ersten Gedanken streifen dann die beiden großen und vermeintlich bekanntesten Anbieter in der Szene - die Amazon Web Services und Microsoft Windows Azure.

Beide verfügen mittlerweile über ein sehr umfangreiches und stetig wachsendes Angebot an Cloud Services. Möchte man beide Portfolios jedoch miteinander vergleichen steigen die Herausforderungen mit der Anzahl der Services.

Amazon Cloud vs. Windows Azure

Die folgende Tabelle stellt das Cloud Service Portfolio 1:1 gegenüber und schafft Klarheit, wer in welchem Bereich was anbietet, wie der Name des jeweiligen Service lautet und unter welcher URL weitere Informationen zu diesem zu finden sind.

Funktion

Amazon Web Services

Microsoft Windows Azure

Rechenleistung

Virtuelle Maschinen Elastic Compute Cloud Role Instances
High Performance Computing Cluster Compute Instances HPC Scheduler
MapReduce Elastic Map Reduce Hadoop on Azure
Dynamische Skalierung Auto Scaling Auto Scaling Application Block

Speicher

Unstrukturierter Speicher Simple Storage Service Azure Blob
Flexible Entities SimpleDB Azure Tables
Block Level Storage Elastic Block Store Azure Drive
Archivierung Amazon Glacier
Stroage Gateway AWS Storage Gateway

Datenbanken

RDBMS Relational Database Service SQL Azure
NoSQL DynamoDB Azure Tables

Caching

CDN CloudFront CDN
In-Memory ElastiCache Cache

Netzwerk

Load Balancer Elastic Load Balancer Fabric Controller / Traffic Manager
Hybrid Cloud Virtual Private Cloud Azure Connect
Peering Direct Connect
-
DNS Route 53
-

Messaging & Anwendungen

Async Messaging Simple Queue Service Azure Queues
Push Notifications Simple Notification Service Service Bus
Bulk Email Simple Email Service
Workflows Amazon Simple Workflow Service
Suche Amazon CloudSearch

Monitoring

Ressourcen Monitoring CloudWatch System Center

Sicherheit

Identitätsmanagement Identity Access Management Azure Active Directory

Deployment

Ressourcenerstellung CloudFormation
-
Web Application Container Elastic Beanstalk Web Role


Die Herausforderungen des Cloud Computing: Integration von Systemen, Anwendungen und Prozessen

Mit der Adaption von Cloud Computing Technologien und Services stehen Unternehmen Herausforderungen gegenüber, die es zu bewältigen gilt. Zum einen müssen organisatorische Voraussetzungen geschaffen und Aufklärungsarbeit innerhalb des Unternehmens geleistet werden, um die Akzeptanz und das Verständnis zu stärken. Zum anderen treffen aber auch viele “Widerstände” von außen auf das Unternehmen. Das sind neben Fragen bzgl. der Sicherheit und des Datenschutz ebenfalls Themen zur Verfügbarkeit und Performanz des ausgewählten Cloud Service sowie dessen Integrationsfähigkeit in die bereits bestehende IT-Infrastruktur und die nahtlose Unterstützung der vorhandenen Geschäftsprozesse. Und wie auch schon aus den klassischen Sourcingmöglichkeiten bekannt, besteht auch im Cloud Computing die Angst, in die Abhängigkeit eines einzigen Anbieters zu verfallen. So müssen auch hier die Interoperabilität und die Schnittstellen des Anbieters sowie ein Vergleich zu anderen Anbieteren vorgenommen werden.

Ist die Entscheidung für die Nutzung des Cloud Computing gefallen, ist es für Unternehmen zunächst an der Zeit, eine Ist-Analyse der bestehenden IT-Infrastruktur und Systeme vorzunehmen, um auf Basis dieser zu planen, welche Cloud Services adaptiert werden sollen. Hier kann bspw. eine Kosten-/ Nutzen-Analyse weiterhelfen, bei der auch eine Risikobewertung nicht fehlen sollte. Um erste Erfahrungen auf dem Cloud Computing Gebiet zu sammeln, sollte ein Pilotprojekt initiiert werden, welches auf Grund des Cloud Computing Konzepts schnell und kostengünstig gestartet werden kann. Dieses sollte einem Gesamtverantwortlichen “Cloud” untergeordnert sein, der als zentrale Stelle innerhalb der Organisation für die Adaption und Beratung der einzelnen Abteilungen für dieses Thema zuständig ist. Mit den gesammelten Erfahrungen können dann weitere Projekte gestartet werden und die Adaption unterschiedlicher Cloud Services sukzessive vorgenommen werden.

Integration von Systemen, Anwendungen und Prozessen

Für den Einsatz im Unternehmen ist es entscheidend, dass sich Cloud Services miteinander aber vor allem in die bereits bestehenden Systeme ohne großen Aufwand integrieren lassen, so dass die Geschäftsprozesse vollständig und performant unterstützt werden. Eine nicht ganzheitlich vorgenommene Integration mehrerer und unabhängiger Einzelsysteme kann zu einer Beeinträchtigung des Gesamtprozesses führen.

Dr. Michael Pauly nennt die notwendigen Maßnahmen für die Integrationsfelder Infrastruktur, Applikationen und Geschäftsprozesse.

Für den Bereich der Infrastruktur gilt es, die Services und Komponenten auf Basis von Standardschnittstellen anzubinden und mittels einer verschlüsselten Kommunikation sowie Firewalls die Sicherheit zu gewährleisten. Damit werden die Grundlagen geschaffen, um eine Integration und Kombination der Cloud Services zwischen mehreren Anbietern und den Bestandssystemen vorzunehmen. Auf Basis der Antwortzeiten der gekoppelten Systeme wird die Performanz und letztendlich die Akzeptanz und erfolgreiche Integration gemessen.

Für die Integration von Applikationen sind offene APIs (Application Programming Interfaces) von besonderer Bedeutung und für eine erfolgreiche Integration mit anderen Applikationen unerlässlich. Auf Service Ebene bieten sich serviceorientierte Architekturen für die Kopplung an. Zudem ist “[...] eine Festlegung eines Satzes gemeinsamer Protokolle und Standards für eine funktionierende Integration von Cloud Services auf Applikationsebene unerlässlich.”

Die Wichtigkeit der Integration wird offensichtlich, wenn es darum geht, dass Geschäftsprozesse durch Applikationen unterstützt werden sollen. Hier muss ganz besonders auf eine enge und nahtlose Kopplung der Prozesse geachtet werden, speziell dann, wenn die Cloud Services von mehreren verschiedenen Anbietern miteinander verknüpft werden. Wenn Cloud Services für einen Geschäftsprozess oder Teile davon verantwortlich sind, müssen vorab die Risiken im Detail bestimmt werden. Dazu gehören die Folgen, mit denen innerhalb des Geschäftsprozesses bzw. im Unternehmen zu rechnen sind, wenn der Cloud Service nicht zur Verfügung steht. Wie schaut es mit Toleranzgrenzen aus und welche Alternativen stehen zur Verfügung um den Prozess zu unterstützen.


Bildquelle: http://www.dataintegrationblog.com



Cloud Governance: Das Rad muss (fast) nicht neu erfunden werden.

Laut Analysten und diversen Studien ist Cloud Computing in den kommenden Jahren der Wachstumstreiber in der Informations- und Kommunikationstechnik. Nach der BDOA-Studie [6], die in Zusammenarbeit mit dem Karlsruher Institut für Informationswirtschaft und -management und der Proventa AG kürzlich durchgeführt wurde, sind 93 Prozent der Befragten grundsätzlich an der Cloud-Computing-Nutzung interessiert. Knapp zwei Drittel planen, bis Ende 2012 Infrastrukturleistungen aus der Cloud zu nutzen. Fragt man nach den Hürden der Einführung, geben 70 Prozent an, Sicherheitsbedenken bei Nutzung von Infrastructure-as-a-Service (IaaS) zu haben. 85 Prozent äußerten rechtliche Bedenken wegen der externen Datenspeicherung. Weitere 72 Prozent sehen technische Schwierigkeiten bei der Integration als eine wesentliche Herausforderung beim Schritt in die Cloud.
von Dr. Dietmar Wiedemann

Ein weiteres nicht zu unterschätzendes Thema ist die Schatten IT [1], die durch Cloud Computing entstehen kann. Denn Mitarbeiter benötigen nur eine Kreditkarte, um IT-Investitionen an der zentralen IT-Abteilung vorbei zu tätigen. Da die Anwendungen in der Public Cloud über einen Browser benutzt werden, kann es durchaus vorkommen, dass die IT-Organisation von den Cloud-Services nichts erfährt. Damit ist der Schatten-IT im Unternehmen Tür und Tor geöffnet.

Der Beitrag zeigt die hieraus entstehenden Herausforderungen und Lösungsansätze für die Praxis und geht dabei insbesondere auf IT-Governance in der Cloud ein.

Cloud Computing benötigt Governance-Prozesse

Die Schatten-IT [1], die heimliche Nutzung von Hard- und Softwareressourcen in Unternehmen, ist kein neues Phänomen. Selten sind Firmenrechner gegen eigenmächtige Eingriffe durch Mitarbeiter geschützt. Typischerweise können Mitarbeiter über USB-Sticks, CDs und via Internet Software auf den Rechner installieren.

In der Regel entsteht eine Schatten-IT jedoch nicht aus Boshaftigkeit, sondern aus Verzweiflung und Unwissenheit aber auch aus Innovationsfreude der Mitarbeiter. Diese werden selbst tätig, wenn die IT-Abteilung ihnen nicht die in ihren Augen erforderlichen Lösungen schnell und unbürokratisch bereitstellt. Der zentralen IT wird häufig vorgeworfen, sie sei nicht in der Lage, zügig eine Cloud-Computing-Infrastruktur etwa für Testumgebungen einzurichten. Due eigene IT hinke den Anforderungen der Fachabteilungen technologisch hinterher.

Neu im Cloud Computing ist, dass vor allem im Public-Cloud-Modell vertriebene Dienste es ermöglichen, alternative Softwarelösungen einfacher und schneller als in der Vergangenheit zu beziehen. So ist es ein Leichtes, beispielsweise mit Dropbox einen kostenlosen Cloud Storage zu nutzen oder per Google Docs ein Dokument zu erstellen. Geht man einen Schritt weiter, wird durch Cloud Computing auch das Entführen von Dokumenten oder anderen Dateien gefördert. Eine Datei bei einem Cloud-Anbieter hochzuladen, ist schnell erledigt. Falls der Datei-Upload untersagt ist, lässt sich dieses durch das einfache Erstellen eines neuen Dokuments und dem Kopieren der Inhalte aus dem lokalen Dokument in das Cloud-Dokument vornehmen. Ähnlich verhält es sich mit IaaS-Angeboten, die Verarbeitungs-, Speicher- und Netzwerkkapazitäten sowie andere grundlegende Rechenressourcen via Internet zur Verfügung stellen. Die mittels Web-Browser leicht zu bedienenden Management-Oberflächen laden Fachabteilungen und Entwickler dazu ein, sich ein eigenes virtuelles Rechenzentrum in der Cloud aufzubauen, ohne dass die IT-Abteilungen etwas davon merkt. [2]
Im Worst-Case können durch unkoordiniertes Cloud Sourcing empfindliche Bußgelder auf ein Unternehmen zukommen, etwa wegen mangelhafter Verträge aus Datenschutzsicht. Weitere Risiken bestehen darin, dass kritische Daten wegen unzureichender Backup-Strategien verloren gehen können. Zudem können aufgrund einer unachtsamen Anbieter-Auswahl Lock-in-Effekte herbeigeführt werden. Spätestens, wenn die Geschäftsbeziehung zum Provider beendet werden soll, können hohe Kosten für die Datenmigration entstehen.
Die potenziellen Risiken der Public Cloud machen deutlich, dass CIOs unkoordiniertes Cloud Sourcing unterbinden müssen. Daher ist es essenziell, durchdachte IT-Governance-Prozesse zu etablieren, die den Eigenschaften verteilter IT-Architekturen gerecht werden.

Herausforderung: IT-Governance für die Cloud

Cloud Governance stellt Entscheidungs- und Kontrollprozesse, -kriterien und -regeln im Rahmen des Cloud-Service-Lebenszyklus zur Verfügung. Damit zielt es auf die Nutzensteigerung und Risikominimierung durch Cloud Computing ab.[5]

Obwohl sich IT-Verantwortliche zunehmend der Herausforderungen und Gefahren für die Datensicherheit von Cloud Services bewusst sind, haben die meisten Unternehmen keine Governance-Prozesse hierzu etabliert. Laut der Umfrage „CIO Market Pulse Survey 2010“ gaben nur 34 Prozent der Befragten an, über ausformulierte Governance-Richtlinien zu verfügen. Von diesen haben 22 Prozent bestehende Governance-Policies erweitert und 12 Prozent entsprechende Policies explizit für Cloud Services entwickelt.[3]

Etablierte Standards für Cloud Governance

Die Entwicklung einer IT-Governance für die Nutzung der Cloud ist eine komplexe Herausforderung. Unternehmen müssen die technischen, ökonomischen, organisatorischen und rechtlichen Herausforderungen dieser Technik verstehen und wissen, wie sich die Umstellung auf Cloud Computing auf ihre Organisation auswirkt. Zudem sind diese Faktoren über den gesamten Lebenszyklus eines Cloud Service hinweg zu berücksichtigen. Allerdings muss das Rad nicht völlig neu erfunden werden: Für Cloud Governance empfiehlt die Information Systems Audit and Control Association (ISACA) die Nutzung von vier etablierten Frameworks [4], die nachfolgend skizziert werden.

COBIT

COBIT (Control Objectives for Information and related Technology) ist ein weltweit verbreitetes und international standardisiertes Rahmenwerk für die IT-Governance. Der Best-Practice-Ansatz bietet einen umfassenden Rahmen zur Erfüllung von Anforderungen an die IT-Governance und integriert dabei globale Standards, wie etwa ITIL, CMMI und ISO 17799. COBIT definiert nicht primär, wie die Anforderungen umzusetzen sind, sondern legt den Fokus auf das, was umzusetzen ist. Ein Kernelement von COBIT sind 34 Prozesse, die sich an den vier Domänen Planung und Organisation, Beschaffung und Einführung, Betrieb und Unterstützung sowie Überwachung und Beurteilung orientieren. Jeder Prozess enthält eine Prozessbeschreibung, ein Prozessziel, Aktivitäten zur Realisierung dieses Ziels, Messgrößen, Management Guidelines mit den Inputs und Outputs des Prozesses und einer RACI-Matrix sowie ein Reifegradmodell, das die jeweiligen typischen Ausprägungen des Prozesses in 6 Reifegradstufen beschreibt.

Val IT

Val IT hilft, den optimalen Wertbeitrag aus IT-Investitionen zu erzielen und ergänzt somit einen wichtigen Teilbereich im IT-Governance: die Wertorientierung. Mit Val IT kann die Frage beantwortet werden, welchen Mehrwert Cloud Computing für ein Unternehmen liefert. Es wird sichergestellt, dass Cloud-Investitionen auf die gesamte Unternehmensstrategie ausgerichtet sind, konsistent mit den Geschäftsprinzipien sind, einen Beitrag zu den strategischen Zielen des Unternehmens leisten und ein optimales Kosten-/Nutzen-Verhältnis in der IT entsteht. Val IT schafft zudem ein gemeinsames und klares Verständnis über den erwarteten Nutzen der Cloud, definiert Verantwortlichkeiten, um diesem Nutzen zu realisieren und legt effektive Realisierungsprozesse für den gesamten Lebenszyklus einer IT-Anwendung fest. Darüber hinaus kann mit Val IT geklärt werden, ob die anvisierten Cloud Services in die bestehende IT-Architektur und deren Architektur-Prinzipien passen. Letztendlich können auch effektive Management-Prozesse für die Cloud-Nutzung und das Ressourcen-Management gewährleistet werden.

Risk IT

Risk IT dient dem IT-Risikomanagement und berücksichtigt bereits vorhandene Standards. Damit zielt das Rahmenwerk nicht nur auf die IT Security, sondern umfasst sämtliche Aspekte des IT-Risikos. Das Framework unterscheidet drei Risikokategorien:

  • IT Nutzen- und Wertbeitragsrisiken, d. h. (versäumte) Chancen, die IT zur Effizienz- und Effektivitätssteigerung der Geschäftsprozesse oder als Enabler für neue Geschäftsinitiativen einzusetzen,
  • IT Programm- und Projektrisiken, d. h. Risiken in Zusammenhang mit der Einführung neuer IT-Lösungen in Form von Projekten und Programmen und
  • IT Betriebs- und Serviceerbringungsrisiken, d. h. Risiken in Zusammenhang mit der Performance von IT-Systemen und -Services, die zu einer Zerstörung oder Verminderung von Werten im Unternehmens führen können.

Daneben stellt Risk IT ein End-to-End-Prozess-Framework für IT-Risikomanagement dar und hält Anleitung für Praktiker mit Tools und Techniken bereit, um konkrete Risiken der Geschäftstätigkeit zu verstehen und zu managen.

Business Model for Information Security

Das Business Model for Information Security (BMIS) stellt eine detaillierte Beschreibung eines umfassenden Geschäftsmodells zur Verfügung, das sämtliche Aspekte der Informationssicherheit aus Geschäftssicht behandelt. Damit adressiert das Modell Geschäftsrisiken, Werte, Ressourcen-Nutzung und Programme, die mit Cloud Computing einhergehen. Indem Bereiche, wie beispielsweise die Unternehmenskultur, Prozesse oder eingesetzte Technologien, betrachtet werden, hilft das BMIS Sicherheitsrisiken und -bedrohungen proaktiv zu erkennen. In Bezug auf die Cloud muss hier insbesondere ein Augenmerk auf zusätzliche Risiken gelegt werden, die durch Cloud Service Provider entstehen und verstanden werden, welchen Einfluss diese Risiken auf das Geschäft haben.

Fazit

In diesem Beitrag wurden vier Rahmenwerke diskutiert, mit denen Cloud Governance im Unternehmen umgesetzt werden können. Allerdings muss konstatiert werden, dass die wesentlichen Herausforderungen der Frameworks in deren Umfang, Komplexität sowie der hohe Abstraktionsgrad liegt. Beispielsweise beinhaltet COBIT vier Domänen, 34 Prozesse und 210 Kontrollziele. Zudem erfordern unterschiedliche Situationen unterschiedliche Maßnahmen und Cloud-Governance-Prozesse. Beispielsweise existieren für unterschiedliche Daten unterschiedliche Compliance Anforderungen. Vor diesem Hintergrund ist eine Anpassung der existierenden IT-Governance-Frameworks an die Gegebenheiten des eigenen Unternehmens unabdingbar. Zudem findet man in den vier Standards keine Antworten, welche Risiken und Chancen im Cloud Computing bestehen. Zur Klärung helfen Publikationen, etwa von der European Network and Information Security Agency oder der Cloud Security Alliance. Dort werden nicht nur Risiken und Nutzen aufgezeigt, sondern Strategien entwickelt, diesen Risiken effektiv entgegenzuwirken und den Nutzen effektiv zu realisieren.
Vor diesem Hintergrund muss es für jedes Unternehmen, das den Weg in die Cloud gehen möchte, Ziel sein, IT-Governance-Prozesse in Hinblick auf die Anforderungen der Cloud und die eigenen Bedürfnisse zu entwickeln. Wenn ein Unternehmen bisher keine Governance-Prozesse etabliert hat, ist der Einstieg in die Cloud ein guter Zeitpunkt, dies nachzuholen. Wenn ein Unternehmen bereits über Governance-Prozesse verfügt, müssen diese sicherlich überprüft und an die neuen Gegebenheiten im Cloud Computing angepasst werden. Dabei sind die Erfolgsfaktoren [4] der Einbezug des Top Management, die Schaffung eines gemeinsames Verständnis für alle beteiligten Parteien zu Geschäfts- und IT-Zielen, die mit der Cloud-Nutzung erreicht werden sollen, sowie die Sicherstellung eines effektiven Kommunikations- und Change-Management.


Quellen
[1] Büst, R.; Wiedemann, D.G.: Folgen der Schatten-IT. Cloud untergräbt IT-Kontrolle. In: Computerwoche Online, 16.08.2011. Download: http://www.computerwoche.de/management/cloud-computing/2491361/index2.html.
[2] Büst, R.: Cloud Computing und die Schatten-IT. In CloudUser | Ξxpert 22.02.2011. Download: http://clouduser.org/management/cloud-computing-und-die-schatten-it-5986.
[3] Eriksdotter, H.: Cloud braucht neue Ansätze. Alte Governance-Modelle versagen. In: CIO.de, 21.01.2011. Download: http://www.cio.de/was_ist_cloud_computing/anwender/2260850/index.html.
[4] ISACA: IT Control Objectives for Cloud Computing: Controls and Assurance in the Cloud. 2011.
[5] Wiedemann, D.G.: IT-Governance - die Wolke fest im Griff. Vortrag auf der SecTXL '11 in Hamburg, 11. August 2011. Download: http://www.slideshare.net/wiedemdi/cloud-governance-wiedemann-proventa-20110811.
[6] Wiedemann, D.G.; Strebel, J.: IaaS-Nutzung in Deutschland 2011. Karlsruhe, 2011. Download: http://www.slideshare.net/wiedemdi/iaasnutzung-in-deutschland-2011-zusammenfassung-der-studienergebnisse


Bildquelle: http://kscottmorrison.wordpress.com



Cloud Computing vs. Datacenter Automation

In diesem Artikel möchte ich analysieren wie Cloud Computing dazu beitragen kann Rechenzentren effizienter zu betreiben. Ich möchte speziell erläutern welche Aspekte der IT-Infrastruktur sich sinnvoll mittels öffentlichem, privatem und Hybrid Cloud Computing automatisieren lassen, gleichzeitig aber auch die Limitationen der „Wolke“ beleuchten.

von Matthias Rechenburg

Bestandsanalyse – was sind Rechenzentren?

Um es kurz zu sagen: „Rechenzentren sind komplexe Monster“.

Um Rechenzentren effizient zu betreiben ist es notwendig genau zu analysieren was ein „Rechenzentrum“ alles beinhaltet. Hierzu einigen einfache Fakten, die wir aus langjähriger Erfahrung im Aufbau, der Administration und Automatisierung von Rechenzentren, „gelernt“ haben.

Rechenzentren sind verschieden!

Jeder Betreiber von Rechenzentren hat verschiedenste Anforderungen, Bedürfnisse und auch (Technologie-) Vorlieben. Ein jedes Rechenzentrum wird dementsprechend geplant, aufgebaut und betrieben. Die Schlussfolgerung die sich daraus ergibt ist das alle Rechenzentren unterschiedlich sind und das es keine zwei genau gleichen Rechenzentren auf dieser Welt gibt.

Alle Rechenzentren implementieren dieselben Subsysteme

Trotz der unterschiedlichen Anforderungen der Rechenzentrumsbetreiber findet man in jedem Rechenzentrum dieselben „Subsystem“ wie z.B. Server-Deployment, Netzwerk-Management, IP-Adressen DNS Verwaltung, System- und Service-Überwachung, Backup/Restore, Virtual Machine- und Storage-Management usw.
Nahezu jedes Rechenzentrum auf dieser Welt verfügt über diese Subsysteme.

Die Technologien, die in den Subsysteme eingesetzt werden, sind verschieden!

Alle Rechenzentren benutzen dieselben Subsystem, jedoch implementieren sie diese Subsysteme mit einer Vielzahl an unterschiedlichen Technologien.

Hier ein Beispiel für das „Virtualization“ Subsystem:

  • der eine schwört auf Xen
  • der nächste bevorzugt KVM
  • wieder ein anderer setzt nur VMware ein
  • für den nächsten gibt es nur OpenVZ

Dasselbe Beispiel für das „System- und Service Überwachung“ Subsystem:

  • der erste mag Nagios
  • der zweite bevorzugt Icinga
  • der dritte möchte lieber Zabbix
  • und der vierte setzt Collectd ein

Die Auswahl der Technologien für ein jedes Subsystem in einem Rechenzentrum ist wiederum abhängig von den Anforderungen, Bedürfnissen und Vorlieben des Systemadministrators, der IT Infrastruktur-Designer und dem Firmen Grundsatz.

Erhöhung der Komplexität ist umgekehrt proportional zu Hochverfügbarkeit

Ein recht einfaches Prinzip. Je komplexer ein System ist, je schwieriger ist es, es hochverfügbar zu betreiben. „KIS“ (Keep It Simple) hilft oftmals den Grad der Robustheit drastisch zu erhöhen.

Erhöhung der Komplexität ist umgekehrt proportional zu Möglichkeit der Automatisierung

Angelehnt an die vorherige Erkenntnis hier auch wieder eine simple, umgekehrt proportionale Abhängigkeit bezüglich dem Grad der Möglichen Automatisierung und der Komplexität eines Systems. Ist jeder Server in einem Rechenzentrum eine „einzigartige Spezialkonstruktion“ ist es schwierig dieses System in die gesamt Automatisierungs- Strategie der IT Infrastruktur einzupassen.

Virtuelle Maschinen laufen auf physikalischen Server Systemen

Virtuelle Maschinen erlauben Services „Hardware unabhängig“ zu betreiben. Die Abstraktion des eigentlichen Services in einer Virtuellen Maschine bringt den gewaltigen Vorteil mit sich, das der eigentliche Dienst nun eine (virtuelle Maschine) „Datei“ ist und das man diese „Datei“ dann recht einfach von einer Hardware auf die andere migrieren kann.
Die „Hardware-Unabhängigkeit“ ist aber auch nur zum Teil richtig da einen Virtuelle Maschine immer ein physikalisches Host System benötigt auf dem sie betrieben wird.
Die einfache Schlussfolgerung daraus ist das Virtuelle Maschinen physikalische Systeme benötigen, auf denen sie laufen.

Physikalische System gehen „kaputt“

Ähnlich wie bei „Murphy's Law“, wo wenn es schon schlimm ist noch schlimmer kommt, ist die Hauptabhängigkeit der Services die in einem Rechenzentrum betrieben werden leider nicht wirklich robust. Physikalische System gehen, ohne Ausnahme, irgendwann kaputt. Kaputt heißt z.B. Festplatten oder Lüfter fallen aus, Speicher korrumpiert, Netzwerkkarten fallen aus usw. Dies beeinträchtigt natürlich ungewollt den Betrieb der Dienste.

Gerade der Aspekt das physikalische System tendieren kaputt zu gehen ist sehr wichtig!
Eine große Bestrebung für Betreiber von Rechenzentren sollte also sein zu versuchen den „schwachen“ Teil der betriebenen Dienste, nämlich die physikalische Hardware, unabhängig zu machen von dem eigentlichen Dienst, der nur aus „Software“ besteht.
Die Software selber, die den Dienst ausmacht, kann eigentlich nicht wirklich kaputt gehen, denn die Bits und Bytes der Software verändern sich normalerweise nicht eigenständig (unter der Voraussetzung das sie auf einem sicheren, hochverfügbaren Storage-System gespeichert wird).

Was ist wichtig für den End-Benutzer?
Aus der Sicht eines End-Benutzers von Services eines Rechenzentrums sieht das ganze viel einfacher aus. Für den Benutzer ist es nur wichtig das der gewünschte Service „verfügbar“ ist. Das heißt im Detail das der Hostname (oder die IP-Adresse) des Serversystems, das den Service auf einem der IP-Ports anbietet, läuft und die Server-Applikation selber auch läuft und erreichbar ist. Einfachstes Beispiel dafür ist eine simple Webseite die auf einem Server mit einem speziellen Hostnamen unter TCP/IP Port 80 zu Verfügung steht.

Wie kann uns nun unter den oben angesprochenen Aspekten und Fakten Cloud Computing helfen unsere Rechenzentren effizienter zu betreiben?

Alles in die Cloud migrieren – das wird schon helfen …

Manch ein Cloud Anbieter verspricht Kunden gern:

“Einfach alles in die Cloud migrieren, das löst all Ihre Probleme.“

Dies ist auch zum Teil richtig da die vereinfachte und voll automatisierte Bereitstellung von vorkonfigurierten virtuellen Maschinen in bestimmten Bereichen wie z.B. in der Entwicklungs- und Qualtitätsicherungs-Abteilung, ohne großen Aufwand eingeführt werden können und dann zur Steigerung der Effizienz beitragen. Ein weiteres Beispiel sind Firmen deren Produktions-Systeme extrem schwankenden „Workload-Peaks“ ausgesetzt sind wie z.B. E-Commerce- und Shop-Systeme im Internet zur Weihnachtszeit.

Gerade die Möglichkeit des Ausbalancieren solcher Services mittels zusätzlicher Server-Ressourcen von öffentliche Cloud Providern während „Workload-Peaks“ bietet hohe Flexibilität und erlaubt es auch einen „Massenansturm“ von Kunden gut zu überstehen.

Je nach Geschäftsmodell und Fokus einer Firma kann Cloud Computing so in 50 – 60% der Abteilungen sinnvoll betrieben werden.

Nicht desto trotz gibt es immer ein Teil von Systemen die man, aus verschiedensten Gründen (z.B. rechtliche), nicht unbedingt in der Cloud (öffentlich oder auch private) betreiben möchte.

Und wer verwaltet und administriert die Cloud?

Ein weiterer wichtiger Aspekt ist das die „Wolke“ ein meist relativ abgeschlossener Teil der gesamten IT-Infrastruktur ist. Cloud Computing kann also nur zu einem begrenzten Teil dazu beitragen die komplette Verwaltung des Rechenzentrums zu automatisieren.

Des weiteren bedarf die Cloud, als ein Teil des Rechenzentrums, natürlich auch Verwaltungs- und Administration-Aufwand d.h. faktisch befinden uns immer noch in genau demselben Bereich wie am Anfang, nämlich die Bereitstellung und der Administration von physikalischen Server Systemen, … die irgendwann kaputt gehen.

Fazit: Cloud Computing vs. Datacenter Automation
Eine Cloud, die in einem Rechenzentrum betrieben wird, ist wiederum nur ein weiterer Dienst der unter denselben Aspekten der jeweiligen Subsystem behandelt und betrieben wird z.B. Die Cloud Dienste müssen überwacht werden, Virtuelle Maschinen und speziell deren physikalische Hosts System müssen bereitgestellt und administriert werden, die Cloud Systeme müssen ins Backup/Restore Subsystem eingebracht werden, IP-Adressen sowie DNS Hostnamen müssen konfiguriert werden usw.
Um genau jenen Bereich in einem Rechenzentrum zu automatisieren benötigt man eine

„Middleware“ zur kompletten Automatisierung von Rechenzentren

Für die Automatisierung von kompletten Rechenzentren ist eine übergreifende Abstraktionsschicht notwendig, die die automatisch Verwaltung aller beteiligten Subsystem eines Rechenzentrums erlaubt und deren Technologie-Schicht (unterhalb der Subsysteme) extrem modular gestaltet ist um jeglichen Technologie- Anforderungen und Bedürfnissen gerecht zu werden.

Des weiteren muss diese Abstraktionsschicht („Middleware“) die Rechenzentrums-Logik implementieren, die z.B. dafür notwendig ist um einen neuen Dienst bereitzustellen.
Diese Logik beschreibt den Lebens-Zyklus eines Dienstes in einem Rechenzentrum von der Initialen Konfiguration und Bereitstellung bis zur De-provisionierung. Der abgebildete Lebens-Zyklus hat zudem die Aufgabe den einzelnen Subsystem Informationen über den Dienst und dessen Status mitzuteilen, damit diese automatisiert ihre Arbeit verrichten können.

Es ist dann weiterhin erforderlich, das die eigentliche Aufgabe, z.B. das starten einer Virtuellen Maschine, wiederum in den verschiedenen möglichen Technologien, mittels unterschiedlicher Module für jede Technology (Plugins), abstrahiert wird.

Um den größtmöglichen Grad der Automatisierung von Rechenzentren zu erreichen ist also ein Modell nötig, das möglichst viele Informationen über einen zu betreibenden Dienst in einem „Master Objekt“ konzentriert um so möglichst viele der verschieden Aufgaben und Aktionen selbständig zu übernehmen.

Ein gutes Beispiel für ein solches, sehr erfolgreiches Modell ist der Fernseher.

Ein Fernseher ist ein hoch komplexes technisches System das dem End-Benutzer einen Dienst zu Verfügung stellt und „fernseh- gucken“ ermöglicht. Diese komplexe System wird für den Benutzer mittels einer einfachen Steuerung abstrahiert, der Fernbedienung.
Das Fernsehgerät selbst enthält alle Informationen wie die einzelnen Subsysteme anzusprechen sind z.B. was zu tun ist wenn der Benutzer den Kanal wechseln möchte.

Vielmehr als nur Cloud Computing ...

Eine, wie hier beschriebene „Middleware“, die den oben angesprochenen Fakten und deren Schlussfolgerungen gerecht wird, ist die Open-Source Datacenter Management und Cloud Computing Plattform openQRM. openQRM wird zur übergreifenden Automatisierung von IT-Infrastrukturen eingesetzt und bietet zusätzlich auch Funktionalitäten zum Öffentlichem, Privatem,- und auch dem Hybrid Cloud Computing.

openQRM abstrahiert Dienste in einem „Appliance“ Master-Objekt das alle Informationen beinhaltet, wie ein Service zu verwalten ist z.B. Typ der Virtuellen Maschine oder welches Physikalische System, Hardware-Anforderungen, Typ und Version des Betriebssystems, Details über zu startenden Applikationen und auch Service-Level-Agreements (SLA) wie z.B. der Dienst benötigt mindestens 2 CPUs, 4GB Speicher und muss Hochverfügbar sein.

Unterhalb der Komponenten des „Appliance“ Master-Objekts sind die verschiedenen Subsystem angesiedelt, die die eigentlichen Aktionen dann mittels unterschiedlicher Plugins in den verschiedenen Technologien umsetzen und ausführen.

Als eines der wenigen Lösungen, die auf der Idee von Cloud Computing basieren, bietet openQRM die Möglichkeit die komplette IT-Infrastruktur zu automatisieren und nicht nur einen Teil davon, der mit der automatisierten Bereitstellung von Virtuellen Maschinen (Cloud Computing) abgedeckt werden kann. Mit openQRM lässt sich die gesamten Aufgaben in Rechenzentren effizient automatisieren ohne sich auf bestimmte Technologien festlegen zu müssen. Da openQRM auch die automatisierte Bereitstellung von physikalische Systemen voll unterstützt kann man es sogar benutzen um, innerhalb der openQRM Cloud, „Wolken“ andere Cloud Anbieter voll automatisch seinen Benutzern zur Verfügung zu stellen. Um den „Cloud Vendor Locking“ auszuschließen stellt openQRM zudem Schnittstellen zu den bekannten Öffentlichen Cloud Anbietern wie z.B. Amazon EC2, Eucalyptus und der Ubuntu Enterprise Cloud zur Verfügung.


Über Matthias Rechenburg

Matthias Rechenburg ist Projektmanager des openQRM Projekts und Geschäftsführer der openQRM Enterprise GmbH. Stellen Sie ihm eine beliebige Frage zu den tiefsten openQRM-Interna - Matthias wird sich freuen Ihnen die technisch fundierteste Antwort geben zu können. Seit vielen Jahren ist er in eine Vielzahl Open-Source-Projekte involviert, die sich mit hochverfügbaren Cluster-Lösungen, Serverkonsolidierung, Netzwerk- und Storage-Management beschäftigen. Sein Hauptinteresse liegt in den verschiedenen Virtualisierungs-Technologien, deren Funktionalität und deren Integration in eine generische Virtualisationsschicht für moderne Datacenter. Matthias lebt mit seiner Frau in Bonn, liebt es selbst zu entwickeln, reist gern und genießt es sich an Open-Source-Veranstaltungen und Kongressen zu beteiligen.


Bildquelle: http://www.hcrealty.com