Cloud Computing. Analyse des Einflusses von nicht-funktionalen Anforderungen bei der Einführung in Unternehmen


Bachelorarbeit, 2011

92 Seiten, Note: 1,0

Claus Wimbsberger (Autor)


Leseprobe

Inhaltsverzeichnis

Abstract

Inhaltsverzeichnis

Abbildungsverzeichnis

Abkürzungsverzeichnis

1 Einleitung

2 Grundlagendes Cloud Computing
2.1 Charakteristika
2.2 Technische Grundlagen
2.2.1 Virtualisierung
2.2.2 Serviceorientierte Architekturen
2.2.3 Web Services
2.3 Deployment-Modelle
2.3.1 Private Cloud
2.3.2 PublicCloud
2.3.3 Hybrid Cloud
2.4 Delivery-Modelle
2.4.1 Infrastructure as a Service (laaS)
2.4.2 Platform as a Service (PaaS)
2.4.3 Software as a Service (SaaS)
2.5 Marktentwicklung und -situation

3 Anforderungsmodell als Leitfaden bei der Einführung von Cloud Computing in Unternehmen
3.1 Datenschutz
3.1.1 Personenbezogene Daten
3.1.2 Zulässigkeit der Datenweitergabe
3.1.3 Differenzierung zwischen Public Cloud und Private Cloud
3.1.4 PrivateCloud
3.1.5 PublicCloud
3.2 Sicherheit
3.2.1 Anforderungen aus dem Bundesdatenschutzgesetz
3.2.2 Weitere Anforderungen an die Sicherheit

4 Case-Study vwork
4.1 Vorstellung des Unternehmens
4.2 Anwendung des Anforderungsmodells auf vwork
4.2.1 Zutrittskontrolle
4.2.2 Zugangskontrolle
4.2.3 Zugriffskontrolle
4.2.4 Weitergabekontrolle
4.2.5 Eingabekontrolle
4.2.6 Auftragskontrolle
4.2.7 Verfügbarkeitskontrolle
4.2.8 Transparenz
4.2.9 Interoperabilität und Portabilität
4.3 Fazit

5 Zusammenfassung

Literaturverzeichnis

Anhang

Abstract

Die zunehmende Verlagerung klassischer Geschäftsprozesse in IT-Prozesse bedarf eines stetigen Ausbaus der IT-Ressourcen in Unternehmen, womit hohe Kosten für die Wartung und Administration der betreffenden Systeme einhergehen. Als ein Lö­sungsansatz mit hohem Kostensenkungspotential wird die Auslagerung von Unter­nehmensprozessen auf die von einem externen Anbieter bereitgestellte virtualisierte Infrastruktur gemäß dem Konzept des Cloud Computing gesehen. Jedoch wohnt die­sem technologischen Ansatz naturgemäß eine hohe Intransparenz bezüglich der Verarbeitung von Daten inne. Die Folge ist eine oftmals kritische Sichtweise auf die­se Technologie von Seiten der auslagernden Unternehmen, wobei Bedenken bezüg­lich des Datenschutzes und der Sicherheit eine große Rolle spielen.

Gegenstand der vorliegenden Arbeit ist die Identifikation von nicht-funktionalen An­forderungen an das Cloud Computing, mit deren Erfüllung den Bedenken gegenüber dieser Technologie begegnet werden kann. Zunächst werden auf Basis der für das Cloud Computing typischen globalen Datenverschiebung und den daraus resultie­renden juristischen Implikationen entsprechende Anforderungen an den Datenschutz erörtert. Darüber hinaus erfolgt eine Determinierung der Anforderungen an die Si­cherheit beim Cloud-Provider. Die Grundlage hierfür bildet eine Analyse der Charak­teristika und der technischen Grundlagen des Cloud Computing. Die gewonnenen Erkenntnisse werden in einem Anforderungsmodell strukturiert und kategorisiert. Weiterhin wird in einer Case-Study exemplarisch evaluiert, inwieweit eine Erfüllung der identifizierten Anforderungen bei Cloud-Anbietern gegeben ist.

Abbildungsverzeichnis

Abbildung 1: Gartner Hype Cycle 2010

Abbildung 2: Betriebssystemvirtualisierung

Abbildung 3: Plattformvirtualisierung - Typ 1 - Hypervisor

Abbildung 4: Plattformvirtualisierung - Typ 2 - Hypervisor

Abbildung 5: SAN (Storage Area Network)

Abbildung 6: Grundkonzept einer SOA

Abbildung 7: Rollen und Aktionen in einer SOA

Abbildung 8: Public Clouds, Private Clouds und Hybrid Clouds

Abbildung 9: Amazon Virtual Private Cloud

Abbildung 10: Schichtenmodell der Cloud-Dienste

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

1 Einleitung

„Work and Life with the Cloud“ stand, neben den schon mittlerweile etablierten Tech­nologien, wie Tablet-PCs und Smartphones, im Fokus der diesjährigen CeBIT 2011 und stellte somit das Schwerpunktthema im Programm der Veranstaltung dar. Im Rahmen der Messe wurden Anwendungsbeispiele für den medienbruchfreien, in­teroperablen Einsatz von Cloud Computing vorgestellt und das Potenzial dieser Technologie aufgezeigt (CeBIT 2011, 2011). Doch nicht nur in Deutschland wird Cloud Computing als ein Megatrend der IKT-Branche gehandelt. So sieht auch Gartner dieses Konzept als eine Entwicklung in der IT an, in die mit die höchsten Er­wartungen im derzeitigen Technologieumfeld gesetzt werden.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Gartner Hype Cycle 2010

Im von Gartner entwickelten Modell zur Erwartungshaltung gegenüber aktuellen Technologien ist Cloud Computing zum jetzigen Zeitpunkt am Gipfel der Erwartun­gen anzusiedeln (Pettey, 2010). Nach dieser Phase folgt das Tal der Enttäuschung. Trotz aller Erwartungen, die an das Cloud Computing gestellt werden, wird auch die­se Technologie bei näherer Betrachtung neben ihren unbestreitbaren Vorteilen ge­genüber klassischen IT-Landschaften, wie niedrigere Investitions- und Implementie- rungskosten, der Skalierbarkeit der Infrastruktur oder einer besseren Verfügbarkeit (Terplan & Voigt, 2011), auch ihre Schwächen offenbaren. Diese schlagen sich vor allem anwenderseitig unter anderem in Form von Data-Lock-Ins (Steger, 2010), dem Problem der unzureichenden Schnittstelleninteroperabilität (Clemons & Chen, 2011) oder auch der mangelnden Transparenz (Glott, Elmar, Ahmad-Reza, & Matthias, 2011) nieder. Darüber hinaus offenbart das Gesamtkonzept des Cloud Computing, bei dem der Speicherort der Anwenderdaten naturgemäß unklar ist (Brock & Goscinski, 2010) und die Daten zudem dynamisch über Staatsgrenzen hinweg ver­schoben werden (Velev & Zlateva, 2011), gerade in Verbindung mit dem deutschen bzw. europäischen Datenschutzgesetz und den sich daraus ergebenden Anforde­rungen an die Datensicherheit eklatante Mängel (Kleinz, 2010). Aus diesem Grund müssen sich Unternehmen, die eine Einführung von Cloud-Diensten zur Unterstüt­zung ihrer Geschäftsprozesse planen, umfassend mit diesen Anforderungen ausei­nandersetzen und auf eine sorgfältige Auswahl des Cloud Providers achten (Christmann, Hilpert, & Thöne, 2010).

Vor diesem Hintergrund wird in dieser Bachelorarbeit ein Anforderungsmodell mit dem Fokus auf datenschutzrechtlichen und sicherheitstechnischen Aspekten vorge­stellt, woraufhin anhand einer Case-Study analysiert werden soll, inwieweit diese An­forderungen von Seiten des Cloud-Providers erfüllt werden können.

Zunächst wird der Begriff des Cloud Computing näher definiert und ein Überblick über die technischen Grundlagen gegeben. Im Anschluss werden verschiedene Deployment- und Delivery-Modelle beleuchtet, bevor auf die aktuelle Marktsituation und die Bedenken von Unternehmen gegenüber dieser Technologie eingegangen wird. Im weiteren Verlauf wird das Anforderungsmodell zur Einführung von Cloud Computing im Unternehmen präsentiert, welches in die beiden Hauptsegmente Da­tenschutz und Sicherheit untergliedert ist. Danach folgen die Evaluation eines Cloud- Providers anhand der identifizierten Anforderungen und eine Bewertung der Ergeb­nisse. Zuletzt werden die Ergebnisse zusammengefasst und ein Ausblick auf zukünf­tige Entwicklungen gegeben.

2 Grundlagen des Cloud Computing

Cloud Computing macht unternehmensrelevante Anwendungen jederzeit und an je­dem Ort verfügbar. Die Basis dazu bildet eine Auslagerung von Prozessen und An­wendungen auf externe Serverumgebungen, wobei Hardware und Software nicht mehr vom Unternehmen selbst betrieben, sondern vom Cloud Provider unterhalten werden (Manhart, 2011).

In diesem Kapitel erfolgt eine Beschreibung der Grundlagen des Cloud Computing, wobei zunächst die Charakteristika und Besonderheiten dieser Technologie umrissen werden. Im weiteren Verlauf wird näher auf die technischen Grundlagen und deren Umsetzung eingegangen, woran sich die Vorstellung der geläufigen Deployment- und Delivery-Modelle anschließt.

2.1 Charakteristika

In der Literatur wurde der Begriff des Cloud Computing erstmals 1997 verwendet. Jedoch existiert bisher aufgrund der fortschreitenden Entwicklung, der diese Techno­logie bis zum aktuellen Zeitpunkt unterworfen ist, noch keine eindeutige Definition des Cloud Computing (Felbecker, 2010).

Hinter dem Begriff des Cloud Computing steht eine innovative und extreme Form des Outsourcings (Clemons & Chen, 2011), das auf dem Paradigma des Utility Compu­ting basiert. Demnach sollen IT-Dienstleistungen standardisiert und analog zur Ver­sorgung mit Gütern, wie z.B. Wasser und Strom, in bestimmten Einheiten bereitge­stellt bzw. verbraucht werden (Pannicke, Repschläger, & Zarnekow, 2010). Herkömmliche IT-Systeme nutzen zur Leistungsbereitstellung lokale Ressourcen. Um einer wachsenden Unternehmensinfrastruktur und damit auch den gestiegenen Anforderungen an die unternehmensinterne IT-Landschaft gerecht zu werden, müs­sen Unternehmen in neue Hardware und Software investieren, um einen adäquaten Grad der Betriebsbereitschaft und Produktivität aufrecht zu erhalten. Vor diesem Hin­tergrund kann das Cloud Computing Anwendung finden, bei dem der Großteil der Rechenarbeit außerhalb der Firewall des Unternehmens verrichtet und basierend auf dem Pay-per-Use-Modell abgerechnet wird. Dieses Konzept bietet die Möglichkeit, Hard- und Softwareanforderungen dynamisch zu skalieren und die bereitgestellten Ressourcen im Unternehmen effizient zu nutzen. Dadurch können IT-Landschaften schlanker gestaltet und Kosten eingespart werden. Zudem kann sich das anwenden­de Unternehmen auf seine eigentlichen Kernkompetenzen konzentrieren (Esteves & Rong, 2010).

Da, wie oben schon erwähnt, keine eindeutige Definition des Cloud Computing exis­tiert, wird der Ansatz verfolgt, die Eigenschaften dieser Technologie anhand von be­stimmten Charakteristika zu konkretisieren. Hierbei kann auf die Arbeit des National Institute of Standards and Technology (NIST) (Grance & Mell, 2011) zurückgegriffen werden, das fünf Grundlegende Charakteristika des Cloud Computing vorstellt:

- „Bedarfsbetrieb mit Selbstbedienung: Ein Cloud-Konsument kann unilateral Ressourcen eines Cloud-Computing-Systems wie beispielsweise Rechen­leistung oder Speicherplatz nach seinem aktuellen Bedarf selbst anfordern, ohne dass eine menschliche Interaktion mit einem Serviceanbieter erfolgen muss.
- Breit verfügbarer Netzwerkzugriff: Die Ressourcen eines Cloud-Computing- Systems sind über ein Netzwerk verfügbar und werden durch Standardver­fahren zugegriffen, die heterogene Endbenutzerplattformen (z.B. Mobiltele­fone, Laptops und PDAs) fördern und unterstützen.
- Ressourcenpoolbildung: Die Rechen- und Speicherressourcen eines Cloud- Computing-Anbieters sind zu einem Ressourcenpool zusammengefasst, aus dem verschiedene Konsumenten mit einem Mehrmandantenmodell be­dient werden, wobei verschiedene physische und virtuelle Ressourcen dy­namisch und nach Bedarf des Cloud-Konsumenten zugewiesen und ange­passt werden. Es gibt in Cloud-Computing-Systemen eine Ortsunabhängig­keit der Art, dass ein Cloud-Konsument keine Kontrolle und kein Wissen über den exakten Ort der bereitgestellten Ressourcen hat, er jedoch mög­licherweise den Ort auf einer höheren Abstraktionsebene spezifizieren kann (z.B. Land, Region oder Rechenzentrum). Ressourcenbeispiele sind Spei­cherkapazität, Rechenleistung, Hauptspeicher, Netzwerkbandbreite, virtuel­le Maschine und Instanz.
- Schnelle Elastizität: Die Ressourcen eines Cloud-Computing-Systems kön­nen schnell, elastisch, einfach und in einigen Fällen auch vollständig auto­matisiert bereitgestellt werden, um schnell Ressourcen sowohl nach oben als auch nach unten zu skalieren. Für den Cloud-Konsumenten erscheinen die verfügbaren Ressourcen eines Cloud-Computing-Systems als nahezu unbegrenzt und zu jeder Zeit und fast beliebiger Menge anmietbar.
- Überwachte Systemausführung: Cloud-Computing-Systeme überwachen automatisiert die Serviceausführung und optimieren optional die Ressour­cennutzung, indem sie ihre Messfähigkeiten auf verschiedener Abstrakti­onsebene abhängig vom Servicetyp (z.B. Speicher, Rechenleistung, Band­breite, Benutzerprofil) passend einsetzen. Der Ressourcenverbrauch kann überwacht, kontrolliert und berichtet werden und damit für Transparenz so­wohl für den Anbieter als auch für den Konsumenten eines Cloud-Services sorgen“ (Ruppel & Streitberger, 2009, S. 5-6).

Aus diesen Charakteristika lässt sich letztendlich zwar keine allgemeingültige, jedoch schlüssige Definition ableiten:

„Unter Ausnutzung virtualisierter Rechen- und Speicherressourcen und moderner Web-Technologien stellt Cloud Computing skalierbare, netzwerk-zentrierte, abstra­hierte IT-Infrastrukturen, Plattformen und Anwendungen als On-Demand-Dienste zur Verfügung. Die Abrechnung dieser Dienste erfolgt nutzungsabhängig“ (Baun, Kunze, Nimis, & Tai, 2009, S. 4).

Bei dieser Definition wird bewusst außer Acht gelassen, ob die Dienste auf Basis ei­nes verteilten Systems oder eines einzelnen, leistungsstarken Servers bereitgestellt werden, was eine Differenzierung zum Grid Computing darstellt, bei dem das System prinzipiell verteilt ist (Baun, Kunze, Nimis, & Tai, 2009).

2.2 Technische Grundlagen

Die technischen Grundlagen des Cloud Computing bilden seit Jahren verfügbare und etablierte Technologien (Meir-Huber, 2010). Als wichtigste Bestandteile sind hierbei das Konzept der Virtualisierung sowie Serviceorientierte Architekturen und deren konkrete Umsetzung in Form von Web Services zu nennen, deren Eigenschaften und Anwendungsformen im Folgenden erläutert werden (Baun, Kunze, Nimis, & Tai, 2009).

2.2.1 Virtualisierung

Virtualisierung ist ein Grundbaustein bei der Realisierung von Clouds (Roderer, 2010) und wird innerhalb des Komplexes des Cloud Computing als allgemein be­kannte, tragende Technologie gesehen (Gartner, 2010).

Für den eigentlichen Begriff der Virtualisierung gibt es viele Deutungsversuche (Hantelmann, 2007), da er in den jeweiligen Bereichen der Informatik anders ver­standen wird (Metzger, Reitz, & Villar, 2011). Eine der treffendsten Definitionsversu­che stammt von Hewlett-Packard:

„Virtualisierung ist eine Herangehensweise in der IT, die Ressourcen so zusammen­fasst und verteilt, dass ihre Auslastung optimiert wird und automatisch Anforderun­gen zur Verfügung steht“ (Schmitz, 2005).

Im Bereich der Virtualisierung können mehrere Virtualisierungskonzepte unterschie­den werden. In Bezug auf die Anwendung bei der Umsetzung in Cloud Computing­Lösungen spielen insbesondere folgende Konzepte eine essentielle Rolle: Betriebs- systemvirtualisierung, Plattformvirtualisierung, Speichervirtualisierung, Netzwerkvir- tualisierung und Anwendungsvirtualisierung (Baun, Kunze, Nimis, &Tai, 2009).

2.2.1.1 Betriebssystemvirtualisierung

Bei der Betriebssystemvirtualisierung werden im Zuge einer Partitionierung durch das Betriebssystem getrennte Instanzen erzeugt, in denen jeweils mehrere Anwen­dungen laufen (Dickmann, Heinke, Neumann, & Tackenberg, 2011). Diese Container oder Jails genannten Laufzeitumgebungen werden unter einem Kernel ausgeführt und von diesem koordiniert (Krohn, 2006), treten aber nach außen wie eigenständige Systeme auf, sodass sich die jeweiligen Applikationen nur innerhalb der Instanz un­tereinander sehen können (Baun C. , 2008).

Der Vorteil der Betriebssystemvirtualisierung liegt gerade vor dem Hintergrund des Cloud Computing in der Tatsache begründet, dass bei einem Virtualisierungsauf- wand von 1-3% bis zu 300 Gast-Betriebssysteme auf einer Hardware ausgeführt werden können (Hartl & Laurent, 2009).

2.2.1.2 Plattformvirtualisierung

Bei der Plattformvirtualisierung werden auf einem physischen Computer mehrere virtuelle Maschinen mit eigenen Betriebssystemen betrieben (Schmidt, 2010). Die Entkoppelung der virtuellen Maschinen von der realen Maschine erfolgt hierbei durch eine Abstraktionsschicht (Reischl, 2007), die in Form eines sogenannten Virtual Ma­chine Monitors oder auch Hypervisors realisiert wird. Hierbei kann zwischen Typ 1- und Typ 2-Hypervisoren unterschieden werden (Gull, 2010):

Ein Hypervisor vom Typ 1 wird direkt auf der darunter liegenden physischen Hard­ware ausgeführt. Von dort aus kontrolliert er die Hardware-Ressourcen und über­wacht die Gastbetriebssysteme, die über ihm installiert werden.

Ein Hypervisor vom Typ 2 wird hingegen wie eine gewöhnliche Software auf einem Betriebssystem ausgeführt, das auf der physischen Hardware installiert ist. Die Gast­betriebssysteme werden anschließend über ihm installiert und ausgeführt (Büst, 2010).

Im Komplex der Plattformvirtualisierung auf Basis eines Typ 1- oder Typ 2- Hypervisors kann zwischen den Modellen der vollständigen oder auch Komplett- Virtualisierung und der Para-Virtualisierung unterschieden werden (Baun, Kunze, Nimis, & Tai, 2009).

Bei der Komplettvirtualisierung wird jedem Gastbetriebssystem eine standardisierte virtuelle Hardware zur Verfügung gestellt. Prozessor- und Hauptspeicherzugriffe werden direkt an die physische Hardware durchgereicht (Wöhrmann B. , 2011), wodurch in den Gastsystemen eine fast native Verarbeitungsgeschwindigkeit ermög­licht wird (Baun C. , 2008). Der Zugriff auf andere Geräte, wie Grafikkarten und Fest­platten, wird emuliert (Bach, 2008).

Die Para-Virtualisierung stellt einen Kompromiss zwischen der vollständigen Virtuali- sierung und der Betriebssystemvirtualisierung dar (Fischer). Im Gegensatz zur voll­ständigen Virtualisierung wird die Hardware nicht vollständig emuliert (VServer- Vergleich), sondern eine Programmierschnittstelle zur Verfügung gestellt (ITWissen).

2.2.1.3 Speichervirtualisierung

Unter Speichervirtualisierung versteht man die logische Abstraktion der Informatio­nen von ihrem physischen Speicherort mittels Virtualisierung, um so den Speicher unabhängig von der zugrunde liegenden physischen Speicherhardware verwalten zu können (Symantec).

Dieses Modell der Virtualisierung findet häufig im SAN (Storage Area Network) An­wendung (SearchDataCenter).

Ein SAN stellt ein Hochgeschwindigkeitsnetz zwischen Servern und Speichersubsys­temen dar. Hierbei werden Speicherressourcen aus dem eigentlichen Netzwerk aus­gegliedert und in ein eigenes, unabhängiges Netzwerk überführt (Schwörer, 2008). Dazu wird eine logische Zwischenschicht zwischen den Applikationsservern im SAN und den physischen Speicherressourcen (z.B. RAID Systeme) eingezogen (Tödter, 2008).

Diese trennt den direkten Zugriff zwischen den Applikationsservern und den Spei­chersystemen. Die Server kommunizieren dann mit dieser Abstraktionsschicht und nicht mit den Speichergeräten selbst. Dadurch können Modifikationen am physischen Speicher, ohne eine Beeinträchtigung der auf den Speicher zugreifenden Anwen­dungen, durchgeführt werden (Tutschek, 2006). Zudem können virtuelle Festplatten im SAN-System gespiegelt werden, wodurch Daten bei Katastrophen oder einem Totalausfall des Systems schnell rekonstruiert werden können (Tödter, 2008).

2.2.1.4 Netzwerkvirtualisierung

Unter dem Begriff der Netzwerkvirtualisierung werden unterschiedliche Ansätze auf Hard- und Softwareebene zur Aufteilung oder Zusammenfassung von Netzwerkres­sourcen in logische Einheiten verstanden. So kann beispielsweise eine Abkoppelung des Anwenders von den physischen Gegebenheiten durch das Hinzufügen einer lo­gischen Schicht zum LAN erfolgen (Ebel, Groh, Höller, Runger, Sturm, & Wißkirchen, 2008).

Mithilfe der Netzwerkvirtualisierung werden anspruchsvolle Sicherheitskonzepte um­gesetzt. Als Beispiel können hier VPNs (Virtual Private Networks) angeführt werden. Bei diesem Konzept wird eine logische Kommunikationsverbindung zwischen zwei Teilnehmern bzw. Computern hergestellt, welche mit einer starken Verschlüsselung arbeitet. Dadurch entsteht für die Teilnehmer ein virtueller Tunnel, durch den die Kommunikation erfolgt (Hubovsky).

Des Weiteren stellen VLANs (Virtual Local Area Networks) eine wichtige Ausprägung der Netzwerkvirtualisierung dar. Eine VLAN-Lösung unterteilt ein vorhandenes Netz­werk in abgeschirmte Segmente, was durch die Zusammenfassung von Workstations und Servern zu logischen Gruppen mit Hilfe von Switches realisiert wird. Dadurch ist ein Datenaustausch nur zwischen Geräten innerhalb eines VLAN möglich.

In der Gesamtsicht stellt das geswitchte Netzwerk also eine Anzahl mehrerer, nicht verbundener LANs dar (Deutsche Telekom AG).

2.2.1.5 Anwendungsvirtualisierung

Bei der Anwendungsvirtualisierung oder auch Applikationsvirtualisierung werden An­wendungen von ihrer Umgebung isoliert, um Konflikte mit anderen Programmen oder dem Betriebssystem zu vermeiden. Hierzu wird eine Abstraktionsschicht zwischen einzelnen Anwendungen und dem Betriebssystem gesetzt, weshalb die Installation der Anwendung auf dem System des Anwenders entfällt (Meinel, Willems, Roschke, & Schnjakin, 2011).

Die Umsetzung dieses Ansatzes machen zwei unterschiedliche technische Konzepte möglich: Die serverseitige Anwendungsvirtualisierung und die clientseitige Anwen­dungsvirtualisierung.

Bei der serverseitigen Anwendungsvirtualisierung wird die eigentliche Anwendung vollständig auf einem zentralen Server installiert und ausgeführt. Der Anwender ar­beitet mit der vom Server auf das Endgerät übertragenen Benutzeroberfläche, wobei sämtliche Eingaben an den Server weitergeleitet, von diesem verarbeitet und eine entsprechende Aktualisierung der Benutzeroberfläche des Anwenders durchgeführt wird (CEMA).

Bei der clientseitigen Anwendungs-Virtualisierung wird die auf dem Server abgelegte Anwendung vom Benutzer On-Demand auf das Endgerät übertragen und in einer isolierten Umgebung ausgeführt. Während der Nutzung werden weitere Programm­komponenten nach Bedarf auf das Endgerät heruntergeladen und lokal ausgeführt (CANCOM).

2.2.2 Serviceorientierte Architekturen

2.2.2.1 Definition undCharakteristika

„Unter einer SOA (Service-Oriented Architecture) versteht man eine Systemarchitek­tur, die vielfältige, verschiedene und eventuell inkompatible Methoden oder Applikati­onen als wiederverwendbare und offen zugreifbare Dienste repräsentiert und dadurch eine plattform- und sprachenunabhängige Nutzung und Wiederverwendung ermöglicht“ (Finger & Zeppenfeld, 2009, S. 5,6).

Das Grundkonzept einer SOA lässt sich darüber hinaus anhand bestimmter Merkma­le definieren.

Als erstes Merkmal einer SOA ist die lose Kopplung von Diensten anzuführen.

Dabei werden Dienste nach dem Prinzip der dynamischen Bindung von Anwendun­gen oder anderen Diensten dynamisch gesucht, gefunden und eingebunden. Die Bindung erfolgt zur Laufzeit, weshalb zum Zeitpunkt der Übersetzung des Pro­gramms meist nicht bekannt ist, welcher Dienst aufgerufen wird.

Zudem stellt eine SOA einen Verzeichnisdienst bereit, in dem zur Verfügung stehen­de Dienste registriert werden. Dadurch können von Anwendungen benötigte Metho­den gefunden werden.

Eine Voraussetzung für die Verwendbarkeit des gefundenen Dienstes durch den Anwender ist das Vorhandensein von maschinenlesbaren Schnittstellen. Daher wer­den in einer SOA offene Standards verwendet, damit der Nutzer den Dienst eines unbekannten Anbieters verstehen kann.

Die bis zu diesem Punkt angeführten Merkmale lassen sich zu einem weiteren Cha­rakteristikum zusammenfassen: die Einfachheit von SOA macht eine schnelle und unkomplizierte Umsetzung möglich.

Als letzter Baustein im Konzept der SOA ist die obligatorische Sicherheit zu nennen, welche eine wichtige Voraussetzung für die weitgehende Akzeptanz dieses Architek­turansatzes darstellt (Melzer, 2010).

2.2.2.2 Rollen

In einer SOA werden folgende Rollen definiert: Dienstanbieter, Dienstnutzer und Verzeichnisdienst. Die Interaktion der verschiedenen Rollen lässt sich in einem Pro­zess beschreiben, bei dem an erster Stelle die Veröffentlichung eines angebotenen Dienstes durch den Dienstanbieter beim Verzeichnisdienst steht. Der Dienstnutzer sucht beim Verzeichnisdienst nach einem passenden Dienst und erhält den Verweis auf den Dienstanbieter. Im letzten Schritt führt der Dienstnutzer eine Abfrage der Be­schreibung beim Dienstanbieter durch und nutzt den angeforderten Dienst (Sherzad, 2008).

2.2.3 Web Services

2.2.3.1 Definition undCharakteristika

Web Services stellen eine konkrete Umsetzung des abstrakten SOA-Konzepts dar (Burghardt & Hagenhoff, 2003). Die W3C Web Services Architecture Group definiert Web Services wie folgt:

„Ein Webservice ist eine durch einen URI eindeutig identifizierte Softwareanwen­dung, deren Schnittstellen als XML-Artefakte definiert, beschrieben und gefunden werden können. Ein Webservice unterstützt die direkte Interaktion mit anderen Soft­wareagenten durch XML-basierte Nachrichten, die über Internetprotokolle ausge­tauscht werden“ (Eberhart & Fischer, 2003, S. 67).

Unter Einbeziehung obiger Definition lassen sich weitere grundlegende Charakteris­tika von Web Services identifizieren:

- Web Services werden durch einen URI eindeutig identifiziert.
- Die Schnittstelle von Web Services ist maschinenlesbar
- Die Schnittstelle wird durch WSDL beschrieben
- Die Kommunikation von Web Services mit anderen Softwarekomponenten erfolgt durch XML-Nachrichten. Der Nachrichtenaustausch kann insbeson­dere mittels Internetprotokollen wie HTTP oder SMTP erfolgen.
- Web Services sind autonom, weshalb die Verarbeitung einer Nachricht nicht beeinflussbar ist (Kossmann & Leymann, 2004).

2.3 Deployment-Modelle

In der Praxis sind bei der organisationsbezogenen Realisierung des Cloud Compu­ting drei typische Ausprägungen zu unterscheiden: Private Clouds, Public Clouds und Hybrid Clouds (Adelsberger & Drechsler, 2010). Diese Differenzierung der Lie­fermodelle (Englisch: deployment models) basiert auf der aus Betriebs-, Eigentums­und Organisationsaspekten resultierenden beschränkten Anzahl der Nutzer von Diensten. In Abhängigkeit von der jeweiligen Nutzergruppe ergeben sich damit die im Folgenden näher beleuchteten Arten von Clouds.

2.3.1 Private Cloud

Unter einer Private Cloud wird eine unternehmenseigene und von diesem Unterneh­men selbst betriebene Cloud-Umgebung verstanden, wobei der Zugang beschränkt ist. So haben nur das Unternehmen selbst, autorisierte Geschäftspartner, Kunden und Lieferanten über ein Intranet oder eine VPN-Verbindung Zugriff auf die Private Cloud. Charakteristisch für dieses Deployment-Modell ist die volle Kontrolle des Un­ternehmens über eine effiziente, standardisierte und sichere IT-Betriebsumgebung, welche individuell auf die Geschäftsprozesse des Unternehmens zugeschnitten wer­den kann (BITKOM, 2009).

Die Kosten für die Anschaffung, das Management und die Wartung von Hard- und Software bei der Umsetzung einer Private Cloud sind jedoch ähnlich hoch wie bei konventionellen Systemarchitekturen (Jurczyk, 2011).

Dennoch lassen sich durch den Einsatz von Virtualisierung und der daraus resultie­renden Konsolidierung Kosten einsparen (Hoecker, 2010).

2.3.2 Public Cloud

Eine Public Cloud stellt eine Cloud-Umgebung dar, die sich im Eigentum eines IT- Dienstleisters befindet und von diesem betrieben wird. Der Zugriff erfolgt über das Internet, wobei sich viele Kunden eine virtualisierte Infrastruktur teilen. Auf Basis der Subskription ist eine schnelle und flexible Nutzung realisierbar.

Dieses Deployment-Modell zeichnet sich durch die Zurverfügungstellung einer Aus­wahl von hochstandardisierten Geschäftsprozess-, Anwendungs- und Infrastruktur­Services auf einer variablen, nutzungsabhängigen Basis aus. Dabei hat der Nutzer normalerweise jedoch keinen Einfluss auf die Form und den physischen Speicherort der Datenhaltung sowie auf Compliance- und Sicherheitsaspekte (BITKOM, 2009). Daraus ergeben sich wiederum datenschutzrechtliche Komplikationen, weshalb die- ses Deployment-Modell bei Unternehmen mit restriktiver Datenschutzpolitik nicht zur Anwendung kommt (Jurczyk, 2011). Des Weiteren besteht für den Kunden die Ge­fahr eines Vendor Lock-ins. Dabei ist z.B. in Folge einer Insolvenz des Anbieters der Zugriff auf die beim Anbieter gespeicherten Daten nicht mehr gegeben, wodurch die­se Daten auch nicht mehr an einen anderen Cloud-Anbieter transferiert werden kön­nen (Hoecker, 2010).

2.3.3 Hybrid Cloud

Eine Hybrid Cloud kann als eine Mischform von Private und Public Clouds definiert werden. Bei diesem Konzept verfügen Unternehmen zwar über ihre eigene Private Cloud, verwenden aber zusätzlich Dienste aus der Public Cloud von externen Anbie­tern (Büst R. , 2009). Die interne und externe Cloud sind dabei via VPN verbunden, um einen einheitlichen und sicheren Datenverkehr sicherzustellen (Hoecker, 2010). Eine Hybrid Cloud kann beispielsweise zum Einsatz kommen, wenn durch die exter­ne Komponente Lastspitzen abgefangen und Ausfallzeiten minimiert werden sollen (Deussen, Peters, & Strick, 2010).

Durch die Speicherung von kritischen Daten in der unternehmenseigenen Cloud und der Auslagerung von lediglich nicht-kritischen Daten und Anwendungen in die Public Cloud (Seiger, 2011) können Aspekte wie die Gefahr eines Lock-Ins oder Risiken bzgl. des Datenschutzes als obsolet angesehen werden (Hoecker, 2010).

Die Herausforderung bei der Umsetzung dieses Deployment-Modells besteht darin, die Private Cloud und die Public Cloud auf Applikations-, Middleware- und Infrastruk­tur-Ebene in Bezug auf Services und Sicherheit so zu integrieren, dass sich die ei­gentlich heterogene Umgebung für den User homogen darstellt (BITKOM, 2009).

2.3.3.1 Virtual Private Cloud

Eine besondere Form der Realisierung von Deployment-Modellen stellt die Amazon Virtual Private Cloud (Amazon VPC) dar. Dieser Ansatz vereint Charakteristika von Hybrid Clouds und Private Clouds. Dabei werden die vorhandenen Unternehmensinf­rastrukturen mit den angemieteten Ressourcen innerhalb eines isolierten und indivi­dualisierten Bereichs der Amazon Web Services (AWS) Cloud via VPN (BITKOM, 2010) verbunden, womit die eigene Infrastruktur erweitert wird. Somit kann eine vir­tuelle Netzwerkarchitektur definiert werden, die weitgehend einem herkömmlichen, in einem Rechenzentrum betriebenen, Netzwerk entspricht. Damit hat der Nutzer die vollständige Kontrolle über die virtuelle Netzwerkumgebung (Amazon).

2.4 Delivery-Modelle

Neben der organisationsbezogenen Differenzierung von Clouds können die bereitge­stellten Dienste an sich weiter kategorisiert werden. Hierbei wird der Abstraktions­grad des jeweiligen Dienstes als Kriterium herangezogen. Auf dieser Basis lassen sich Dienste in üblicherweise drei Abstraktionsschichten einteilen. Die Hauptschich­ten bilden: Infrastructure as a Service (laaS), Platform as a Service (PaaS) und Soft­ware as a Service (SaaS) (Manhart, 2011).

2.4.1 Infrastructure as a Service (laaS)

Beim Delivery-Modell des Infrastructure as a Service werden IT-Ressourcen als vir- tualisierte und hoch standardisierte Dienste angeboten. Der Anwender nutzt diese Dienste, um darauf eigene Services aufzubauen, die intern oder extern angeboten werden. So ist es in diesem Modell beispielsweise möglich, Rechenleistung, Arbeits­speicher und Datenspeicher von einem Anbieter zu beziehen und darauf ein Be­triebssystem mit Anwendungen laufen zu lassen (BSI, 2011).

Darüber hinaus ist es auf Grund der virtuell unbegrenzten Skalierbarkeit der Leistung möglich, bei Bedarf dynamisch und in kürzester Zeit zusätzliche Ressourcen anzu­fordern bzw. bei niedriger Auslastung nur die notwendigsten Dienste weiter zu nut­zen (Haselmann & Vossen, 2010).

2.4.2 Platform as a Service (PaaS)

Beim Konzept des PaaS stellt der Anbieter eine komplette Infrastruktur bereit und bietet dem Anwender auf der Plattform standardisierte Schnittstellen an, die von Diensten des Anwenders genutzt werden. So kann die Plattform beispielsweise Mandantenfähigkeit, Skalierbarkeit, Zugriffskontrolle, Datenbankzugriffe, etc. als Ser­vice zur Verfügung stellen. Ein Zugriff auf die darunterliegenden Schichten durch den Anwender ist nicht möglich (BSI, 2011), da der Anbieter diesen Bereich administriert. Dagegen bietet die Plattform dem Anwender die Möglichkeit, eigene Anwendungen innerhalb einer Entwicklungsumgebung zu erstellen sowie zu konfigurieren und in den durch den Cloud-Anbieter zur Verfügung gestellten Laufzeitumgebungen auszu­führen (Deussen, Peters, & Strick, 2010).

Im Zuge der Nutzung von PaaS können Anwender durch die automatische Skalie­rung der Plattform sowie Load Balancing an Flexibilität gewinnen (Adelsberger & Drechsler, 2010), was v.a. für Systemarchitekten und Anwendungsentwickler einen großen Vorteil darstellt (BITKOM, 2009).

2.4.3 Software as a Service (SaaS)

Bei der abstraktesten Form von Delivery-Modellen (Knese, 2010) werden dem An­wender konkrete Anwendungen zur Verfügung gestellt (Tetzner, 2010). Dabei wird die Software beim Anbieter in der Cloud installiert und betrieben und dem Anwender meist direkt via Web-Browser als standardisierter Service angeboten (Manhart, 2011), wodurch eine lokale Installation beim Anwender entfällt (Baun & Kunze, 2010). Daher sind auch Backups oder Updates der Applikation von Seiten des An­wenders nicht nötig. Der Anbieter hingegen hat die volle Kontrolle über die Nutzung der Applikation, womit sichergestellt werden kann, dass alle Anwender mit der glei­chen Softwareversion arbeiten (Schmidt, 2010). Ihm obliegt jedoch zusätzlich die Administration der unter der Software liegenden Cloud-Infrastruktur, des Netzwerks, der Server, der Betriebssysteme und des Speichers, weshalb individuelle Anpassun­gen an Kundenbedürfnisse nicht ohne weiteres möglich sind (Deussen, Peters, & Strick, 2010).

2.5 Marktentwicklung und -situation

Im Rahmen einer Studie von IDC (IDC Deutschland, 2009) aus dem Jahr 2009, bei der insgesamt 805 Unternehmen befragt wurden, sollte unter anderem determiniert werden, inwieweit sich die Teilnehmer mit dem Thema Cloud Computing aktuell bzw. in der Vergangenheit auseinandergesetzt hatten.

Demnach hatten sich 75% der befragten Unternehmen noch gar nicht mit der The­matik des Cloud Computing auseinandergesetzt. Von den Unternehmen, die sich bereits mit Cloud Computing beschäftigt hatten, setzte bereits einer Viertel diese Technologie ein. Ein weiteres Viertel plante die Einführung, wohingegen sich ca.

14% der Unternehmen, nach eingehender Prüfung, gegen die Nutzung entschieden hatten. Die Hauptgründe hierfür waren Sicherheitsbedenken und die Verletzung von gesetzlichen Richtlinien.

Eine Studie, die im Auftrag des IT-Consulting-Unternehmens Avanade im Jahr 2011 durchgeführt wurde, spiegelt die Schnelllebigkeit des Cloud Computing eindrücklich wieder (Halbinger, 2011). Demnach setzen aktuell bereits 76 Prozent der Unterneh­men in Deutschland Cloud Computing ein. Die Unternehmen, die diese Technologie bisher nicht nutzen, führten nach wie vor Sicherheitsbedenken als hauptausschlag­gebenden Faktor an. Hinzu kommen ein allgemein zu geringes Wissen über die Technologie, fehlendes Vertrauen in Anbieter und weiterhin bestehende Daten­schutzbedenken.

Vor diesem Hintergrund und im Hinblick auf die Identifikation von nicht-funktionalen Anforderungen an das Cloud Computing im Rahmen dieser Arbeit soll im Folgenden, unter Einbeziehung der für das Cloud Computing besonders relevanten Bedenken und Risikofaktoren, ein Anforderungsmodell abgeleitet werden, dessen einzelne As­pekte im weiteren Verlauf näher beleuchtet werden sollen.

3 Anforderungsmodell als Leitfaden bei der Einführung von Cloud Computing in Unternehmen

Nach der Vorstellung der Charakteristika, der technischen Grundlagen, der verschie­denen Deployment- und Delivery-Modelle und einer Übersicht zur aktuellen Markt­entwicklung des Cloud Computing wird in diesem Kapitel ein Anforderungsmodell beschrieben, das besonders relevante Aspekte bei der Einführung dieser Technolo­gie hervorhebt und die daraus resultierenden Anforderungen präsentiert.

Das Modell gliedert sich vor dem Hintergrund der im vorangegangen Kapitel ange­führten Bedenken im Wesentlichen in die beiden Teilbereiche Datenschutz und Si­cherheit, wobei der Fokus vor allem im Bereich der Sicherheit auf speziell für Cloud Computing, im Vergleich zum klassischen IT-Outsourcing, relevanten Aspekten liegt. Weitere Anforderungen wie Benutzbarkeit, Effizienz und Änderbarkeit, die in ein­schlägigen Normen wie ISO/IEC 25010 zur Evaluation eines Softwareprodukts ange­führt werden, oder allgemeine Anforderungen, beispielsweise bezogen auf wirtschaft­liche Aspekte, sollen nicht Gegenstand der Betrachtung sein, da dies den Rahmen dieser Arbeit sprengen würde.

3.1 Datenschutz

Der strikte Ansatzpunkt des deutschen Datenschutzrechts hat in Verbindung mit den rasanten technologischen Entwicklungen in der jüngeren Vergangenheit immer wie­der neue Debatten um die Rechtmäßigkeit entsprechender Innovationen entfacht. Als prominenteste Fälle sind hier Google Street View (ZEITOnline, 2010) und Face- book (Stern, 2011 ) zu nennen.

Auch beim Cloud Computing stellt der Datenschutz eines der zentralen Themen dar, wobei sich die rechtliche Situation aufgrund der oft grenzübergreifenden Vernetzung der einzelnen Cloud-Standorte als sehr komplex darstellen kann (Ohrtmann, 2011). Wie eine gesetzeskonforme Nutzung des Cloud Computing dennoch möglich ist, soll im weiteren Verlauf beschrieben werden.

3.1.1 PersonenbezogeneDaten

Das Bundesdatenschutzgesetz (BDSG) findet Anwendung, sobald ein Unternehmen oder eine andere verantwortliche Stelle personenbezogene Daten im Inland erhebt, verarbeitet oder nutzt (§ 1 Abs. 2 Nr. 3 BDSG).

Bevor Cloud Computing in Unternehmen eingeführt wird, muss also von Seiten des Anwenders determiniert werden, welche der erhobenen Daten in die Cloud ausgela­gert werden sollen.

„Personenbezogene Daten sind Einzelangaben über persönliche oder sachliche Ver­hältnisse einer bestimmten oder bestimmbaren natürlichen Person (Betroffener)“ (§ 3 Abs. 1 BDSG). Dazu zählen u.a. Angaben über Name, Anschrift, Geburtsdatum, Be­rufsbezeichnung, Telefonnummern, Berufsgeheimnisse, Vorstrafen und Bankkonten (BITKOM, 2010).

„Besondere Arten personenbezogener Daten sind Angaben über die rassische und ethnische Herkunft, politische Meinungen, religiöse oder philosophische Überzeu­gungen, Gewerkschaftszugehörigkeit, Gesundheit oder Sexualleben“ (§ 3 Abs. 9 BDSG).

Sollen allgemeine Daten ohne Personenbezug, wie Statistiken, Konstruktionsdaten, Produktionsdaten oder Kostenaufstellungen (BITKOM, 2010), ausgelagert werden, muss auf die Regelungen des BDSG keine Rücksicht genommen werden. Im weite­ren Verlauf muss der Anwender im Rahmen dieses Modells lediglich analysieren, ob der Cloud-Provider die im zweiten Segment vorgestellten Sicherheitsanforderungen in adäquatem Umfang erfüllen kann.

Das gleiche gilt für Daten, die bereits vor der Übermittlung in einem Maß anonymi­siert (§ 3 Abs. 6 BDSG) oder pseudonymisiert (§ 3 Abs. 6a BDSG) wurden, sodass ein Personenbezug nicht mehr feststellbar ist (Wunderlich, 2010).

3.1.2 Zulässigkeit der Datenweitergabe

Die Zielsetzung des BDSG beruht auf dem Schutz des Einzelnen in seinem Persön­lichkeitsrecht in Bezug auf Beeinträchtigungen, die aus dem Umgang mit seinen per­sonenbezogenen Daten resultieren könnten. Als Grundsatz dieses Gesetzes gilt das Verbotsprinzip mit Erlaubnisvorbehalt, womit die Erhebung, Verarbeitung und Nut­zung von personenbezogenen Daten im Prinzip einem Verbot unterliegt (Armutat, 2009).

Vor dem Hintergrund des Cloud Computing ist hierbei insbesondere die Verarbeitung von personenbezogenen Daten relevant, da diese die Übermittlung ebenjener Daten inkludiert (§ 3 Abs. 4 BDSG). Eine Übermittlung von Daten liegt vor, wenn Daten an einen Dritten weitergegeben werden (§ 3 Abs. 4 Satz 2 Nr. 3 BDSG). In Bezug auf das Cloud Computing ist somit der Cloud Provider als Dritter zu sehen, sofern keine Auftragsdatenverarbeitung vorliegt. Auf dieses Konstrukt soll in 3.1.4.3 näher einge­gangen werden.

Eine Möglichkeit, eine Datenübermittlung an einen Cloud Provider dennoch zu legi­timieren, resultiert aus den Regelungen des § 28 BDSG (Klein, Pilarski, Bitzer, & Schumann, 2011), wozu beispielsweise die wissenschaftliche Verwendung oder die Verwendung von bereits veröffentlichten Daten zählen (Christmann, Hilpert, & Thöne, 2010). Allerdings erlauben diese Regelungen lediglich die Datenübermittlung an Stellen innerhalb des Europäischen Wirtschaftsraums (EWR) und in Länder mit anerkannt angemessenem Datenschutzniveau. Eine Übermittlung von personenbe­zogenen Daten an Stellen in weiteren Staaten ist nicht gestattet, wenn der Betroffene ein schutzwürdiges Interesse am Ausschluss der Übermittlung hat. Ein solches ent­gegenstehendes schutzwürdiges Interesse ist anzunehmen, wenn bei der empfan­genden Stelle die Angemessenheit des Schutzniveaus nicht gegeben ist (§ 4b Abs. 2 Satz 2 BDSG). Jedoch besteht in diesem Fall die Möglichkeit, Maßnahmen zu ergrei­fen, die ausreichende Garantien hinsichtlich des Schutzes des Persönlichkeitsrechts beim Empfänger sicherstellen. In diesem Kontext kann nach § 4c Abs. 2 BDSG auf Binding Corporate Rules, EU-Standardvertragsklauseln oder entsprechende Indivi­dualvereinbarungen zurückgegriffen werden, deren Inhalte und Voraussetzungen zur Umsetzung im weiteren Verlauf konkretisiert werden (BITKOM, 2008).

Des Weiteren kann gemäß § 4c Abs. 1 Satz 2 Nr. 1 BDSG eine Einwilligung des Be­troffenen eingeholt werden, welche es dem Unternehmen erlaubt, Daten auch an Stellen in Staaten weiterzuleiten, in denen nachgewiesenermaßen kein angemesse­nes Datenschutzniveau herrscht (Söbbing, 2011). Eine Einwilligung aller Personen liegt aber in der Regel nicht vor (Christmann, Hilpert, & Thöne, 2010), weshalb dieser Ansatz nur in speziellen Fällen oder bei einem kleinen Kreis an betroffenen Personen umgesetzt werden kann.

[...]

Ende der Leseprobe aus 92 Seiten

Details

Titel
Cloud Computing. Analyse des Einflusses von nicht-funktionalen Anforderungen bei der Einführung in Unternehmen
Hochschule
Friedrich-Alexander-Universität Erlangen-Nürnberg
Note
1,0
Autor
Jahr
2011
Seiten
92
Katalognummer
V187012
ISBN (eBook)
9783656102427
ISBN (Buch)
9783656102618
Dateigröße
2305 KB
Sprache
Deutsch
Schlagworte
Cloud Computing, Bachelorarbeit, Anforderungen
Arbeit zitieren
Claus Wimbsberger (Autor), 2011, Cloud Computing. Analyse des Einflusses von nicht-funktionalen Anforderungen bei der Einführung in Unternehmen, München, GRIN Verlag, https://www.grin.com/document/187012

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Cloud Computing. Analyse des Einflusses von nicht-funktionalen Anforderungen bei der Einführung in Unternehmen



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden