+ All Categories
Home > Documents > [Informatik im Fokus] Cloud Computing ||

[Informatik im Fokus] Cloud Computing ||

Date post: 21-Dec-2016
Category:
Upload: stefan
View: 221 times
Download: 6 times
Share this document with a friend
176
Transcript
Page 1: [Informatik im Fokus] Cloud Computing ||
Page 2: [Informatik im Fokus] Cloud Computing ||

Informatik im Fokus

Herausgeber:

Prof. Dr. O. GüntherProf. Dr. W. KarlProf. Dr. R. LienhartProf. Dr. K. Zeppenfeld

Page 3: [Informatik im Fokus] Cloud Computing ||

Informatik im Fokus

Weitere Titel der Reihe Informatik im Fokus:http://www.springer.com/series/7871

Page 4: [Informatik im Fokus] Cloud Computing ||

Christian Baun � Marcel Kunze �Jens Nimis � Stefan Tai

Cloud Computing

Web-basiertedynamische IT-Services

123

2. Auflage

Page 5: [Informatik im Fokus] Cloud Computing ||

Christian BaunKarlsruhe Institute of Technology (KIT)Steinbuch Center for ComputingHermann-von-Helmoltz-Platz 176344 [email protected]

Dr. Marcel KunzeKarlsruhe Institute of Technology (KIT)Steinbuch Center for ComputingHermann-von-Helmoltz-Platz 176344 [email protected]

Prof. Dr. Jens NimisHochschule KarlsruheFakultät für Wirtschaftswissenschaften

76133 [email protected]

Prof. Dr. Stefan TaiKarlsruhe Institute of Technology (KIT) &

Englerstr. 1176131 [email protected]

ISSN 1865-4452 e-ISSN 1865-4460ISBN 978-3-642-18435-2 e-ISBN 978-3-642-18436-9DOI 10.1007/978-3-642-18436-9Springer Heidelberg Dordrecht London New York

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen National-bibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.deabrufbar.

c© Springer-Verlag Berlin Heidelberg 2010, 2011Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesonderedie der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen undTabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen We-gen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugswei-ser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen diesesWerkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Ur-heberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweilsgeltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungenunterliegen den Strafbestimmungen des Urheberrechtsgesetzes.Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesemWerk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solcheNamen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachtenwären und daher von jedermann benutzt werden dürften.

Einbandentwurf: KuenkelLopka GmbH, Heidelberg

Gedruckt auf säurefreiem Papier

Springer ist Teil der Fachverlagsgruppe Springer Science+Business Media (www.springer.com)

FZI Forschungszentrum Informatik

Moltkestr. 30

Page 6: [Informatik im Fokus] Cloud Computing ||

Vorwort

Vorwort zur 2.Auflage

Die Entwicklungen im Bereich des Cloud-Computing sind wei-terhin sehr dynamisch. Aus diesem Grund haben wir uns ent-schlossen, nach nur knapp einem Jahr seit Erscheinen der 1.Auflage eine Aktualisierung und Ergänzung des Stoffes vorzu-nehmen. Die verschiedenen Kapitel des Buches wurden entspre-chend überarbeitet und neue Technologien (u. a. Hadoop as aService, Cloud Print, Cloud Gaming) und Produkte (u. a. Ama-zon RDS, Amazon VPC, Nimbus, OpenNebula, typhoonAE)aufgenommen.

Karlsruhe Christian BaunFebruar 2011 Marcel Kunze

Jens NimisStefan Tai

v

Page 7: [Informatik im Fokus] Cloud Computing ||

vi Vorwort

Vorwort zur 1.Auflage

Cloud Computing ist in aller Munde: als neuartige Technologie,als nächste Generation des Internets, als fundamentale Verän-derung der gesamten IT-Landschaft und als viel versprechendeChance für neue Geschäftsideen. Doch was steckt wirklich hin-ter dem Begriff?

Die vielfältigen Standpunkte und Interessen der verschiede-nen Stakeholder haben dazu geführt, dass das Thema CloudComputing nicht sehr scharf umrissen erscheint. Unser Anlie-gen ist es, den häufig zitierten Nebel, der die Cloud umgibt, einStück weit zu lichten und so den Weg zu ebnen für einen erfolg-reichen Einsatz und auch für weitergehende Forschungsarbeitenund neue Innovationen.

In nur wenigen Monaten haben wir das mittlerweile sehr um-fangreiche Material zum Thema Cloud Computing zusammen-getragen und so verdichtet, dass es in eine Ausgabe der Serie In-formatik im Fokus passt. Hilfreich waren hier unsere vielfältigenKontakte zu Kollegen aus der Forschung und vor allem auch ausder Industrie. Sie haben uns mit einem nicht enden wollendenStrom von neuen Inputs versorgt und in zahlreichen Diskussio-nen geholfen, unser eigenes Bild auf die Materie zu schärfen.

Wie die meisten disruptiven Technologien erfährt das CloudComputing sehr unterschiedliche Einschätzungen, wenn es umAkzeptanz und Risikobewertung geht. Manche Unternehmensind auf das dynamische Nutzen oder Anbieten von IT-Servicesnoch nicht eingestellt – andere hingegen sind Vorreiter auf die-sem Gebiet und erleben z. T. Erfolge, die Schlagzeilen machen.Dieses Buch soll dazu beitragen, Cloud Computing zunächstnüchtern zu studieren, um sich anschließend enthusiastisch denvielfältigen Herausforderungen und Chancen zu stellen.

Die Tatsache, dass beim Cloud Computing technologischeund wirtschaftliche Aspekte immer zusammen betrachtet wer-den müssen, führt dazu, dass wir mit unserem Buch interessante

Page 8: [Informatik im Fokus] Cloud Computing ||

Vorwort vii

Einsichten für einen großen Leserkreis bieten können. Es richtetsich gleichermaßen an Studenten unserer Lehrveranstaltungenan der Universität Karlsruhe (TH) und an anderen Hochschulen,an interessierte Software-Ingenieure und an zukunftsorientierteEntscheidungsträger. Wir hoffen, dass das Buch auf der techni-schen Ebene reichhaltig und verständlich ist und dass es darüberhinaus auch in den Management-Etagen Gefallen finden wird.

Wir wollen die Gelegenheit nutzen und allen danken, die zuder Erstellung dieses Buches beigetragen haben. Insbesonderedanken wir Anja Langner und Bianca Pagliosa für die wertvol-le Hilfe bei der Erstellung der Abbildungen, Matthias Bonn fürdas Korrekturlesen, sowie unseren Familien und Freunden für ihrVerständnis, die gemeinsame Freizeit wieder einmal zu opfern.

Karlsruhe Christian BaunJuli 2009 Marcel Kunze

Jens NimisStefan Tai

Page 9: [Informatik im Fokus] Cloud Computing ||

Inhaltsverzeichnis

1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Beschreibung der Thematik . . . . . . . . . . . . . . . . . 11.2 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Gliederung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1 Virtualisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Vor- und Nachteile der Virtualisierung . . 102.1.2 Virtualisierungskonzepte . . . . . . . . . . . . . 12

2.2 Service-orientierte Architekturen . . . . . . . . . . . . 192.2.1 Eigenschaften von SOA . . . . . . . . . . . . . . 192.2.2 Implementierung einer SOA . . . . . . . . . . 21

2.3 Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.3.1 Interoperabilität . . . . . . . . . . . . . . . . . . . . 242.3.2 SOAP versus REST . . . . . . . . . . . . . . . . . 25

3 Cloud-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.1 Public, Private und Hybrid Clouds . . . . . . . . . . . 273.2 Technische Landschaft der Cloud-Dienste . . . . . 293.3 Infrastructure as a Service . . . . . . . . . . . . . . . . . . 31

ix

Page 10: [Informatik im Fokus] Cloud Computing ||

x Inhaltsverzeichnis

3.4 Platform as a Service . . . . . . . . . . . . . . . . . . . . . . 353.5 Software as a Service . . . . . . . . . . . . . . . . . . . . . . 373.6 Humans as a Service . . . . . . . . . . . . . . . . . . . . . . . 393.7 Weitere Kategorien von Cloud-Diensten . . . . . . 41

4 Ausgewählte Cloud-Angebote . . . . . . . . . . . . . . . . . . 434.1 Amazon Web Services . . . . . . . . . . . . . . . . . . . . . 44

4.1.1 Amazon Elastic Compute Cloud (EC2) . 464.1.2 Amazon Simple Storage Service (S3) . . 544.1.3 Amazon Elastic Block Store (EBS) . . . . 544.1.4 Amazon Simple Queue Service (SQS) . . 554.1.5 Amazon SimpleDB . . . . . . . . . . . . . . . . . 564.1.6 Amazon Relational Database Service . . 574.1.7 Zusammenspiel

der Amazon Web Services . . . . . . . . . . . . 594.2 Cloud-Dienste von Google . . . . . . . . . . . . . . . . . . 61

4.2.1 Google App Engine . . . . . . . . . . . . . . . . . 614.2.2 Google Storage . . . . . . . . . . . . . . . . . . . . . 644.2.3 Google Cloud Print . . . . . . . . . . . . . . . . . 65

4.3 Windows Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.4 Salesforce.com. . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.5 Cloud Gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.6 Cloud-Betriebssysteme . . . . . . . . . . . . . . . . . . . . . 71

5 Cloud-Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.1 Dienstgütevereinbarungen: Service Level

Agreements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.2 Lebenszyklus und Automatisierung . . . . . . . . . . 755.3 Management-Dienste und -Werkzeuge . . . . . . . . 76

5.3.1 Überwachung . . . . . . . . . . . . . . . . . . . . . . 765.3.2 Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . 775.3.3 Entwicklung . . . . . . . . . . . . . . . . . . . . . . . 83

5.4 Sicherheitsmanagement . . . . . . . . . . . . . . . . . . . . 855.5 Risikomanagement . . . . . . . . . . . . . . . . . . . . . . . . 87

Page 11: [Informatik im Fokus] Cloud Computing ||

Inhaltsverzeichnis xi

5.6 Rechtskonformität . . . . . . . . . . . . . . . . . . . . . . . . . 88

6 Open Source Cloud-Schichtenmodell . . . . . . . . . . . . 916.1 Physische und Virtuelle Ressourcen . . . . . . . . . . 926.2 Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.2.1 Architektur und Komponenten . . . . . . . . 956.3 OpenNebula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.4 Nimbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.5 CloudStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.6 OpenStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.7 AppScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.8 typhoonAE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.9 Apache Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6.9.1 MapReduce . . . . . . . . . . . . . . . . . . . . . . . . 1056.9.2 Hadoop Distributed File System . . . . . . . 1066.9.3 Pig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086.9.4 Hive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096.9.5 Hadoop as a Service . . . . . . . . . . . . . . . . . 109

6.10 Das OpenCirrusTM-Projekt . . . . . . . . . . . . . . . . . . 111

7 Wirtschaftliche Betrachtungen . . . . . . . . . . . . . . . . . 1157.1 Anwendungsgebiete . . . . . . . . . . . . . . . . . . . . . . . 1157.2 Bewertungsmodelle . . . . . . . . . . . . . . . . . . . . . . . . 117

7.2.1 Kostenmodelle . . . . . . . . . . . . . . . . . . . . . 1197.2.2 TCO Framework . . . . . . . . . . . . . . . . . . . . 120

7.3 Geschäftsmodelle . . . . . . . . . . . . . . . . . . . . . . . . . 121

8 Chancen und Risiken . . . . . . . . . . . . . . . . . . . . . . . . . . 1258.1 Marktentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . 1258.2 Situative Bewertung . . . . . . . . . . . . . . . . . . . . . . . 1268.3 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Page 12: [Informatik im Fokus] Cloud Computing ||

xii Inhaltsverzeichnis

9 Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1319.1 Bedienung von EC2 mit den Amazon Tools . . . . 1319.2 Bedienung von EBS mit den Amazon Tools . . . 1349.3 Bedienung von RDS mit den Amazon Tools . . . 1359.4 Bedienung von S3 mit s3cmd . . . . . . . . . . . . . . . 1379.5 Bedienung der Google App Engine . . . . . . . . . . . 1389.6 Bedienung von AppScale . . . . . . . . . . . . . . . . . . . 1409.7 Installation und Bedienung von Eucalyptus . . . . 1409.8 Data Mining mit Amazon Elastic MapReduce . . 146

Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

Page 13: [Informatik im Fokus] Cloud Computing ||

Kapitel 1Einleitung

Die Buchreihe Informatik im Fokus beschäftigt sich mit der Dar-stellung zeitnaher und gut verständlicher Einführungen in aktu-elle Technologien. Dieses Buch will einen Überblick über CloudComputing Architektur, Dienste und Anwendungen vermitteln,ohne Anspruch auf Vollständigkeit zu erheben. Ziel ist es, dieLeserinnen und Leser auf einen einheitlichen Stand zu brin-gen und so eine gemeinsame Diskussionsgrundlage zu erreichen.Technische Vorkenntnisse sind dabei nicht erforderlich.

1.1 Beschreibung der Thematik

Der Begriff Cloud Computing ist zurzeit in der Informations-technik (IT) allgegenwärtig. Was verbirgt sich dahinter? Es gibtviele Interpretationen, aber keine standardisierte oder gar ein-heitliche Definition. Cloud Computing erlaubt die Bereitstellungund Nutzung von IT-Infrastruktur, von Plattformen und von An-wendungen aller Art als im Web elektronisch verfügbare Diens-te. Der Begriff Cloud soll dabei andeuten, dass die Dienste von

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 1DOI 10.1007/978-3-642-18436-9_1,c© Springer-Verlag Berlin Heidelberg 2011

Page 14: [Informatik im Fokus] Cloud Computing ||

2 1 Einleitung

einem Anbieter im Internet (bzw. im Intranet eines größerenUnternehmens) erbracht werden. Die Nutzer der Cloud-Dienstekönnen ihre eigenen Angebote wiederum selbst als Dienste imInternet bzw. Intranet anbieten.

Cloud-Ressourcen sind in der Regel virtualisiert: Der Cloud-Nutzer hat dadurch stets eine wunschgemäße, beliebige Sicht aufseine Infrastruktur und es gibt in diesem Fall keine systembe-dingten Abhängigkeiten oder Zwangsbedingungen für seine An-wendungen.

Cloud-Dienste sind darüber hinaus dynamisch skalierbar:Wenn eine Anwendung zusätzliche Ressourcen benötigt, kön-nen diese sofort und ohne großen Aufwand automatisch dazugeschaltet werden. Entwickler mit innovativen Ideen für neueInternet-Anwendungen müssen so beispielsweise nicht längervorab in Hardware investieren, um ein Unternehmen zu gründen.Sie können Ressourcen flexibel von einem Anbieter beziehenund sich auf die Umsetzung ihrer Geschäftsidee konzentrieren.Wenn die Nachfrage steigt, lässt sich die Infrastruktur weitge-hend automatisch an die wachsenden Anforderungen anpassen.

Cloud Computing folgt den Ideen des Utility Computing. Eswird immer die aktuell benötigte Menge an Ressourcen zur Ver-fügung gestellt und bezahlt. Wenn nichts genutzt wird, kostetes auch nichts. Cloud Computing hat somit eine wirtschaftlicheBedeutung, da signifikante Kostenersparnisse aufgrund der fle-xiblen Bereitstellung und Nutzung von Diensten möglich sind.Die vorgehaltenen abrufbaren Kapazitäten sind dabei sehr um-fangreich, wodurch ein großer Skaleneffekt (Economy of Scale)mit einem sehr günstigen Preis/Leistungsverhältnis entsteht.

Es gibt mittlerweile zahlreiche kommerzielle Anbieter wiez. B. Amazon, Google oder Microsoft. Deren Angebote unter-scheiden sich jedoch in ihrer Art: Amazon bietet virtualisierteRessourcen zur generischen Nutzung an, während die Cloudsvon Google und Microsoft das Hosting von Anwendungen er-lauben. Alle aktuellen Angebote sind aber zugunsten eines Wett-

Page 15: [Informatik im Fokus] Cloud Computing ||

1.1 Beschreibung der Thematik 3

bewerbsvorteils proprietär und Standards existieren nicht, womitein schneller Wechsel des Anbieters in der Regel nicht einfachmöglich ist.

Kritiker des Cloud Computing führen diese Gefahr des Ven-dor-Lockin neben möglichen Sicherheitsbedenken gerne insFeld. Vor allem aus dem Kreis der etablierten IT-Manager undAbteilungsleiter wird zur Vorsicht gemahnt. Bei näherer Be-trachtung scheint es hier aber in erster Linie sehr oft um dieSicherung historischer Besitzstände in den klassischen Rechen-zentren zu gehen. Es sind daher zurzeit vor allem junge Unter-nehmen (Startups) ohne Abhängigkeiten dieser Art, die aus derneuen Technik Gewinn erzielen. Aber auch in etablierten Unter-nehmen, die sich dem Thema Cloud Computing stellen, bewirktdessen Einsatz bereits nachhaltige Effizienzsteigerungen. Nebender Nutzung von Public Clouds etablieren sich hier unterneh-mensinterne Private Clouds.

Aus der Sicht des Kunden ergibt sich eine Reihe von Mög-lichkeiten, produktiver und flexibler zu arbeiten: Durch dieWahrnehmung von Angeboten im Markt ist es dem Bezieher vonIT-Diensten möglich, sich gegenüber dem klassischen statischenRechenzentrumsbetrieb zu emanzipieren. Cloud Computing ent-wickelt dabei eine Kraft der schöpferischen Zerstörung und Al-tes wird durch Neues ersetzt [25, 8].

Das Corporate Executive Board (CEB) in Washington hat ei-ne Studie vorgestellt, die auf einer Befragung von 200 Business-und IT-Führungskräften basiert [62]. Darin wird prognostiziert,dass in den nächsten Jahren die klassischen IT-Abteilungengroße Teile ihrer Verantwortung an das Business-Managementverlieren werden und als Folge dessen auf ein Viertel ihrer Per-sonalstärke schrumpfen. Zentrale Treiber der Veränderung sinddas Cloud Computing, Soziale Medien und die Zunahme dersogenannten Knowledge Worker (Wissens- oder Kopfarbeiter) –gepaart mit einer Unternehmens-IT, die ihre Effizienzpotenzialeweitgehend ausgeschöpft hat. Mit dem Siegeszug immer stärker

Page 16: [Informatik im Fokus] Cloud Computing ||

4 1 Einleitung

spezialisierter Cloud-Dienste wird das Business-Managementzunehmend in die Lage versetzt, ohne Beteiligung der internenIT-Abteilung und an ihr vorbei selbst IT-Lösungen einzukaufen.In gleicher Weise können sich die Knowledge Worker mit ih-ren smarten Endgeräten und sozialen Netzen Informationen zuIT-Systemen sowie die zugehörigen Services selbst besorgen.

Damit ändert sich auch die Rolle des Leiters der IT-Abteilung: Er wird entweder zum Leiter einer internen schlankenQuerschnittsabteilung oder zum Einkäufer und Manager von ex-ternen Diensten. Das klassische Rechenzentrum wandelt sich indiesem Szenario zum IT-Servicezentrum.

1.2 Definition

Obwohl es keine standardisierte, einheitliche Definition fürCloud Computing gibt, sind die grundlegenden Konzepte alsauch die generellen Ziele des Cloud Computing unbestritten:Cloud Computing nutzt Virtualisierung und das moderne Web,um Ressourcen verschiedenster Art als elektronisch verfügba-re Dienste dynamisch bereitzustellen. Die Dienste sollen dabeivon mehreren Konsumenten verlässlich und skalierbar nutzbarsein, d. h. sowohl auf Abruf als auch nach Bedarf verfügbar sein.Aus der Sicht des Cloud-Anbieters impliziert dies in der Regeleine Multi-Mandanten Architektur und ein nutzungsabhängigesAbrechnungsmodell. Wir definieren Cloud Computing demnachwie folgt:

Unter Ausnutzung virtualisierter Rechen- und Speicherressourcenund moderner Web-Technologien stellt Cloud Computing skalierba-re, netzwerk-zentrierte, abstrahierte IT-Infrastrukturen, Plattformenund Anwendungen als on-demand Dienste zur Verfügung. Die Ab-rechnung dieser Dienste erfolgt nutzungsabhängig.

Page 17: [Informatik im Fokus] Cloud Computing ||

1.2 Definition 5

Diese Definition legt dabei nicht fest, ob die Dienste auf Basiseines verteilten Systems oder eines einzelnen leistungsstarkenServers, z. B. eines Mainframes, erbracht werden. Dies steht imGegensatz zum Grid Computing, wo das System immer verteiltist. In der Regel liegt auch Cloud-Diensten eine verteilte Infra-struktur zu Grunde, dessen Management jedoch ist typischerwei-se zentral (und proprietär) durch einen Anbieter bestimmt. Auchdies unterscheidet das Cloud Computing vom Grid Computing,wo verteilte Knoten in der Regel autonom sind. Eine ausführli-che Diskussion findet sich in [30].

Entscheidend für das Cloud Computing ist zudem dessenwirtschaftliche Bedeutung. Eine konsequente Dienste-Orientie-rung sowie die Nutzung von Web-Standards und des Internet alsintegrierte Technologie- und Geschäftsplattform positionierendas Cloud Computing für Anwendungen verschiedenster Art.Dies beinhaltet insbesondere Web-Anwendungen und modulareDienste in verteilten Geschäftsnetzwerken und Prozessketten.

Eine viel zitierte Definition von Cloud Computing wurde vomNationalen Institut für Standards und Technologie (NIST) inden USA erstellt [105]. Diese bestimmt fünf wesentliche Eigen-schaften des Cloud Computing, drei verschiedene Klassen vonDiensten und vier unterschiedliche Betriebsmodelle. Als wesent-liche Eigenschaften werden benannt:

• Diensterbringung auf Anforderung: Dienste sind auf An-forderung und selbständig von Konsumenten ohne erforderli-che menschliche Interaktion mit dem Anbieter nutzbar.

• Netzwerkbasierter Zugang: Dienste können netzwerkba-siert in Echtheit durch Verwendung von Standardtechnologi-en abgerufen werden.

• Ressourcen Pooling: Ressourcen sind in Pools konsolidiertund erlauben eine parallele Diensterbringung für mehrereNutzer (Mandanten), die dem tatsächlichen Bedarf eines je-den Nutzers angepasst ist.

Page 18: [Informatik im Fokus] Cloud Computing ||

6 1 Einleitung

• Elastizität: Ressourcen werden schnell und in verschiedenen,auch fein granularen Quantitäten, zur Verfügung gestellt underlauben so die Skalierung von Systemen. Dem Nutzer gegen-über entsteht die Illusion unendlich verfügbarer Ressourcen.

• Messbare Dienstqualität: Dienste sind quantitativ und qua-litativ messbar, so dass eine nutzungsabhängige Abrechnungund Validierung der Dienstqualität gegeben ist.

Die Klassen der Dienste und die Betriebsmodelle diskutieren wirin Kapitel 3.

1.3 Gliederung

Dieses Buch beschäftigt sich zunächst mit den Grundlagen desCloud Computing, mit Basistechnologien wie Virtualisierungund Web Services. Es schließt sich eine Diskussion der Cloud-Architektur mit ihren Service-Bausteinen an. In den darauf fol-genden Kapiteln geht es um ausgewählte Cloud-Angebote undManagement-Werkzeuge. Insbesondere kommen hier auch Fra-

Abb. 1.1 Wegweiser zum Lesen des Buchs

Page 19: [Informatik im Fokus] Cloud Computing ||

1.3 Gliederung 7

gen nach Sicherheit und Datenschutz zur Sprache. Es folgt eineBetrachtung aktueller Open Source Entwicklungen wie z. B. Ha-doop und Eucalyptus. Das OpenCirrusTM-Projekt von HP, In-tel und Yahoo!, bei dem die Autoren als Entwicklungspartnerbeteiligt sind, greift diese Themen auf. Das Projekt untersuchtGrundlagen der Cloud-Systeme und Cloud-Anwendungen. Esschließen sich wirtschaftliche Betrachtungen wie z. B. Kosten-und Geschäftsmodelle an. Den Abschluss bildet eine situativeBewertung des Cloud-Marktes. Im Anhang sind einige prakti-sche Beispiele zum Umgang mit Cloud-Ressourcen bzw. Cloud-Anwendungen aufgeführt und ein Glossar fasst die Definitionender zentralen Begriffe zusammen.

Der geneigte Leser wird das Buch mit Genuss vom Anfangbis zum Ende lesen. Die Kapitel sind aber so geschrieben, dasssie ohne Weiteres auch einzeln gelesen und verstanden werdenkönnen. Ein weniger technisch interessierter Leser kann das Ka-pitel 2 überspringen und sich in medias res begeben. Falls dieZeit knapp bemessen ist, gibt es einen Pfad, der sich eher antechnischen Architekturfragen orientiert (Kapitel 1, 3, 5, 7, 8),und einen Pfad für eher wirtschaftswissenschaftlich interessierteLeser (Kapitel 1, 4, 6–8). Die verschiedenen Wege sind schema-tisch in Abbildung 1.1 aufgezeigt.

Page 20: [Informatik im Fokus] Cloud Computing ||

Kapitel 2Grundlagen

Cloud Computing ist auch deshalb attraktiv, weil es die Komple-xität der Informationstechnologie vor Nutzern und Entwicklernverbirgt. Man muss nicht im Einzelnen wissen, wie ein Dienstgeneriert wird und es ist die Aufgabe des Dienstleisters, eine ent-sprechende Abstraktionsschicht bereitzustellen. Dieses Kapitelgibt einen Überblick über Technologien, auf denen Cloud Com-puting basiert. Dabei handelt es sich um Virtualisierung, Ser-viceorientierte Architekturen (SOA) und Web Services.

2.1 Virtualisierung

Die Virtualisierung von Ressourcen bildet die Grundlage dermeisten Cloud-Architekturen. Das Konzept der Virtualisierungerlaubt eine abstrakte, logische Sicht auf physische Ressourcenund umfasst sowohl Server, Datenspeicher, Netzwerke als auchSoftware. Die zu Grunde liegende Idee ist, physische Ressour-cen in Pools zusammenzufassen und gemeinsam zu verwalten.Aus diesen Ressourcen-Pools können dann nach Bedarf einzel-

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 9DOI 10.1007/978-3-642-18436-9_2,c© Springer-Verlag Berlin Heidelberg 2011

Page 21: [Informatik im Fokus] Cloud Computing ||

10 2 Grundlagen

ne Anforderungen befriedigt werden. Es ist z. B. möglich, einebestimmte Plattform für eine spezifische Anwendung dynamischund passgenau in dem Augenblick zu generieren, wenn sie ge-braucht wird. Statt einer realen Maschine kommt dabei eine vir-tuelle Maschine zum Einsatz.

2.1.1 Vor- und Nachteile der Virtualisierung

Für den Betreiber von IT-Diensten bringt der Einsatz von Virtua-lisierungstechniken eine Reihe von Vorteilen [4]:

• Ressourcen-Nutzung: Physische Server sind oft nurschwach ausgelastet, da man genügend Reserven zur Abde-ckung von Lastspitzen einplant. Bei virtuellen Maschinenkann eine Lastsituation aus dem Ressourcen-Pool befrie-digt werden. Der Kauf zusätzlicher Kapazitäten kann beiwachsenden Anforderungen verzögert oder vermiedenwerden.

• Management: Die Verwaltung der Ressourcen in den Poolskann automatisiert werden. Virtuelle Maschinen können nachBedarf automatisch erzeugt und konfiguriert werden.

• Konsolidierung: Unterschiedliche Anwendungsklassen kön-nen auf einer geringeren Anzahl physischer Komponenten zu-sammengefasst werden. Neben der Server- und Speicherkon-solidierung können auch ganze Systemlandschaften, Datenund Datenbanken, Netzwerke und Desktops einbezogen wer-den. Konsolidierung führt zur Effizienzsteigerung und damitzur Kostensenkung.

• Energieverbrauch: Die Versorgung mit Energie ist in großenRechenzentren oft nicht mehr einfach zu realisieren und dieEnergiekosten zum Betrieb eines Servers übersteigen überdie Lebensdauer gesehen inzwischen dessen Beschaffungs-

Page 22: [Informatik im Fokus] Cloud Computing ||

2.1 Virtualisierung 11

kosten. Die Konsolidierung reduziert die Zahl der physischenKomponenten. Dadurch sinken auch die Aufwendungen fürdie Energieversorgung.

• Platzersparnis: Rechenzentrumsfläche ist knapp und teuer.Die Konsolidierung erbringt dieselbe Leistung auf wenigerStellfläche, und die kostspielige Erweiterung eines bestehen-den Rechenzentrums kann u. U. vermieden werden.

• Notfallplanung: Virtuelle Maschinen können zwischen ver-schiedenen Ressourcen-Pools verschoben werden. Man er-reicht damit eine bessere Verfügbarkeit von Diensten unddie Einhaltung von Dienstgütevereinbarungen (Service LevelAgreements) ist einfacher. Hardware-bedingte Wartungsfens-ter können prinzipiell entfallen.

Da die Anbieter von Cloud-Diensten sehr große Ressourcenzen-tren (IT-Fabriken) bauen, entsteht auf der Basis der Virtualisie-rung neben dem Größenvorteil zusätzlich eine stark verbesserteKostensituation. Aus der Sicht des Kunden ergeben sich die fol-genden Vorteile:

• Dynamik: Anforderungen können passgenau und ohne War-tezeiten befriedigt werden. Im Fall von Engpässen stehen ei-ner virtuellen Maschine zusätzliche Ressourcen zur Verfü-gung (z. B. Speicher, I/O-Leistung).

• Verfügbarkeit: Dienste können hoch verfügbar und unterbre-chungsfrei rund um die Uhr genutzt werden. Anwendungenkönnen im Fall von Technologie-Upgrades im laufenden Be-trieb migriert werden, da die Verschiebung virtueller Maschi-nen auf ein aktuelles System problemlos möglich ist.

• Zugriff: Die Virtualisierungsschicht bewirkt eine Isolationder virtuellen Maschinen, sowohl voneinander als auch vonder physischen Infrastruktur. Dadurch sind die virtuellen Sys-teme multi-mandantenfähig und es können über ein Rollen-konzept in sicherer Weise Managementfunktionalitäten anden Kunden delegiert werden. Kunden können IT-Leistungen

Page 23: [Informatik im Fokus] Cloud Computing ||

12 2 Grundlagen

über ein Portal in Selbstbedienung erwerben (Emanzipationdes Kunden).

Als Nachteil der Virtualisierung ist zu werten, dass der Betriebder Abstraktionsschicht selbst Ressourcen benötigt. Die aktuel-len Virtualisierungstechniken sind allerdings so weit ausgereift,dass sich dieser zusätzliche Aufwand in Grenzen hält: Durchdas besonders effektive Zusammenspiel aktueller Multicore-Systeme mit Virtualisierungstechnik spielt dieser Leistungsver-lust heutzutage nur noch eine untergeordnete Rolle. Im Hinblickauf die möglichen Einsparungen und die qualitativen Vorteileaus Sicht des Kunden lohnt sich daher der Einsatz der Virtua-lisierung in fast allen Fällen.

Eine weitere Problematik ist, dass nach der Konsolidierungs-phase zunächst mehr Systeme zu betreiben und zu verwaltensind: Neben den virtuellen Maschinen gibt es zusätzlich noch diephysischen Infrastrukturen. Durch die automatische Verwaltungder Ressourcen mit ausgefeilten Management-Werkzeugen fälltdie Bilanz hier aber in der Praxis wegen des sehr viel geringerenPersonalaufwands sogar positiv aus.

2.1.2 Virtualisierungskonzepte

Virtualisierung steht stellvertretend für eine Vielzahl unter-schiedlicher Konzepte und Technologien. Diese unterscheidensich in ihrer Implementierung, Praxisrelevanz und Einsatzhäu-figkeit.

Page 24: [Informatik im Fokus] Cloud Computing ||

2.1 Virtualisierung 13

Abb. 2.1 Konzept der Betriebssystemvirtualisierung (Container)

2.1.2.1 Betriebssystemvirtualisierung

Die Verwendung der Betriebssystemvirtualisierung oder Parti-tionierung (z. B. IBM LPARs) kann in Cloud-Umgebungen hel-fen, Sicherheits- und Vertraulichkeitsprobleme zu lösen, die an-sonsten die Akzeptanz des Cloud-Ansatzes behindern würden.

Bei dieser Form der Virtualisierung, die man auch als Con-tainer oder Jails bezeichnet, spielt das Host-Betriebssystem ei-ne entscheidende Rolle. Hier laufen unter einem Betriebssys-temkern mehrere voneinander abgeschottete, identische (sieheAbbildung 2.1) Systemumgebungen bzw. Laufzeitumgebungen.Nach außen treten die virtuellen Umgebungen wie eigenständigeSysteme auf. Alle laufenden Anwendungen verwenden densel-ben Betriebssystemkern, sehen aber nur Prozesse, mit denen siesich gemeinsam in einer virtuellen Umgebung befinden.

Speziell Anbieter von Internet-Diensten, sogenannte Inter-net Service Provider, die (virtuelle) Root-Server anbieten, nut-

Page 25: [Informatik im Fokus] Cloud Computing ||

14 2 Grundlagen

zen gerne diese Art der Virtualisierung, da sie einen geringenLeistungsverlust und einen hohen Grad an Sicherheit bietet.Der Nachteil der Betriebssystemvirtualisierung ist die geringeFlexibilität, da ausschließlich mehrere unabhängige Instanzendesselben Betriebssystems und nicht verschiedene Betriebssys-teme gleichzeitig eingesetzt werden können. Bekannte Vertre-ter der Betriebssystem-Virtualisierung sind die Containertech-nologie von Sun Solaris, OpenVZ für Linux, Linux-VServer,FreeBSD Jails und Virtuozzo.

2.1.2.2 Plattformvirtualisierung

Die Plattformvirtualisierung erlaubt die Ausführung beliebigerBetriebssysteme und Anwendungen in virtuellen Umgebungen.Es gibt zwei Modelle: Vollständige Virtualisierung und Para-Virtualisierung. Die Realisierung beider Lösungen geschiehtauf der Basis eines Virtuellen Maschinen Monitors oder Hy-

Abb. 2.2 Typ-1 Hypervisor (Virtueller Maschinen Monitor)

Page 26: [Informatik im Fokus] Cloud Computing ||

2.1 Virtualisierung 15

pervisors. Der Hypervisor ist ein auf ein Minimum reduzier-tes Metabetriebssystem, das die Hardwareressourcen unter denGastsystemen verteilt und die Zugriffe koordiniert. Ein Typ-1Hypervisor setzt dabei direkt auf der Hardware auf, ein Typ-2Hypervisor läuft auf einem herkömmlichen Basisbetriebssystem(Abbildung 2.2).

Die vollständige Virtualisierung basiert auf der Simulati-on eines kompletten virtuellen Rechners mit virtuellen Res-sourcen wie CPU, Hauptspeicher, Laufwerken, Netzwerkkarten,usw. inklusive eigenem BIOS. Da der Zugriff auf die wich-tigsten Ressourcen wie Prozessor und Hauptspeicher durch-gereicht wird, entspricht die Verarbeitungsgeschwindigkeit derGast-Betriebssysteme fast der Geschwindigkeit, die ohne Vir-tualisierung zu erwarten wäre. Andere Komponenten wie Lauf-werke und Netzwerkkarten werden emuliert. Dies führt zwar zuLeistungseinbußen, ermöglicht aber die Ausführung unveränder-ter Gast-Betriebssysteme.

Bei der Para-Virtualisierung steht den Gastbetriebssystemenkeine emulierte Hardwareebene zur Verfügung, sondern ledig-lich eine Anwendungsschnittstelle. Dies erfordert die Modifi-kation der Gast-Betriebssysteme, da alle direkten Hardwarezu-griffe durch den entsprechenden Aufruf der Schnittstelle zumHypervisor zu ersetzen sind. Man spricht auch von Hypercallsin Anlehnung an die Systemaufrufe (Systemcalls), mit denenAnwendungen Funktionen im Betriebssystemkern aufrufen kön-nen. Da bei diesem Ansatz das Gastsystem gewissermaßen ak-tiv an der Virtualisierung mitarbeitet, erreicht man speziell beiI/O-intensiven Anwendungen tendenziell höhere Durchsatzratenals bei der vollständigen Virtualisierung. Beispiele für die voll-ständige Virtualisierung sind Produkte von VMware [135] oderspeziell für Linux die Kernel-based Virtual Machine (KVM).Bei der Para-Virtualisierung kommen unter Linux meist Xen-basierte Lösungen zum Einsatz [14], die insbesondere bei derRealisierung der Amazon Web Services eine Rolle spielen [50].

Page 27: [Informatik im Fokus] Cloud Computing ||

16 2 Grundlagen

2.1.2.3 Speichervirtualisierung

Cloud-Systeme sollten auch den Speicher dynamisch skalierbarals Dienst anbieten. Die Speichervirtualisierung führt in diesemBereich zu einer Reihe von Vorteilen. Bei der Speichervirtuali-sierung ist die grundlegende Idee, den Datenspeicher von denklassischen File-Servern zu trennen und die physischen Spei-cher in Pools zusammenzufassen. Aus diesen Pools bedienenAnwendungen dynamisch ihre Speicheranforderungen. Die Da-tentransfers laufen dabei über ein spezielles Speichernetzwerk(SAN) oder ein Firmennetzwerk (LAN). Bei Cloud-Angebotenstehen die Daten meist in Form von Web-Objekten zur Ver-fügung, die über das Internet abgerufen bzw. manipuliert wer-den können. Man schiebt zusätzlich eine abstrakte Verwaltungs-schicht zwischen die Klienten und die Speicherlandschaft, umdie Darstellung eines Datums von der physischen Speicherungzu entkoppeln. Es entstehen somit vielfältige Vorteile im Bezugauf das Daten-Management und die Skalierbarkeit des Zugriffs.Das zentrale Management führt auch zu einem günstigeren Be-trieb der verteilten Speicher.

Darüber hinaus ist es möglich, Datenspeicher verschiede-ner Kategorien in Speicherhierarchien zu organisieren (Tier-Konzept). Dadurch kann man ein automatisiertes Lifecycle-Management für Datensätze realisieren, vom Tier-0 mit denhöchsten Anforderungen im Hinblick auf Verfügbarkeit undBandbreite, hin zu tieferen und preiswerteren Tier-Stufen mitentsprechend geringerer Dienstgüte. Die Daten können hierbeizwischen den Stufen ohne Beeinträchtigung des Dienstes mi-griert werden. Auch die Sicherung großer Datenmengen istdurch Snapshots ohne spezielles Backup-Fenster möglich. Einweiterer Vorteil der Speichervirtualisierung ist die automatischeAnlage und Verwaltung von verteilten Spiegeln zur Vermeidungvon Dienstunterbrechungen bei Störungen. So legt z. B. Amazon

Page 28: [Informatik im Fokus] Cloud Computing ||

2.1 Virtualisierung 17

bei der Speicherung von Daten bis zu 3 Kopien in verschiedenenRechenzentren an.

2.1.2.4 Netzwerkvirtualisierung

Techniken wie Lastausgleich (engl. Load-Balancing) sind essen-ziell in Cloud-Umgebungen, da die angebotenen Dienste dy-namisch skalierbar sein müssen. Die Ressourcen werden üb-licherweise als Web-Objekte implementiert, und es empfiehltsich in diesem Bereich daher der Einsatz der bei Web-Servernüblichen Verfahren: Dienste stehen über virtuelle IP-Adressenzur Verfügung, die über Cluster-Techniken sowohl Lastausgleichals auch eine automatische Ausfallbehandlung (engl. Failover)im Falle eines Fehlers realisieren. Durch die Weiterleitung vonDNS-Requests ist darüber hinaus die Einblendung von Cloud-Ressourcen im eigenen Internet-Namensraum des Kunden mög-lich.

Ein weiterer Einsatzbereich der Netzwerkvirtualisierung istdie Verwendung virtueller lokaler Netze (VLAN) und virtuel-ler Switches. Cloud-Ressourcen erscheinen in diesem Fall di-rekt im Netzwerk des Kunden. Interne Ressourcen können somittransparent durch externe Ressourcen ersetzt werden. Vorteileder VLAN-Technik sind:

• Transparenz: Verteilt aufgestellte Geräte können in einemeinzigen logischen Netz zusammengefasst werden. VLANssind sehr nützlich bei der Konzeption der IT-Infrastruktur ver-teilter Standorte.

• Sicherheit: Bestimmte, besonders zu schützende Systemekönnen in einem eigenen virtuellen Netz verborgen werden.

Auf der anderen Seite entsteht durch VLANs ein erhöhter Auf-wand bei der Netzwerkadministration und bei der Programmie-rung der aktiven Netzkomponenten (Switches u. ä.).

Page 29: [Informatik im Fokus] Cloud Computing ||

18 2 Grundlagen

2.1.2.5 Anwendungsvirtualisierung

Bei der Anwendungsvirtualisierung handelt es sich um einSoftware-Vertriebsmodell, bei dem Anwendungen zentral ver-waltet und dem Kunden über ein Netzwerk angeboten werden.Die Vorteile der Anwendungsvirtualisierung im Vergleich zurtraditionellen Software-Installation sind:

• Einfachere Verwaltung• Automatisches Update- und Patch-Management• Kompatibilität: Alle Nutzer verwenden ein identisches Port-

folio• Globale Verfügbarkeit

Es gibt zwei unterschiedliche Verfahren zur Bereitstellung virtu-eller Anwendungen:

• Hosted Application: Die Anwendung steht im Internet be-reit und wird z. B. über ein Streaming-Protokoll zum Kliententransportiert.

• Virtual Appliance: Die Anwendung kann heruntergeladenund auf dem eigenen Rechner betrieben werden.

In diesem Fall stehen in einer virtuellen Umgebung alle zurAnwendung gehörenden Dateien und Komponenten bereit, diedas Programm zur Ausführung benötigt. Die virtuelle Umge-bung wirkt dabei wie ein Puffer zwischen Anwendung undBetriebssystem, wodurch Konflikte mit anderen Anwendungenoder Betriebssystemkomponenten vermieden werden. In Cloud-Umgebungen bildet die Anwendungsvirtualisierung eine wichti-ge Grundlage für das SaaS-Konzept (Software as a Service, s. u.)zur dynamischen Bereitstellung von Software-Komponenten.

Page 30: [Informatik im Fokus] Cloud Computing ||

2.2 Service-orientierte Architekturen 19

2.2 Service-orientierte Architekturen

Neben der Virtualisierung sind Service-orientierte Architektu-ren und Web Services als fundamentale Voraussetzungen für dasCloud Computing zu verstehen. Service-orientierte Architektu-ren (SOA) sind Architekturen, deren Komponenten voneinanderunabhängige Dienste (Services) sind. Diese können flexibel ge-bunden und orchestriert werden und sie können lose gekoppeltüber Nachrichten kommunizieren. Das Cloud Computing rea-lisiert virtualisierte IT-Infrastrukturen, Plattformen, und ganzeAnwendungen als Dienste. Diese stehen zur Nutzung in Service-orientierten Architekturen zur Verfügung.

Im Fall von öffentlichen Clouds (Public Clouds, siehe Ka-pitel 3) werden die Dienste über das Internet auf Basis stan-dardisierter Web-Protokolle und Schnittstellen angeboten. Hierhat sich der Einsatz von Web Services und RESTful Services be-währt. Die Nutzung von Web Services als Technologie ist dabeinicht zwingend für eine SOA.

2.2.1 Eigenschaften von SOA

Bei SOA handelt es sich um einen Architekturstil, welcherdas Anbieten und Nutzen von Diensten definiert. Die Dienstekönnen nicht nur von Kunden, sondern wiederum auch von an-deren Diensten und Anwendungen genutzt werden. Oft werdendabei die Dienste als Geschäftsprozesse orchestriert, d. h. einKunde legt die Aufrufe und den Datenaustausch mit verschiede-nen Diensten in einer bestimmten Reihenfolge fest. Der Prozesskann dabei selbst wiederum als Dienst bereitgestellt werden.SOA verspricht somit, IT-Architekturen auf die Abstraktions-ebene von Geschäftsprozessen zu heben bzw. einen einheitlichen

Page 31: [Informatik im Fokus] Cloud Computing ||

20 2 Grundlagen

Ansatz für die Beschreibung und Realisierung von Geschäftspro-zessen durch IT-Dienste zu ermöglichen.

Typische Eigenschaften einer SOA sind:

• Sie besteht aus verteilten Komponenten, den Diensten.• Heterogene Dienstnutzer und Dienstanbieter sind plattform-

unabhängig miteinander interoperabel; unterschiedliche Pro-grammiersprachen und Plattformen zur Implementierung ein-zelner Dienste sind möglich.

• Dienste sind lose gekoppelt und werden dynamisch zur Lauf-zeit gebunden. Eine SOA erlaubt so dynamische Anpassun-gen, die lokale (aber nicht systemweite) Auswirkungen ha-ben.

Eine kurze und griffige Definition von Service-orientierten Ar-chitekturen wird in [13] gegeben:

Unter einer SOA versteht man eine Systemarchitektur, die vielfäl-tige, verschiedene und eventuell inkompatible Methoden oder An-wendungen als wieder verwendbare und offen zugreifbare Dienste

Dienst binden

Verweis aufDienst

DienstveröffentlichenDienst

suchen undfinden

Dienst nutzen

Dienstverzeichnis

Dienstnutzer Dienstanbieter

Abb. 2.3 Beteiligte und Aktionen in einer SOA

Page 32: [Informatik im Fokus] Cloud Computing ||

2.2 Service-orientierte Architekturen 21

repräsentiert und dadurch eine plattform- und sprachenunabhängigeNutzung und Wiederverwendung ermöglicht.

Abbildung 2.3 illustriert das grundlegende, theoretische Zusam-menspiel von Dienstanbieter, Dienstnutzer, und Dienstverzeich-nis für das dynamische Binden von Diensten zur Laufzeit. EinDienstnutzer kann einen passenden Dienst in einem Dienstver-zeichnis suchen bzw. über einen Dienstvermittler (broker) erfah-ren. Wird ein passender Dienst gefunden bzw. vermittelt, erhältder Dienstnutzer eine Referenz (Adresse, Endpunkt), mit der erauf den Dienst zugreifen kann, d. h. Nachrichten austauschenkann. Abschließend kann der Dienst aufgerufen, also eine Nach-richt geschickt werden. Der Dienstanbieter sendet eine Nach-richt als Antwort zurück.

In der Praxis wird oft auf das Dienstverzeichnis verzichtet,und Endpunkte werden direkt als Bestandteil von Nachrichtenkommuniziert. Standards für Dienstverzeichnisse wie Univer-sal Description, Discovery and Integration (UDDI) konnten sichnicht durchsetzen. Endpunkte direkt über Nachrichten zu ver-schicken, erlaubt eine sehr dynamische, zielorientierte Vermitt-lung und Bindung von Diensten zur Laufzeit.

2.2.2 Implementierung einer SOA

Die Möglichkeiten, eine SOA zu implementieren sind viel-fältig und basieren primär auf den Entscheidungen hinsicht-lich der Kommunikation und Integration (Kopplung) zwischenDienstanbieter und Dienstnutzer. Gängige Ansätze sind vor al-lem Web Services auf Basis von Web Service Description Lan-guage (WSDL) und Simple Object Access Protocol (SOAP), so-wie RESTful Services.

Die Integration der Dienste in einer SOA kann über Punkt-zu-Punkt-Verbindungen oder den Hub-and-Spoke-Ansatz erfol-

Page 33: [Informatik im Fokus] Cloud Computing ||

22 2 Grundlagen

gen. Die Punkt-zu-Punkt-Verbindung behandelt eine Verbindungzwischen Dienstanbieter und Dienstnutzer individuell. Hierfürmuss der Dienstnutzer den Endpunkt des gewünschten Dienstes(IP-Adresse, URL) genau kennen. Die Dienstanfrage geht danndirekt an den betreffenden Dienstanbieter.

Beim Hub-and-Spoke-Ansatz agiert ein Vermittler zwischenDienstanbietern und Dienstnehmern. Der Dienstnutzer kennthier die exakte Adresse des Dienstanbieters nicht. Für jedenDienst existiert ein symbolischer Name. Bei diesem kann essich z. B. um einen URI handeln. Der Vermittler trägt im SOA-Umfeld den Namen Enterprise Service Bus (ESB). Seine Auf-gabe beinhaltet das Routing, also die gesteuerte, zuverlässigeWeiterleitung von Nachrichten zwischen den Diensten über ver-schiedene Systeme und unabhängig von den verwendeten Proto-kollen hinweg. Eine weitere Aufgabe ist die Transformation vonDaten von einem Format in ein anderes Format. Dabei kann essich im einfachsten Fall um die Anpassung von unterschiedli-chen Datentypen zwischen 32-Bit und 64-Bit-Plattformen, aberauch um die Konvertierung zwischen unterschiedlichen XML-Standards handeln. Weitere Aufgaben sind die Verwaltung einesDienstverzeichnisses und abhängig von der Implementierung dieOrchestrierung der Nachrichten.

In Abbildung 2.4 sind Punkt-zu-Punkt-Verbindungen demHub-and-Spoke-Ansatz mit ESB gegenübergestellt.

2.3 Web Services

Im Gegensatz zu verteilten Systemen, die über lokale Netzwerkemiteinander verbunden sind, integrieren verteilte Systeme beimCloud Computing heterogene Ressourcen, die sich theoretischan allen Punkten der Erde mit Internetanschluss befinden kön-nen. Verbindungen über das Internet führen im Gegensatz zu

Page 34: [Informatik im Fokus] Cloud Computing ||

2.3 Web Services 23

lokalen Netzwerken automatisch zu Problemen wie hohen Ant-wortzeiten, geringen Datenübertragungskapazitäten und potenti-ell unzuverlässigen Verbindungen. In solchen Umgebungen isteine schwach gekoppelte, asynchrone und nachrichtenbasierteKommunikation über Web Services empfehlenswert.

Genau wie bei Service-orientierten Architekturen existiert fürWeb Services eine Vielzahl unterschiedlicher Definitionen. DieWeb Services Architecture Working Group des W3C definiertWeb Services wie folgt [137]:

Ein Web Service ist eine durch einen URI eindeutige identifizier-te Softwareanwendung, deren Schnittstellen als XML-Artefakte de-finiert, beschrieben und gefunden werden können. Ein Web Ser-vice unterstützt die direkte Interaktion mit anderen Softwareagentendurch XML-basierte Nachrichten, die über Internetprotokolle ausge-tauscht werden.

Wohlstadter u. Tai [32] definieren Web Services als eine verteil-te Middleware, die eine Maschine-zu-Maschine Kommunikationauf Basis von Web Protokollen ermöglicht. Web Services defi-nieren sich dabei weniger über die genutzte Technologie, son-dern vielmehr über deren intendierte Nutzung. Web Servicespropagieren einen kompositionellen Ansatz für die Anwen-dungsentwicklung. Funktionen können durch externe, verteilte

Anwendung A Anwendung B Anwendung C

Anwendung D Anwendung E Anwendung F

Anwendung A Anwendung B Anwendung C

Anwendung D Anwendung E Anwendung F

Enterprise Service Bus(Routing, Transformation, Orchestrierung)

Abb. 2.4 Punkt-zu-Punkt-Verbindungen und Enterprise Service Bus

Page 35: [Informatik im Fokus] Cloud Computing ||

24 2 Grundlagen

Dienste in eine Anwendung eingebunden werden; auch könnenLegacy Systeme durch Web Services angesprochen werden.

2.3.1 Interoperabilität

Web Services beschreiben Standards für die Formatierung vonNachrichten, für Dienste-Schnittstellen, und für die Bearbeitungvon Nachrichten. Zwei populäre Ansätze sind SOAP/WSDL-basierte Web Services und RESTful (REpresentational StateTransfer) Services. SOAP ist ein Messaging-Protokoll undWSDL (Web Services Description Language) eine Schnittstel-lenbeschreibungssprache. SOAP/WSDL-basierte Services ha-ben demnach programmatische Schnittstellen. REST dagegenbeschreibt einen Architekturstil, der auf HTTP aufbaut. RESTfulServices werden lediglich über die uniforme HTTP-Schnittstelleangesprochen. Beide Ansätze identifizieren Dienste anhand vonUniform Resource Identifiers (URI).

Web Services in ihrer Grundform beschreiben nur die Pri-mitive, um Dokumente (Daten) zwischen Dienstnutzern undDienstanbietern auszutauschen. Standards für transaktionale,verlässliche, sichere Dienste existieren für SOAP/WSDL. DieWeb Services Platform Architecture (WS-*) beschreibt eineMenge modular komponierbarer Erweiterungen, die jeweils einegewünschte Quality-of-Service Eigenschaft adressieren.

Das gängigste Datenaustauschformat ist XML. Die Nutzungvon XML ist bei SOAP/WSDL auch vorgeschrieben, und üb-lich bei RESTful Services. Die Konvertierung von XML Daten-strukturen in programmiersprachenspezifische Datenstrukturenerfolgt dabei durch standardisierte Mappings. Ein alternativesDatenaustauschformat ist JSON (JavaScript Object Notation),das insbesondere bei der Konsumierung von RESTful Servicesdirekt im Web Browser durch JavaScript populär ist.

Page 36: [Informatik im Fokus] Cloud Computing ||

2.3 Web Services 25

Die Schnittstelle eines Web Services wird im Fall vonSOAP/WSDL durch WSDL beschrieben. WSDL ist eine Er-weiterung der XML Schema Spezifikation und beschreibt WebServices einerseits abstrakt anhand von Typen, Nachrichten,Operationen und Schnittstellen (port types), und andererseitsdurch protokollspezifische und konkrete, verfügbare Adressen(endpoints). Im Fall von REST werden die generischen HTTP-Methoden (d. h. GET, PUT, POST, DELETE, etc.) anstelle spe-zifischer Operationen genutzt. REST baut somit direkt auf denPrinzipien des WWW auf und nutzt damit auch dessen Vor-teile wie eine einfache Fehlerbehandlung durch standardisierteHTTP-Fehlercodes.

2.3.2 SOAP versus REST

SOAP ist ein Messaging-Standard, der ein XML-basiertes Nach-richtenformat definiert, Bearbeitungsregeln für Nachrichten de-finiert, Konventionen beschreibt, und Abbildungen auf unter-schiedliche Internet-Transportprotokolle (inklusive HTTP) er-laubt.

SOAP-Nachrichten sind immer XML-Dokumente, die ausdrei Teilen bestehen. In einem virtuellen Umschlag, dem SOAPEnvelope, befinden sich zwei Elemente. Der optionale SOAPHeader, in dem u. a. Informationen zum Routing und Sicher-heitsinformationen (Authentifizierung und Autorisierung) ent-halten sein können und der zwingend notwendige SOAP Body.Im Body-Element ist die eigentliche Nachricht untergebracht.Diese kann Informationen zum Datenaustausch, oder Anweisun-gen für einen entfernten Prozeduraufruf enthalten.

SOAP baut auf dem Chain-of-Responsibility Pattern auf; eineReihenfolge verteilter Schritte zur Abarbeitung einer SOAP-Message kann definiert werden. Somit ergeben sich auch in-

Page 37: [Informatik im Fokus] Cloud Computing ||

26 2 Grundlagen

teressante Optionen für Web Service Intermediaries bzw. zurEinbindung spezialisierter Middeware-Funktionen zur Unter-stützung verschiedener Quality-of-Services der Web ServicesPlatform Architecture.

REST hingegen nutzt die Semantik von HTTP und schreibtsomit eine zustandslose Kommunikation vor (d. h. der Serverhält keine Zustandsinformation über den Client). Dadurch sindbei REST Punkt-zu-Punkt-Verbindungen gegeben, bei denen al-le notwendigen Informationen in den Nachrichten selbst enko-diert werden. Dies vereinfacht beispielsweise die Interpositio-nierung von Caches oder die Replikation von Servern.

Page 38: [Informatik im Fokus] Cloud Computing ||

Kapitel 3Cloud-Architektur

Die Betrachtung von Cloud-Architekturen kann aus zwei ver-schiedenen Perspektiven erfolgen – aus organisatorischer oderaus technischer Sicht. Die organisatorische Sicht, die im fol-genden Abschnitt 3.1 dargestellt ist, unterscheidet nach einerTrennung der organisatorischen Einheiten von Benutzern undAnbietern, während sich die technische Sicht in Abschnitt 3.2 anfunktionalen Eigenschaften orientiert. Damit entspricht die orga-nisatorische Sicht dem Betriebsmodell und die technische Sichtden Klassen der Dienste aus der Definition des NIST [105], diein Abschnitt 1.2 vorgestellt wurde.

3.1 Public, Private und Hybrid Clouds

Als Public Cloud (oder auch External Cloud) bezeichnet man al-le Cloud-Angebote, bei denen die Anbieter und die potenziellenBenutzer nicht derselben organisatorischen Einheit angehören.Die Anbieter machen ihre Cloud öffentlich zugänglich und bie-ten meist ein Web-Portal, in dem die Benutzer in Selbstbedie-

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 27DOI 10.1007/978-3-642-18436-9_3,c© Springer-Verlag Berlin Heidelberg 2011

Page 39: [Informatik im Fokus] Cloud Computing ||

28 3 Cloud-Architektur

nung die gewünschten Leistungsumfänge spezifizieren können.Dazu bedarf es in der Regel keines übergeordneten Rahmenver-trags, sondern die vertragliche Bindung wird im Rahmen derLeistungsspezifikation eingegangen. Die Abrechnung der Diens-te erfolgt auf Basis der tatsächlich über die Zeit benutzten Res-sourcen.

Im Kontrast dazu steht die so genannte Private Cloud (oderauch Internal Cloud bzw. IntraCloud), bei der die Anbieter- unddie Benutzerseite derselben organisatorischen Einheit angehö-ren. Als Hauptargument für den Einsatz einer Private Cloud statteiner Public Cloud werden meist Sicherheitsgründe angeführt:In der Private Cloud bleibt die Kontrolle über die Daten beimBenutzer bzw. innerhalb dessen Organisation. So können nichtnur sensible Daten, wie z. B. Konstruktionspläne oder Produk-tionsdaten vermeintlich besser geschützt werden, sondern auchregulatorische Maßnahmen, z. B. bzgl. personenbezogener Da-ten im Gesundheitswesen, können eingehalten werden.

Die Dienste einer Private Cloud werden zwar auf organisa-tionseigenen Ressourcen betrieben, es wird zum Teil jedoch ver-sucht, die gleichen technischen Schnittstellen wie in der Public

Abb. 3.1 Public Cloud, Private Cloud und Hybrid Cloud

Page 40: [Informatik im Fokus] Cloud Computing ||

3.2 Technische Landschaft der Cloud-Dienste 29

Cloud zu realisieren. So soll zum einen ermöglicht werden, diein der Public Cloud vorhandenen Werkzeuge auch in der PrivateCloud zu benutzen und zum anderen die Option offen gehaltenwerden, zunächst für die Private Cloud entwickelte Anwendung-en später in die Public Cloud skalieren zu können.

In Szenarien, in denen Dienste aus der Public und PrivateCloud zusammen benutzt werden, spricht man von einer Hy-brid Cloud. In der Regel werden hier bestimmte Funktionalitätenoder Lastspitzen in die Public Cloud ausgelagert, während derRegelbetrieb über die privaten Ressourcen erfolgt. Dabei ist nachobiger Sicherheitsüberlegung natürlich abzuwägen, dass nur un-kritische Funktionen bzw. Daten ausgelagert werden dürfen. Ab-bildung 3.1 zeigt, wie sich die drei beschriebenen Typen PublicCloud, Private Cloud und Hybrid Cloud zueinander positionie-ren.

3.2 Technische Landschaft der Cloud-Dienste

Wie in den vorangegangenen Kapiteln beschrieben, ermöglichtCloud Computing die Bereitstellung und Nutzung von verschie-denartigen IT-Infrastrukturen, Plattformen und Anwendungenals Web-Dienste. Entsprechend vielfältig und auf den erstenBlick heterogen ist die Landschaft der existierenden Cloud-Dienste im Bezug auf deren Funktionalität und Zielsetzung. AufBasis einer konzeptuellen Architektur wird im Folgenden eineLandkarte des Cloud Computing gezeichnet, die eine Kategori-sierung von Cloud-Angeboten und Technologien erlaubt und in-nerhalb der Kategorien einen Vergleich der jeweiligen Instanzen.Auf diese Weise lassen sich z. B. die alternativen verfügbarenCloud-Angebote oder komplementäre Techniken für einen be-stimmten Anwendungsfall bestimmen und gegeneinander abwä-gen. Die Darstellung in diesem Abschnitt orientiert sich an [20].

Page 41: [Informatik im Fokus] Cloud Computing ||

30 3 Cloud-Architektur

Die Architektur beruht auf dem Grundmuster der Schich-tung, bei dem die einzelnen Schichten wie gewöhnlich nach ih-rem Abstraktionsgrad angeordnet sind. Dabei können die hö-heren abstrakteren Schichten die Dienste der tieferen konkrete-ren Schichten zu ihrer eigenen Dienstrealisierung benutzen. Die

Abb. 3.2 Cloud-ArchitekturSchichtenmodell

Page 42: [Informatik im Fokus] Cloud Computing ||

3.3 Infrastructure as a Service 31

Schichtung ist nicht streng, d. h. eine höhere Schicht kann dieDienste aller unterliegenden Schichten nutzen und nicht nur dieder nächst tieferen Schicht.

Die einzelnen Schichten werden über ihre Eigenschaften cha-rakterisiert und zum Teil in weitere Subschichten unterteilt.Cloud-Dienste, die Dienste und Schnittstellen aufweisen, mit de-nen man sie in mehrere Schichten einordnen könnte, werden derhöchsten möglichen Schicht zugeschlagen, weil dies meist dieSchicht ist, mit der die potentiellen Benutzer primär adressiertwerden. Die Einordnung erhebt keinen Anspruch auf Vollstän-digkeit, sondern kann in einem derart dynamischen Feld, wiees das Cloud Computing zur Zeit der Entstehung dieses Buchesdarstellt, immer nur eine Momentaufnahme der bekannten bzw.besonders archetypischen Cloud-Dienste sein.

Die drei Hauptschichten, nach denen das resultierendeSchichtenmodell in Abbildung 3.2 unterteilt wird, folgen demeverything-as-a-service-Paradigma (XaaS) mit den vier Haupt-vertretern Infrastructure as a Service (IaaS), Platform as a Ser-vice (PaaS), Software as a Service (SaaS) und Humans as a Ser-vice (HuaaS), die in den folgenden Abschnitten genauer definiertund illustriert werden.

3.3 Infrastructure as a Service

In der IaaS-Schicht wird den Benutzern eine abstrahierte Sichtauf Hardware angeboten, d. h. auf Rechner, Massenspeicher,Netzwerke etc. Hierfür wird ihm in der Resource Set-Unter-schicht (RS) eine Benutzerschnittstelle zur Verwaltung einerMenge von Ressourcen bereitgestellt, die ermöglicht, Teile da-von für die eigene Verwendung zu allokieren. Typische Funktio-nalitäten an der Benutzerschnittstelle sind das Anlegen bzw. Be-seitigen von Betriebssystem-Abbildern, die Skalierung von be-

Page 43: [Informatik im Fokus] Cloud Computing ||

32 3 Cloud-Architektur

anspruchten Kapazitäten oder die Definition von Netzwerktopo-logien. Die Schnittstelle bietet darüber hinaus die erforderlichenFunktionalitäten für den operativen Betrieb, wie z. B. das Startenund Stoppen der Betriebssystem-Instanzen.

Die Angebote im Resource Set lassen sich noch weiter unter-teilen in die Klasse des Physischen Ressourcen Sets (PRS), derenVertreter auf einer proprietären physikalischen Hardware basie-ren und diese anbieten, und in die Klasse Virtuelles RessourcenSet (VRS), die auf Virtualisierungstechnologien wie XEN [14]aufgebaut sind und damit auch virtuelle Instanzen zur Verfügungstellt. Beispiele für Cloud-Dienste in PRS sind Emulab [16] undiLO [15]. Zu den VRS Cloud Diensten zählen Amazon EC2 [40],Eucalyptus [22], Nimbus [17] und OpenNebula [26]. Auch wenndie VRS Dienste mit ihren vereinfachenden virtuellen Ressour-cen weitaus häufiger anzutreffen sind, haben die PRS Diensteihre Berechtigung, wenn z. B. aus Gründen der Stabilität, Per-formanz oder durch spezielle Hardware-Anforderungen die In-direktion durch einen Hypervisor vermieden werden soll, aberzugleich auf den Komfort und Funktionsumfang der Verwaltungder Cloud-Dienste nicht verzichtet werden soll.

Neben der beschriebenen Resource Set-Unterschicht gehö-ren auch die Infrastrukturdienste zur IaaS-Schicht. Im Unter-schied zu den Resource Set-Angeboten haben die Infrastruk-turdienste einen engeren Anwendungsfokus. So gibt es z. B.dedizierte Infrastrukturdienste für Berechnungsaufgaben (Ha-doop MapReduce [97]), für Massenspeicher (Amazon S3 [46],Zumodrive [143], Dropbox [69]) oder für Netzwerke (Open-Flow [24]). Eine erweiterte und kommentierte Liste von IaaSCloud-Diensten und Werkzeugen zeigt Tabelle 3.1.

Page 44: [Informatik im Fokus] Cloud Computing ||

3.3 Infrastructure as a Service 33

Tabe

lle3.

1In

fras

truc

ture

asa

Serv

ice

Ang

ebot

eun

dW

erkz

euge

Org

anis

atio

nC

loud

-Die

nst

Ref

eren

zB

esch

reib

ung

Am

azon

Ela

stic

Com

pute

Clo

ud(E

C2)

[40]

Vir

tuel

leSe

rver

Am

azon

Dyn

amo

[12]

Spei

cher

ung

von

Schl

üsse

l-W

ert-

Paar

enA

maz

onSi

mpl

eSt

orag

eSe

rvic

e(S

3)[4

6]M

asse

nspe

iche

rA

maz

onSi

mpl

eDB

[47]

Dat

enba

nkas

aSe

rvic

e(D

aaS)

Am

azon

Clo

udFr

ont

[36]

Con

tent

Dis

trib

utio

nN

etw

ork

(CD

N)

Am

azon

SQS

[48]

Nac

hric

hten

-War

tesc

hlan

gen

App

Nex

usA

ppN

exus

Clo

ud[5

7]V

irtu

elle

Serv

erB

luel

ock

Vir

tual

Clo

udC

ompu

ting

[60]

Vir

tuel

leSe

rver

Blu

eloc

kV

irtu

alR

ecov

ery

[60]

Wie

derh

erst

ellu

ngvi

rtue

ller

Serv

erbe

iStö

rung

enC

loud

.com

Clo

udSt

ack

[65]

Ope

nSo

urce

IaaS

Dro

pbox

Dro

pbox

Clo

udSt

orag

e[6

9]M

asse

nspe

iche

rE

mul

abE

mul

abN

etw

ork

Test

bed

[16]

Em

ulat

ion

logi

sche

rN

etzw

erke

für

Exp

erim

ente

EN

KI

Vir

tual

Priv

ate

Dat

aC

ente

rs[7

3]B

edar

fsge

rech

teB

erei

tste

llung

virt

uelle

rR

eche

nzen

tren

Res

ervo

irO

pen

Neb

ula

[26]

Ope

nSo

urce

virt

uelle

Serv

er-P

ools

Flex

iSca

leFl

exiS

cale

Clo

udC

ompu

ting

[76]

Vir

tuel

leSe

rver

GoG

rid

Clo

udH

ostin

g[8

2]V

irtu

elle

Serv

erG

oGri

dC

loud

Stor

age

[82]

Mas

sens

peic

her

Goo

gle

Goo

gle

Big

Tabl

e[9

]V

erte

ilter

Spei

cher

für

stru

ktur

iert

eD

aten

Goo

gle

Goo

gle

File

Syst

em[8

9]V

erte

iltes

Dat

eisy

stem

HP

iLO

[15]

Lig

hts

outm

anag

emen

tH

PTy

coon

[126

]M

arkt

-bas

iert

eA

lloka

tion

von

Clu

ster

-Res

sour

cen

Page 45: [Informatik im Fokus] Cloud Computing ||

34 3 Cloud-Architektur

Tabe

lle3.

1(F

orts

etzu

ng)

Org

anis

atio

nC

loud

-Die

nst

Ref

eren

zB

esch

reib

ung

Joye

ntA

ccel

erat

or[9

9]V

irtu

elle

Serv

erJo

yent

Con

nect

or[9

9]V

orko

nfigu

rier

tevi

rtue

lleSe

rver

Joye

ntB

ingo

Dis

k[9

9]M

asse

nspe

iche

rU

nive

rsity

ofC

hica

goN

imbu

s[1

08]

Ope

nSo

urce

IaaS

Nir

vani

xSt

orag

eD

eliv

ery

Net

wor

k[9

9]M

asse

nspe

iche

rO

penfl

owO

penF

low

[109

]L

okal

eN

etzw

erks

imul

atio

nO

penN

ebul

aPr

ojec

tO

penN

ebul

a[1

14]

Ope

nSo

urce

IaaS

Rac

kspa

ceM

osso

Clo

udSi

tes

[120

]V

orko

nfigu

rier

tevi

rtue

lleSe

rver

Rac

kspa

ceM

osso

Clo

udSt

orag

e[1

20]

Mas

sens

peic

her

Rac

kspa

ceM

osso

Clo

udSe

rver

s[1

20]

Vir

tuel

leSe

rver

Skyt

apSk

ytap

Vir

tual

Lab

[127

]H

ybri

deC

loud

-Tes

tum

gebu

ngen

Terr

emar

kIn

finis

truc

ture

[131

]V

irtu

elle

Serv

erto

doG

mbH

flexI

T[1

32]

Vir

tuel

leSe

rver

Euc

alyp

tus

Syst

ems

Euc

alyp

tus

[74]

Ope

nSo

urce

Impl

emen

tieru

ngde

rA

WS

Zim

ory

Zim

ory

Publ

icC

loud

Mar

ket

[141

]V

erte

ilte

Mar

kt-b

asie

rte

Allo

katio

nvo

nIa

aS-R

esso

urce

nZ

umod

rive

Hyb

rid

Clo

udSt

orag

e[1

43]

Mas

sens

peic

her

10ge

nM

ongo

DB

[33]

Dat

abas

efo

rcl

oud

stor

age

Page 46: [Informatik im Fokus] Cloud Computing ||

3.4 Platform as a Service 35

3.4 Platform as a Service

Die Cloud-Dienste in der PaaS-Schicht richten sich meist nichtan Endkunden sondern an Entwickler. Es sind dies Entwick-lungsumgebungen – Programming Environments (PE) – undLaufzeitumgebungen – Execution Environments (EE) –, in de-nen sich eigene Software in einer bestimmten Programmierspra-che entwickeln bzw. ausführen lässt. Typische Vertreter der Ent-wicklungsumgebungen sind das Django Framework [68] oderSun Caroline [61]. Diese erweitern existierende Programmier-sprachen z. B. durch Klassenbibliotheken mit einem bestimmtenAnwendungsfokus. Die Ausführung der entstehenden Anwen-dung erfolgt in Laufzeitumgebungen, die von der jeweiligen Ent-wicklungsumgebung aus Projektsicht entkoppelt sind.

Bekannte Vertreter der Cloud-basierten Laufzeitumgebungensind Google App Engine [85], Azure von Microsoft [59] oderReasonably Smart von Joyent [99]. Im Falle von MicrosoftWindows Azure lassen sich eine ganze Reihe von Werkzeugenund verschiedene Programmiersprachen auf Basis der Azure-Umgebung nutzen. Google App Engine unterstützt die Erstel-lung und Ausführung von Web-Anwendungen in den SprachenPython und Java.

Wie Dienste der verschiedenen Schichten der Architektur zu-sammenspielen bzw. aufeinander aufbauen können, zeigt sichexemplarisch am Beispiel der Entwicklungsumgebung AppSca-le [58], einer Open Source Re-Implementierung der Google AppEngine. AppScale realisiert deren Funktionalität auf Basis desoben bereits erwähnten Infrastrukturdienstes Eucalyptus.

Page 47: [Informatik im Fokus] Cloud Computing ||

36 3 Cloud-Architektur

Tabe

lle3.

2Pl

atfo

rmas

aSe

rvic

eA

ngeb

ote

und

Wer

kzeu

ge

Org

anis

atio

nC

loud

-Die

nste

Ref

eren

zB

esch

reib

ung

Aka

mai

Edg

ePla

tfor

m[3

5]C

onte

nt,S

ite,A

pplic

atio

nD

eliv

ery

Face

book

Face

book

Plat

form

[75]

Um

gebu

ngfü

rA

nwen

dung

enim

sozi

alen

Net

zwer

kFa

cebo

okG

oogl

eA

ppE

ngin

e[8

5]Sk

alie

rbar

eA

usfü

hrun

gsum

gebu

ngfü

rW

eb-A

nwen

dung

enM

icro

soft

Azu

re[5

9]E

ntw

ickl

ungs

-un

dA

usfü

hrun

gsum

gebu

ngfü

rW

indo

ws

Anw

endu

ngen

Mic

roso

ftW

indo

ws

SkyD

rive

[103

]Pl

attf

orm

zum

Dat

enab

glei

chzw

isch

enhe

tero

gene

nE

ndge

räte

nN

etSu

iteSu

iteFl

ex[1

06]

Wer

kzeu

gzu

rG

esch

äfts

proz

esse

ntw

ickl

ung

inN

etSu

iteSa

lesf

orce

Forc

e.co

m[7

8]E

ntw

ickl

ung

und

Bet

rieb

von

Erw

eite

rung

ende

sSa

lesf

orce

-CR

MSu

nPr

ojec

tCar

olin

e[6

1]E

ntw

ickl

ung

und

Bet

rieb

von

vert

eilte

nW

eb-A

nwen

dung

enZ

oho

Zoh

oC

reat

or[1

42]

Ent

wic

klun

gun

dB

etri

ebD

aten

bank

-bas

iert

erW

eb-A

nwen

dung

en

Page 48: [Informatik im Fokus] Cloud Computing ||

3.5 Software as a Service 37

Die Austauschbarkeit von Teilen des beschriebenen Schich-tenmodells, die durch die Nachimplementierung in OpenSource-Projekten entsteht, führt nicht nur zu technischen Al-ternativen, sondern mindert punktuell auch die häufig kritisier-te Gefahr einer zu engen Bindung von Benutzern an bestimmtekommerzielle Cloud-Anbieter (sog. Vendor-Lock-In). In Tabel-le 3.2 werden weitere PaaS-Angebote und Werkzeuge genanntund beschrieben.

3.5 Software as a Service

Software-Anwendungen in der Cloud, die den Endkunden direktadressieren, gehören zur SaaS-Schicht. Auf der Kundenseite ent-fällt in dieser Klasse die lokale Software-Installation und mithinauch die Bereitstellung der erforderlichen Ressourcen. Aus Per-spektive der beschriebenen Cloud-Architektur kann das SaaS-Angebot auf Basis eines Angebots in PaaS oder IaaS beim An-bieter entwickelt und betrieben werden.

Innerhalb der SaaS-Angebote lässt sich unterscheiden zwi-schen Anwendungsdiensten, deren Funktionalität im Wesentli-chen auf einer einzigen einfachen Anwendung basiert und voll-wertigen komplexen Anwendungen (Applications). Ein Teil derAnwendungsdienste kann vom Endkunden direkt benutzt wer-den, wie dies z. B. bei Google Maps [90] der Fall ist. Ande-re Dienste stehen als Komponenten bereit, wie z. B. die Benut-zerverwaltung von OpenID [113], oder die Integration sozialerNetzwerke in Anwendungen durch OpenSocial [115]. Die Ver-knüpfung solcher Anwendungsdienste kann durch gewöhnlichestatische Einbindung geschehen oder durch die vergleichsweiseleichtgewichtige und flexible Einbindung in sogenannten Mash-ups [6].

Page 49: [Informatik im Fokus] Cloud Computing ||

38 3 Cloud-Architektur

Tabe

lle3.

3So

ftw

are

asa

Serv

ice

Ang

ebot

eun

dW

erkz

euge

Org

anis

atio

nC

loud

-Die

nste

Ref

eren

zB

esch

reib

ung

Ado

bePh

otos

hop

Exp

ress

[34]

Onl

ine

Bild

bear

beitu

ngflu

idO

pseC

loud

Man

ager

SAP

Edi

tion

[77]

SAP

Lan

dsca

peas

aSe

rvic

eG

oogl

eG

oogl

eD

ocs

[88]

Onl

ine

Offi

ceA

nwen

dung

enG

oogl

eG

oogl

eM

aps

API

[90]

Die

nstz

urIn

tegr

atio

nvo

nL

andk

arte

nun

dge

ogra

phis

chen

Info

rmat

ione

nG

oogl

eO

penS

ocia

l[1

15]

Übe

rgre

ifen

dePr

ogra

mm

iers

chni

ttste

llezu

rIn

tegr

atio

nso

zial

erN

etze

inA

nwen

dung

enO

penI

DFo

unda

tion

Ope

nID

[113

]V

erte

iltes

Syst

emzu

rV

erw

altu

ngsy

stem

über

grei

fend

erB

enut

zeri

dent

itäte

nM

icro

soft

Win

dow

sL

ive

[103

]O

nlin

eO

ffice

Anw

endu

ngen

Sale

sfor

ceSa

lesf

orce

.com

[125

]E

rwei

terb

ares

CR

M-S

yste

m

Page 50: [Informatik im Fokus] Cloud Computing ||

3.6 Humans as a Service 39

Von wesentlich höherer Komplexität und größerem Funkti-onsumfang sind Anwendungen wie z. B. Google Docs [88], Mi-crosoft Windows Live [103] oder das in Salesforce.com [125]zentrale CRM-System. An letzterem zeigt sich auch, wie sicheine vollwertige Anwendung durch weitere Anwendungsdienstenoch aufwerten lässt und wie in diesem Fall die SaaS und diePaaS-Schicht zusammenspielen können: Salesforce.com bietetDrittanbietern eine Plattform auf der sie – auch kostenpflichtige– Anwendungsdienste entwickeln und betreiben können, die dieFunktionalität des zentralen CRM-Systems erweitern und ergän-zen. Weitere Anwendungen und Anwendungsdienste zeigt Ta-belle 3.3.

3.6 Humans as a Service

Die Schicht Humans as a Service (HuaaS) baut auf demCloud Computing Schichtenmodell auf. Dies illustriert, dass dasCloud-Paradigma nicht nur eingeschränkt auf IT-Dienste trägt,sondern auch auf Dienstleistungen der Ressource Mensch er-weiterbar ist. Technisch eingebunden ist die menschliche Res-source von Interesse, weil sie bei bestimmten Fähigkeiten denRechnersystemen überlegen ist. Bestimmte Aufgaben wie bei-spielsweise Übersetzungsdienste oder Design-Dienste, bei de-nen die Kreativität eine Rolle spielt, lassen sich damit bessererledigen.

Innerhalb der HuaaS-Schicht ist das Crowdsourcing die do-minierende Unterkategorie, bei dem eine Gruppe von mensch-lichen Ressourcen im Internet Aufgaben von unterschiedlicherKomplexität und variierendem Umfang für die Auftraggeberübernimmt. Ein Standardbeispiel für Crowdsourcing kommterneut aus dem Hause Amazon: Der Amazon MechanicalTurk [44] bietet eine Schnittstelle, über die meist fein granulare

Page 51: [Informatik im Fokus] Cloud Computing ||

40 3 Cloud-Architektur

Aufgaben auf interessierte menschliche Ressourcen übertragenwerden können, die dafür eine gleichermaßen kleine Entlohnungerhalten.

Der Amazon Mechanical Turk erfüllt die Funktion einesMarktplatzes für Crowdsourcing-Angebote. Allerdings kann einHuaaS-Angebot bislang nur dann eingestellt werden, wenn derAuftraggeber über einen Wohnsitz und eine Bankverbindung inden USA verfügt. Personen außerhalb der USA können das An-gebot nur als Auftragnehmer nutzen.

Typische Crowdsourcing-Aufgaben verlangen wenige oderkeinerlei Vorkenntnisse und den Auftraggebern steht damit inder Cloud eine potenziell große Menge von dynamisch ska-lierbaren Arbeitskräften zur Erledigung ihrer Aufgaben zurVerfügung. Bei anderen Crowdsourcing-Angeboten profitierenz. B. alle Teilnehmer von bereitgestellten Artefakten, deren Qua-lität sich an den Urteilen der anderen Benutzern ablesen lässt.YouTube [140] ist ein typischer Vertreter für ein solches Ange-bot. Eine Aggregation von Vermutungen einzelner über die Zu-kunft betreiben die Prediction Markets, wie z. B. die IOWA Elec-tronic Markets [7]. Basierend auf der Mehrheitsmeinung sagensie den Ausgang von Wahlen oder auch Sportereignissen vor-her. Ein weiteres interessantes Beispiel für Crowdsourcing ist dieUntersuchung der britischen Zeitung The Guardian zum briti-schen Spesenskandal im Sommer 2009. Die Zeitung stellte über450.000 Dokumente [96] mit Rechnungen online, damit die Le-ser diese betrachten und deren Relevanz bewerten konnten. Dievon vielen Menschen geleistete Arbeit trug maßgeblich dazu bei,den Spesenskandal in kürzester Zeit aufzuarbeiten.

Page 52: [Informatik im Fokus] Cloud Computing ||

3.7 Weitere Kategorien von Cloud-Diensten 41

3.7 Weitere Kategorien von Cloud-Diensten

Neben den etablierten Dienst-Kategorien IaaS, PaaS, SaaS undHuaaS existiert eine Vielzahl von Spezialdiensten, die teilweisedarauf aufbauen. Einige Beispiele dafür sind:

• High Performance Computing as a Service (HPCaaS). DasZiel von HPCaaS ist es, Hochleistungsrechenleistung alsDienst verfügbar zu machen. Ein Fokus beim Hochleistungs-rechnen ist die Minimierung der Latenzzeiten zwischen denverbunden Ressourcen sowie die Optimierung des Daten-durchsatzes. Dazu ist es nötig, Instanzen in einer Cloud-Infrastruktur physisch nahe beieinander zu platzieren. DieseRahmenbedingung kann z.B. durch die IaaS-Lösung Open-Nebula erfüllt werden. Verschiedene Firmen bieten ent-sprechende Lösungen an: Amazon Cluster Compute Instan-ces [38], Gridcore Gompute [93], Penguin Computing on De-mand [119], Sabalcore HPC on Demand [123], UNIVA UDUniCloud [134].

• Landscape as a Service (LaaS). Komplexe und nicht oder nureingeschränkt mandantenfähige Software wie SAP R3 wirdals SaaS angeboten. Ein solches Angebot richtet sich an Un-ternehmen, die ihr gesamtes Rechenzentrum, inklusive Hard-ware, Software, Wartung und Bereitstellung auslagern möch-ten. Anbieter solcher Lösungen sind die Firmen fluid Opera-tions [77] und Zimory [141].

Page 53: [Informatik im Fokus] Cloud Computing ||

Kapitel 4Ausgewählte Cloud-Angebote

Im vorangegangenen Kapitel 3 wurde eine technische Archi-tektur für Cloud-Dienste beschrieben und damit die Landschaftdes Cloud Computing kartiert. Konkrete Cloud-Angebote kamenhierbei nur kurz zur Sprache. Unter anderem über die Angebotevon Amazon, Google, Microsoft und Salesforce.com will das fol-gende Kapitel einen Überblick geben und deren Funktionsum-fang und Anwendung vermitteln. Darüber hinaus soll dargestelltwerden, wie man diese Cloud-Dienste benutzen kann.

Die Auswahl fiel auf die genannten Angebote, weil sie zumeinen einen hohen Bekanntheitsgrad genießen und zum ande-ren in ihrer jeweiligen Kategorie in der Cloud-Architektur eineprototypische Rolle spielen. Es ist an dieser Stelle aber unbe-dingt festzuhalten, dass das Feld des Cloud Computing bei wei-tem nicht nur aus diesen großen Mitspielern besteht. Insbeson-dere auch die Mittelständler und Start-Ups spielen mit ihren in-novativen Entwicklungen eine wichtige Rolle. Dem wird unteranderem durch die Abschnitte über Cloud Gaming und Cloud-Betriebssysteme Rechnung getragen, die neuere Anwendungs-klassen des Cloud Computing beschreiben.

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 43DOI 10.1007/978-3-642-18436-9_4,c© Springer-Verlag Berlin Heidelberg 2011

Page 54: [Informatik im Fokus] Cloud Computing ||

44 4 Ausgewählte Cloud-Angebote

4.1 Amazon Web Services

Amazon Web Services (AWS) [50] ist der Sammelbegriff für alleCloud-Angebote der Firma Amazon. Das Cloud-Engagementdes Unternehmens, das immer noch vorrangig als Händler vonWaren über das Internet bekannt ist, lässt sich leicht begrün-den: Amazon muss IT-Ressourcen in einem erheblichem Um-fang vorhalten, der sich am saisonalen Spitzenaufkommen –zur Weihnachtszeit und zum Erntedankfest, dem amerikanischenThanksgiving Day – orientiert. Ein Großteil dieser Ressourcenliegt im Jahresverlauf jedoch brach. So entstand die Geschäfts-idee, die freien Ressourcen gegen Entgelt in Zeiten schwacherNutzung dritten zur Verfügung zu stellen. Gegenwärtig bietetAmazon die folgenden Cloud Dienste:

• Amazon Elastic Compute Cloud (Amazon EC2) [40]: MitAmazon EC2 kann der Benutzer über Web Services virtuelleServer verwalten, die in den Rechenzentren von Amazon fürihn ausgeführt werden. Mehr Details hierzu werden in Ab-schnitt 4.1.1 genannt.

• Amazon Simple Storage Service (Amazon S3) [46]: Die Spei-cherung von großen Datenmengen in einem im Wesentlichenflach aufgebauten Massenspeicher erlaubt Amazon S3, aufdas Abschnitt 4.1.2 weiter eingeht.

• Der Amazon Elastic Block Store (EBS) [39] dient der dau-erhaften (persistenten) Speicherung von Daten innerhalb vonInstanzen. In Abschnitt 4.1.3 wird näher auf diesen Diensteingegangen.

• Amazon Simple Queue Service (Amazon SQS) [48]: Ama-zon SQS realisiert ein Benachrichtigungssystem auf der Ba-sis von Nachrichten-Warteschlangen, in die eine schreibendeAnwendung (Publisher) Nachrichten einstellen kann. Regis-trierte empfangende Anwendungen (Subscriber) können die-se dann asynchron auslesen (Abschnitt 4.1.4). Mit Hilfe von

Page 55: [Informatik im Fokus] Cloud Computing ||

4.1 Amazon Web Services 45

SQS lassen sich auf einfache Weise skalierbare Anwendun-gen in der Cloud entwickeln (Abschnitt 4.1.7).

• Amazon SimpleDB [47]: Die Amazon SimpleDB ist eineCloud-Datenbank, die ein einfaches Datenbankmodell um-setzt, das an ein abgespecktes relationales Datenbankmodellerinnert. Mehr Informationen hierzu siehe Abschnitt 4.1.5.

• Amazon Relational Database Service (RDS) [45]: Der Re-lational Database Service realisiert eine relationale MySQLDatenbank in der Amazon-Cloud auf Basis einer EC2 Daten-bankinstanz.

• Amazon CloudFront [36]: Zur schnellen Auslieferung vonDaten in Web-Anwendungen verwendet man häufig soge-nannte Content Distribution Networks (CDN). Hier sind dieDaten redundant und geographisch verteilt gespeichert. DieBenutzer bekommen die nachgefragten Daten vom jeweilsfür sie am besten geeigneten Knoten ausgeliefert. AmazonCloudFront realisiert ein Content Distribution Network alsAufsatz für Amazon S3.

• Amazon Elastic MapReduce [41]: Mit Amazon Elastic Map-Reduce lassen sich datenintensive Berechnungen über einebeliebige Anzahl von Amazon EC2-Instanzen verteilen undsomit flexibel skalieren.

• Amazon Virtual Private Cloud (VPC) [49]: Über die VPCkönnen EC2-Ressourcen innerhalb der AWS transparent indie vorhandene IT-Infrastruktur des Kunden integriert wer-den. Die Integration der externen Ressourcen in das Netzwerkdes Kunden erfolgt über eine sichere, verschlüsselte VPN-Verbindung und bietet so die Möglichkeit zum Aufbau einerHybrid Cloud. Amazon berechnet für diesen Dienst die übli-chen Preise zuzüglich der durch die VPN-Verbindung über-tragenen Datenmenge.

• AWS Import/Export [52]: Auf den ersten Blick anachronis-tisch klingt das Angebot, die Übertragung sehr großer Daten-mengen durch das Versenden physikalischer Datenträger auf

Page 56: [Informatik im Fokus] Cloud Computing ||

46 4 Ausgewählte Cloud-Angebote

dem Postweg zu erledigen. Da jedoch zahlreiche Praxispro-bleme beim Netzwerktransfer großer Datenmengen existie-ren, ist der Postversand besonders im Bereich mehrerer Pe-tabyte schneller, zuverlässiger und preiswerter als die Über-tragung über das Internet. Falls keine sichere Netzwerkver-bindung aufgebaut werden kann, hat das Versenden der Da-ten per Post auch Vorteile im Hinblick auf den Datenschutz.Die Daten werden verschlüsselt auf den Datenträgern abge-legt und es wird über ein Zertifikat der Eigentümer identifi-ziert. Nur der Inhaber des Zertifikats kann nach der Integrati-on der Datenträger in den Rechenzentren von Amazon diesein Betrieb nehmen und die Daten nach Angabe des Schlüsselsverarbeiten.

Neben diesen Cloud-Angeboten, die offizielle Bestandteile derAWS sind, gibt es noch weitere Cloud-Dienste, die aber nur alsabhängige Unterstützungs- oder Teilfunktionalitäten der obigenAngebote zu sehen sind. Auf diese soll an dieser Stelle nichtweiter eingegangen werden.

4.1.1 Amazon Elastic Compute Cloud (EC2)

Die virtuellen Server in der Amazon Elastic Compute Cloud bil-den das Herzstück der Amazon Web Services. Die folgendenSchritte sind notwendig, um einem solchen Server einzurichtenund dauerhaft zu betreiben:

• Auswahl der Region: Amazon bietet für die Dienste vier geo-graphische Regionen an, in denen man Ressourcen zu unter-schiedlichen Preisen nutzen kann. Bei den Regionen handeltes sich um:

– US East =⇒ Virginia– US West =⇒ Kalifornien

Page 57: [Informatik im Fokus] Cloud Computing ||

4.1 Amazon Web Services 47

– EU East =⇒ Irland– Asia Pacific =⇒ Singapur

• AMI-Auswahl: Die virtuellen Server werden aus AmazonMachine Images (AMI) erzeugt. Diese sind eine Art Blau-pause für das Anlegen eines neuen virtuellen Servers. Ama-zon stellt vorgefertigte Images zur Verfügung, die sich in ih-rem Betriebssystem und in den darauf installierten Software-Paketen unterscheiden. AMIs von Amazon gibt es z. B.für verschiedene UNIX-Derivate und auch für Windows-Betriebssysteme mit unterschiedlichen installierten Umge-bungen z. B. für Web-Anwendungen. Neben Amazon stelltauch eine Reihe Drittanbieter, wie z. B. IBM, Oracle und Sun,AMIs mit eigenen Software-Paketen zur Verfügung. Auch dieEndbenutzer können eigene Images zur späteren Wiederver-wendung anfertigen. Es ist möglich, diese AMIs zu veröffent-lichen und über eine Produkt-ID zu vermarkten (Paid Instan-ces). Betriebssystem und installierte Software-Pakete sind dieHauptkriterien für die Auswahl eines geeigneten AMIs, dieüber ein eigenes Web-Portal mit Bewertungsfunktion auf denWeb-Seiten der AWS erfolgen kann.

• Auswahl der Ressourcenkonfiguration und Verfügbarkeitszo-ne (Availability Zone): Eine weitere Vorüberlegung ist dieAuswahl der richtigen Ressourcengröße für den gewünschtenvirtuellen Server. Die Ressourcenkonfigurationen unterschei-den sich nach der Leistungsfähigkeit des Prozessors und derGröße von Arbeits- und Plattenspeicher. Außerdem muss derKunde eine Verfügbarkeitszone auswählen, in der der virtuel-le Server laufen soll. Die verschiedenen oben genannten Re-gionen sind wiederum in Verfügbarkeitszonen unterteilt, dieinsofern voneinander unabhängig sind, dass sie sich keine kri-tischen Komponenten teilen und sie damit nicht gleichzeitigaus demselben Grund ausfallen können. Eine kluge Auswahlder Verfügbarkeitszone kann also zur Verringerung von La-

Page 58: [Informatik im Fokus] Cloud Computing ||

48 4 Ausgewählte Cloud-Angebote

tenzen und zu verbesserter Zuverlässigkeit bei redundant aus-gelegten Servern führen. Die Region US East bietet vierVerfügbarkeitszonen, während die Regionen US West, EUEast und Asia Pacific aktuell jeweils nur zwei Verfüg-barkeitszonen beinhalten.

• Schlüsselpaar generieren: Die Benutzer identifizieren sich ge-genüber den genutzten Amazon EC2 Instanzen über ein soge-nanntes Public-Key-Verfahren. Vor einer Erstbenutzung mussman folglich ein Paar aus öffentlichem und privatem Schlüs-sel generieren. Der öffentliche Schlüssel wird mit dem auchfür die Abrechnung erforderlichen Amazon Benutzerkontoassoziiert und der private Schlüssel verbleibt in der Arbeits-umgebung des Benutzers.

• Instanz starten: Mit den Parametern aus den obigen Vorüber-legungen lässt sich nun die gewünschte Instanz starten. Nachdem Startprozess erhält der entstandene virtuelle Server ei-ne dynamisch zugewiesene öffentliche und eine private IP-Adresse. Unter der öffentlichen Adresse ist der Rechner spä-ter aus dem Internet erreichbar, unter der privaten Adresseist er für andere Instanzen in der Amazon Cloud sichtbar. Dasowohl die privaten als auch die öffentlichen Adressen dy-namisch bei jedem Start einer Instanz neu vergeben werden,sind diese nicht für den dauerhaften Betrieb eines Servers ge-eignet, wenn dieser im Laufe seines Lebenszyklus wiederholtneu gestartet werden muss. Für diesen Fall bietet Amzon diestatischen elastischen IP-Adressen, die – einmal reserviert –immer wieder den verschiedenen neuen Inkarnationen einesServers zugewiesen sind. Die Elastic IPs lassen sich daherz. B. gut für DNS-Einträge verwenden.

• Security Group definieren und konfigurieren: Aus Sicher-heitsgründen sind neue Instanzen nach ihrer Entstehung nichtunmittelbar aus dem Internet zu erreichen. Vielmehr müs-sen sie einer Sicherheitsgruppe, einer sogenannten Securi-ty Group angehören, für die jeweils dieselben definierbaren

Page 59: [Informatik im Fokus] Cloud Computing ||

4.1 Amazon Web Services 49

Sicherheitseinstellungen gelten. Für solch eine Gruppe lässtsich beispielsweise auch der Zugang über die Secure Shell(SSH) auf dem entsprechenden Port 22 freischalten. Nun lässtsich der virtuelle Server mittels SSH erreichen, wobei zur Au-thentifizierung das Public-Key-Verfahren mit den oben gene-rierten Schlüsseln zur Anwendung kommt.

• Speicherung von Zuständen: Zustandsänderungen einer lau-fenden Instanz während ihres Betriebs sind nicht dauerhaft.Bei der Beendigung der Instanz gehen alle Änderungen ver-loren. Um auch über die Laufzeit eines virtuellen Servers hin-aus Zustandsänderungen persistent zu machen, ist folglich derZustand außerhalb der Instanz zu speichern. Für die Speiche-rung großer Mengen schwach strukturierter Daten kann manAmazon S3 verwenden, das jedoch für die typischen Datei-systemoperationen weniger geeignet ist. Hier kommt Ama-zon Elastic Block Store (EBS) zum Einsatz, das einen block-basierten Zugriff auf ein Speichermedium erlaubt. Aus Sichtder EC2-Instanz lässt sich EBS wie eine externe Festplatte be-nutzen. Mit dem Befehlssatz von EBS lassen sich Speichervo-lumen anlegen, mit EC2-Instanzen verknüpfen, dort als Lauf-werk anhängen und dann wie gewohnt benutzen. Nach demgeregelten Schließen und Abhängen des Volumens, z. B. beimHerunterfahren der Instanz, kann es wieder anderen neuenEC2-Instanzen zur Verfügung stehen. Die gleichzeitige Nut-zung eines EBS-Volumens durch mehrere Instanzen ist je-doch nicht möglich. Ein besonders praktische Eigenschaft derKombination von Amazon EBS und EC2 ist die Möglichkeit,nach Bedarf Momentaufnahmen des EBS-Zustandes (engl.Snapshots) zu erstellen und diese auf Amazon S3 zu sichern.

• Erstellung eigener AMIs: Images, die auf die eigenen Bedürf-nisse zurechtgeschnitten sind, lassen sich am einfachsten aufeinem möglichst passenden vorkonfigurierten AMI aufbauen,das man zunächst wie oben beschrieben zusammen mit einemEBS-Volumen in Betrieb nimmt. Dort installiert man dann

Page 60: [Informatik im Fokus] Cloud Computing ||

50 4 Ausgewählte Cloud-Angebote

zunächst wie gewohnt die eigenen Erweiterungen. Durch ei-ne Reihe spezieller Kommandos zum Bündeln des ursprüng-lichen Images mit den eigenen Anpassungen lässt sich daseigene Image erstellen und geschützt durch Zertifikate auf S3speichern. Nach der Registrierung des Images ist die Verwen-dung der eigenen Instanzen von Amazon S3 aus möglich.

• Werkzeugunterstützung: Alle oben beschriebenen Vorgängelassen sich über Kommandozeilenbefehle ausführen. Wemdies zu umständlich ist, der kann mittlerweile auf eine Reihevon Werkzeugen zurückgreifen, die über die AWS-Homepageverfügbar sind. Hervorzuheben sind unter diesen Werkzeugendie AWS Management Console, das AWS Toolkit für die Ent-wicklungsumgebung Eclipse und der ElasticFox als Pluginfür den Web Browser Firefox. Diese stellen jeweils abhän-gig vom adressierten Benutzerkreis bestimmte Teilmengender Schnittstelle zu AWS auf komfortable Weise zur Verfü-gung (siehe Abschnitt 5.3 und Anhang 9).

Die Kosten für den Betrieb von on-demand EC2-Instanzenergeben sich aus mehreren Positionen: Der Preis für die eigentli-che Instanz richtet sich nach deren Leistungsfähigkeit und wirdstundenweise abgerechnet. Tabelle 4.1 zeigt den Preis pro Stun-de in Dollar auf dem Stand vom Winter 2010 für Instanzen, dieim Osten der USA laufen. Die Linux-Instanzen sind damit ca. 10Prozent preiswerter, als die gleichen Instanzen in Europa.

Die Größenangaben, die das Leistungsvermögen der Instan-zen angeben, beziehen sich auf das Standardmaß EC2 ComputeUnit (ECU) zusammen mit weiteren Eigenschaften des virtuel-len Systems. Eine ECU ist äquivalent zur Rechenleistung einer2007er AMD Opteron oder Intel Xeon CPU mit 1,0 bis 1,2 GHzProzessortakt.

Page 61: [Informatik im Fokus] Cloud Computing ||

4.1 Amazon Web Services 51

Tabe

lle4.

1Pr

eise

für

Am

azon

EC

2on

-Dem

and

Inst

anze

n(U

SD/S

tund

e)

Mic

roO

n-D

eman

dIn

stan

ceL

inux

/UN

IXW

indo

ws

Mic

rot1.micro

0,02

0,03

Stan

dard

On-

Dem

and

Inst

ance

Lin

ux/U

NIX

Win

dow

s

Smal

l(D

efau

lt)m1.small

0,08

50,

12L

arge

m1.large

0,34

0,48

Ext

raL

arge

m1.xlarge

0,68

0,96

Hig

hC

PUO

n-D

eman

dIn

stan

ceL

inux

/UN

IXW

indo

ws

Med

ium

c1.medium

0,17

0,29

Ext

raL

arge

c1.xlarge

0,68

1,16

Hig

hM

emor

yO

n-D

eman

dIn

stan

ceL

inux

/UN

IXW

indo

ws

Ext

raL

arge

m2.xlarge

0,50

0,62

Dou

ble

Ext

raL

arge

m2.2xlarge

1,20

1,44

Qua

drup

leE

xtra

Lar

gem2.4xlarge

2,40

2,88

Clu

ster

Com

pute

On-

Dem

and

Inst

ance

Lin

ux/U

NIX

Win

dow

s

Qua

drup

leE

xtra

Lar

gecc1.4xlarge

1,60

Nic

htve

rfüg

bar

GPU

Qua

drup

leE

xtra

Lar

gecg1.4xlarge

2,10

Nic

htve

rfüg

bar

Page 62: [Informatik im Fokus] Cloud Computing ||

52 4 Ausgewählte Cloud-Angebote

Eine Standard On-Demand Instance Small entspricht einem32-bit Rechnersystem mit einem virtuellen Prozessorkern mit ei-ner ECU, 1,7 GB Arbeitsspeicher und 160 GB Plattenspeicher.Am anderen Ende der Leistungsskala für universell einsetzbareInstanzen weist eine High Memory On-Demand Instance Qua-druple Extra Large eine 64-bit Plattform mit 26 ECUs (jeweils3,25 ECU verteilt auf 8 virtuelle Kerne), 68,4 GB Hauptspeicherund 1690 GB Festplatte aus.

Die Cluster Compute Instanzen sind HPCaaS-Angebote vonAmazon, die wegen ihrer Anbindung an 10 Gigabit Ethernet ei-ne sehr hohe Eingabe-/Ausgabegeschwindigkeit haben. SolcheInstanzen sind bislang ausschließlich in der Region US Eastund mit Linux verfügbar. Sie verfügen über je zwei Quad-CoreIntel Xeon-X5570 Nehalem Prozessoren und 1690 GB Festplat-tenspeicher. Jede Cluster Compute On-Demand Instance GPUQuadruple Extra Large enthält zusätzlich zwei Nvidia Tesla-M2050-Grafikeinheiten.

Ausschließlich die beiden Instanzklassen m1.small undc1.medium verwenden Systeme mit einer 32-Bit Architek-tur. Alle übrigen Instanzklassen verwenden Systeme mit ei-ner 64-Bit Architektur. Eine Ausnahme bildet die Instanzklas-se t1.micro, die sowohl mit 32-Bit als auch 64-Bit Instanzenverwendet werden kann.

Neben den stündlichen Betriebskosten, die zwischen demEin- und Ausschalten einer Instanz anfallen, geht auch der Da-tentransfer nach Volumen, die Verwendung einer dauerhaftenElastic IP nach Zeit und der benutzte Elastic Block Store nachSpeichervolumen über die Zeit in die Gesamtkosten ein. Dar-über hinaus können noch weitere kostenpflichtige Features hin-zugebucht werden. Um angesichts des bereits recht komplexenPreismodells die potenziell entstehenden Kosten für den Benut-zer besser einschätzbar zu machen, bietet Amazon auf der AWS-Homepage ein Berechnungsformular an, das die monatlichen

Page 63: [Informatik im Fokus] Cloud Computing ||

4.1 Amazon Web Services 53

Kosten für eine gegebene Konfiguration und ein bestimmtes an-genommenes Nutzungsprofil ausrechnet.

Neben den dynamischen Instanzen bietet Amazon auch re-servierte Instanzen für die Dauernutzung an. Diese können fürdie Dauer von einem oder drei Jahren angemietet werden. DieKosten reduzieren sich dabei entsprechend. So fallen für eineReserved Instance Small in Europa mit Linux insgesamt $ 227,5pro Jahr ($ 350 für drei Jahre) an.

Eine weitere Möglichkeit, den Preis für Instanzen zu senken,bieten die sogenannten Spot-Instanzen. Die Kunden haben hier-bei die Möglichkeit, in einem Auktionsmodell auf nicht genutzteAmazon EC2-Kapazität zu bieten. Der Preis von Spot-Instanzenist variabel und wird von Amazon in regelmässigen Abständen inAbhängigkeit von Angebot und Nachfrage festgelegt. Um Spot-Instanzen zu verwenden, geben die Kunden unter Angabe desgewünschten Instanztyps, der Region und Anzahl der Instanzeneinen Höchstpreis an, den sie je Instanz-Stunde bereit sind zubezahlen. Solange eine ausreichende Anzahl an Spot-Instanzenzu einem günstigeren Preis verfügbar ist, wird der Auftrag aus-geführt und die Instanzen werden gestartet. Übersteigt der Spot-Preis den gebotenen Höchstpreis, werden die Instanzen beendet.Fällt der Spot-Preis wieder unter den gebotenen Höchstpreis,werden die Instanzen automatisch neu gestartet. Eine Aktualisie-rung des Spot-Preises findet alle 30 Minuten statt. Dieses Ange-bot ist besonders interessant für Projekte aus Industrie und For-schung, die einen engen Kostenrahmen einhalten müssen undmit Laufzeitunterbrechungen umgehen können.

Ein Beispiel für die Verwendung von Amazon EC2 findet sichin Anhang 9.1.

Page 64: [Informatik im Fokus] Cloud Computing ||

54 4 Ausgewählte Cloud-Angebote

4.1.2 Amazon Simple Storage Service (S3)

Amazon S3 ist ein Massenspeicher in der Cloud mit einersehr einfachen Speicherstruktur. Die gespeicherten bis zu 5 GBgroßen Web-Objekte liegen in sogenannten Buckets. Diese kön-nen nicht hierarchisch geschachtelt werden, sondern jedes Web-Objekt ist direkt über seinen Bucket-Namen zusammen mit sei-nen Objekt-Namen identifizierbar. Folglich handelt es sich beiAmazon S3 nicht um ein herkömmliches Dateisystem, auchwenn es Werkzeuge und Cloud-Dienste von Drittanbietern gibt,die es erlauben, auf Speicher-Ressourcen in S3 wie auf entferntliegende Festplatten zuzugreifen, wie z. B. JungleDisk [100].

Der Zugriff auf Amazon S3 erfolgt definitionsgemäß überWeb Services und ist über eine SOAP oder eine REST API mög-lich. Letztere ist zu bevorzugen, besonders wenn der Umgangmit großen Objekten vorgesehen ist, da REST in der Regel mitdiesen besser umgehen kann als SOAP. Wie bei EC2 stehen auchfür S3 komfortable grafische Benutzerschnittstellen zur Verfü-gung, auf die Abschnitt 5.3 näher eingeht. Für den direkten Zu-griff auf Amazon S3 von der Kommandozeile aus gibt es dasWerkzeug s3cmd [121], dessen Funktionsweise in Anhang 9.4illustriert wird.

4.1.3 Amazon Elastic Block Store (EBS)

Mit dem Speicherdienst EBS können die Kunden innerhalb jederVerfügbarkeitszone Datenspeicher, sogenannte Volumen (engl.Volumes) mit einer Größe von 1 GB bis 1 TB erzeugen.

Ein neu erzeugtes EBS-Volumen verhält sich wie ein unfor-matiertes Block-Gerät. Ein EBS-Volumen kann ein beliebiges

Page 65: [Informatik im Fokus] Cloud Computing ||

4.1 Amazon Web Services 55

Dateisystem enthalten und verhält sich von der Bedienung gese-hen genauso wie ein USB-Stick.

Es ist zu beachten, dass ein EBS-Volumen immer nur an ge-nau einer Instanz angehängt werden kann, die sich innerhalb dergleichen Verfügbarkeitszone befinden muss. Ein EBS-Volumenrealisiert persistenten Speicher, d.h. nach dem Herunterfahren ei-ner Instanz bleiben die Daten erhalten.

Ein Beispiel für die Verwendung von Amazon EBS findet sichin Anhang 9.2.

4.1.4 Amazon Simple Queue Service (SQS)

Die Nachrichtenwarteschlange SQS hat in der Palette der AWSCloud-Angebote eine besondere Bedeutung, weil sie sich gutzur Skalierung von Anwendungen einsetzen lässt. Sender (Pu-blisher) können in die Warteschlange Nachrichten einstellen,die dann registrierte Empfänger wieder auslesen und verarbei-ten können. Zur Entkoppelung verschiedener Komponenten ineiner Anwendung kann eine dienstnehmende Komponente ih-re Arbeitsaufträge als Nachricht in die Warteschlange einstellen,von wo sie dienstgebende Komponenten abholen. Bei geschick-ter Programmierung lassen sich auf dem so definierten Pfad kri-tische Komponenten auf mehreren EC2-Instanzen parallel be-treiben. So lassen sich Engpässe in bestimmten Komponentenauch noch zur Laufzeit flexibel beheben und die Gesamtleistungdes Systems wird nicht mehr durch den Engpass bestimmt. DasBeispiel in Abschnitt 4.1.7 illustriert die resultierende Systemar-chitektur.

Die Schnittstelle zu SQS bietet die folgenden Dienste, dieNutzer in der Regel nicht direkt per Kommando aufrufen, son-dern durch die entsprechenden Aufrufe von Web Services ausden verbundenen Komponenten.

Page 66: [Informatik im Fokus] Cloud Computing ||

56 4 Ausgewählte Cloud-Angebote

• CreateQueue: Anlegen einer Warteschlange im AWS-Benutzerkontext

• ListQueues: Aufzählung der existierenden Warteschlangen• DeleteQueue: Löschen einer Warteschlange• SendMessage: Einstellen einer Nachricht in eine Warte-

schlange• ReceiveMessage: Auslesen einer (oder mehrerer) Nachrich-

ten aus einer Warteschlange• ChangeMessageVisibility: Dediziertes Einstellen der Sicht-

barkeit einer gelesenen Nachricht für andere potenzielle Aus-leser

• DeleteMessage: Löschen einer gelesenen Nachricht• SetQueueAttributes: Einstellen von Attributen der Warte-

schlange, z. B. der Zeit zwischen zwei Leseoperationen aufdieselbe Nachricht

• GetQueueAttributes: Auslesen von Attributen der Warte-schlange, z. B. der Anzahl der aktuell in der Warteschlangebefindlichen Nachrichten

• AddPermission: Freigabe einer Warteschlange zum geteiltenZugriff aus mehreren Benutzerkontexten

• RemovePermission: Widerrufen der Freigabe für andere Be-nutzerkontexte.

4.1.5 Amazon SimpleDB

Die Amazon SimpleDB ist nicht auf komplexe Datenbanksche-mata oder transaktionale Eigenschaften ausgelegt, sondern aufeinfach strukturierte, aber hoch zuverlässige Datenhaltung, diefür ein breites Spektrum an Anwendungen als ausreichend er-achtet wird. Die Aufgaben zur Administration und Optimierungder Datenbank sind dadurch auf ein Minimum reduziert. FürAnwendungen, die auf die Leistungsfähigkeit und den großen

Page 67: [Informatik im Fokus] Cloud Computing ||

4.1 Amazon Web Services 57

Funktionsumfang aktueller kommerzieller Relationaler Daten-banksysteme (RDBMS) angewiesen sind, wird auf AmazonRDS verwiesen (siehe Abschnitt 4.1.6).

Entsprechend des eingeschränkten Funktionsumfangs derSimpleDB ist auch ihre Schnittstelle auf einige wenige einfa-che Web Service Aufrufe begrenzt. Dies soll zugleich zu einereinfachen Erlernbarkeit und Bedienbarkeit führen:

• CreateDomain, ListDomains, DeleteDomain: Anlegen, Auf-zählen bzw. Löschen von Domänen. Domänen entsprechenTabellen im Relationalen Modell. In einem Befehl kann im-mer nur eine Domäne angesprochen werden.

• DomainMetadata: Auslesen von Meta-Daten einer Domain,wie z. B. ihres aktuellen Speicherplatzbedarfs

• PutAttributes: Hinzufügen oder Aktualisieren eines Da-tensatzes basierend auf einem Datensatzidentifikator undAttribut/Wert-Paaren

• BatchPutAttributes: Gleichzeitiges Anstoßen mehrer Einfü-geoperationen zur Performance-Erhöhung

• DeleteAttributes: Löschen von Datensätzen, Attributen oderWerten

• GetAttributes: Lesen eines identifizierten (Teil-)Datensatzes• Select: Anfrage an die Datenbank in SQL-ähnlicher Syntax

jedoch ohne die übliche Anwendbarkeit auf mehrere Domä-nen (Join).

4.1.6 Amazon Relational Database Service

Der Amazon Relational Database Service (Amazon RDS) [45]ist ein Plattformdienst zum einfachen Einrichten, Betreibenund Skalieren einer relationalen Datenbank in der Cloud. DerDienst stellt analog zum EC2-Betriebsmodell elastische Kapazi-

Page 68: [Informatik im Fokus] Cloud Computing ||

58 4 Ausgewählte Cloud-Angebote

täten zur Verfügung und erledigt gleichzeitig zeitraubende Da-tenbankverwaltungsaufgaben. Durch automatisierte Datenbank-Backups sowie Snapshots bietet Amazon RDS einen sehr zuver-lässigen Betrieb, indem man die Wiederherstellung einer Daten-bankinstanz für jeden beliebigen Zeit- oder Wiederherstellungs-punkt innerhalb des vereinbarten Aufbewahrungszeitraums vor-nehmen kann.

Mit Amazon CloudWatch ist es möglich, die Auslastungder Rechen- und Speicherkapazitäten der Datenbankinstanzenzu überwachen und die zur Verfügung stehenden Ressourcenmit einem einfachen API-Aufruf nach Bedarf vertikal zu ska-lieren. Bei sehr anspruchsvollen vornehmlich lesenden An-wendungen erreicht man horizontale Skalierbarkeit durch dieEinrichtung von Read-Replika-Instanzen. Ein entsprechendesHochverfügbarkeits-Angebot erlaubt es, synchron replizierteDatenbankinstanzen ohne zusätzliche Kosten auch in mehre-ren Verfügbarkeitszonen bereitzustellen, um sich dadurch gegenAusfälle an einem einzelnen Standort abzusichern. Es ist so auchmöglich, Wartungsfenster zu verbergen, da RDS die Datenbank-dienste transparent zwischen den Standorten umschaltet.

Amazon RDS gewährt Zugriff auf sämtliche Funktionen ei-ner MySQL-Datenbank, so dass die Migration existierenderAnwendungen unter Beibehaltung der bevorzugten Datenbank-Werkzeuge oder Programmiersprachen sehr einfach möglichist. Wenn eine vorhandene Anwendung bereits eine MySQL-Datenbank nutzt, kann man die Daten mittels mysqldump ex-portieren und anschließend in Amazon RDS wieder einlesen.Bei größeren Datenbanken ab ca. 1 Gigabyte empfiehlt es sich,zunächst ein Datenbankschema in Amazon RDS zu erstellen,die Daten in eine Flat-Datei zu konvertieren und dann über dasmysqlimport-Dienstprogramm in die RDS-Instanz zu importie-ren. In gleicher Weise lassen sich Daten aus den Datenbank-diensten exportieren.

Page 69: [Informatik im Fokus] Cloud Computing ||

4.1 Amazon Web Services 59

Amazon RDS wählt die optimalen Konfigurationsparame-ter für Datenbankinstanzen aus und berücksichtigt dabei dieAnforderungen an Rechenressourcen und Speicherkapazität.Es ist jedoch auch möglich, die Standardeinstellung überKonfigurationsverwaltungs-APIs zu ändern. Da es sich bei RDSum einen Plattformdienst handelt, ist der direkte Zugriff aufdie Server mittels SSH zur Einstellung der Datenbankparameternicht möglich.

Amazon bietet zum Management der Datenbankdienste nichtnur Kommandozeilenwerkzeuge und Bibliotheken für verschie-dene Programmiersprachen an [51], sondern auch eine komfor-table Web-Konsole [53].

Ein Beispiel für die Verwendung von Amazon RDS findetsich in Anhang 9.3.

4.1.7 Zusammenspiel der Amazon Web Services

Die verschiedenen AWS Dienste können sowohl einzeln als auchim Zusammenspiel bei der Anwendungsentwicklung verwendetwerden. In [29] wird beispielhaft eine Anwendung beschrieben,die verschiedene AWS Dienste nutzt, um Suchanfragen auf Mil-lionen von Web-Dokumenten auszuführen. Die unter dem Na-men GrepTheWeb bekannte Anwendung ist bei Amazon in derProduktionsumgebung im Einsatz.

In diesem Szenario (siehe Abbildung 4.1) arbeiten SQS,SimpleDB, EC2 und S3 zusammen. Eine Reihe von SQS-Warteschlangen speichert sowohl eingehende Anfragen als auchZwischenergebnisse, die bei der Verarbeitung der Anfragen ent-stehen. Dadurch ist die Phase der Verarbeitung vom Eingangentkoppelt. Suchanfragen sind als reguläre Ausdrücke formu-liert, die als Nachrichten (launch message) in eine initiale SQS-Warteschlange (launch queue) eingehen. Für jeden Verarbei-

Page 70: [Informatik im Fokus] Cloud Computing ||

60 4 Ausgewählte Cloud-Angebote

LaunchQueue

Amazon SQS

MonitorQueue

ShutdownQueue

LaunchController

MonitorController

BillingController

ShutdownController

Put File

Get FileHDFS

Master M

Shutdown

Ping

Launch

Insert JobIDStatus Check for results

Get EC2 Info

Slaves N

StatusDB

Output

Input

Amazon Simple DB

Controller

Hadoop Cluster onAmazon EC2 Amazon S3

BillingQueue

BillingService

Insert AmazonEC2 Info

Abb. 4.1 Zusammenspiel der AWS am Beispiel GrepTheWeb (Quelle:Amazon)

tungsschritt gibt es eine Controller-Komponente (launch con-troller, monitor controller, shutdown controller, billing control-ler), die von einer Warteschlange liest und Ergebnisse in dienächste Warteschlange schreibt. Die Ausführung der Verarbei-tungsschritte durch die Controller erfolgt somit asynchron unddie Controller sind jeweils voneinander unabhängig.

Die Controller verwenden SimpleDB, EC2 und S3. Erste-res wird für Statusinformationen, Logs, und Nutzerdaten fürAnfragen benutzt. SimpleDB wird somit von jedem Control-ler angefragt und geschrieben. S3 dagegen wird zur Speiche-rung der zu untersuchenden Daten (Hunderte von Terabytes anWeb-Dokumenten) und der Ergebnisse der Suchanfrage benutzt.Der Zugriff auf S3 erfolgt über ein Hadoop-Cluster aus EC2-

Page 71: [Informatik im Fokus] Cloud Computing ||

4.2 Cloud-Dienste von Google 61

Instanzen (siehe auch Abschnitt 6.9). Diese werden durch denlaunch controller angelegt, durch den monitor controller beob-achtet, und durch den shutdown controller heruntergefahren.

GrepTheWeb ist ein Beispiel einer modularen Anwendungs-architektur, die Phasen von Bearbeitungsschritten vorsieht unddiese durch Warteschlangen entkoppelt sowie durch unab-hängige Controller-Komponenten steuert. Alle Komponentensind leichtgewichtig und kommunizieren diensteorientiert überHTTP-Anfragen unter Nutzung der erweiterbaren Auszeich-nungssprache XML (Extensible Markup Language). Die Archi-tektur illustriert, wie verschiedene Basisdienste kombiniert wer-den können, um skalierbare Multi-Mandantensysteme zu entwi-ckeln, die unterschiedliche Lastsituationen dynamisch bedienenund zudem auch Fehler wie beispielsweise Ausfälle einzelnerKnoten tolerieren können.

4.2 Cloud-Dienste von Google

Genau wie Amazon verfügt auch Google über eine breite Paletteverschiedenartiger Cloud-Dienste, von denen einige ausgewähl-te im folgenden vorgestellt werden sollen.

4.2.1 Google App Engine

Die Google App Engine [85] ist eine Platform as a Servicemit Programmierumgebung, Werkzeugunterstützung und Aus-führungsumgebung. Mit dieser Ausstattung lassen sich Web-Anwendungen für die skalierbare Infrastruktur von Google ent-wickeln. Durch die Google App Engine können sich die Erstellerder Web-Anwendungen auf die Entwicklung der Anwendungs-

Page 72: [Informatik im Fokus] Cloud Computing ||

62 4 Ausgewählte Cloud-Angebote

funktionalität konzentrieren und müssen sich praktisch keineSorgen um die Administration von Servern machen.

Die Google App Engine bietet Umgebungen für die Program-miersprachen Python und Java an. Für diese Sprachen gibt eseine lokale Laufzeitumgebung, die während der Entwicklungs-phase das probeweise Ausführen und Testen der selbstentwickel-ten Web-Anwendungen erlaubt. Hat die Anwendung den Pro-duktivzustand erreicht, kann man sie auf die Google Infrastruk-tur übertragen und dort ausführen lassen. Die Web-Anwendungprofitiert somit von den Zuverlässigkeits- und Skalierungstech-nologien, die Google auch für seine eigenen Endprodukte wiedie bekannte Suchmaschine oder die Online Office Suite GoogleDocs einsetzt. Im Rahmen privater Tests oder einfacher nicht-kommerzieller Systeme ist das Angebot kostenfrei.

Zusätzlich zu den üblichen Funktionen, die Java mit seinenBibliotheken mitbringt, bietet die Plattform den Zugriff auf eineReihe weiterer Dienste (im Sinne der Cloud-Architektur: An-wendungsdienste). Diese können z. T. über die Standardschnitt-stellen von Java angesprochen werden, um die Portabilität undBenutzbarkeit des entwickelten Codes auch außerhalb des AppEngine Umfelds zu erleichtern:

• Speicherung von Daten: Für die dauerhafte Speicherung vonDaten verwendet die Google App Engine den sogenanntenDatastore, eine Schema-lose objektorientierte Datenbank miteiner Anfrage-Engine und Zusicherung von Atomizität derOperationen. Der Datastore implementiert sowohl eine pro-prietäre Schnittstelle, aber auch die Standardschnittstellen Ja-va Data Objects (JDO) und Java Persistence API (JPA).

• Email-Integration: In die Web-Anwendungen lässt sich dasVersenden und Empfangen von Emails über Google Email-Konten einbinden. Auch dieser Anwendungsdienst lässt sichanalog über eine proprietäre Schnittstelle oder über ein Subsetdes standardisierten JavaMail-Interface verwenden.

Page 73: [Informatik im Fokus] Cloud Computing ||

4.2 Cloud-Dienste von Google 63

• Benutzerverwaltung: Zur Authentifizierung der Kunden derWeb-Anwendung kommen Google-Konten zum Einsatz, fürdie es eine proprietäre Schnittstelle gibt. Die Benutzer könnensich über eine Umleitung auf der Anmeldeseite von Google-Konten anmelden. Ein rudimentäres Rechte-Management er-laubt es, einfache Benutzer und Administratoren zu unter-scheiden, um den Zugriff auf geschützte Funktionen zu re-geln.

• Über die genannten Dienste hinaus existieren noch weitere,z. B. zur schnellen Zwischenspeicherung von Daten in einemCache, zur Verknüpfung mit anderen Web-Anwendungenmittels HTTP(S) oder zum effizienten Bearbeiten von anzu-zeigenden Abbildungen.

Google App Engine unterstützt nicht nur Entwickler von Web-Anwendungen durch die oben genannte lokale Laufzeitumge-bung und die zugehörige Automatisierung der Übertragung undEinrichtung (engl. Deployment) auf den Google Servern. Esexistieren darüber hinaus noch zahlreiche weitere Werkzeuge,wie z. B. das Google Plugin for Eclipse für die Entwicklung vonGoogle Web Toolkit (GWT) Anwendungen. Auch in der Beprei-sung der App Engine orientiert sich Google an den Bedürfnis-sen potenzieller Entwickler: es gibt ein kostenloses Freikontin-gent (engl. Quota) je Entwickler für CPU-Auslastung, Speicher-benutzung, Datentransfer etc., das tageweise ausgeschöpft wer-den kann und für Entwicklungssysteme und einfache Web-Anwendungen in der Regel ausreichend ist. Falls absehbar überdiese Grenzen hinaus Ressourcen benötigt werden, können die-se kostenpflichtig hinzu erworben werden. Die Kosten für diekommerzielle Nutzung bewegen sich auf einem ähnlichen Ni-veau wie bei den Amazon Web Services.

Die hohen Hürden, die sich durch die Verwendung pro-prietärer Technologien ergeben, sind zu Recht ein häufig ge-nannter Kritikpunkt am Cloud Computing. Für viele Platform

Page 74: [Informatik im Fokus] Cloud Computing ||

64 4 Ausgewählte Cloud-Angebote

as a Service-Angebote ist die Wiederverwendbarkeit des Co-des der entwickelten Anwendungen sehr eingeschränkt bis un-möglich. Der Anbieter der Web-Anwendung ist dauerhaft anden Betreiber des Cloud-Angebotes gebunden und damit auchan dessen Preisgestaltung und Dienstqualität. Für die GoogleApp Engine gibt es mit AppScale [58] aber inzwischen einekompatible quelloffene Plattform, die das Umziehen von Web-Anwendungen in eine zu EC2 kompatible Private oder PublicCloud IaaS ermöglicht (Siehe auch Kapitel 6 und 9). Das Pro-jekt, das von der University of California in Santa Barbara aus-ging, wird mittlerweile von Google selbst aktiv unterstützt.

Eine weitere freie Re-Implementierung der Google App En-gine ist typhoonAE, das den Betrieb von App Engine Anwen-dungen in beliebigen Linux-Umgebungen sowie unter Mac OSX ermöglicht.

4.2.2 Google Storage

Der Speicherdienst Google Storage [92] ermöglicht das Spei-chern von Web-Objekten in den Datenzentren von Google. DerZugriff erfolgt ebenso wie bei Amazon S3 über das REST-Modell.

Google Storage bietet dieselbe Funktionalität wie AmazonS3: Objekte werden in Buckets abgelegt, wobei ein Bucket kei-ne weiteren Buckets enthalten kann. Ein Nutzer kann den Zugriffauf eigene Objekte und Buckets mit Hilfe einer Access ControlList festgelegen.

Das von Google angebotene Kommandozeilenwerkzeug GS-Util [94] ist in der Lage, sowohl mit Google Storage als auchmit Amazon S3 zu arbeiten. GSUtil erlaubt es, mit Hilfe einesBrowsers eigene Buckets anzulegen, Objekte hochzuladen unddie Zugriffsrechte zu administrieren.

Page 75: [Informatik im Fokus] Cloud Computing ||

4.2 Cloud-Dienste von Google 65

Der Dienst befindet sich aktuell (Stand November 2010) nochin der Entwicklungsphase und Google vergibt Zugangsdatenausschließlich an Entwickler in den USA.

Die Speicherung von Daten kostet pro Gigabyte $0,17/Mo-nat. Das Hochladen von Daten kostet $0,10/Gigabyte und dasHerunterladen kostet zwischen $0,15/Gigabyte und $0,30/Giga-byte (je nach Region). Für 1000 Anfragen via PUT, POST undLIST berechnet Google $0,01. Der gleiche Preis gilt für 10000Anfragen via GET und HEAD.

4.2.3 Google Cloud Print

Ein weiteres interessantes Konzept des Cloud Computing istGoogle Cloud Print [87]. Der Dienst ermöglicht beliebigen An-wendungen, auf ebenso beliebigen Ausgabegeräten im Internetzu drucken. Das Thema besitzt insbesondere für mobile Endge-räte eine hohe Relevanz. Während moderne internetfähige Ge-räte wie Netbooks, Touchpads und Mobiltelefone eine immerstärkere Verbreitung finden, ist es oftmals schwierig oder gar un-möglich, einen lokalen Drucker einzurichten und zu verwenden.Das Fehlen geeigneter Druckertreiber, die teilweise sehr gerin-gen Ressourcen der Geräte und die Vielfalt der verwendeten Be-triebssysteme verstärken diese Problematik.

Bei Google Cloud Print werden Druckaufträge an einenDienst gesendet, der diese direkt an einen zu Cloud Print kompa-tiblen Netzwerkdrucker weiterleitet, wobei ein Autorisierungs-bzw. Abrechnungsverfahren zum Einsatz kommt. Wenn ein Dru-cker mit dem Internet verbunden ist, kann der Dienst für ei-ne weltweite Nutzung eingerichtet werden. Falls der Druckerinkompatibel zur Cloud Print Technologie ist, muss er mit ei-nem Server verbunden werden, auf dem ein entsprechendes Ver-mittlungsprogramm (engl. Proxy) installiert wurde. Der Auftrag

Page 76: [Informatik im Fokus] Cloud Computing ||

66 4 Ausgewählte Cloud-Angebote

wird in diesem Fall mit Hilfe der beim Cloud Print Anbieter in-stallierten Druckertreiber zunächst in eine kompatible Drucker-sprache aufbereitet und an den Server gesendet, der die aufberei-teten Druckaufträge anschließend an den ausgewählten Druckerweiterleitet. Es handelt sich bei Google Cloud Print um einenfreien Standard, der von der Industrie ohne Auflagen implemen-tiert werden kann. Viele Hersteller, darunter auch HP, bieten be-reits eine Reihe kostengünstiger, kompatibler Drucker an.

Die Entwicklung hat das Potenzial, dass sich eine breite Palet-te von Dienstleistungen um diese neue Technik entfalten könn-te, die weit über den Ersatz des zentral verwalteten Betriebs vonDruckaufträgen in Unternehmen und Universitäten hinausgehen.An Universitäten könnten Studierende in Zukunft ihre Vorle-sungsskripten z.B. direkt vom Touchpad bei einem Dienstleis-ter drucken und binden lassen, der aufgrund von Skaleneffekteninklusive kostenfreier Zustellung einen sehr günstigen Preis an-bieten kann. Insbesondere auch die firmenübergreifende Verar-beitung von Massendrucksachen, Qualitätsdrucken usw. könntemit Cloud Print aufgrund der einheitlichen Schnittstelle weitest-gehend automatisiert und vereinfacht werden. Darüber hinausrückt als neues Vertriebsmodell für Verlage die Aufstellung vonAutomaten in der Öffentlichkeit in greifbare Nähe, die gesteu-ert von einem Mobilgerät nach Bedarf beliebige elektronischeZeitschriften, Zeitungen oder Bücher drucken können.

4.3 Windows Azure

Die Windows Azure Plattform [59] ist Microsofts CloudComputing-Plattform zur Ausführung von Software in denMicrosoft-Rechenzentren. Microsoft übernimmt dabei den Be-trieb der Plattform und stellt Ressourcen mit einer 99,9% Ver-fügbarkeitszusage auf redundanten Systemen bereit.

Page 77: [Informatik im Fokus] Cloud Computing ||

4.3 Windows Azure 67

Die Windows Azure Platform umfasst einen Compute-Dienstzur Ausführung von Anwendungen, einen Storage-Dienst zurSpeicherung von Daten sowie einen SQL-Dienst, der relatio-nale Datenbanken hochverfügbar in der Cloud bereitstellt. DerStorage-Dienst ermöglicht die Speicherung von großen Objek-ten, die Textdaten oder Binärdaten enthalten können. Das daraufaufbauende Windows Azure Drive ermöglicht die Formatierungeines Binärdatenobjekts zur Verwendung als NTFS-Volumen.

Ein Warteschlangendienst sorgt für einen zuverlässigenNachrichtenaustausch zwischen den Komponenten. Der Dienstfür virtuelle Netzwerke bildet schließlich die Grundlage für dietransparente Kommunikation zwischen lokalen und fernen Res-sourcen. Es können damit Windows Azure Dienste in ein lokalesActive Directory integriert werden.

Zusätzlich beinhaltet die Plattform die Windows Azure App-Fabric, mit der sich herkömmliche eigene IT-Systeme und CloudAnwendungen sicher verbinden lassen. Die Azure Service-Platform bietet die Wahlmöglichkeit, Softwareprodukte entwe-der als Cloud-Dienste im Internet oder als Anwendungen imeigenen Rechenzentrum zu installieren. Man kann auch beideMöglichkeiten kombinieren, um eine flexibel skalierbare Hy-brid Cloud zu realisieren. Web- und Business-Entwickler kön-nen dabei auf etablierte Werkzeuge wie Microsoft .NET, VisualStudio oder zahlreiche weitere kommerzielle und Open Source-Werkzeuge zurückgreifen. Es ist möglich, Anwendungen lokalzu entwickeln und zu testen, um sie anschließend in die AzureCloud hochzuladen und zu veröffentlichen.

Windows Azure sieht bei der Nutzung der Dienste drei ver-schiedene Rollen vor:

• Die Web-Rolle unterstützt die Entwicklung und Ausführungvon Web-Anwendungen mit Internet Information Server 7

• Die Worker-Rolle bietet Unterstützungsdienste für die Web-Rolle in z.B. Multi-Tier Anwendungen

Page 78: [Informatik im Fokus] Cloud Computing ||

68 4 Ausgewählte Cloud-Angebote

• Die VM-Rolle erlaubt die Ausführung einer virtuellen Ma-schine mit Windows Server 2008 R2, deren Abbild auf einervirtuellen Harddisk im Storage-Dienst abgelegt ist. In dieserRolle ist auch die Vergabe von Privilegien sowie die Verwen-dung einer Remote Desktop-Verbindung vorgesehen.

Das verbrauchsorientierte Bezahlmodell von Windows Azu-re basiert auf der tatsächlichen Ressourcennutzung, so dass manIT-Lösungen ohne Vorabinvestition in Hard- und Software be-reitstellen und später einfach nach Bedarf neue Rechenleistungdazuschalten kann. Die Preisgestaltung orientiert sich dabei anden Modellen von Amazon oder Google (Siehe Tabelle 4.2).

Tabelle 4.2 Preise für Windows Azure Compute Instanzen (USD/Stunde)

Instanztyp CPU Memory Disk I/O Kosten

Extra small 1.0 GHz 768 MB 20 GB Low 0,05Small 1.6 GHz 1.75 GB 225 GB Moderate 0,12Medium 2x1.6 GHz 3.5 GB 490 GB High 0,24Large 4x1.6 GHz 7 GB 1000 GB High 0,48Extra Large 8x1.6 GHz 14 GB 2040 GB High 0,96

4.4 Salesforce.com

Salesforce.com [125] ist einer der weltweit führenden Cloud-Anbieter für Software zur Kundenbeziehungsverwaltung (Custo-mer Relationship Management, CRM). Im Sinne von Kapitel 3ist Salesforce.com ein SaaS Angebot, das um ein Platform asa Service-Angebot ergänzt wurde, auf dem unabhängige Dritteergänzende Software as a Service entwickeln und anbieten kön-

Page 79: [Informatik im Fokus] Cloud Computing ||

4.4 Salesforce.com 69

nen. Das Portfolio von Salesforce.com besteht aus den folgendenvier Hauptbestandteilen:

• Im Mittelpunkt steht das CRM SaaS-Angebot namens Sales-force, das eine Web-basierte Lösung u. a. für die BereicheVertrieb, Marketing, Kundenservice und Partnermanagementbietet. Die zentrale Komponente ist für verschiedene Funk-tionsumfänge und Benutzeraufkommen in mehreren Bund-les erhältlich und wird in der Regel monats- oder jahreswei-se gemietet. Als klassisches SaaS-Angebot läuft die multi-mandantenfähige Anwendung auf den Servern von Salesfor-ce.com und erfordert keine lokale Installation.

• Force.com [78] heißt das Angebot einer Platform as a Ser-vice, das es Kunden oder Drittanbietern (Independent Soft-ware Vendors, ISV) erlaubt, eigene Web-basierte Geschäfts-anwendungen zu entwickeln und auf der salesforce.com In-frastruktur zu betreiben. Weitere technische Details zu For-ce.com sind weiter unten beschrieben.

• Die auf Force.com entwickelten Geschäftsanwendungen kön-nen über den Marktplatz AppExchange [56] kostenlos odergegen Miete vertrieben werden. Die Anwendungen sind überForce.com vorintegriert mit dem Salesforce.com CRM undihre Funktionalität ist häufig komplementär zu diesem oderauf bestimmte Branchen abgestimmt.

• Flankiert werden Force.com und Salesforce.com von jeweilseiner organisierten Benutzergemeinde namens DeveloperFor-ce [67] bzw. Salesforce.com Community [124], über die sichdie Benutzer zum einen vernetzen und zum anderen profes-sionelle Beratungsleistungen von Salesforce.com und seinenPartnern angeboten werden.

Die Force.com Plattform bietet die Entwicklungswerkzeuge undProgrammierumgebung, mit der sich beispielsweise die An-wendungslogik in der Java-ähnlichen Programmiersprache Apexentwickeln lässt. Ebenfalls zum Repertoire der Werkzeuge ge-

Page 80: [Informatik im Fokus] Cloud Computing ||

70 4 Ausgewählte Cloud-Angebote

hört die Unterstützung für die Entwicklung von Benutzerschnitt-stellen mit Visualforce, die Integration von Software-Testverfah-ren oder die Anbindung externer Web Services über eine eige-ne API.

Das verfolgte Programmiermodell bei der Entwicklung ei-gener Web-Anwendungen hat einen stark datenzentrierten An-satz: Die Entwicklung einer Anwendung beginnt in der Regelmit der Erstellung eines Objektmodells, das später die Anwen-dungsdaten beinhalten soll. Zu den Datenelementen lassen sichdann Constraints zur Verbesserung der Datenqualität definieren.Diese beiden ersten Schritte lassen sich ebenso wie die Defini-tion von Workflows und Abnahmeprozessen über die Daten di-rekt aus der Entwicklungsumgebung heraus definieren. Die Pro-grammiersprache Apex muss erst zum Einsatz kommen, wennkomplexere Anwendungslogik umgesetzt werden muss. Nebenden genannten wesentlichen Arbeitsschritten zur Erfüllung vonfunktionalen und nicht-funktionalen Anforderungen helfen dieEntwicklerwerkzeuge auch bei den organisatorischen Abläufen,die notwendig sind, um die entwickelte Anwendung zu packenund als Angebot für potenzielle Kunden zur Verfügung zu stel-len. Beim Erlernen der Programmierung auf Force.com hilftumfangreiches Material in Form von Tutorials, Handbüchern,Referenzwerken und Code-Beispielen, das über die Community-Portale im Web verfügbar ist.

4.5 Cloud Gaming

Unter der Bezeichnung Cloud Gaming werden Angebote zusam-mengefasst, die es ermöglichen, High-End Videospiele auf Low-End Geräten wie Fernsehgeräten, Computern mit schwacher Re-chenleistung aber auch mobilen Endgeräten wie Tochpads undMobiltelefonen verfügbar zu machen. Durch die Einführung der

Page 81: [Informatik im Fokus] Cloud Computing ||

4.6 Cloud-Betriebssysteme 71

3D-Fernsehgeräte steht neuerdings sogar eine Plattform für 3D-Spiele bereit.

Beim Cloud Gaming werden die Videospiele auf den leis-tungsfähigen Serverfarmen des Anbieters ausgeführt. Lediglichdie Darstellung erfolgt auf den Zielgeräten und wird in Formeines komprimierten Videostroms übertragen. Benutzereinga-ben werden zum Anbieter gesendet und dort ausgewertet. EineGrundvoraussetzung für die Nutzung von Cloud Gaming ist dieVerfügbarkeit breitbandiger Internetverbindungen mit geringenLatenzen, um eine kurze Reaktionszeit sicherzustellen und denSpielfluss nicht zu unterbrechen. Positiv wirkt sich aus, dass beiMehrbenutzer-Online-Spielen eine schnellere Interaktion zwi-schen den Teilnehmern möglich ist, wenn das Spielgeschehenzentral bei einem Anbieter abgehandelt wird. Die nötige Kom-pression des Videostroms führt allerdings zu einer optischenQualitätsminderung.

Cloud Gaming-Kunden haben den Vorteil, dass die Investi-tion in eine Spielekonsole bzw. einen leistungsfähigen Compu-ter und die zugehörigen Spiele entfällt. Statt dessen ergibt sichein nutzungsabhängiger Betrag für die Dauer des Spiels. Für dieSpielehersteller ergibt sich beim Cloud Gaming der positive Ne-beneffekt, dass das Problem von Raubkopien wegfällt. Bekann-te Anbieter von Cloud Gaming-Diensten sind OnLive [110],Gaikai [79] und Otoy [118].

4.6 Cloud-Betriebssysteme

Die Angebote der sogenannten Web-Desktops werden auch alsCloud-Betriebssysteme bezeichnet. Ein bekanntes Produkt ausdieser Gruppe ist die Open Source-Lösung eyeOS [71]. Das Be-triebssystem mit den installierten Anwendungen und Benutzer-daten läuft auf den Serverfarmen des Anbieters. Der Benutzer

Page 82: [Informatik im Fokus] Cloud Computing ||

72 4 Ausgewählte Cloud-Angebote

benötigt lediglich ein Endgerät mit Internetzugang und einemstandardkonformen Browser.

Auch wenn Produkte wie eyeOS als Cloud-Betriebssystembezeichnet werden, ist der Begriff in den meisten Fällen dochirreführend. Denn für die Nutzung eines Cloud-Betriebssystemsbenötigt der Benutzer einen Rechner mit Browser und dafür auchein zugrunde liegendes Betriebssystem. Das lokale Betriebssys-tem wird somit nicht ersetzt, sondern vielmehr ergänzt. Es wer-den ausschließlich die Benutzeranwendungen und -daten ausge-lagert.

Google Chrome OS [86] ist ein weiteres Angebot aus derKlasse der Cloud-Betriebssysteme: Auf einem auf das nötigeMinimum reduzierten Linux Betriebssystem läuft ein ChromeBrowser, mit dem man alle Google Web-Anwendungen effizi-ent nutzen kann. Durch seinen geringen Ressourcenbedarf ist esmöglich, dass Chrome OS selbst auf den kleinsten Netbooks, so-genannten Nettops lauffähig ist.

Page 83: [Informatik im Fokus] Cloud Computing ||

Kapitel 5Cloud-Management

Sowohl beim Betrieb als auch bei der Nutzung von Cloud-Diensten ist die Einrichtung geeigneter Management-Verfahrenunerlässlich. Leistungen müssen beschrieben, erbracht und ab-gerechnet werden. Um Skalierbarkeit und Zuverlässigkeit derDienste zu erreichen, kommen automatisierte Prozesse zum Ein-satz. Sicherheitsfragen und Risikobetrachtungen spielen insbe-sondere beim Auslagern von Diensten aus dem lokalen Kontextin die Public Cloud eine große Rolle. Dieses Kapitel beschäftigtsich mit den Aspekten des Cloud-Managements.

5.1 Dienstgütevereinbarungen: Service LevelAgreements

Bei einer Dienstgütevereinbarung (Service Level Agreement)handelt es sich um eine Vereinbarung über die Dienstgüte zwi-schen einem Dienstanbieter und einem Dienstnehmer. Diese Ver-einbarung kann über einen Vertrag formal und rechtlich bindendgetroffen werden oder aber informell, wenn verschiedene Abtei-

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 73DOI 10.1007/978-3-642-18436-9_5,c© Springer-Verlag Berlin Heidelberg 2011

Page 84: [Informatik im Fokus] Cloud Computing ||

74 5 Cloud-Management

lungen eines Unternehmens die Dienste nutzen. Man spricht indiesem Fall dann von Operation Level Agreement (OLA). DasSLA beinhaltet auf der qualitativen Seite ein gemeinsames Ver-ständnis über Sicherheit, Prioritäten, Verantwortlichkeiten, Ga-rantien und Abrechnungsmodalitäten. Darüber hinaus spezifi-ziert das SLA messbare Größen wie Verfügbarkeit, Durchsatz,Reaktionszeiten u.ä. Von ihrer Natur sind SLAs dabei stets an derAusgabe orientiert, d. h. sie sind immer aus der Sicht des Dienst-nehmers formuliert. Ein Anbieter kann sich profilieren, indemer einen Dienst in besonderer Qualität oder besonders innovati-ver Weise erbringt. Aus der Geschäftsperspektive kann man dieQualität dabei in mehreren Stufen vereinbaren, z. B. Basic, Sil-ber, Gold, Platin.

Im Bereich des Cloud Computing sind SLAs interessant beider Kontrolle der Ressourcenzuteilung und der dynamischenRessourcennutzung. Es gibt dabei zwei Phasen, die für das Ser-vice Level Management eine Rolle spielen:

• Vereinbarung der Leistung (Quality of Service)• Überwachung zur Laufzeit (Service Monitoring)

Die Vereinbarung und Überwachung von spezifischen SLAsist bei den aktuellen Cloud-Angeboten zurzeit nur in Ansätzenmöglich, und die Angebote erfolgen in der Regel auf der Basisdes Best Effort. Im Falle von Störungen oder Ausfällen gibt esdabei meist eine entsprechende Gutschrift.

Die Entwicklungsaufgabe auf Seite der Cloud-Architekturbesteht darin, in das Cloud-System eine Schicht einzufügen,welche die beiden Aspekte der Dienst-Vereinbarung und Über-wachung behandelt. SLA@SOI [128] ist ein von der Europäi-schen Kommission im 7. Rahmenprogramm gefördertes Projekt,das die Aspekte von mehrstufigen SLAs in einem Markt mit kon-kurrierenden Angeboten untersucht.

Page 85: [Informatik im Fokus] Cloud Computing ||

5.2 Lebenszyklus und Automatisierung 75

5.2 Lebenszyklus und Automatisierung

Jeder Cloud-Dienst durchläuft einen wohl definierten Lebenszy-klus: Der Dienstanbieter definiert den Umfang und die Qualitätder Dienste und beschreibt die Eigenschaften in einem Dienst-Katalog. Die Bezieher der Dienste wählen diese aus dem Kata-log aus und instanzieren sie nach Bedarf, wobei SLAs zu berück-sichtigen und zu überwachen sind. Am Ende der Nutzungsdauerwerden die Dienst-Aufträge geschlossen, Dienst-Bausteine wer-den abgewickelt und Ressourcen werden zurückgesetzt. EineProzedur für die Verbrauchserfassung (engl. Accounting) sum-miert den Ressourcenverbrauch auf. Der aktuelle Status kann so-mit feingranular und zeitaufgelöst verfolgt werden. Die Abrech-nung der entstandenen Kosten erfolgt entweder in regelmäßigenAbständen, oder beim Überschreiten einer bestimmten Schwel-le. Die eingesetzten Verfahren zur Abrechnung (engl. Billing)basieren meist auf Kreditkarten. Bei manchen Anbietern wiez. B. Zimory ist auch die Bezahlung über Lastschriftverfahrenbzw. Rechnungstellung möglich [141].

Die Bereitstellung von Diensten geschieht sehr häufig auf derBasis von sogenannten Ensembles. Ein Ensemble ist eine Grup-pe gleichartiger, vollautomatisch verwalteter Ressourcen. DieserAnsatz erlaubt die skalierbare Bereitstellung von Diensten beinahezu konstantem Verwaltungsaufwand. Die Automatisierungumfasst dabei die folgenden Schritte:

1. Überwachung2. Analyse3. Planung4. Ausführung

Ein geeignetes Monitoring-Verfahren überwacht kontinuierlichdie Dienstgüte, die Analysekomponente untersucht und bewer-tet die Ausgaben der Überwachungskomponente. Im Falle von

Page 86: [Informatik im Fokus] Cloud Computing ||

76 5 Cloud-Management

Störungen oder Abweichungen bei den vereinbarten Leistungs-parametern wird aus einem zuvor definierten Portfolio ein geeig-neter Prozess zur Beseitigung der Störung ausgewählt (Planung).Die ausführende Einheit setzt schließlich den Prozess um, indemsie z. B. für eine Anwendung oder Anforderung zusätzliche Res-sourcen bereitstellt. Die zugehörigen Komponenten bilden einenRegelkreis, der zyklisch durchlaufen wird: Die Automatisierungvon Prozessen ist eine wichtige Grundlage nahezu aller Cloud-Architekturen, da damit dynamische Skalierbarkeit und Fehler-toleranz möglich ist.

5.3 Management-Dienste und -Werkzeuge

Die Cloud-Anbieter offerieren für das Management ihrer Diens-te eine reichhaltige Palette von Werkzeugen, die sowohl kom-mandozeilenbasiert sind als auch in Form von Web-Portalen zurVerfügung stehen. Aus der schier unendlichen Vielzahl von Lö-sungen werden im Folgenden für die verschiedenen Bereiche ei-nige Werkzeuge exemplarisch vorgestellt.

5.3.1 Überwachung

Die periodische Erhebung von Leistungsdaten ist sowohl für denCloud-Betreiber wichtig als auch für den Cloud-Nutzer zur Be-urteilung der Dienstgüte. So sammelt z. B. CloudClimate dieLeistungsdaten verschiedener Cloud-Dienstanbieter und publi-ziert sie auf einer Web-Seite [63]. Diese Daten umfassen Grö-ßen wie CPU, Speicherverbrauch und Festplattenzugriffe. DieDarstellung erfolgt als Diagramm für den vergangenen Monat.Auf diese Weise ist nicht nur ein direkter Leistungsvergleich ver-

Page 87: [Informatik im Fokus] Cloud Computing ||

5.3 Management-Dienste und -Werkzeuge 77

schiedener Anbieter möglich, sondern es können auch Störungenund Phasen mit ungewöhnlicher Last identifiziert werden.

Bei Amazon CloudWatch handelt es sich um einen speziel-len Dienste zum Monitoring der Leistung der Amazon Web Ser-vices [37]. CloudWatch ermöglicht den Einblick in die Ressour-cen-Nutzung und zeigt die aktuelle Leistung und Zugriffsmuster.Der Dienst erhebt Daten für die CPU-Nutzung, Plattenzugriffeund Netzwerkverkehr. Um CloudWatch zu aktivieren, kann manden Dienst einer EC2-Instanz zuordnen. Die Verarbeitung derMonitoring-Daten erfolgt über das Web Service API oder überKommandozeilenprozeduren.

5.3.2 Steuerung

Amazon bietet zum Management der Infrastrukturdienste nichtnur einen Satz von Kommandozeilenwerkzeugen und Bibliothe-ken zur Verwendung mit verschiedenen Programmiersprachenan [51], sondern auch eine komfortable Web-Konsole [53] (Ab-bildung 5.1).

Diese ermöglicht die Steuerung und Beobachtung der DiensteAmazon S3, Amazon EC2, Amazon Virtual Private Cloud, Ama-zon Elastic MapReduce, Amazon CloudFront, Amazon Relatio-nal Database Service und Amazon Simple Notification Service.Die Konsole bietet die folgenden Operationen für EC2:

• Instanzen: Starten, Stoppen, Neustarten, Entfernen, Konso-lenzugriff, Logfiles sichten

• Images: Starten, Registrieren, Löschen, Zugriffsrechte setzen• Speicher: Anlegen, Löschen, Zuordnen, Lösen, Snapshots• Netzwerk: IP-Adressen verwalten• Struktur: Platzierungsgruppen und Lastverteilung verwalten• Sicherheit: Sicherheitsgruppen und Schlüssel verwalten

Page 88: [Informatik im Fokus] Cloud Computing ||

78 5 Cloud-Management

Abb. 5.1 Infrastruktur-Management mit der AWS Konsole

Die Ausführung der Management-Operationen ist dabeifür die verschiedenen Verfügbarkeitszonen gesondert möglich.Neben den offiziellen EC2-Kommandozeilenwerkzeugen vonAmazon existiert noch eine Vielzahl von freien Werkzeugen, ummit zu AWS kompatiblen Cloud-Diensten zu interagieren. Bei-spiele dafür sind s3cmd [121] und die Euca2ools von Eucalyp-tus.

Eine alternative grafische Konsole steht als Open Source Plu-gin für den FireFox-Browser bereit: ElasticFox organisiert inähnlicher Weise das Infrastruktur-Management [72]. Ein Vorteilvon ElasticFox ist, dass damit nicht nur das Management einerPublic Cloud auf Basis von EC2 möglich ist, sondern auch dasManagement einer Private Cloud auf der Basis von Eucalyptus.Ein Screenshot der ElasticFox-Konsole ist in Abbildung 5.2 zusehen.

Um den Amazon Speicherdienst S3 zu nutzen, stehen meh-rere Lösungen zur Verfügung. Besonders interessant ist das

Page 89: [Informatik im Fokus] Cloud Computing ||

5.3 Management-Dienste und -Werkzeuge 79

Abb. 5.2 Infrastruktur-Management mit ElasticFox

FireFox-Plugin S3Fox Organizer [122]. Mit diesem Werkzeugkann ein Kunde

• Daten hoch- und herunterladen, löschen, hierarchisch organi-sieren,

• die Sichtbarkeit von Daten im Internet regeln (auch tempo-rär),

• Zugriffsrechte verwalten (insbesondere Access Control Listseinrichten) und

• lokale Ordner automatisch mit S3 synchronisieren.

Die Benutzerschnittstelle ähnelt einem herkömmlichen FTP-Klienten (Abbildung 5.3). Die lokalen und die Cloud-Dateistruk-turen werden in zwei Ansichten nebeneinander dargestellt, dasKopieren von Daten geschieht über simples Drag und Drop.

Prinzipiell können die existierenden Werkzeuge zur Arbeitmit Cloud-Diensten drei Kategorien zugeordnet werden:

• Online-Werkzeuge (Dienste)• Browser Plugins• Kommandozeilenwerkzeuge

Page 90: [Informatik im Fokus] Cloud Computing ||

80 5 Cloud-Management

Abb. 5.3 S3Fox Organizer für Speicherdienste

Zur Klasse der Online-Werkzeuge, die meist als Dienste rea-lisiert sind, gehören beispielsweise die AWS Management Con-sole [53] sowie ein entsprechendes Angebot von Ylastic [139].Ein Nachteil dieser Lösungen ist, dass Kunden dem Anbieterdes Werkzeugs im Hinblick auf Datenschutz und Datensicher-heit vertrauen müssen, da die Zugangsdaten stets beim Provi-der gespeichert werden. Darüber hinaus kann die AWS Mana-gement Console ausschließlich mit Diensten zusammenarbeiten,die Teil der Amazon Web Services sind. Private Cloud Dienstesind davon ausgeschlossen. Ylastic unterstützt zurzeit lediglichdie Amazon Web Services und Infrastrukturdienste auf der Basisvon Eucalyptus.

Browser Plugins wie ElasticFox und Hybridfox sind einer-seits sehr funktional, setzen aber andererseits eine lokale In-stallation voraus und haben damit einen gewissen Wartungsauf-wand. Es gibt bei Versionswechseln beim Serviceanbieter eingewisses Risiko der Schnittstellenunverträglichkeit. Die Pluginskönnen auch nicht mit alternativen Produkten wie Chrome, Ope-ra, Safari, Internet Explorer, usw. verwendet werden.

Page 91: [Informatik im Fokus] Cloud Computing ||

5.3 Management-Dienste und -Werkzeuge 81

Abb. 5.4 KOALA Cloud Manager

Kommandozeilenwerkzeuge wie die EC2 API Tools vonAmazon und die Euca2ools von Eucalyptus setzen ebenfalls einelokale Installation voraus. Da sie keine grafische Oberfläche ent-halten, ist ihre Benutzbarkeit eingeschränkt. Die EC2 API Toolsarbeiten ebenso wie die anderen Werkzeuge von Amazon aus-schließlich mit den AWS Public Cloud Diensten zusammen. DieEuca2ools können mit Public und Private Cloud Diensten inter-agieren, die zu den Amazon Web Services kompatibel sind.

KOALA [101, 102] ist eine neue Lösung zur Steuerungvon Cloud-Diensten, die die Einschränkungen der existierendenWerkzeuge vermeidet. Dabei handelt es sich um einen Software-dienst, der zu AWS Schnittstellen kompatible Public und PrivateCloud-Infrastrukturen steuern kann (Abbildung 5.4). Unterstütztwerden Cloud-Dienste von Amazon, Eucalyptus, Nimbus undOpenNebula sowie das Management von Google Storage. DerDienst selbst kann in der Google App Engine betrieben werdenoder alternativ in einer dazu kompatiblen Private Cloud (AppS-cale und typhoonAE) laufen. KOALA ist unter einer Open Sour-ce Lizenz veröffentlicht.

Page 92: [Informatik im Fokus] Cloud Computing ||

82 5 Cloud-Management

Tabe

lle5.

1C

loud

Man

agem

entW

erkz

euge

Nam

eA

nbie

ter

Des

ign

Liz

enz

Kos

ten

EC

2S3

EB

SE

LB

Anf

orde

rung

en

KO

AL

A[1

01]

KIT

SaaS

Apa

che

v2.0

kost

enfr

eija

jaja

jaB

row

ser

AW

SC

onso

le[5

3]A

maz

onSa

aSpr

opri

etär

kost

enfr

eija

jaja

jaB

row

ser

Yla

stic

[139

]Y

last

icSa

aSpr

opri

etär

$25/

Mon

atja

jaja

jaB

row

ser

Ela

stic

Fox

[72]

Am

azon

Plug

-in

Apa

che

v2.0

kost

enfr

eija

nein

jane

inFi

refo

x

S3Fo

x[1

22]

Such

iPl

ug-i

npr

opri

etär

kost

enfr

eine

inja

nein

nein

Fire

fox

Euc

a2oo

ls[7

4]E

ualy

ptus

Shel

lB

SDko

sten

frei

jane

inja

nein

Inst

alla

tion

API

-Too

ls[5

0]A

maz

onSh

ell

Apa

che

v2.0

kost

enfr

eija

nein

jaja

Inst

alla

tion

GSU

til[9

4]G

oogl

eSh

ell

Apa

che

v2.0

kost

enfr

eine

inja

nein

nein

Inst

alla

tion

s3cm

d[1

21]

M.L

udvi

gSh

ell

GPL

v2ko

sten

frei

nein

jane

inne

inIn

stal

latio

n

AW

STo

olki

t[54

]A

maz

onE

clip

seA

pach

ev2

.0ko

sten

frei

jane

inne

inne

inE

clip

se

Page 93: [Informatik im Fokus] Cloud Computing ||

5.3 Management-Dienste und -Werkzeuge 83

5.3.3 Entwicklung

In einer an Diensten orientierten Landschaft greifen Betrieb undEntwicklung oftmals eng ineinander. Neben den Management-Werkzeugen spielen daher auch die Entwicklungswerkzeuge ei-ne große Rolle. Als Beispiel für eine integrierte Cloud-Entwick-lungs- und Managementumgebung soll Eclipse [70] dienen.Eclipse ist eine weit verbreitete Plattform zur Unterstützung derAnwendungsentwicklung. Es existieren zahlreiche Plugins fürdie verschiedensten Programmierumgebungen. So stellt z. B. dasgEclipse-Projekt eine umfangreiche grafische Schnittstelle fürAnwender, Entwickler und Betreiber von Grid- und Cloud-Infrastrukturen zur Verfügung [81]. Es gibt aber auch spezifischeErweiterungen für Amazon Web Services, wie z. B. das AWSEclipse ToolKit [54], das es Entwicklern ermöglicht, verteilteund skalierbare Java-Anwendungen auf der Basis von Tomcat-Containern für Amazon EC2 zu entwickeln und zu testen (Abbil-dung 5.5). Daneben sind auch Werkzeuge für das Managementvon Sicherheitsgruppen, AMI-Bibliotheken, EC2-Instanzen undEBS-Speicher integriert.

Eine weitere Möglichkeit zur Unterstützung der Cloud-An-wendungsentwicklung bietet Google mit dem Google Web Tool-kit (GWT). Es handelt sich hierbei um ein Software Develop-ment Kit zur Entwicklung von Java- oder Python-Programmenfür die App Engine Plattform [84]. Die Entwicklungsumgebungenthält neben dem GWT einen lokalen Webserver zum Aus-testen der Programme. Sobald die Anwendungen zufriedenstel-lend funktionieren, können sie in sogenannte WAR-Dateien pa-ketiert und in die skalierbare Google-Infrastruktur geladen wer-den. Es gibt als Erweiterung des Software Development Kit auchein Google Plugin für Eclipse zur interaktiven Entwicklung vonGWT-Anwendungen in einer grafischen integrierten Entwick-lungsumgebung [91].

Page 94: [Informatik im Fokus] Cloud Computing ||

84 5 Cloud-Management

Abb. 5.5 Amazon Web Service Plugin für Eclipse

Abb. 5.6 Google App Engine Plugin für Eclipse

Durch simples Drücken des App Engine Buttons könnenlokal entwickelte Programme zur Verwendung in der Google-Infrastruktur veröffentlicht werden (Abbildung 5.6).

Page 95: [Informatik im Fokus] Cloud Computing ||

5.4 Sicherheitsmanagement 85

5.4 Sicherheitsmanagement

Die Sicherheit umfasst sowohl den gesicherten Zugriff auf Res-sourcen als auch Belange des Datenschutzes. Für das sogenannteCloud Sourcing gibt es entsprechend einer Studie der UniversitätBerkeley keine die bisher angewendeten Maßnahmen überstei-genden besonderen Herausforderungen oder Probleme [1]. Esgelten im Bereich der Sicherheit prinzipiell dieselben Schutz-ziele wie sie auch beim Betrieb von Diensten in einem lokalenRechenzentrum üblich sind [28]:

• Vertraulichkeit• Integrität• Verfügbarkeit• Authentizität• Zurechenbarkeit• Pseudonymität

Die Erfüllung dieser Schutzziele ist als Bestandteil des zwi-schen Dienstanbieter und -nehmer ausgehandelten SLA zu se-hen. So erlaubt z. B. der Zimory Cloud-Marktplatz die Definitionvon SLAs zur Einstellung der gewünschten Sicherheitsanforde-rungen für Cloud-Dienste [141].

Die verschiedenen Kategorien von Cloud-Diensten besitzendabei bedingt durch die Offenheit des Ansatzes verschiedeneCharakteristiken:

• IaaS: Größte Flexibilität, die Verantwortung für die Sicherheitliegt beim Kunden

• PaaS: Mittlere Flexibilität, die Verantwortung für die Sicher-heit liegt sowohl beim Kunden und als auch beim Anbieter

• SaaS: Geringste Flexibilität, die Verantwortung für die Si-cherheit liegt beim Anbieter

Bei vielen Anbietern ist die Identität eines Kunden einfachdurch die Zuordnung zu einer Kreditkartennummer festgelegt.

Page 96: [Informatik im Fokus] Cloud Computing ||

86 5 Cloud-Management

Hierdurch ist auch die problemlose Abrechnung der entstande-nen Kosten sichergestellt. Durch Verwendung von Schlüsselnbzw. PKI-basierten Verfahren ist üblicherweise der Zugriff aufRessourcen reguliert und es kann damit die unbefugte Nutzungverhindert werden. Die Verschlüsselung der Daten sowohl beider Übertragung als auch der Speicherung stellt die Vertraulich-keit her. Hier ist zu beachten, dass die Ablage verschlüsselterDaten in der Cloud u. U. sogar sicherer ist als das Speichernunverschlüsselter Daten auf einem lokalen PC oder in einemFirmenrechenzentrum. Darüber hinaus zeichnen einige Anbieterüber Auditing-Prozesse alle Aktionen im Umgang mit Ressour-cen auf. Durch diese Art der Überwachung sind auch strengstegesetzliche Vorschriften einzuhalten.

Für die Gewährleistung der Informationssicherheit spielt dieZertifizierung nach ISO/IEC 27001 bzw. SAS 70 in den USAdie wichtigste Rolle. Hier werden Prozesse zur Herstellung undÜberwachung der Sicherheit verbindlich festgelegt. ProminenteAnbieter wie Amazon oder Microsoft haben ihre Ressourcen-zentren entsprechend zertifiziert und können damit im Vergleichzu einem kleineren Unternehmensrechenzentrum einen höherenSicherheitsstandard bieten.

Es gibt Szenarien, bei denen das Auslagern von Aufgaben indie Cloud im Hinblick auf die Sicherheitsproblematik sogar Vor-teile bietet: Wenn man mit externen Partnern in einem gemein-samen Projekt zusammenarbeiten will, stellt die Firewall einesUnternehmens beim Aufsetzen der gemeinsamen Prozesse oft-mals eine schier unüberwindliche Hürde dar. Wenn man dieseProzesse aber z. B. in die Amazon Cloud verlagert, kann mandie Zugriffsregeln der Firewall selbständig so anpassen, dass alleProjektpartner problemlos zusammenarbeiten können, ohne dieSicherheitsrichtlinien der beteiligten Unternehmen zu kompro-mittieren.

Ein umfassendes Kompendium zum Thema Cloud-Sicherheithat die Cloud Security Alliance herausgegeben [66].

Page 97: [Informatik im Fokus] Cloud Computing ||

5.5 Risikomanagement 87

5.5 Risikomanagement

Auch die Risikobetrachtungen unterscheiden sich beim CloudSourcing kaum von der klassischen Situation: Beim Auslagernvon Daten besteht immer die Gefahr, dass der Zugriff bei Stö-rungen des Diensts oder dem Bankrott eines Betreibers nichtmehr gegeben ist. Diese Problematik ist aber prinzipiell diesel-be wie beim Outsourcing und kann über die Vertragsgestaltungbzw. SLAs entsprechend geregelt werden. Zur Milderung desProblems kann man auch einen zweiten, unabhängigen Anbietervon Cloud-Diensten als Backup-Lösung hinzuziehen, der eineKopie der geschäftskritischen Daten vorhält.

Ein weiteres Risiko stellt die Abhängigkeit von proprietärenTechniken und Schnittstellen der Anbieter dar (Gefahr des so-genannten Vendor-Lock-in): Hier ist das Problem am gerings-ten bei IaaS, und am größten bei PaaS und SaaS: Bei der Ent-wicklung eines Dienstes auf z. B. Google App Engine bindetman sich an die spezifische Google Infrastruktur und das Wech-seln der Plattform kann entsprechend aufwändig und teuer sein.Hier ist anzumerken, dass auch beim Betrieb von Diensten imlokalen Rechenzentrum ähnliche Abhängigkeiten von Software-Herstellern, Plattformen und Infrastrukturen bestehen. Es hilftdaher klassisches Wissen bei der Lösung des Problems:

• Standardisierte Verfahren sollten nach Möglichkeit Vorrangvor einer proprietären Lösung haben.

• Software sollte so entwickelt werden, dass sie möglichst platt-formunabhängig ist.

• Falls es unvermeidliche Abhängigkeiten gibt, sollten diesesauber gekapselt werden, um möglichst flexibel zu bleiben.

Eine Wertung der Chancen und Risiken des Cloud Computingfindet sich in Kapitel 8.

Page 98: [Informatik im Fokus] Cloud Computing ||

88 5 Cloud-Management

5.6 Rechtskonformität

Das Angebot und die Nutzung von Cloud-Diensten darf nichtgegen Gesetze, gesellschaftliche Wertvorstellungen, Moral oderEthik verstoßen. Dies ist durch die sogenannte Compliance si-chergestellt. Nach gängiger Rechtsauffassung sind für das CloudComputing dieselben Gesetze anzuwenden wie für die Miete (imBezug auf bezahlte Dienste) oder die Leihe, falls es sich um un-entgeltliche Leistungen handelt.

Der Standort eines Cloud-Anbieters hat allerdings eine ent-scheidende Bedeutung für die Gesetze, die für die eingelager-ten Daten gelten. Die Daten können zum gleichen Zeitpunkt anverschiedenen Orten auf der Welt repliziert sein und unterliegensomit womöglich unterschiedlichen Datenschutzgesetzen: NachArtikel 4 der Europäischen Datenschutzrichtlinie gilt die natio-nale Datenschutzgesetzgebung des jeweiligen Landes [138]. Ausdiesem Grund offeriert z. B. Amazon die Cloud-Dienste in un-terschiedlichen Regionen für die USA, Europa und Asien, sodass es möglich ist, durch die Wahl der Zone einen geeignetenRechtsraum für die Dienste festzulegen.

Eine besondere Beachtung verdient in diesem Umfeld dieVerarbeitung personenbezogener Daten. In Deutschland regeltinsbesondere das Bundesdatenschutzgesetz (BDSG) den Um-gang mit personenbezogenen Daten im nicht öffentlichen Be-reich. Ergänzt wird das BDSG durch das Telemediengesetz(TMG), das Telekommunikationsgesetz (TKG) und das Sozial-gesetzbuch (SGB).

Nach dem BDSG bleibt der Cloud-Nutzer für die Verarbei-tung der von ihm in die Cloud übertragenen Daten verantwort-lich. Er muss prüfen, ob die technischen und organisatorischenVorkehrungen des Anbieters zum Schutz der Daten ausreichen.Das TMG besagt, dass in Deutschland niedergelassene Dienstan-bieter auch dann dem deutschen Recht unterliegen, wenn sie in-

Page 99: [Informatik im Fokus] Cloud Computing ||

5.6 Rechtskonformität 89

nerhalb des Geltungsbereichs der Richtlinie 2000/31/EG (euro-päischer Binnenmarkt) tätig sind [130]. Bei Datenverarbeitungaußerhalb Europas ist sicherzustellen, dass ein angemessenesDatenschutzniveau besteht (z. B. Safe Harbor Abkommen in denUSA).

Die Auftragsdatenverarbeitung personenbezogener Daten inder Cloud erfordert bei Inanspruchnahme internationaler Res-sourcen prinzipiell das schriftliche Einverständnis der betroffe-nen Personen. Sie ist aber aus rechtlicher Sicht dennoch immerstatthaft, sobald der direkte Personenbezug durch Maßnahmenwie z. B. Verschlüsselung oder Anonymisierung der Daten auf-gehoben wird.

Page 100: [Informatik im Fokus] Cloud Computing ||

Kapitel 6Open Source Cloud-Schichtenmodell

Das Thema dieses Kapitels ist der Aufbau einer Cloud auf derBasis von Open Source-Komponenten. Es existiert bereits ei-ne Vielzahl von Lösungen, die die Konstruktion einer Cloud-Architektur erlauben. Es ist somit möglich, ein Open SourceCloud-Schichtenmodell (siehe Abbildung 6.1) zu entwerfen.

Abb. 6.1 OpenCirrus Open Source Cloud-Schichtenmodell

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 91DOI 10.1007/978-3-642-18436-9_6,c© Springer-Verlag Berlin Heidelberg 2011

Page 101: [Informatik im Fokus] Cloud Computing ||

92 6 Open Source Cloud-Schichtenmodell

Der Entwurf umfasst nicht nur Komponenten für die Hard-ware- und Software-Infrastruktur, sondern auch Komponen-ten zur Etablierung von Anwendungsumgebungen. Das Schich-tenmodell ist eine spezifische Ausprägung der in Kap. 3dargestellten Cloud-Architektur: Die dort eingeführten IaaS-Komponenten sind durch die Physischen Ressourcen Sets (PRS)zur Partitionierung der Infrastruktur repräsentiert, die Software-Infrastruktur umfasst Komponenten zur Verwaltung virtuellerMaschinen und des Speichers, sowie Verfahren zur Überwa-chung und Steuerung der Infrastruktur. Die Schicht beinhaltetdarüber hinaus auch Komponenten zur Job-Steuerung und fürdie Verbrauchserfassung (engl. Accounting) und Abrechnung(engl. Billing). Die PaaS-Komponenten bilden die Framework-Schicht, die SaaS-Komponenten sind auf der Anwendungsebenezu finden. Im folgenden sollen einige der Komponenten des Ent-wurfs exemplarisch vorgestellt werden.

6.1 Physische und Virtuelle Ressourcen

Die Wurzeln der IaaS-Komponenten liegen im Emulab-Projekt [16], bei dem Mini-Rechenzentren für Systementwick-lung zur Verfügung gestellt werden können. Auf der unterstenEbene organisiert man die Infrastruktur in Form von PhysischenRessourcen Sets (PRS). Ein PRS beinhaltet die für die Umset-zung einer Aufgabe nötigen Ressourcen wie CPUs, Speicher undNetzwerke. Ein virtuelles LAN verknüpft diese in einer gemein-samen Domäne. Das Management der Domänen erfolgt übereinen speziellen PRS-Dienst. Dieser kann die Ressourcen überdas Netzwerk verwalten und gestattet es, Komponenten ein- undauszuschalten, System-Images auszurollen und die Infrastrukturzu überwachen. Ein Beispiel mit vier verschiedenen Domänenist in Abbildung 6.2 gezeigt: Es gibt hier eine Domäne für Sys-

Page 102: [Informatik im Fokus] Cloud Computing ||

6.1 Physische und Virtuelle Ressourcen 93

ServicesApplications

Virtual clusterVirtual cluster

Systems research NFS/HDFSstorage services

Workload monitoring andtrace collection services

Tashi

PRS service

Abb. 6.2 Verschiedene Domänen auf einem Physischen Ressourcen Set

temforschung, eine für das Management virtueller Maschinen,sowie Domänen für Speicherdienste und Überwachung. Anwen-dungen, die auf virtuellen Clustern der zweiten Domäne laufen,nutzen diese Dienste.

Die virtuellen Cluster bilden Virtuelle Ressourcen Sets(VRS). Beim Beispiel in Abbildung 6.2 handelt es sich umdie Management-Suite Tashi, die Intel und Yahoo! zurzeit ge-meinsam entwickeln. Tashi ist eine Lösung speziell für Cloud-Rechenzentren, die massive Datenbestände im Internet bearbei-ten müssen. Die grundlegende Idee ist, dass hierbei nicht nurCPU-Ressourcen einem Planungsprozess unterworfen sind, son-dern darüber hinaus auch die verteilten Speicherressourcen. Dasgemeinsame Scheduling von CPU und Datenspeicher erlaubt dieOptimierung des Systems unter der Berücksichtigung des Ener-gieverbrauchs [129].

Page 103: [Informatik im Fokus] Cloud Computing ||

94 6 Open Source Cloud-Schichtenmodell

Ein weiteres sehr populäres Managementsystem für virtuelleRessourcen ist Eucalyptus, das im Folgenden beschrieben wird.

6.2 Eucalyptus

Cloud-Infrastrukturen kommerzieller Anbieter wie AmazonEC2 und S3 und PaaS-Angebote wie Google App Engine bie-ten einen hohen Grad an Benutzbarkeit und sind zu geringenKosten (teilweise sogar kostenfrei) nutzbar. In einigen Fällenist es aber wünschenswert, eine private Cloud-Infrastruktur auf-zubauen. Aspekte, bei denen eine private Cloud einer öffent-lichen Cloud vorzuziehen ist, können spezielle Sicherheitsan-forderungen oder das Speichern kritischer Unternehmensdatensein. Auch der Aufbau eines internen Datenspiegels (RAID-0)ist denkbar, um die Verfügbarkeit einer Cloud-Infrastruktur beieinem kommerziellen Anbieter zu erhöhen.

Eucalyptus [74] ist eine Abkürzung für Elastic Utility Com-puting Architecture for Linking Your Programs To Useful Sys-tems. Die Entwicklung von Eucalyptus fand ursprünglich an derUniversity of California in Santa Barbara (UCSB) statt. DieWeiterentwicklung erfolgt durch das Unternehmen EucalyptusSystems. Eucalyptus ermöglicht den Aufbau und Betrieb einereigenen IaaS Cloud-Infrastruktur. Die API von Eucalyptus istkompatibel zu Amazon EC2, S3 und EBS [22]. Die Software-Entwicklung geschieht unter der BSD Lizenz und ist damit OpenSource. Im Gegensatz zu Amazon EC2, das zur Virtualisierungausschließlich Xen nutzt, kann Eucalyptus mit Xen und KVM(Kernel-based Virtual Machine) zusammenarbeiten. Vorausset-zung für KVM ist, dass eine CPU mit Hardware-Virtualisierung(AMD-V bzw. Pacifica oder Intel VT-x bzw. Vanderpool) vor-handen ist. Eine Unterstützung für VMware vSphere/ESX/ES-Xi bietet die kommerziell verfügbare Enterprise Version, die

Page 104: [Informatik im Fokus] Cloud Computing ||

6.2 Eucalyptus 95

Abb. 6.3 Architektur und Komponenten von Eucalyptus

von Eucalyptus Systems angeboten wird. Die Integration derVMware-Unterstützung in die freie Version von Eucalyptus istnicht geplant.

6.2.1 Architektur und Komponenten

Die Eucalyptus-Infrastruktur besteht aus drei Komponenten (sie-he Abbildung 6.3). Diese sind Cloud Controller (CLC), ClusterController (CC) und Node Controller (NC) [23]. Alle drei Kom-ponenten sind als Web Services realisiert.

Der NC muss auf jedem Knoten in der Cloud installiert sein,auf dem virtuelle Instanzen laufen sollen. Voraussetzung hier-

Page 105: [Informatik im Fokus] Cloud Computing ||

96 6 Open Source Cloud-Schichtenmodell

für ist ein funktionierender Xen Hypervisor oder KVM. JederNC sendet Informationen über den aktuellen Zustand der eige-nen Ressourcen an den CC. Dieses sind Informationen über dieAnzahl der virtuellen Prozessoren, den freien Hauptspeicher undden freien Festplattenspeicher.

In jedem Cluster kümmert sich ein CC um die lastabhängigeVerteilung (engl. Scheduling) der virtuellen Maschinen auf dieNCs. Dieses geschieht mit Hilfe der Ressourceninformationen,die die NCs an den CC übermitteln. Eine weitere Aufgabe einesCC ist die Steuerung des privaten Netzwerks, über das der CCmit den NCs kommuniziert. Jeder CC sendet Informationen überden aktuellen Zustand der Ressourcen im eigenen Cluster.

Für das Meta-Scheduling, also die Verteilung der virtuel-len Maschinen zwischen den verbunden Clustern ist der CLCzuständig. Hierfür sammelt er die Ressourceninformationen,die die CCs an den CLC übermitteln. In jeder Eucalyptus-Infrastruktur muss exakt ein CLC aktiv sein. Der CLC ist derZugriffspunkt in der Cloud, sowohl für die Anwender als auchfür die Administratoren.

Bei Eucalyptus-Infrastrukturen mit einer geringen Anzahl anphysischen Servern, bietet es sich an, CLC und CC auf einemServer zu konsolidieren. Es ist notfalls auch möglich, alle dreiKomponenten auf einem physischen Server zu betreiben.

Zusätzlich enthält Eucalyptus zwei Speicherdienste: Wal-rus ist ein Speicherdienst für Web-Objekte, der kompatibel zurREST API von Amazon S3 ist. Zusätzlich existiert ein Spei-cherdienst mit der Bezeichnung Storage Controller (SC), des-sen Funktionalität und API mit dem Dienst Amazon EBS iden-tisch sind. Walrus und der SC können auf beliebigen Rechnernim Cluster ausgeführt werden. Eine Positionierung von Walrusund SC auf dem CLC ist bei kleineren und mittleren Installatio-nen üblich.

Page 106: [Informatik im Fokus] Cloud Computing ||

6.2 Eucalyptus 97

Eucalyptus verwendet Walrus, um die Images abzulegen.Es ist darüber hinaus auch möglich, Walrus als eigenständigenDienst unabhängig von Eucalyptus zu installieren und betreiben.

Virtual Distributed Ethernet (VDE) erzeugt das private Netz-werk. Auf den Eucalyptus-Komponenten läuft hierfür ein vir-tueller VDE-Switch. Die Verbindungen zwischen den Switchessind mit virtuellen VDE-Kabeln realisiert. Durch das virtuelleNetzwerk ist garantiert, dass den virtuellen Maschinen in der in-nerhalb eines Clusters in der Cloud ein einheitliches Subnetz zurVerfügung steht [3].

In einer Eucalyptus Private Cloud sind die Bezeichner der In-stanzklassen zu denen von Amazon EC2 identisch. Unterschie-de bestehen aber bei den standardmäßig zugewiesenen Ressour-cen. Siehe hierzu Tabellen 6.1 und 6.2. Die Ressourcenzuteilungder jeweiligen Instanzklassen innerhalb einer Eucalyptus Priva-te Cloud kann konfiguriert werden. Es ist aber nicht vorgesehen,zusätzliche Instanzklassen zu definieren oder deren Namen zuändern.

Die neuen Instanzklassen bei den Amazon Web Services(dazu gehören die High-Memory Instances m2.2xlarge,m2.2xlarge und m2.4xlarge sowie die Micro Instancest1.micro) haben bei Eucalyptus noch keinen Eingang gefun-den.

In einer Eucalyptus-Cloud können alle Instanzklassen auf al-len Knoten platziert werden. Folglich ist auch keine Ausprägungder Instanzklassen nach Architekturen möglich, so wie es beiAmazon EC2 gehandhabt wird. Bei EC2 stehen die beiden In-stanzklassen m1.small und c1.medium ausschließlich In-stanzen mit einer 32-Bit Architektur zur Verfügung während al-le anderen Instanzen auf der 64-Bit Architektur basieren. EineAusnahme bildet die Instanzklasse t1.micro. Diese kann so-wohl mit 32-Bit als auch 64-Bit Instanzen verwendet werden. Ineiner Eucalyptus-Cloud ist im Gegensatz dazu die Architekturaller Instanzklassen identisch.

Page 107: [Informatik im Fokus] Cloud Computing ||

98 6 Open Source Cloud-Schichtenmodell

Tabelle 6.1 Vergleich der Rechenleistung von Instanzklassen bei Eucalyp-tus und Amazon EC2

Kategorie Eucalyptus Amazon EC2

t1.micro n.v. 1 virt. Core mit maximal 2 ECUm1.small 1 virt. CPU 1 virt. Core mit 1 ECUm1.large 2 virt. CPUs 2 virt. Cores je 2 ECU ⇒ 4 ECUm1.xlarge 2 virt. CPUs 4 virt. Cores je 2 ECU ⇒ 8 ECUm2.xlarge n.v. 2 virt. Cores je 3,25 ECU ⇒ 6,5 ECUm2.2xlarge n.v. 4 virt. Cores je 3,25 ECU ⇒ 13 ECUm2.4xlarge n.v. 8 virt. Cores je 3,25 ECU ⇒ 26 ECUc1.medium 1 virt. CPU 2 virt. Cores je 2,5 ECU ⇒ 5 ECUc1.xlarge 4 virt. CPUs 8 virt. Cores je 2,5 ECU ⇒ 20 ECUcc1.4xlarge n.v. 8 Intel Xeon Nehalem Cores ⇒ 33.5 ECUcg1.4xlarge n.v. 8 Intel Xeon Nehalem Cores ⇒ 33.5 ECU

Ein weiterer Unterschied zwischen Amazon Web Servicesund Eucalyptus betrifft die Leistungsfähigkeit der angebotenenCPU-Cores. Amazon verwendet bei der Definition der Rechen-leistung die Metrik EC2 Compute Units (ECU). Eine EC2 Com-pute Unit ist bezüglich Rechenleistung vergleichbar mit einem1,0–1,2 GHz Opteron oder Xeon aus dem Jahr 2007 oder mit ei-nem 1,7 GHz Xeon Prozessor vom Frühjahr 2006 [42].

Bei den Amazon Web Services besitzen die virtuellen CPU-Cores bezüglich der verwendeten Instanzklasse eine unter-schiedliche Leistungsfähigkeit. Dies ist darauf zurückzufüh-ren, dass Amazon für das Provisionieren in den verschiede-nen Instanzklassen unterschiedliche physische Hardware vor-hält. Während in EC2 bei der Instanzklasse m1.small dieRechenleistung eines virtuellen CPU-Cores einer EC2 Com-pute Unit entspricht, hat bei den übrigen Standard Instanzenm1.small und m1.large jeder virtuelle Core die Rechen-leistung von zwei EC2 Compute Units. Bei den High-MemoryInstances m2.xlarge, m2.2xlarge und m2.4xlarge be-

Page 108: [Informatik im Fokus] Cloud Computing ||

6.3 OpenNebula 99

Tabelle 6.2 Vergleich des Hauptspeichers der Instanzklassen bei Eucalyp-tus und Amazon EC2

Kategorie Eucalyptus Amazon EC2

t1.micro — 613 MB RAMm1.small 128 MB RAM 1,7 GB RAMm1.large 512 MB RAM 7,5 GB RAMm1.xlarge 1 GB RAM 15 GB RAMm2.xlarge — 17,1 GB RAMm2.2xlarge — 34,2 GB RAMm2.4xlarge — 68,4 GB RAMc1.medium 256 MB RAM 1,7 GB RAMc1.xlarge 2 GB RAM 7 GB RAMcc1.4xlarge — 23 GB RAMcg1.4xlarge — 22 GB RAM

sitzt jeder virtuelle Core die Rechenleistung von 3,25 EC2 Com-pute Units und bei den High-CPU Instances c1.medium undc1.xlarge 2,5 EC2 Compute Units. Die Cluster ComputeInstanzen verfügen über je zwei Quad-Core Intel Xeon-X5570Nehalem Prozessoren.

6.3 OpenNebula

OpenNebula [114] ist ebenso wie Eucalyptus eine IaaS-Lösungzur Konstruktion einer Private Cloud. Als Virtualisierungsansät-ze werden der Xen Hypervisor, KVM und VMware vSphere un-terstützt. OpenNebula ermöglicht es im Gegensatz zu Eucalyp-tus, Instanzen auf den angeschlossenen Knoten im laufenden Be-trieb zu verschieben. In OpenNebula ist allerdings bislang nur ei-ne rudimentäre Unterstützung für die EC2 SOAP und EC2 QueryAPI integriert. Es ist möglich, eine Liste der Images und Instan-

Page 109: [Informatik im Fokus] Cloud Computing ||

100 6 Open Source Cloud-Schichtenmodell

zen auszugeben, sowie Instanzen zu starten, neu starten und be-enden. Es besteht ferner die Möglichkeit, Ressourcen in AmazonEC2 über OpenNebula zu steuern.

Ein Alleinstellungsmerkmal von OpenNebula ist die Mög-lichkeit, Knoten zu gruppieren. Somit wird der Aufbau vonHochleistungsrechnen als Dienst – High Performance Compu-ting as a Service (HPCaaS) – ermöglicht.

Im Gegensatz zu Eucalyptus und Nimbus enthält OpenNebulakeinen zur API von S3 oder EBS kompatiblen Speicherdienst.OpenNebula ist unter einer Open Source Lizenz verfügbar.

6.4 Nimbus

Nimbus [17] ist eine Private Cloud IaaS-Lösung, die von derGlobus Alliance entwickelt wird. Als Virtualisierungslösungenunterstützt Nimbus den Xen Hypervisor und KVM. Für dasScheduling der virtuellen Maschinen kann Nimbus auf Systemewie das Portable Batch System (PBS) oder die Sun Grid Engine(SGE) zurückgreifen. In Nimbus ist eine rudimentäre Unterstüt-zung für die EC2 SOAP und EC2 Query API integriert. Benut-zer können damit eine Liste der Images und Instanzen ausge-ben lassen. Instanzen können gestartet, neu gestartet und been-det werden. Es ist auch möglich, Schlüsselpaare zu erzeugen.Es ist möglich, über ein Backend Ressourcen der Amazon WebServices anzusprechen.

Seit Version 2.5 enthält Nimbus den Speicherdienst Cumulus,dessen Schnittstelle zur S3 REST API kompatibel ist. Nimbusverwendet Cumulus, um die Images abzulegen. Es ist möglichCumulus separat ohne Nimbus zu installieren und zu betreiben.Einen zu EBS kompatiblen Speicherdienst enthält Nimbus nicht.Nimbus ist unter einer Open Source Lizenz verfügbar.

Page 110: [Informatik im Fokus] Cloud Computing ||

6.4 Nimbus 101

Tabe

lle6.

3V

ergl

eich

der

quel

loff

enen

Vir

tuel

len

Res

sour

cen

Sets

Nam

eL

izen

zSc

hnitt

stel

leE

C2

S3E

BS

Hyp

ervi

sor

Ent

erpr

ise

Euc

alyp

tus

GPL

v3A

WS

jaja

jaK

VM

,Xen

,ja

VM

war

e

Ope

nNeb

ula

Apa

che

v2.0

OC

CI,

AW

Ste

ilwei

sene

inne

inK

VM

,Xen

,ne

in

VM

war

e,V

irtu

alB

ox

Nim

bus

Apa

che

v2.0

WSR

F,A

WS

teilw

eise

teilw

eise

nein

KV

M,X

enne

in

Clo

udSt

ack

GPL

v3C

loud

Stac

k,A

WS

teilw

eise

nein

nein

KV

M,X

en,

ja

VM

war

e

Ope

nSta

ckA

pach

ev2

.0O

penS

tack

,AW

Sja

nein

nein

KV

M,X

en,

nein

Vir

tual

Box

,UM

L

Page 111: [Informatik im Fokus] Cloud Computing ||

102 6 Open Source Cloud-Schichtenmodell

6.5 CloudStack

Eine weitere Private Cloud IaaS Lösung ist CloudStack [65], ei-ne Entwicklung des Unternehmens Cloud.com in Zusammenar-beit mit Rackspace. Als Virtualisierungsansätze werden der XenHypervisor, KVM und VMware vSphere unterstützt. Die Archi-tektur umfasst zwei Komponenten, den Management-Server unddie Rechenknoten (engl. Compute-Nodes). Der Management-Server stellt den Administratoren und Benutzern eine Web-Oberfläche zur Verfügung. Weitere Aufgaben des Management-Servers sind die Steuerung und das Management der Ressourcenbei der Verteilung der Instanzen auf die Rechenknoten.

Die Software existiert in einer Community Version, Enter-prise Edition und Service Provider Edition. Ausschließlich dieCommunity Version ist als Open Source Lizenz verfügbar.

Tabelle 6.3 zeigt eine Übersicht über die bekanntesten OpenSource Lösungen zur Realisierung von Virtuellen RessourcenSets.

6.6 OpenStack

Die Nasa und Rackspace etablierten im Sommer 2010 dasOpen Source-Projekt OpenStack [117]. Viele namhafte Unter-nehmen unterstützen OpenStack, unter anderem AMD, Intel,Dell und Cloud.com. OpenStack stellt auf der Basis von Cloud-Stack die Komponenten Compute und Object Storage bereit. DerCompute-Dienst erlaubt die Verwaltung großer Gruppen virtu-eller Server; der Objektspeicher stellt redundante, skalierbareSpeicher zur Verfügung. Microsoft kündigte an, die SoftwareOpenStack an die Virtualisierungstechnologie Hyper-V anzu-

Page 112: [Informatik im Fokus] Cloud Computing ||

6.8 typhoonAE 103

passen. Dabei ist das Ziel, in Cloud-Systemen Windows- undOpen Source-Programme parallel nutzen zu können.

6.7 AppScale

AppScale [58] bietet eine Re-Implementierung der Funktiona-lität und der Schnittstellen der Google App Engine als OpenSource. Die Entwicklung erfolgt an der University of Califor-nia in Santa Barbara. Zu Google App Engine kompatible An-wendungen können mit AppScale innerhalb einer Private Cloud(Eucalyptus) oder innerhalb einer Public Cloud (EC2) betriebenund getestet werden. AppScale kann auch direkt auf dem Xen-Hypervisor ohne Zuhilfenahme einer IaaS zum Einsatz kom-men. AppScale unterstützt Python- und Java-Anwendungen undemuliert die Google-Infrastrukturdienste Datastore, Memcache,XMPP, Mail und Authentifizierung.

6.8 typhoonAE

TyphoonAE [133] ist eine weitere als Open Source veröffent-lichte Re-Implementierung der Google App Engine. Auch hierkönnen Entwickler zu Google App Engine kompatible Anwen-dungen lokal ausführen. Im Gegensatz zu AppScale harmonierttyphoonAE mit jeder Linux-Umgebung sowie mit Mac OS X.Somit ist die Verwendung nicht nur in Private und Public Clouds,sondern auch in virtuellen Maschinen möglich.

Ein weiterer Unterschied zu AppScale ist, dass typhoonAEausschließlich in Python entwickelte Anwendungen unterstützt.Die Software basiert auf dem App Engine SDK sowie populärenOpen Source Paketen wie NGINX, Apache2, MySQL, memca-

Page 113: [Informatik im Fokus] Cloud Computing ||

104 6 Open Source Cloud-Schichtenmodell

ched und RabbitMQ. Diese bilden die Basis zur Emulation derGoogle-Infrastruktur-Dienste.

6.9 Apache Hadoop

Hadoop [31] ist eine Open Source Software-Plattform, mit dersich in einfacher Weise sehr große Datenmengen in einem Rech-nerverbund verarbeiten und analysieren lassen. Mögliche Ein-satzfelder von Hadoop sind z. B. Web-Indexierung, Data Mining,Logdaten-Analysen, Maschinelles Lernen, Finanzanalysen, wis-senschaftliche Simulationen oder Forschung im Bereich der Bio-informatik.

Das Hadoop-System besitzt die folgenden Eigenschaften:

• Skalierbarkeit: Datenmengen im Umfang von mehreren Pe-tabytes können verarbeitet werden, verteilt auf mehrere tau-send Knoten eines Rechnerverbunds.

• Effizienz: Parallele Datenverarbeitung erlaubt die schnelleProzessierung auf Basis eines verteilten Dateisystems.

• Zuverlässigkeit: Es können mehrere Kopien der Daten ange-legt und verwaltet werden. Bei Ausfall eines Cluster-Knotenswird der Workflow selbständig neu organisiert. Dies ermög-licht eine automatische Korrektur bei Störungen.

Beim Design von Hadoop steht die Skalierbarkeit zu Cluster-Größen von bis zu 10 000 Knoten im Vordergrund. Das größ-te Hadoop-Cluster bei Yahoo! umfasst zurzeit 32 000 Cores in4 000 Knoten und es werden dort 16 Petabytes an Daten ge-speichert und verarbeitet. Die Analyse und Sortierung eines einPetabyte großen Datensatzes dauert auf diesem Cluster etwa 16Stunden.

Page 114: [Informatik im Fokus] Cloud Computing ||

6.9 Apache Hadoop 105

Die Firma Cloudera paketiert das Hadoop-System und es ste-hen verschiedene Hadoop-Distributionen im Internet als Down-load bereit [64].

6.9.1 MapReduce

Hadoop implementiert das MapReduce-Programmiermodell,das auch in der Suchmaschine und den Anwendungen von Goo-gle eine große Rolle spielt [11]. Obwohl das Modell auf der mas-siv parallelen Verarbeitung von Daten aufsetzt, hat es funktionaleWurzeln. Es sind prinzipiell zwei Funktionen zu implementie-ren:

• Map-Funktion: Liest Schlüssel/Wert-Paare ein und generiertdaraus in der Ausgabe als Zwischenergebnis jeweils neueSchlüssel/Wert-Paare.

data data data data data data data data data data data data data data data

data data data data data data data data data data data data data data data

data data data data data data data data data data data data data data data

data data data data data data data data data data

Compute Cluster

Data

Datadata data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data data

HDFS Block 1

HDFS Block 1

HDFS Block 2

HDFS Block 2

HDFS Block 2

HDFS Block 3HDFS Block 3

HDFS Block 3

HDFS Block 1

Reduce

Map

Map

Map

Abb. 6.4 MapReduce-Programmiermodell auf der Basis eines verteiltenDateisystems (HDFS)

Page 115: [Informatik im Fokus] Cloud Computing ||

106 6 Open Source Cloud-Schichtenmodell

• Reduce-Funktion: Liest alle Zwischenergebnisse, gruppiertdiese nach Schlüsseln und generiert daraus jeweils eine ag-gregierte Ausgabe für jeden Schlüssel.

Üblicherweise speichern die Prozeduren dabei die Ergebnis-se der einzelnen Schritte in Listen oder Warteschlangen. AlsBeispiel möge das Erfassen des Wortschatzes in einer Samm-lung von Texten dienen (siehe auch Beispiel im Anhang): DieMap-Funktion extrahiert hier die einzelnen Wörter aus den Tex-ten, die Reduce-Funktion liest diese ein, zählt das Auftreten derWörter und legt das Ergebnis in einer Liste ab. Bei der Parallel-verarbeitung verteilt Hadoop die Texte oder Textfragmente aufdie Knoten eines Rechnerverbunds. Die Map-Knoten verarbei-ten die ihnen zugeteilten Fragmente und geben jeweils die ein-zelnen Wörter aus. Diese Ausgaben stehen über ein verteiltesDateisystem allen Knoten zur Verfügung. Die Reduce-Knotenlesen anschließend die Wortlisten ein und zählen die Wörter. Dadas Zählen erst dann beginnen kann, sobald alle Wörter durchdie Map-Funktion verarbeitet sind, kann hier ein Engpass ent-stehen. Der Ablauf von MapReduce in einem Hadoop-Clusterist schematisch in Abbildung 6.4 gezeigt.

6.9.2 Hadoop Distributed File System

Um die MapReduce-Funktionen robust und skalierbar zu imple-mentieren, ist ein hochverfügbares und leistungsfähiges Datei-system nötig. Hadoop verwendet zur Verarbeitung der Daten einspezielles verteiltes Dateisystem, das Hadoop Distributed FileSystem (HDFS). Die Architektur basiert auf einem Masterkno-ten (Namenode), der eine große Zahl von Datenknoten verwaltet.Der Masterknoten bearbeitet externe Datenanfragen, organisiertdie Ablage von Dateien und speichert alle Metadaten zur Be-

Page 116: [Informatik im Fokus] Cloud Computing ||

6.9 Apache Hadoop 107

schreibung des Systemstatus. Die Zahl der Dateien, die man imHDFS ablegen kann, ist in der Praxis durch die Hauptspeicher-ausstattung des Masterknotens limitiert, da sich aus Gründen derPerformanz alle Daten im Speichercache befinden sollten. Sys-teme mit mehren hundert Millionen Dateien sollten mit aktuellerHardware zu realisieren sein.

Hadoop splittet die Dateien und verteilt die Fragmente aufmehrere Datenblöcke im Cluster, wodurch der parallele Zugriffmöglich ist. Zusätzlich legt HDFS zur Steigerung der Zuverläs-sigkeit und der Zugriffsgeschwindigkeit mehrfache Kopien derDatenblöcke im Rechnerverbund ab. Eine optionale Prüfsum-menbildung stellt dabei die Integrität der Daten sicher: Die Fest-stellung einer potenziellen Datenkorruption ist dadurch möglichund ein Lesevorgang kann in diesem Fall auf einen alternativen,intakten Block umgeleitet werden. Da der Masterknoten einenSingle-Point-of-Failure darstellt, ist es vorgesehen, diesen zu re-plizieren.

Im Unterschied zu den weit verbreiteten RAID-Systemenkommt bei HDFS ein flaches Speichermodell zum Einsatz. Diesgeschieht im Hinblick auf die Fehlertoleranz: Falls eine Spei-cherplatte ausfällt, findet die Wiederherstellung (engl. Rebuild)statt, die neue verteilte Kopien der betroffenen Blöcke anlegt.Es ist wichtig, die Wiederherstellungszeit des Systems möglichstkurz zu halten, um das Risiko eines Datenverlusts aufgrund vonMehrfachfehlern auf ein Minimum zu reduzieren. HDFS benö-tigt bei Ausfall einer Terabyte-Festplatte nur ca. eine halbe Stun-de, um eine Wiederherstellung durchzuführen (zum Vergleich:Bei RAID kann dies systembedingt mehrere Tage dauern). Fallsein Datenknoten oder gar ein ganzes Rack ausfällt, delegiert derMasterknoten die entsprechenden Teilaufgaben sofort neu.

Aufgaben werden im Verbund nach Möglichkeit immer dortausgeführt, wo die Daten lokalisiert sind. Datenzugriffe über dasNetzwerk werden aus Effizienzgründen nach Möglichkeit ver-

Page 117: [Informatik im Fokus] Cloud Computing ||

108 6 Open Source Cloud-Schichtenmodell

mieden. Als Kriterium dafür gibt es eine Distanzfunktion, diedie Kosten des Zugriffs beschreibt: Die Distanz ist bei Zugriffenauf demselben Knoten am geringsten, vergrößert sich bei Zugrif-fen im selben Rack und wächst entsprechend mit dem Abstandim Netzwerk.

6.9.3 Pig

Es gibt im Umfeld von Apache Hadoop eine Plattform mitdem Namen Pig [31]. Es handelt sich dabei um eine spezi-elle High-Level Programmierumgebung zur Formulierung vonDatenanalysen (Pig Latin). Diese Umgebung ist mit einer pas-senden Infrastruktur zur Durchführung von Analysen gekop-pelt. Pig-Programme zeichnen sich dadurch aus, dass sich ihreStruktur hervorragend zur Parallelisierung eignet. Die Plattformumfasst insbesondere auch einen Compiler, der Sequenzen vonMapReduce-Programmen für Hadoop erstellt. Die Programmier-sprache hat die folgenden Eigenschaften:

• Einfachheit: Unterstützung von sowohl nebenläufigen alsauch parallelen Anwendungen. Komplexe gekoppelte Syste-me werden als Datenfluss-Sequenzen umgesetzt.

• Optimierung: Die Ausführung von Aufgaben wird automa-tisch optimiert. Der Programmierer kann sich auf die Seman-tik des Programms konzentrieren.

• Erweiterbarkeit: Benutzer können ihre eigenen Funktiona-litäten einbringen und damit domänenspezifische Problemelösen.

Der Einsatz von Pig lohnt sich vor allem dort, wo die Stapelver-arbeitung großer Datenmengen eine Rolle spielt. Pig eignet sichweniger für Umgebungen, wo nur kleine Subsets von größerenDatenmengen zu verarbeiten sind.

Page 118: [Informatik im Fokus] Cloud Computing ||

6.9 Apache Hadoop 109

6.9.4 Hive

Hive ist eine Data-Warehouse Anwendung (zentrales Datenla-ger), die auf Hadoop [98] aufsetzt. Hive ermöglicht die Analysevon großen strukturierten Datensätzen im Hadoop Dateisystemauf der Basis einer Abfragesprache mit dem Namen QL. Dieseist von SQL abgeleitet und ermöglicht so die Übertragung exis-tierender Datenbankanwendungen auf die Hadoop-Plattform. In-teressant ist hier vor allem die Möglichkeit, Datenbankabfragenmit dem MapReduce-Programmiermodell zu kombinieren.

6.9.5 Hadoop as a Service

Die Installation und der Betrieb eines Hadoop-Clusters sindmit einem nicht unerheblichen Aufwand verbunden, der sichu. U. bei sporadischer Nutzung nicht lohnt. Es gibt daher aktuellmehrere Ansätze, um Hadoop auch als Cloud-Dienst anzubieten.

Insbesondere ist hier Amazon Elastic MapReduce [41] her-vorzuheben, welches als Bestandteil der Amazon Web Serviceszur Verfügung steht. Amazon Elastic MapReduce basiert aufEC2 und kann Cluster von nahezu beliebiger Größe nach ak-tuellem Bedarf bereitstellen. Das verteilte Dateisystem von Ha-doop arbeitet dabei mit dem S3-Service zusammen (siehe Abbil-dung 6.5). Der Dienst Elastic MapReduce funktioniert folgen-dermaßen:

1. Der Nutzer lädt seine Daten und das Map- und Reduce-Executable nach S3

2. Elastic MapReduce generiert und startet ein EC2 Hadoop-Cluster (Master + Slaves)

3. Hadoop erzeugt einen Jobflow, der Daten von S3 aufs Clusterverteilt und prozessiert

Page 119: [Informatik im Fokus] Cloud Computing ||

110 6 Open Source Cloud-Schichtenmodell

Your host ResponseMaster

Slave

Slave

Slave

EC2 cluster

Slave

ElasticMapReduce

Request1

5

2

3

4

Abb. 6.5 Amazon Elastic MapReduce (Quelle: Amazon)

4. Die Ergebnisse werden nach dem Prozessieren nach S3 ko-piert

5. Benachrichtigung am Ende des Jobs: Der Nutzer holt die Er-gebnisse von S3 ab

Man kann Amazon Elastic MapReduce sowohl programmatischüber die Kommandozeile steuern, als auch grafisch über eineWeb-Konsole [53]. Ein Beispiel für die Verwendung von ElasticMapReduce ist im Anhang gegeben.

Es gibt neben Elastic MapReduce eine weitere Möglichkeit,Hadoop als flexiblen Dienst im Rahmen der Amazon Web Ser-vices zu nutzen: Es lässt sich in der Amazon-Infrastruktur ein ei-genes Hadoop-Cluster in einer dem Problem angemessenen Grö-ße instanzieren. Dieses kann auf der Basis eines vorgefertigtenAmazon Machine Images für Hadoop geschehen, welches Clou-dera als Public AMI bei den Amazon Web Services bereitstellt.

Page 120: [Informatik im Fokus] Cloud Computing ||

6.10 Das OpenCirrusTM-Projekt 111

6.10 Das OpenCirrusTM-Projekt

Das OpenCirrusTM-Projekt hat zum Ziel, ein internationalesCloud Computing Testbett zur Unterstützung der Open SourceCloud-Systemforschung aufzubauen und zu betreiben [2]. DieFirmen HP, Intel und Yahoo! haben das Projekt im Juli 2008 ge-startet, zusammen mit den akademischen Partnern IDA1, KIT2

und UIUC3. Das Konsortium umfasst seit 2010 auch ETRI4,MIMOS5, RAS6, CESGA7, CMU8, CERCS9 sowie China Mo-bile und China Telecom.

Die Partner betreiben föderierte Ressourcenzentren und stel-len jeweils bis zu 1024 CPU-Cores und bis zu 1 Petabyte Daten-speicher bereit. Die Aktivitäten umfassen sowohl Entwicklun-gen auf der Infrastrukturebene, der Plattformebene als auch aufder Anwendungsebene (siehe Kapitel 3). Im Unterschied zu an-deren Cloud-Umgebungen wie Google App Engine oder Ama-zon Web Services gestattet OpenCirrusTM den Wissenschaft-lern und Entwicklern vollen Zugriff auf alle Systemressourcen.Hierdurch ist die Weiterentwicklung des Open Source Cloud-Schichtenmodells möglich.

Alle Nutzer des Systems müssen sich über das Portal [111]des Projekts registrieren. Im Portal sind nicht nur generelle In-formationen über das Projekt verfügbar, sondern man kann dort

1 Infocom Development Authority, Singapur2 Karlsruhe Institute of Technology, Deutschland3 University of Illinois Urbana Champaign, USA4 Electronics and Telecommunications Research Institute, Südkorea5 Malaysian Institute for Microelectronic Systems, Malaysia6 Russian Academy of Sciences, Russland7 Centro de Supercomputacion Galicia, Spanien8 Carnegie Mellon University, USA9 GeorgiaTech, USA

Page 121: [Informatik im Fokus] Cloud Computing ||

112 6 Open Source Cloud-Schichtenmodell

auch die Nutzung von Ressourcen zur Durchführung von For-schungsarbeiten beantragen.

Um ein über mehrere Standorte verteiltes Cloud-System zubetreiben, ist die Einrichtung von übergreifenden gemeinsamenDiensten erforderlich. Diese globalen Basisdienste sind

• Identitätsmanagement: Das Identitätsmanagement bildetdie Grundlage, alle Aktivitäten einem Benutzerprofil zuzu-ordnen. Es ist dabei wünschenswert, dass einheitliche Benut-zerprofile bei den verteilten Standorten verfügbar sind (Sin-gle Sign-On). Dies geschieht auf der Basis der SSH Public-Key-Authentifizierung [116]. Der öffentliche Schlüssel einesRSA-Schlüsselpaars verbleibt bei der Ressource, der Nutzerüberträgt den privaten Schlüssel über eine sichere Verbin-dung. Unter Verwendung des privaten Schlüssels kann einKlient dann die verteilten Ressourcen ansprechen, nachdemder Betreiber am jeweiligen Standort den öffentlichen Schlüs-sel registriert hat. Das in OpenCirrusTM angewendete Verfah-ren kommt in ähnlicher Weise auch bei den Amazon Web Ser-vices zum Einsatz.

• Monitoring: Die Überwachung der verteilten Ressourcenbildet als weiterer globaler Dienst die Basis für das Mana-gement der verteilten Infrastruktur und hilft bei der Lokali-sierung und Behebung von Störungen. OpenCirrusTM reali-siert die Überwachung mit dem Open Source-Produkt Gang-lia [80]. Ganglia erhebt die Informationen über den Zustandund die Nutzung von Ressourcen für jede Komponente undführt sie hierarchisch zusammen. Die Betreiber installierenzu diesem Zweck einen Dämonprozess, der den Ressourcen-status und die zugehörigen Informationen als XML-Streamsan einen zentralen Web-Server weiterleitet, der diese sammeltund konsolidiert [112].

Ausgehend von dieser Grundlage steht die Entwicklung und Ein-führung weiterer globaler Dienste an: Es handelt sich hier um

Page 122: [Informatik im Fokus] Cloud Computing ||

6.10 Das OpenCirrusTM-Projekt 113

Dienste für die gemeinsame Datenhaltung und die verteilte An-wendungsentwicklung.

Die Partner betreiben im Projekt die Weiterentwicklung derzuvor diskutierten Open Source-Komponenten wie PRS, VRS,Hadoop und Tashi. Es ist ein weiteres Ziel, offene Probleme derCloud-Systemforschung anzugehen wie z. B.

• Standardisierung von Schnittstellen• Sicherheitstechniken• Dynamische Verlagerung von Arbeitslasten (Cloud Bursting)• Umsetzung von Dienstgütevereinbarungen (Service Level

Agreements)

Es ist insbesondere möglich, in der Testumgebung groß ange-legte Skalierungstests durchzuführen und neue Cloud-Anwen-dungsbereiche zu erschließen. So untersucht man im KIT denEinsatz von Cloud-Techniken im Umfeld des Hochleistungs-rechnens. Hier ist die Idee, die dynamischen Eigenschaften desCloud Computing auch bei der Bearbeitung rechenintensiverparalleler Anwendungen zu nutzen und einen entsprechendenelastischen Dienst zu entwerfen (High Performance Computingas a Service, HPCaaS). Die besondere Herausforderung im Sys-tembereich besteht bei der Bereitstellung von Ensembles enggekoppelter CPU-Ressourcen sowie bei der Virtualisierung derHochgeschwindigkeitsvernetzung auf der Basis von Infiniband.Auf der Seite der Plattform sind die folgenden Fragestellungenzu bearbeiten:

• Entwicklung eines Scheduling-Dienstes• Entwicklung von MPI-Diensten• Management von Software-Lizenzen

Weiterführende Informationen über OpenCirrusTM finden sichauf der Homepage des Projekts [111].

Page 123: [Informatik im Fokus] Cloud Computing ||

Kapitel 7Wirtschaftliche Betrachtungen

Als entscheidender Erfolgsfaktor für das Cloud Computingwird oft dessen wirtschaftliche Bedeutung angeführt. Mit CloudComputing wird das Potenzial verbunden, die individuelle Nut-zung bzw. Bereitstellung von IT-Ressourcen in einzelnen Un-ternehmen als auch die IT-Industrie in ihrer Gesamtheit grund-legend und nachhaltig zu verändern. Drastische Zeitersparnis-se und geringere Risiken und Hürden in der Einführung neuerAnwendungen, sowie signifikante Kostenersparnisse allgemeinin der Durchführung von IT-Projekten, werden dabei oft als diewesentlichen Vorteile des Cloud Computing benannt. Dieses Ka-pitel vermittelt einen Überblick über Anwendungen des CloudComputing und die damit verbundenen ökonomischen Aspekteund Fragestellungen.

7.1 Anwendungsgebiete

Frühe Anwendungen des Cloud Computing waren Web-Anwen-dungen, die Unternehmen mit begrenzter IT-Infrastruktur entwi-

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 115DOI 10.1007/978-3-642-18436-9_7,c© Springer-Verlag Berlin Heidelberg 2011

Page 124: [Informatik im Fokus] Cloud Computing ||

116 7 Wirtschaftliche Betrachtungen

ckelten. Prominente Beispiele hierfür sind das TimesMachine-Projekt der New York Times [107] oder die Videodienste derFirma Animoto [55]. In beiden Fällen kamen öffentliche Cloud-Dienste zum Einsatz, um über eine flexibel skalierbare Infra-struktur mit geringen Einstiegshürden zu geringen Kosten zuverfügen.

Das Projekt TimesMachine war motiviert durch die Aufga-be, sechs Millionen Artikel des Archivs der New York Timesals PDF-Dateien Lesern im Web zur Verfügung zu stellen. Kon-ventionelle Ansätze zur Generierung der PDF-Dateien aus denScans der Artikel im TIFF-Format erwiesen sich als sehr zeit-und kostenaufwändig; bei einem Volumen von vier Terabyte anDaten wären neue Server anzuschaffen gewesen und das Pro-jekt hätte mehrere Monate in Anspruch genommen. Stattdessenkonnte unter Nutzung öffentlicher Cloud-Dienste der gesamteArtikelbestand in nur drei Tagen zu einem Bruchteil der Kostenrealisiert werden.

Im Fall von Animoto wurden Cloud-Dienste zur Bewälti-gung von einer unerwartet hohen Nachfrage durch Endnutzereingesetzt. Animoto bietet Videodienste über das Web an; End-nutzer erhalten nach Hochladen von Musik- und Bilddateienein animiertes Video. Nach einer Vernetzung von Animoto mitdem sozialen Netzwerk Facebook.com erfuhr Animoto einenunerwartet schnellen, dramatischen Anwuchs in der Nachfrage:stündlich registrierten sich bis zu 25 000 neue Nutzer, und bin-nen kurzer Zeit gab es bereits mehr als 250 000 neue Nutzer.Zur Bewältigung der Nachfrage an Videodiensten war in etwadas 100-fache der zuvor genutzten IT-Infrastruktur nötig: 3 500Server mussten in nur drei Tagen hinzugefügt werden. Um sol-che Anfragen überhaupt und zudem zeitnah zu bedienen wur-de der Einsatz öffentlicher Cloud-Dienste nötig. Auch ging dieNachfrage später zurück, und die Nutzung der Cloud-Dienstekonnte entsprechend einfach und kostengünstig heruntergefah-ren werden.

Page 125: [Informatik im Fokus] Cloud Computing ||

7.2 Bewertungsmodelle 117

Die Frage, ob sich Cloud Computing für ein Unternehmenbzw. für eine Anwendung lohnt oder nicht, kann nicht pauschalbeantwortet werden, sondern muss in Abhängigkeit der Eigen-schaften und Ziele der Anwendungen untersucht werden. DieBeispiele TimesMachine und Animoto beschreiben zwei unter-schiedliche Anwendungsklassen: Bei TimesMachine handelt essich um einen einmaligen Batch-Job; bei Animoto handelt essich um ein kontinuierliches, aber dynamisch variables Nachfra-geverhalten. In beiden Fällen sind enorme Skalierungsbedürfnis-se vorhanden, und die Aufgaben lassen sich in beiden Fällen sehrgut parallelisieren.

Grundsätzlich sind Cloud-Angebote nicht auf bestimmte An-wendungen beschränkt. Im Prinzip lässt sich jede Anwendungin einer Cloud-Umgebung ausführen bzw. mit Cloud-Dienstenkombinieren. Die Gründe für eine Nutzung variieren entspre-chend; von einmaligen, temporären Bedürfnissen über die (auchregelmäßige) Abwicklung von schwer vorhersagbaren (u. U. ex-tremen) Lastspitzen bis hin zum Management saisonaler Nach-frage-Effekte oder auch das Outsourcing von Funktionalität undDiensten an Dritte allgemein. Cloud-Dienste können dabei so-wohl für Testzwecke als auch für Produktionsumgebungen sinn-voll sein. Die Nutzung einer oder mehrerer Cloud-Dienste kanndabei für den Endnutzer durch ein Unternehmen verborgen sein,wie im Fall von Animoto, oder auch direkt sichtbar sein, wie imFall von Office-Anwendungen im Web.

7.2 Bewertungsmodelle

Durch die dynamische Anpassung von IT-Ressourcen im CloudComputing und einer verbrauchsabhängigen Abrechnung derRessourcen können Fixkosten reduziert und in operative Kostenumgewandelt werden. Nutzungsabhängige Abrechnungsmodel-

Page 126: [Informatik im Fokus] Cloud Computing ||

118 7 Wirtschaftliche Betrachtungen

le (pay as you go) basieren auf der zeitverteilten, tatsächlichenNutzung von Ressourcen. Dies steht im Gegensatz zu einemAnschaffungs- oder Leasing-Modell, wo Ressourcen auf Dauergekauft bzw. über einen fixen Zeitraum (der Vertragslaufzeit) an-gemietet und abgerechnet werden, unabhängig von der tatsäch-lichen Nutzung.

Der Vorteil nutzungsabhängiger Abrechnungsmodelle liegt inder damit verbundenen Elastizität (aus Anwendungs- und ausUnternehmenssicht) und Reduzierung des Risikos, zu viele Res-sourcen zur Verfügung zu haben (overprovisioning) und nichtausreichend zu nutzen (underutilization) bzw. zu wenige Res-sourcen zur Verfügung zu haben (underprovisioning) und erhöh-te Lasten nicht bedienen zu können (saturation). Elastizität be-schreibt die Eigenschaft, Ressourcen feingranular und in sehrkurzen Zeitspannen von Minuten (und nicht Wochen oder Mo-naten) hinzuzufügen bzw. zu entfernen, und somit den tatsächli-chen Bedürfnissen einer Anwendung besser gerecht zu werden.

In der Praxis ist overprovisioning und underutilization in Re-chenzentren der Regelfall und eine optimale Auslastung ist kaummöglich. Ein unerwartet hoher zusätzlicher Bedarf an Ressour-cen kann dennoch nicht zügig unterstützt werden, und der um-gekehrte Fall eines unerwarteten Rückgangs des Bedarfs erhöhtnur den Grad der underutilization. Die finanziellen Folgen sindnicht unerheblich. Hinzu kommt, dass der Ressourcenbedarf oftnicht verlässlich vorhersagbar und planbar ist. Viele Anwendun-gen im modernen elektronischen Handel (engl. e-Commerce) er-leben einen stark schwankenden Bedarf, der nicht nur saisonalbedingt ist, sondern auch durch temporäre Trends und Effekte(beispielsweise ausgelöst durch soziale Netzwerke) bedeutendbeeinflusst werden kann.

Page 127: [Informatik im Fokus] Cloud Computing ||

7.2 Bewertungsmodelle 119

7.2.1 Kostenmodelle

Für die Bewertung von Cloud-Diensten aus wirtschaftlicherSicht können Kostenmodelle genutzt werden. VergleichendeKostenrechnungen stellen dabei die Kosten der tatsächlichenNutzung von Cloud-Angeboten (z. B. in Stunden und Server-Einheiten) den Kosten eines Rechenzentrums (bzw. einer IT-Infrastruktur, die selbst angeschafft und gewartet wird) gegen-über.

Ein sehr einfaches Modell wird von [1] vorgeschlagen: hierwerden die Kosten eines Cloud-Dienstes mit den Kosten einesRechenzentrums verglichen, wobei die durchschnittliche Aus-lastung des Rechenzentrums faktorisiert wird und die Annahmebesteht, dass der Ertrag des Kunden proportional zu der Anzahlder jeweils genutzten Stunden ist. Dabei ist zu beachten, dassein Rechenzentrum immer eine fixe Kapazität besitzt, wogegen(öffentliche) Cloud-Dienste theoretisch eine nach oben offeneKapazitätsgrenze aufweisen.

Die Kosten für ein Rechenzentrum sind vielfältig, da ne-ben den Anschaffungskosten für Rechner auch operative Kostenwie Energie (insbesondere für die Kühlung der Rechner), Miet-und Grundstückskosten, oder auch Personalkosten für die Syste-madministration berücksichtigt werden müssen.

Dabei sind es vor allem die Energiekosten, die den größ-ten Anteil an den Total Cost of Ownership (TCO) ausma-chen. Eine effektive Nutzung von Energie ist in großen Rechen-zentren leichter möglich als in kleinen. Große Rechenzentrenkönnen durch geringere Einkaufspreise für Energie oder auchdurch Verteilung und Auslagerung in Gegenden mit geringe-ren Energiekosten deutliche Kosteneinsparungen realisieren. Siehaben außerdem den Vorteil, deutlich geringere Einkaufspreisefür Hardware zu erzielen und hohe Investitionskosten beispiels-weise für Ausfall- und Datensicherheit tätigen zu können. Ei-

Page 128: [Informatik im Fokus] Cloud Computing ||

120 7 Wirtschaftliche Betrachtungen

ne Studie von Microsoft sieht dementsprechend für kleine Re-chenzentren einzelner Unternehmen Nachteile und prognosti-ziert langfristig eine zunehmende Entwicklung hin zur multi-mandantenbasierten Nutzung sehr großer Rechenzentren [104].Derzeit entstehen weltweit Rechenzentren von bisher unerreich-ter Größenordnung, die enorm große Flächen belegen und Inves-titionen von mehreren hunderten von Millionen US-Dollar dar-stellen. Globale Rechenzentren werden mehr als 100 000 Serverumfassen und können so die TCO pro Server dramatisch sen-ken. Für Organisationen mit einer Anzahl von weniger als 100Servern, so die Studie, werden sich die Kosten nicht rechnen.Für Organisationen mit ca. 1 000 Servern werden die Kosten füreine private Cloud im Vergleich zur Nutzung einer öffentlichenCloud in ca. 10-facher Höhe liegen.

Auch für den Konsumenten bedarf die Berechnung der Kos-ten für einen Cloud-Dienst einer genaueren Betrachtung. Ak-tuelle Cloud-Angebote unterscheiden beispielsweise Kosten fürdie Bereitstellung der Rechen- oder Speichereinheit (im Fallvon IaaS) von Kosten für die Interaktion mit den Ressourcen,d. h. der Anzahl der Aufrufe oder der Größe der Daten, die überdas Internet transferiert werden. Die Bestimmung der Kosten istdemzufolge sehr von den Eigenschaften und Anforderungen derAnwendung abhängig.

7.2.2 TCO Framework

Aktuell wird in Praxis und anwendungsorientierter Forschung aneine Reihe von Kostenrechnungsmodellen und Entscheidungs-unterstützungssystemen gearbeitet. Ein Beispiel für ein spezi-ell für das Cloud Computing entwickeltes TCO (Total Cost ofOwnership) Framework wird in [18] vorgestellt. Ausgehend voneiner qualitativen Analyse der Anwendung (business scenario)

Page 129: [Informatik im Fokus] Cloud Computing ||

7.3 Geschäftsmodelle 121

wird eine quantitative Kostenanalyse im zweiten Schritt durch-geführt, die die Kosten eines Cloud-Dienstes den Kosten einerReferenzarchitektur gegenüberstellt und über einen Vergleichder Opportunitätskosten zu einer Bewertung kommt.

Abbildung 7.1 illustriert die verschiedenen Schritte zur Kos-tenbestimmung, die jeweils durch entsprechende Werkzeuge un-terstützt werden können. Zuerst wird ein Modell der Anwendungmit allen relevanten Anforderungen und Eigenschaften erstellt.Die qualitativen Anforderungen und Eigenschaften werden spä-ter für die Auswahl und Gewichtung von Faktoren in der quan-titativen Kostenanalyse genutzt. Als einfachstes Werkzeug kanneine Matrix erstellt werden, die verfügbare Cloud-Dienste undalternative Architekturen in den Reihen, und die verschiedenenAnforderungen und Eigenschaften in den Spalten aufführt. DieMatrix kann dann wie ein Fragenkatalog (bzw. eine Checkliste)evaluiert werden.

In [21] wird der Gedanke weiterentwickelt hin zu einem Ent-scheidungsunterstützungssystem, das Konsumenten hilft, ver-schiedene Kriterien, Anforderungen und Präferenzen unter-schiedlicher Natur, von technischen, ökonomischen oder auchrechtlichen Aspekten, miteinander systematisch in Beziehung zusetzen und so schrittweise über die Nutzung bzw. Ablehnung ei-nes Cloud-Angebotes zu entscheiden.

7.3 Geschäftsmodelle

Im Cloud Computing sind neue Geschäftsmodelle zu beob-achten, die je nach Platzierung der Dienstangebote im CloudComputing Schichtenmodell variieren. Dabei spielt die Dy-namik des Internet als eine sich kontinuierliche veränderndeTechnologie-, Geschäfts- und Kollaborationsplattform eine zen-trale Rolle. Die Akzeptanz und Popularität des Internets in allen

Page 130: [Informatik im Fokus] Cloud Computing ||

122 7 Wirtschaftliche Betrachtungen

Abb. 7.1 TCO Framework

Page 131: [Informatik im Fokus] Cloud Computing ||

7.3 Geschäftsmodelle 123

Aspekten des Lebens und der Wirtschaft führt zu vielen neuarti-gen IT-basierten Diensten in einer Dienstleistungsgesellschaft.

Im IaaS-Bereich erlauben offene Cloud-Architekturen bei-spielsweise das Zuschalten einer Menge von Diensten von Dritt-anbietern und bilden damit die Basis eines Ökosystems vonMehrwert bietenden Anbietern, zum Beispiel für die Über-wachung (engl. Monitoring) und Management von Cloud-Anwendungen. Hier sind Markt- und Geschäftsmodelle im Kon-text der Kombination von Cloud-Diensten unterschiedlicher An-bieter zu beobachten.

Im PaaS und SaaS-Bereich dagegen finden sich oft auch Ge-schäftsmodelle, die vor allem durch einen einzelnen Anbieter ge-prägt sind. Software-plus-Services-Strategien, wie beispielswei-se durch Microsoft verfolgt, verbinden das klassische Lizenz-basierte Software-Geschäft mit der Flexibilität und den Vortei-len von Cloud-Diensten im Internet. So lassen sich zum einenon-premise Software-Produkte um Dienste im Internet ergänzen,oder auch ganzheitlich durch on-demand Lösungen ersetzen.

Page 132: [Informatik im Fokus] Cloud Computing ||

Kapitel 8Chancen und Risiken

Cloud Computing ist ein sehr junges und dynamisches Gebiet,das durch eine sehr aktive Industrie geprägt wird. Sowohl aufAnbieterseite als auch auf Konsumentenseite beschäftigt sichheute so gut wie jedes Unternehmen und auch der öffentlicheSektor mit Cloud Computing. Insbesondere US-amerikanischeFirmen wie Amazon, Google oder Microsoft prägen derzeit denMarkt von Cloud-Diensten. Aber auch viele kleinere Unter-nehmen entwickeln ein großes Engagement auf diesem Gebiet.Cloud Computing ist ohne Zweifel eine Disruptive Technologyund hat das Potenzial, unser Verständnis über die Bereitstellungund die Nutzung von IT-Diensten grundlegend und nachhaltig zuändern, in der Wirkung womöglich vergleichbar mit der Einfüh-rung des Personalcomputers vor 25 Jahren.

8.1 Marktentwicklung

Ein reichhaltiges Ökosystem von Cloud-Diensten und -Anbietern existiert bereits. Unterschiedlichste Dienste können

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 125DOI 10.1007/978-3-642-18436-9_8,c© Springer-Verlag Berlin Heidelberg 2011

Page 133: [Informatik im Fokus] Cloud Computing ||

126 8 Chancen und Risiken

entwickelt, getestet, und betrieben werden. Es handelt sich da-bei einerseits um kommerzielle Angebote in Public Clouds imBereich Infrastruktur, Plattform und Anwendung. Andererseitsist die Einrichtung von Private Clouds durch Produkte wiez. B. VMware vSphere [136] oder Open Source-Entwicklungenwie Eucalyptus [74] und Hadoop möglich. Hierdurch entstehteine dynamische Landschaft, in der man in nicht allzu fernerZukunft Dienste zwischen den öffentlichen und privaten Quel-len transparent komponieren und orchestrieren kann. Es ergebensich dadurch vielfältige Möglichkeiten, sowohl die Dienstgüteals auch die Kosten dynamisch zu optimieren.

8.2 Situative Bewertung

Cloud Computing bietet eine Vielzahl von Chancen, birgt aberauch einige Risiken. Zum einen stellt die Vielzahl von Cloud-Angeboten Entwickler und Nutzer vor die schwierige Aufgabe,aus den teilweise sehr unterschiedlichen Angeboten einen pas-senden Dienst auszuwählen. Zum anderen existieren Bedenkenim Umfeld der Sicherheit und Vertraulichkeit von Daten, sowiedes Vendor-Lock-In. Hier ist zu beachten, dass durch die Ver-schlüsselung von Daten ein gewünschtes Maß an Sicherheit her-gestellt werden kann: Verschlüsselte Daten in der Cloud sindu. U. sogar sicherer als unverschlüsselte Daten im eigenen Re-chenzentrum. Im Bezug auf den Vendor-Lock-In lässt sich fest-stellen, dass der Zugriff auf die Daten durch entsprechende ver-tragliche Vereinbarungen zwischen den Geschäftspartnern gere-gelt werden kann. Amazon bietet z. B. entsprechende Import-und Exportdienste für großvolumige Datensätze an.

Page 134: [Informatik im Fokus] Cloud Computing ||

8.2 Situative Bewertung 127

Tabe

lle8.

1R

isik

enun

dC

hanc

ende

sC

loud

Com

putin

g(A

usw

ahl)

Ris

iken

Cha

ncen

1V

erfü

gbar

keit

der

Die

nste

Nut

zung

meh

rere

rC

loud

-Anb

iete

rzu

rSi

cher

stel

lung

der

Die

nste

-Kon

tinui

tät

2L

ock-

Inde

rD

aten

Stan

dard

isie

rung

der

Schn

ittst

elle

n(A

PI)

3V

ertr

aulic

hkei

tun

dN

achv

ollz

iehb

arke

itde

rD

aten

Ein

satz

von

Dat

enve

rsch

lüss

elun

g,vi

rtue

llen

Net

zwer

ken

(VL

AN

)un

dFi

rew

alls

.E

inha

ltung

natio

nale

rG

eset

zedu

rch

geog

raph

isch

eD

aten

haltu

ng4

Eng

päss

ebz

gl.D

aten

tran

sfer

Ver

sand

von

Fest

plat

ten

durc

hD

ritte

(z.B

.Fed

Ex,

UPS

)a

5Sc

hlec

hte

Vor

hers

agba

rkei

tde

rL

eis-

tung

sfäh

igke

it(P

erfo

rman

ce)

Bes

sere

Unt

erst

ützu

ngvi

rtue

ller

Mas

chin

en.

Ein

satz

von

Flas

h-Sp

eich

er6

Skal

ierb

arer

pers

iste

nter

Spei

cher

plat

zE

ntw

ickl

ung

skal

ierb

arer

Spei

cher

plat

z-Te

chno

logi

en7

Fehl

erin

groß

en,v

erte

ilten

Syst

emen

Ent

wic

klun

gvo

nD

ebug

gern

für

vert

eilte

Mas

chin

en8

Schn

elle

sSk

alie

ren

Ent

wic

klun

gau

tom

atis

cher

Skal

ieru

ngsw

erkz

euge

,ba

sier

end

auf

Mac

hine

Lea

rnin

g.R

esso

urce

n-un

dko

sten

bew

usst

esN

utze

r-un

dA

nbie

terv

erha

lten

9R

eput

atio

nun

dH

aftp

flich

tE

insa

tzvo

nD

iens

tleis

tung

enD

ritte

r,w

iez.

B.

für

vert

raue

ns-

wür

dige

Em

ails

10So

ftw

are

Liz

enze

nN

utzu

ngsb

ezog

ene

Liz

enze

n(P

ay-f

or-u

se).

Ver

kauf

von

Soft

-w

are

und

Die

nste

nim

Pake

t

aD

ies

istb

erei

tsgä

ngig

ePr

axis

,wie

inA

bsch

nitt

4.1

besc

hrie

ben.

Page 135: [Informatik im Fokus] Cloud Computing ||

128 8 Chancen und Risiken

Armbrust et al. [1] nennen zehn Risiken, die zugleich auchChancen sind, für die Adoption und das Wachstum von CloudComputing (siehe Tabelle 8.1). Die Liste beinhaltet Fragennach der Verfügbarkeit der Dienste und anderer Qualitätsei-genschaften, des Daten Lock-In und potenzieller Performanz-,Skalierbarkeit-, und Fehlerbehandlungsprobleme. Für die iden-tifizierten Risiken sind Lösungen denkbar, auch wenn diese z. T.noch Gegenstand der aktuellen Forschung sind. Für eine wei-tergehende Diskussion dieser Risiken und Chancen wird auf [1]verwiesen.

Bereits heute zeichnet sich ab, dass beispielsweise in Fragender Sicherheit technologische Fortschritte erzielt werden, auchrechtliche Fragen Berücksichtigung finden, und sich zudem dieEinstellung und Wahrnehmung von Konsumenten hin zu einemgrößeren Vertrauen in Cloud-Technologien entwickelt.

8.3 Fazit

Von der ökonomischen Seite betrachtet ist Cloud Computingmittlerweile einer der stärksten Wachstumsmärkte in der IT-Branche: Laut Gartner betrug der Umsatz mit Cloud-Dienstenim Jahr 2009 bereits 56 Milliarden Dollar; die Analysten vonMeryll Lynch sagen für 2011 weltweit sogar ein Marktvolumenvon bis zu 160 Milliarden Dollar voraus. Unter diesen Umstän-den ist es sinnvoll, dass sich EDV-Leiter und IT-Manager weiter-hin kontinuierlich mit dem innovativen Thema Cloud Compu-ting auseinandersetzen und ihre IT-Landschaften entsprechendertüchtigen.

Cloud Computing ist und bleibt offensichtlich ein spannen-des und viel versprechendes Thema. Die Autoren hoffen, dass esihnen gelungen ist, mit diesem kleinen Kompendium einen kurz-

Page 136: [Informatik im Fokus] Cloud Computing ||

8.3 Fazit 129

en und prägnanten Überblick über die aktuellen Entwicklungen,Techniken und Trends zu vermitteln.

Page 137: [Informatik im Fokus] Cloud Computing ||

Kapitel 9Anhang

Im vorliegenden Anhang sollen abschließend einige Cloud-Angebote mit ihren verfügbaren einfachen Werkzeugen praxis-nah vorgestellt werden, um dem geneigten Leser einen schnellenEinstieg in erste eigene Fingerübungen in der Cloud zu ermögli-chen.

9.1 Bedienung von EC2 mit den Amazon Tools

Die folgenden Kommandos erklären die typischen Arbeitsschrit-te in EC2 mit den EC2-Kommandozeilenwerkzeugen von Ama-zon [43]. Zuerst muss ein Schlüsselpaar in der gewünschtenRegion existieren. Diese Schlüssel können jederzeit kontrolliertund wieder gelöscht werden.

• Schlüsselpaar geheim in der Region eu-west-1 erzeugenec2-add-keypair geheim --region eu-west-1

• Schlüsselpaare kontrollierenec2-describe-keypairs --region eu-west-1

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 131DOI 10.1007/978-3-642-18436-9_9,c© Springer-Verlag Berlin Heidelberg 2011

Page 138: [Informatik im Fokus] Cloud Computing ||

132 9 Anhang

• Schlüsselpaar löschenec2-delete-keypair geheim

--region eu-west-1

Für unterschiedliche Anwendungen der EC2 empfiehlt sichdie Einrichtung und Nutzung eigener Sicherheitsgruppen (Secu-rity Groups). Jede dieser Sicherheitsgruppen kann unterschied-liche Firewalleinstellungen haben und so die Erfordernisse anOffenheit und Sicherheit berücksichtigen.

• Sicherheitsgruppe gruppe_west mit der BeschreibungEine neue Gruppe in der Region eu-west-1 erzeu-genec2-add-group gruppe_west

--region eu-west-1-d "Eine neue Gruppe"

• Port 80 über TCP für die Sicherheitsgruppe öffnenec2-authorize gruppe_west -P tcp -p 80

• Firewallregeln der Sicherheitsgruppe kontrollierenec2-describe-group gruppe_west

--region eu-west-1• Sicherheitsgruppe löschen

ec2-delete-group gruppe_west--region eu-west-1

Die folgenden Kommandos demonstrieren die typische Ar-beit mit Images und Instanzen. Dabei handelt es sich um dasKontrollieren und Starten von Images und das Kontrollieren,Stoppen, Starten und Entfernen von Instanzen.

• Alle Images in der Region eu-west-1 ausgeben, derenBesitzer Amazon selbst istec2-describe-images -o amazon

--region eu-west-1• Zwei Instanzen vom Image ami-13042f67 in der Region

eu-west-1 in der Verfügbarkeitszone eu-west-1a

Page 139: [Informatik im Fokus] Cloud Computing ||

9.1 Bedienung von EC2 mit den Amazon Tools 133

mit dem Schlüsselpaar geheim und der Instanzklassem1.small in der Sicherheitsgruppe gruppe_west erzeu-genec2-run-instances ami-13042f67

--region eu-west-1-z eu-west-1a-k geheim-g gruppe_west-n 2 -t m1.small

• Instanzen in der Region eu-west-1 kontrollierenec2-describe-instances --region eu-west-1

• Instanz i-f1e1a786 stoppenec2-stop-instances i-f1e1a786

--region eu-west-1• Instanz starten

ec2-start-instances i-f1e1a786--region eu-west-1

• Instanz entfernenec2-terminate-instances i-f1e1a786

--region eu-west-1

Der private und der öffentliche DNS-Name jeder Instanz wirdbeim Start derselben dynamisch generiert. Für eine sinnvolleNutzung der EC2-Ressourcen ist aber häufig notwendig, dass ei-ne feste IP-Adresse zur Verfügung steht. Dieses wird von Ama-zon mit den elastischen IP-Adressen ermöglich.

• Eine neue elastische IP-Adresse in der Region eu-west-1erzeugenec2-allocate-address --region eu-west-1

• Elastische IP-Adressen kontrollierenec2-describe-addresses --region eu-west-1

• Elastische IP-Adresse 79.125.121.3 an die Instanzi-f1e1a786 anhängenec2-associate-address 79.125.121.3

Page 140: [Informatik im Fokus] Cloud Computing ||

134 9 Anhang

-i i-f1e1a786--region eu-west-1

• Elastische IP-Adresse lösenec2-disassociate-address 79.125.121.3

--region eu-west-1• Elastische IP-Adresse freigeben

ec2-release-address 79.125.121.3--region eu-west-1

9.2 Bedienung von EBS mit den Amazon Tools

Die folgenden Kommandos aus den EC2-Kommandozeilen-werkzeugen von Amazon geben die typischen Arbeitsschrittemit EBS-Volumes wieder. Dabei handelt es sich um das Erzeu-gen, Kontrollieren, Anhängen, Lösen und Löschen von Volumes.

• Ein 1 GB großes Volume innerhalb der Region eu-west-1in der Verfügbarkeitszone eu-west-1b erzeugenec2-create-volume --size 1

--region eu-west-1-z eu-west-1b

• Volumes in der Region eu-west-1 kontrollierenec2-describe-volumes --region eu-west-1

• Volume vol-e466838d mit der Instanz i-58859c2cund der Geräte-ID /dev/sdf verknüpfenec2-attach-volume vol-e466838d

--region eu-west-1-i i-58859c2c-d /dev/sdf

• In der Instanz mit dem Volume arbeitenmkdir /mnt/ebsvolume1yes | mkfs.ext3 /dev/sdf

Page 141: [Informatik im Fokus] Cloud Computing ||

9.3 Bedienung von RDS mit den Amazon Tools 135

mount /dev/sdf /mnt/ebsvolume1umount /mnt/ebsvolume1

• Volume von der Instanz lösenec2-detach-volume vol-e466838d

--region eu-west-1-i i-58859c2c

• Volume löschenec2-delete-volume vol-e466838d

--region eu-west-1

Es besteht auch die Möglichkeit, von EBS-Volumes sogenannte Snapshots zu erzeugen und diese zu einem späterenZeitpunkt wieder in Form eines neuen Volumes nutzbar zu ma-chen

• Snapshot vom Volume vol-e466838d erzeugenec2-create-snapshot vol-e466838d

--region eu-west-1• Status des Snapshots snap-820de2eb erfahren

ec2-describe-snapshots snap-820de2eb--region eu-west-1

• Volume aus dem Snapshot erzeugenec2-create-volume --snapshot snap-820de2eb

--region eu-west-1-z eu-west-1b

9.3 Bedienung von RDS mit den Amazon Tools

Die folgenden Kommandos aus den RDS-Kommandozeilen-werkzeugen von Amazon [51] illustrieren den Umgang mit demRelational Database Service:

• Eine RDS-Instanz mit Namen mydb vom Instanztypdb.m1.large mit 20 Gigabyte Größe anlegen

Page 142: [Informatik im Fokus] Cloud Computing ||

136 9 Anhang

rds-create-db-instance --engine mysql5.1--db-instance-identifier mydb--db-instance-class db.m1.large--allocated-storage 20--master-username dbroot--master-user-password dbpass

• Status der Instanz anzeigenrds-describe-db-instances

• Zugriff gewähren für bestimmte IP-Adressbereiche (CIDRNotation)rds-authorize-db-security-group-ingress default

--cidr-ip 0.0.0.0/0

• Man kann die RDS-Instanz nun mit Werkzeugen oderProgrammen nutzen, um z.B. eine mysql-Datenbank zuimportieren und dann interaktiv damit zu arbeitenmysql -h mydb.cpjgp4subzas.us-east-1.rds.amazonaws.com

-u dbroot --password=dbpass

mysql>CREATE DATABASE world;mysql>USE world;mysql>SOURCE world.sql;mysql>SELECT * FROM ‘world‘. City LIMIT 0, 100;

mysql>quit• Falls mehr Speicherplatz benötigt wird, kann man die Instanz

dynamisch vergrößernrds-modify-db-instance mydb

--apply-immediately -s 50• Snapshot mit Namen mySnapshot anlegen

rds-create-db-snapshot mydb -s mySnapshot• Snapshot löschen

rds-delete-db-snapshot mySnapshot• Instanz löschen, ohne die Daten in einem finalen Snapshot

aufzubewahrenrds-delete-db-instance mydb --skip-final-snapshot

Page 143: [Informatik im Fokus] Cloud Computing ||

9.4 Bedienung von S3 mit s3cmd 137

• Falls man die Datenbank noch einmal benötigt, sollte aller-dings ein finaler Snapshot angelegt werdenrds-delete-db-instance mydb

--final-db-snapshot-identifier myWorldDatabase

• Von einem Snapshot kann man die Datenbank zu einem spä-teren Zeitpunkt wieder instanzierenrds-restore-db-instance-from-db-snapshot mydb

--db-snapshot-identifier myWorldDatabase

9.4 Bedienung von S3 mit s3cmd

Ein hilfreiches Werkzeug zur Arbeit mit Amazon S3 auf derKommandozeile ist s3cmd.

• Konfiguration der Zugangsdatens3cmd --configure

• Liste der eigenen Buckets ausgebens3cmd ls

• Anlegen von Bucketss3cmd mb s3://Bucket

• Hochladen von Objekten in einen Buckets3cmd put LokaleDatei

s3://Bucket/EntfernteDatei• Inhalts eines Buckets auslesen

s3cmd ls s3://Bucket• Herunterladen von Objekten aus einem Bucket

s3cmd get s3://Bucket/EntfernteDateiLokaleDatei

• Löschen von Objekten aus einem Buckets3cmd del s3://Bucket/EntfernteDatei

• Löschen eines (leeren) Bucketss3cmd rb s3://Bucket

Page 144: [Informatik im Fokus] Cloud Computing ||

138 9 Anhang

Die Konfiguration von s3cmd wird in der Datei .s3cfg ge-speichert. Soll eine alternative Konfiguration verwendet wer-den, kann dieses auf der Kommandozeile mit der Option -cs3cfg.alternativ angegeben werden.

9.5 Bedienung der Google App Engine

In der Google App Engine kann jeder Nutzer bis zu 10 Anwen-dungen haben. Auf der App Engine WebSite [83] können neueNamen für Anwendungen reserviert werden, wobei allerdings zubeachten ist, dass der Anwendungsname eindeutig sein muss, al-so innerhalb der App Engine nur einmal vorkommen darf.

Die Anwendungen innerhalb der Google App Engine sind un-ter der folgenden Adresse erreichbar:http://<anwendung>.appspot.com

Alle relevanten Informationen zu den eigenen Anwendungenhält das so genannte Dashboard [83] vor. Von jeder Anwen-dung können mehrere Versionen hochgeladen sein und jede die-ser Versionen ist direkt erreichbar, was den Entwicklungsprozessunterstützt:http://<#>.latest.<anwendung>.appspot.com

Für die Entwicklung und den Betrieb eigener Anwendungenist ein beliebiger Browser und das App Engine SDK [84] fürPython oder Java notwendig. Das SDK ist für die Betriebssyste-me Linux/UNIX, Max OS X und Windows verfügbar. Zusätzlichexistiert noch das Google Plugin for Eclipse [91].

Die App Engine unterstützt ausschließlich Python 2.5 undJava 6.

Die folgenden Schritte demonstrieren die Entwicklung undden Betrieb einer einfachen Python Anwendung aus der LinuxKommandozeile heraus.

Page 145: [Informatik im Fokus] Cloud Computing ||

9.5 Bedienung der Google App Engine 139

• Kontrolle der Versionsnummer von Pythonpython --version

• Installation des App Engine SDKunzip google_appengine_1.3.1.zipexport PATH=$PATH:~/google_appengineappcfg.py -h

• Verzeichnis für die Anwendung erzeugenmkdir gae-beispielcd gae-beispiel

• Konfigurationsdatei app.yaml anlegenapplication: gae-beispielversion: 1api_version: 1runtime: python

handlers:- url: .*script: main.py

• Mini-Anwendung in main.py erstellen#!/usr/bin/env pythonprint ’Hallo Welt’

• Anwendung mit dem Entwicklungs-Server im App EngineSDK startendev_appserver.py gae-beispiel/

• Anwendung im Web-Browser testen mit der URLhttp://localhost:8080

• Anwendung in die App Engine übertragenappcfg.py --passin --email=<email>

update gae-beispiel/• Logdaten der Anwendung anfordern

appcfg.py --passin --email=<email>request_logs gae-beispiel/ logs.txt

Page 146: [Informatik im Fokus] Cloud Computing ||

140 9 Anhang

9.6 Bedienung von AppScale

Die AppScale-Tools sind eine Sammlung von Ruby-Skripten,mit denen die AppScale Private Cloud PaaS gesteuert wird.

• SSH-Schlüssel für die Instanzen erstellenappscale-add-keypair

• Instanzen der AppScale Private Cloud startenappscale-run-instances

• Status aller Instanzen kontrollierenappscale-describe-instances

• Anwendung auf die Instanzen hochladenappscale-upload-app.

• Administrator-Passwort setzenappscale-reset-pwd

• Anwendung von den Instanzen entfernenappscale-remove-app

• Instanzen der AppScale Private Cloud stoppenappscale-terminate-instances

9.7 Installation und Bedienung von Eucalyptus

Die Installation von Eucalyptus ist mit Hilfe von Binärpake-ten oder aus den Quellen möglich und auf den Web-Seiten [74]des Projekts detailliert beschrieben. Es empfiehlt sich, die aktu-ellste Version von Ubuntu Server zu verwenden, da diese be-reits alle Eucalyptus-Pakete enthält und die Installation somitschnell möglich ist. Für die Steuerung der Eucalyptus Cloud-Infrastruktur werden die Euca2ools der Eucalyptus-Distributioninstalliert.

Alternativ ist es auch möglich, die EC2-Kommandozeilen-werkzeuge von Amazon zu verwenden.

Page 147: [Informatik im Fokus] Cloud Computing ||

9.7 Installation und Bedienung von Eucalyptus 141

Von Eucalyptus erreichbare Ressourcen gibt das Komman-do euca-describe-availability-zones verboseaus.

Es wird die Anzahl der existierenden und der freien Ressour-cen ausgegeben. fünf Kategorien virtueller Maschinen mit un-terschiedlicher Leistungsfähigkeit hinsichtlich Rechenleistung,Hauptspeicher und Festplattenkapazität sind definiert. Bei denfünf Kategorien handelt es sich im Einzelnen um:

• Small Instance (m1.small)• High-CPU Medium Instance (c1.medium)• Large Instance (m1.large)• Extra Large Instance (m1.xlarge)• High-CPU Extra Large Instance (c1.xlarge)

Angezeigt werden auch die verbunden NCs und der Namedes Clusters. Die Bezeichner der Kategorien sind bei Eucalyptusund Amazon EC2 identisch. Unterschiede bestehen aber bei denin den Instanzklassen zugewiesenen Ressourcen. Siehe hierzuTabellen 6.1 und 6.2. Im Unterschied zu Amazon AWS kann dieRessourcenzuteilung innerhalb einer Eucalyptus Private Cloudin den verschiedenen Instanzklassen frei festgelegt werden. Esist aber nicht möglich, weitere Instanzklassen zu definieren, oderderen Namen zu ändern.

Um virtuelle Maschinen (Instanzen) in der Cloud zu star-ten, muss zuvor mindestens ein Dateisystem mit einem in-stallierten Betriebssystem, ein Kernel und eventuell eine Ram-disk im Eucalyptus-System als Image registriert werden. Die-ses geschieht mit den Kommandos euca-bundle-image,euca-upload-bundle und euca-register.

Bei der Registrierung erhalten die Dateisystem/Ker-nel/Ramdisk Images eindeutige Bezeichner namens EucalyptusMachine Images (emi-xxxxxxxx), Eucalyptus KernelImages (eki-xxxxxxxx) und Eucalyptus Ramdisk Images(eri-xxxxxxxx). Eine Übersicht über die installierten

Page 148: [Informatik im Fokus] Cloud Computing ||

142 9 Anhang

Dateisystem/Kernel/Ramdisk Images liefert das Kommandoeuca-describe-images.

Bevor man die virtuellen Maschinen instanziert, sollte einSchlüsselpaar generiert werden, mit dem man später auf die Res-source zugreifen kann. Der private Schlüssel wird nach Aufrufdes Kommandos euca-add-keypair zurückgegeben undzur weiteren Verwendung in einer lokalen Datei gespeichert:

# euca-add-keypair mykey > mykey.private

Der neue private Schlüssel wird anschließend vor unbefugtenZugriffen geschützt:

# chmod 0600 mykey.private

Die zur Verfügung stehenden Schlüssel können mit demKommando euca-describe-keypairs aufgelistet wer-den:

# euca-describe-keypairsKEYPAIR mykey 33:da:6e:13:96:e6:f7:3b:b7:34:a6:28:ba:2f:64:ab:83:70:ef:70

Page 149: [Informatik im Fokus] Cloud Computing ||

9.7 Installation und Bedienung von Eucalyptus 143

Frei

eR

esso

urce

nun

dve

rfüg

bare

Kat

egor

ien

von

Inst

anze

n

#euca-describe-availability-zones

verbose

AVAILABILITYZONE

SCC_Cloud

141.52.167.65

AVAILABILITYZONE

|-vm

types

free/

max

cpu

ram

disk

AVAILABILITYZONE

|-m1.small

0026/

0032

1384

4AVAILABILITYZONE

|-c1.medium

0026/

0032

1768

6AVAILABILITYZONE

|-m1.large

0025/

0030

11280

10

AVAILABILITYZONE

|-m1.xlarge

0022/

0024

12048

16

AVAILABILITYZONE

|-c1.xlarge

0012/

0015

22048

16

Ker

nelI

mag

ere

gist

rier

en

#euca-bundle-image

-ivmlinuz

--kernel

true

#euca-upload-bundle

-bkernelbucket

-m/tmp/vmlinuz.manifest.xml

#euca-register

kernelbucket/vmlinuz.manifest.xml

IMAGE

eki-803516F2

Ram

disk

regi

stri

eren

#euca-bundle-image

-iinitrd.img

--ramdisk

true

#euca-upload-bundle

-brambucket

-m

/tmp/initrd.img.manifest.xml

#euca-register

rambucket/initrd.img.manifest.xml

IMAGE

eri-E76C1849

Page 150: [Informatik im Fokus] Cloud Computing ||

144 9 Anhang

Bet

rieb

ssys

tem

Imag

e(D

atei

syst

em)

regi

stri

eren

#euca-bundle-image

-iubuntu.img

--kernel

eki-803516F2

--ramdisk

eri-E76C1849

#euca-upload-bundle

-bimagebucket

-m

/tmp/ubuntu.img.manifest.xml

#euca-register

imagebucket/ubuntu.img.manifest.xml

IMAGE

emi-8D1F1369

Übe

rsic

htüb

erdi

ein

stal

liert

enD

atei

syst

em/K

erne

l/Ram

disk

Imag

esau

sgeb

en

#euca-describe-images

IMAGE

emi-8D1F1369

imagebucket/ubuntu.img.manifest.xml

admin

available

public

x86_64

machine

IMAGE

eki-803516F2

kernelbucket/vmlinuz.manifest.xml

admin

available

public

x86_64

kernel

IMAGE

eri-E76C1849

rambucket/initrd.img.manifest.xml

admin

available

public

x86_64

ramdisk

Page 151: [Informatik im Fokus] Cloud Computing ||

9.7 Installation und Bedienung von Eucalyptus 145

Zw

eiIn

stan

zen

star

ten

#euca-run-instances

emi-8D1F1369

--kernel

eki-803516F2

--ramdisk

eri-E76C1849

-k

mykey

-n2

-tm1.small

Übe

rsic

htüb

erdi

ela

ufen

den

Inst

anze

n

#euca-describe-instances

RESERVATION

r-3DDE07D9

admin

default

INSTANCE

i-4901084F

emi-8D1F1369

141.2.3.160

141.2.3.160

running

mykey

0m1.small

2010-09-01T13:54:28.917Z

SCC_Cloud

eki-803516F2

eri-E76C1849

RESERVATION

r-42FA0732

admin

default

INSTANCE

i-463B08BE

emi-8D1F1369

141.2.3.161

141.2.3.161

running

mykey

0m1.small

2010-09-01T13:54:28.917Z

SCC_Cloud

eki-803516F2

eri-E76C1849

Bei

deIn

stan

zen

been

den

#euca-terminate-instances

i-4901084F

i-463B08BE

Page 152: [Informatik im Fokus] Cloud Computing ||

146 9 Anhang

Die Images werden anschließend in Form von Instan-zen mit dem Kommando euca-run-instances gestartet.Sind mehr Ressourcen nötig als in der einfachsten Kategorie(m1.small) zur Verfügung stehen, kann beim Starten ein-fach eine höherwertige Instanzklasse gewählt werden (z. B.m1.large). Im nebenstehend gezeigten Beispiel werden zweiInstanzen des zuvor registrieren Debian 5.0 Images mit Ker-nel 2.6.26 und der passenden Ramdisk erzeugt. Es wird verein-bart, dass mit dem Schlüssel mykey auf die Instanzen zugegrif-fen werden kann.

Die Instanzen können mit dem Kommandoeuca-describe-instances beobachtet werden. JedeInstanz hat eine IP-Adresse sowie eine eindeutige Instanznum-mer (i-xxxxxxxx).

Man kann sich per Secure Shell mit dem beim Starten angege-benen Schlüssel direkt bei einer virtuellen Maschine anmelden:

# ssh -i mykey.private 141.52.166.160

Das Kommando euca-terminate-instances beendet ei-ne oder mehrere Instanzen.

Die hier vorgestellten Kommandozeilenwerkzeuge helfen beider Automatisierung von Aufgaben und sind eher für den Sys-temadministrator gedacht. Für einfachere Anwendungen gibt esauch Werkzeuge mit grafischen Nutzerschnittstellen wie z.B.ElasticFox [72].

9.8 Data Mining mit Amazon Elastic MapReduce

Das MapReduce-Programmiermodell kann sehr elegant bei derLösung von statistischen Problemen im Zusammenhang mit um-fangreichen Datensammlungen eingesetzt werden. Als Beispielmöge die folgende einfache Fragestellung dienen:

Page 153: [Informatik im Fokus] Cloud Computing ||

9.8 Data Mining mit Amazon Elastic MapReduce 147

• Wie groß ist der Wortschatz in Goethes Faust (Teil 1 undTeil 2)?

• Welches Wort kommt dort am häufigsten vor?• Wer ist der meistgenannte Akteur?

Die Aufgabe soll mit der Amazon Elastic MapReduce Konso-le [53] gelöst werden, wie in Kapitel 6 beschrieben. Dazu sind 3Schritte nötig:

1. Upload Data to Amazon S3 Bucket: Zunächst werden dieGoethe-Texte benötigt. Man findet diese beim Gutenberg-Projekt [95] und kann sie von dort als ASCII-Datei her-unterladen. Die Texte müssen als Eingabe zu AmazonS3 übertragen und in einem gemeinsamen Wörterbuch(engl. Directory) gespeichert werden (z. B. mit S3Fox in<YourBucket>/input).

2. Create a Job Flow on Amazon Elastic Map Reduce: Nachdem Drücken des Schaltfläche mit der Aufschrift Generatenew Job Flow kann man die Eigenschaften des Jobs spezifi-zieren.

• Define Job Flow: Eingabe eines Namens für den Job Flow(z. B Goethe) und

• Auswahl der Word Count (Streaming) Anwendung• Specify Parameters: Lokation der Eingabe- und

Ausgabe-Directory (z. B. <YourBucket>/input,<YourBucket>/output); Mapper: wordSplitter.pyReducer: aggregate

• Configure EC2 Instances: Festlegen von Zahl und Größeder Ressourcen

• Review: Kontrolle der Einstellungen

Anschließend kann der Job Flow erzeugt und durchgeführtwerden (Create Job Flow). Nach einigen Minuten für dasSetup wird das WordCount Example mit den Goethe-Texten

Page 154: [Informatik im Fokus] Cloud Computing ||

148 9 Anhang

ausgeführt. Die Mapping-Funktion läuft parallel auf den spe-zifizierten EC2-Instanzen. Sie splittet die Texte in jeder Da-tei und gibt diese in Form von Listen aus. Die Wortlis-ten werden von den ebenfalls parallel laufenden Reducer-Knoten ausgewertet und dann jeweils als Listen in dem in aus-gewählten S3-Ausgabeverzeichnis abgelegt (part-00000,part-00001, . . . ).

3. Get Results from Amazon S3 Bucket: Die Ergebnisse könnenentweder mit einer EC2-Instanz direkt in der Amazon Cloudweiterverarbeitet werden, oder sie können auf eine lokale Ma-schine heruntergeladen werden. Dies funktioniert entwedermit S3Fox oder für freigegebene Dateien auch über die Kom-mandozeile:

# wget -r http://<Bucket>.s3.amazonaws.com

Die Teilergebnisse der Reducer müssen noch zusammengefasstund alphanumerisch sortiert werden:

# cat output/part-* | awk ’{print $2, $1}’| sort -n -r > Ergebnis

Nun können die eingangs gestellten Fragen beantwortet wer-den:

Wie groß ist der Wortschatz in Goethes Faust (Teil 1 undTeil 2)?

# wc Ergebnis13054 26108 147109 Ergebnis

Welches Wort kommt dort am häufigsten vor?

# head Ergebnis2099 und1556 die1514 ich1469 der

Page 155: [Informatik im Fokus] Cloud Computing ||

9.8 Data Mining mit Amazon Elastic MapReduce 149

1004 das975 zu954 nicht856 ein850 ist804 sich

Wer ist der meistgenannte Akteur?

# grep mephisto Ergebnis471 mephistopheles1 mephisto

# grep faust Ergebnis396 faust5 fauste3 fausten2 faustus2 faustens1 teufelsfaust1 raeuberfaust1 fausts

# grep gret Ergebnis38 gretchen3 gretchens1 margretlein1 gretelchen1 gretel

Page 156: [Informatik im Fokus] Cloud Computing ||

Glossar

Amazon Online-Versandhaus und Anbieter von Web-Dienstenmit starker Präsenz im Umfeld des Cloud Computing. Erreichbarunter http://www.amazon.de

App Engine Programmierumgebung für die Google Infrastruk-tur zur Entwicklung von Web-Anwendungen in Python oderJava.

AppScale Freie Private Cloud Implementierung der GoogleApp Engine.

AWS Amazon Web Services. Sammlung verschiedener Cloud-Computing Web-Dienste von Amazon.

Azure Windows Azure Platform. PaaS von Microsoft.

Cluster Gruppe eng miteinander vernetzter Computer, die ge-meinsam verwaltet und genutzt werden.

Cloud Bereitstellung skalierbarer IT-Services in Form vonWeb-Diensten mit verbrauchsabhängiger Abrechnung.

Cloudera Freie, einfach zu installierende Hadoop-Distribution.

C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 151DOI 10.1007/978-3-642-18436-9,c© Springer-Verlag Berlin Heidelberg 2011

Page 157: [Informatik im Fokus] Cloud Computing ||

152 Glossar

CloudStack Freie Private Cloud IaaS der Firma Cloud.com miteiner zu EC2 kompatiblen Schnittstelle.

Cloud Gaming Dienst um High-End Videospiele auf Low-EndGeräten wie Fernsehern, älteren PCs/MACs und mobilen End-geräten wie Smart Phones unter Verwendung von Cloud Com-puting verfügbar zu machen.

Cloud Print Drucken aus der Cloud heraus. Bei diesem Kon-zept der Firma Google werden Druckjobs von möglicherwei-se mobilen Endgeräten direkt oder über einen konvertierendenProxy an einen Drucker im Internet gesendet.

CRM Customer Relationship Management. Unterstützt dieKommunikation mit Kunden. Gewährleistet standardisierte Ar-beitsvorgänge im Bezug auf Marketing, Vertrieb und Kunden-dienst.

Crowdsourcing Siehe Humans as a Service (Huaas).

Cumulus Freier Private Cloud Speicherdienst für Web-Objektemit einer zu S3 kompatiblen Schnittstelle. Teil von Nimbus.

Dienst Siehe Web-Dienst.

EBS Amazon Elastic Block Store. Stellt blockorientierten Spei-cher für die virtuellen EC2-Server bereit.

EC2 Amazon Elastic Compute Cloud. Ein Web-Dienst, der denBetrieb virtueller Instanzen auf den Servern von Amazon ermög-licht.

Elastic Ressourcen können feingranular und innerhalb von Mi-nuten hinzugefügt bzw. entfernt werden, um den tatsächlichenBedürfnissen einer Anwendung gerecht zu werden.

Emulator Funktionelle Nachbildung der kompletten Hardwareeines Computer-Systems. Anwendungen oder Betriebssysteme

Page 158: [Informatik im Fokus] Cloud Computing ||

Glossar 153

für eine andere Hardwarearchitektur können unverändert betrie-ben werden.

Eucalyptus Freie Implementierung der Amazon Web ServicesEC2, S3, EBS.

Grid Technik zur Integration und gemeinsamen, ortsunabhän-gigen Verwendung von verteilten heterogenen Ressourcen.

Google Storage Auf Web Services basierender Speicherdienstzur Speicherung von Web-Objekten.

Hadoop Plattform zum Arbeiten mit datenintensiven Program-men auf der Basis von MapReduce. Apache Projekt, vorange-trieben durch Yahoo! Der Name stammt von einem gelben Spiel-zeugelefanten des Chef-Entwicklers Doug Cutting.

Hive Data-Warehouse Anwendung (zentrales Datenlager) aufder Basis von Hadoop.

HPCaaS High Performance Computing as a Service. Hochleis-tungsrechnen als Dienst.

HuaaS Humans as a Service. Prinzip des Crowdsourcing Diemenschliche Kreativität wird als Ressource angeboten.

Hybrid Cloud Kombination aus Public und Private Clouds.

Hypervisor Metabetriebssystem, das bei der Virtualisierungdie Hardware-Ressourcen unter den Gastsystemen verteilt unddie Zugriffe koordiniert.

IaaS Infrastructure as a Service. Implementiert eine abstrakteSicht auf die Hardware, um virtuelle IT-Komponenten in einerCloud anzubieten.

LaaS Landscape as a Service. Einsatz komplexer und nicht odernur eingeschränkt mandantenfähiger Software wie SAP R3 alsSaaS.

Page 159: [Informatik im Fokus] Cloud Computing ||

154 Glossar

(Multi-)Mandantenfähigkeit Fähigkeit, mehrere Mandanten(Kunden) auf demselben Server oder demselben Software-System zu bedienen, ohne dass die Mandaten gegenseitigen Ein-blick in ihre Daten und Anwendungen haben.

MapReduce Programmiermodell zur parallelen Datenanalyse.Der Algorithmus wurde 2004 von Google veröffentlicht.

Multi-tenancy Siehe Mandantenfähigkeit.

Nimbus Freie Private Cloud IaaS mit einer zu EC2 kompatiblenSchnittstelle, die auf der Grid-Middleware Globus 4 basiert.

OpenNebula Freie Private Cloud IaaS mit einer zu EC2 kom-patiblen Schnittstelle.

Open Source Software, deren Quelltext öffentlich zugänglichist und die einer von der Open Source Initiative (OSI) anerkann-ten Open Source Lizenz unterliegt, die Weiterentwicklungen för-dert.

Para-Virtualisierung Virtualisierungstechnik, bei der denGast-Betriebssystemen eine Anwendungsschnittstelle zur Verfü-gung steht. Eine Modifikation der Gast-Betriebssysteme ist er-forderlich, da alle direkten Systemzugriffe durch den entspre-chenden Aufruf der Schnittstelle zum Hypervisor ersetzt werdenmüssen.

PaaS Platform as a Service. Virtuelle Ausführungsumgebungfür Anwendungen, die es ermöglicht transparent zu skalieren.Die Abrechnung erfolgt nach Ressourcenverbrauch und Nut-zungsdauer.

Pig Programmierumgebung mit optimierendem Compiler fürMapReduce auf Hadoop. Die zugehörige Programmierspracheist Pig Latin.

Page 160: [Informatik im Fokus] Cloud Computing ||

Glossar 155

Private Cloud Cloud-Dienste werden innerhalb eines Unter-nehmens betrieben (inhouse).

Public Cloud Cloud-Dienste werden von einem externenCloud-Anbieter betrieben.

RDS Relational Database Service. Dieser Service von Amazonermöglicht die Einrichtung und den Betrieb einer relationalenDatenbank.

REST Representational State Transfer. Architekturstil auf Ba-sis des World Wide Webs.

S3 Amazon Simple Storage Service. Auf Web Services basie-render Speicherdienst zur Speicherung von Web-Objekten.

SaaS Software as a Service. Software wird von einem Anbieterbetrieben und kann über das Internet genutzt werden. Abrech-nung erfolgt nach Nutzungsdauer.

SDC Secure Data Connector. Anwendungen innerhalb der AppEngine können in die eigene Infrastruktur eingebunden werden.

Service Siehe Web-Dienst.

SimpleDB Verteiltes Datenbanksystem in AWS, das ein einfa-ches relationales Datenbank-Modell bereitstellt.

SLA Service Level Agreement. Vereinbarung über die Dienst-güte.

SOA Service-orientierte Architektur. Eine auf Diensten basie-rende technische, organisatorische, und geschäftliche Architek-tur.

SOAP Simple Object Access Protocol. Messaging Standard zurKommunikation in vernetzten Systemen.

Page 161: [Informatik im Fokus] Cloud Computing ||

156 Glossar

SQS Simple Queue Service. Ein Messaging Service in AWS,der eine einfache Nachrichten-Warteschlange zur Verfügungstellt.

TCO Total Cost of Ownership. Gesamtkosten eines Dienstes.

typhoonAE Freie Private Cloud Implementierung der GoogleApp Engine.

URI Uniform Resource Identifier. Zeichenfolge zur einheitli-chen Bezeichnung einer Ressource.

Walrus Freier Private Cloud Speicherdienst für Web-Objektemit einer zu S3 kompatiblen Schnittstelle. Teil von Eucalyptus.

Web-Dienst bzw. Web-Service Ein Web Service ist ein durcheinen URI eindeutige identifizierte Software-Anwendung, derenSchnittstellen als XML-Artefakte definiert, beschrieben und ge-funden werden können. Ein Web Service unterstützt die direkteInteraktion mit anderen Software-Agenten durch XML-basierteNachrichten, die über Internetprotokolle ausgetauscht werden.

Virtualisierung Abstraktionsschicht zwischen Diensten undIT-Infrastruktur.

VPC Virtual Private Cloud. Möglichkeit der Integration vonEC2-Ressourcen innerhalb der AWS in die vorhandene IT-Infrastruktur über verschlüsselte VPN-Verbindung.

XML Extensible Markup Language. Standardisierte Sprachezur Darstellung hierarchisch strukturierter Informationen inForm von Textdaten.

Page 162: [Informatik im Fokus] Cloud Computing ||

Literaturverzeichnis

Literatur

1. Armbrust M, Fox A, Griffith R, Joseph A, Katz R, Konwinski A,Lee G, Patterson D, Rabkin A, Stoica I, and Zaharia M. Above theClouds: A Berkeley View of Cloud Computing. Technical Report No.UCB/EECS-2009-28. Electrical Engineering and Computer Sciences.University of California at Berkeley. USA. 2009

2. Avetisyan A, Campbell R, Gupta I, Heath M, Ko S, Ganger G, Ko-zuch M, O’Hallaron D, Kunze M, Kwan T, Lai K, Lyons M, Milo-jicic D, Lee HY, Soh YC, Ming NK, Luke JY, Namgoong H. OpenCirrus: A Global Cloud Computing Testbed. IEEE Computer, Vol 43,No 4, pp. 42–50, 2010.

3. Baun C und Kunze M. Infrastrukturen für Clouds mit Eucalyptusselbst aufbauen. iX 4/2009. S.128–130. Heise Zeitschriften Verlag

4. Baun C, Kunze M und Ludwig T. Servervirtualisierung. Informatik-Spektrum 3/2009. S.197–205

5. Bengel G, Baun C, Kunze M und Stucky K-U. Masterkurs Paralle-le und Verteilte Systeme. Grundlagen und Programmierung von Mul-ticoreprozessoren, Multiprozessoren, Cluster und Grid. Vieweg undTeubner, Wiesbaden. 2008

6. Benslimane D, Dustdar S, and Sheth A. Services Mashups: TheNew Generation of Web Applications. IEEE Internet Computing.

157

Page 163: [Informatik im Fokus] Cloud Computing ||

158 Literaturverzeichnis

http://dx.doi.org/10.1109/MIC.2008.110. IEEE Educational Activi-ties Department. Piscataway. NJ. USA

7. Berg J, Forsythe R, Nelson F, and Rietz T. Results from a dozen yearsof election futures markets research. Handbook of Experimental Eco-nomic Results. 2001

8. Carr N. The Big Switch. Rewiring the World, from Edison to Google.W.W.Norton. 2008

9. Chang F, Dean J, Ghemawat S, Hsieh WC, Wallach DA, Burrows M,Chandra T, Fikes A und Gruber RE. Bigtable: A Distributed StorageSystem for Structured Data. Symposium on Operating System Designand Implementation. 2006

10. Chisnall D. The Definitive Guide to the Xen Hypervisor. Prentice Hall.USA. 2008

11. Dean J and Ghemawat S. MapReduce: Simplified Data Processing onLarge Clusters. OSDI2004. San Franzisko. 2004.

12. DeCandia G, Hastorun D, Jampani M, Kakulapati G, Lakshman A,Pilchin A, Sivasubramanian S, Vosshall P, and Vogels W. Dynamo:Amazon’s Highly Available Key-Value Store. ACM Symposium onOperating Systems Principles. 2007

13. Dostal W, Jeckle M, Melzer I und Zengler B. Service-orientierte Ar-chitekturen mit Web Services. Spektrum. 2005

14. Dragovic B, Fraser K, Hand S, Harris T, Ho A, Pratt I, Warfield A,Barham P, and Neugebauer R. Xen and the Art of Virtualization. Proc.ACM Symposium on Operating Systems Principles. 2003

15. HP Integrated Lights-Out 2 User Guide. HP16. Hibler M, Ricci R, Stoller L, Duerig J, Guruprasad S, Stack T,

Webb K, and Lepreau J. Large-scale Virtualization in the Emulab Net-work Testbed. Proceedings of the 2008 USENIX Annual TechnicalConference. 2008

17. Keahey K and Freeman T. Contextualization: Providing One-ClickVirtual Clusters. eScience 2008

18. Klems M, Nimis J, and Tai S. Do Clouds Compute? A Frameworkfor Estimating the Value of Cloud Computing. Proc. 7th Workshop ofe-Business (WeB 2008). Springer LNBIP

19. Lai K, Rasmusson L, Adar E, Sorkin S, Zhang L, and Huberman BA.Tycoon: an Implemention of a Distributed Market-Based Resource Al-location System. Multiagent and Grid Systems. 2005

20. Lenk A, Sandholm T, Klems M, Nimis J, and Tai S. What’s insidethe Cloud? An Architectural Map of the Cloud Landscape. ICSE 2009Workshop on Software Engineering Challenges of Cloud Computing.2009

Page 164: [Informatik im Fokus] Cloud Computing ||

Literaturverzeichnis 159

21. Menzel M, Schönherr M, Nimis J, and Tai S. (MC2)2: A GenericDecision-Making Framework and its Application to Cloud Compu-ting. Proc. International Conference on Cloud Computing and Virtua-lization. 2010

22. Nurmi D, Wolski R, Grzegorczyk C, Obertelli G, Soman S, Youseff L,and Zagorodnov D. The Eucalyptus Open-source Cloud-computingSystem. Oktober 2008

23. Nurmi D, Wolski R, Grzegorczyk C, Obertelli G, Soman S, Youseff L,and Zagorodnov D. Eucalyptus: A Technical Report on an Elastic Uti-lity Computing Archietcture Linking Your Programs to Useful Systems.August 2008

24. McKeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L,Rexford J, Shenker S, and Turner J. OpenFlow: Enabling Innovationin College Networks. 2008

25. Schäfer A. Die Kraft der schöpferischen Zerstörung. Campus. 200826. Sotomayor B, Montero RS, Llorente IM, and Foster I. Capacity Lea-

sing in Cloud Systems using the OpenNebula Engine. CCA08: CloudComputing and its Applications. 2008

27. Sprang H, Benk T, Zdrzalek J, und Dehner R. Xen. Virtualisierungunter Linux. Open Source Press. München. 2007

28. Streitberger W, Ruppel A. Cloud Computing Sicherheit - Schutzzie-le.Taxonomie.Marktübersicht, FhG SIT Sept. 2009

29. Varia J. Cloud Architectures, White Paper, Amazon. 200930. Wang L. Virtual environments for Grid computing. Universitätsverlag

Karlsruhe. 200931. White T. Hadoop – The Definite Guide. O’Reilly Verlag. 200932. Wohlstadter E und Tai S. Web Services. Reference Entry. Encyclope-

dia of Database Systems (EDBS). Springer. 2009

Online-Quellen

33. 10gen: Scalable High Performance Data Storage for Web Applicationshttp://www.10gen.com

34. Adobe Photoshop Expresshttps://www.photoshop.com

35. EdgePlatformhttp://www.akamai.com/en/html/technology/edgeplatform.html

36. Amazon CloudFronthttp://aws.amazon.com/cloudfront/

Page 165: [Informatik im Fokus] Cloud Computing ||

160 Literaturverzeichnis

37. Amazon CloudWatchhttp://aws.amazon.com/cloudwatch/

38. Amazon Cluster Compute Instanceshttp://aws.amazon.com/ec2/hpc-applications/

39. Amazon Elastic Block Store (EBS)http://aws.amazon.com/ebs/

40. Amazon Elastic Compute Cloud (EC2)http://aws.amazon.com/ec2/

41. Amazon Elastic Map Reducehttp://aws.amazon.com/elasticmapreduce/

42. Amazon EC2 Instance Typeshttp://aws.amazon.com/ec2/instance-types/

43. Amazon Elastic Compute Cloud. Getting Started Guidehttp://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/

44. Amazon Mechanical Turk (MTurk)http://www.mturk.com

45. Amazon Relational Database Servicehttp://aws.amazon.com/rds/

46. Amazon Simple Storage Service (S3)http://aws.amazon.com/s3/

47. Amazon SimpleDBhttp://aws.amazon.com/simpledb/

48. Amazon Simple Queue Service (SQS)http://aws.amazon.com/sqs/

49. Amazon Virtual Private Cloud (VPC)http://aws.amazon.com/vpc/

50. Amazon Web Services (AWS)http://aws.amazon.com

51. Amazon Web Services Developer Toolshttp://aws.amazon.com/developertools/

52. Amazon Web Services Import/Exporthttp://aws.amazon.com/importexport/

53. Amazon Web Services Management Consolehttp://console.aws.amazon.com

54. Amazon Web Services Toolkit for Eclipsehttp://aws.amazon.com/eclipse/

55. Animotohttp://animoto.com

56. AppExchangehttp://sites.force.com/appexchange/home

57. AppNexus Cloudhttp://www.appnexus.com

Page 166: [Informatik im Fokus] Cloud Computing ||

Literaturverzeichnis 161

58. Chandra Krintz: Appscale – An open-source research framework forexecution of Google AppEngine applications and investigation of sca-lable cloud computing fabricshttp://www.cs.ucsb.edu/~ckrintz/abstracts/appscale.html

59. Azure Services Platformhttp://www.microsoft.com/azure/

60. Bluelockhttp://www.bluelock.com

61. Project Carolinehttp://research.sun.com/projects/caroline

62. The Future of Corporate IT, Corporate Executive Board, 2010http://www.executiveboard.com/it/pdf/The_Future_of_Corporate_IT.pdf

63. Cloud Hosting and Cloud Storage Performance Dashboardhttp://www.cloudclimate.com

64. Clouderahttp://www.cloudera.com

65. CloudStackhttp://www.cloud.com

66. Security Guidance for Critical Areas of Focus in Cloud Computing,Cloud Security Alliance, 2009http://www.cloudsecurityalliance.org/guidance/csaguide.pdf

67. DeveloperForcehttp://developer.force.com

68. Django Web Frameworkhttp://www.djangoproject.com

69. Dropboxhttps://www.dropbox.com

70. Eclipsehttp://www.eclipse.org

71. eyeOShttp://www.eyeos.org

72. ElasticFox: Firefox Extension for Amazon EC2http://sourceforge.net/projects/elasticfox/

73. ENKI: Virtual Private Datacentershttp://www.enkiconsulting.net/virtual-private-data-centers/

74. Eucalyptushttp://open.eucalyptus.com

75. Facebook Platformhttp://developers.facebook.com

76. FlexiScale Cloud Computinghttp://www.flexiscale.com

Page 167: [Informatik im Fokus] Cloud Computing ||

162 Literaturverzeichnis

77. fluidOps eCloudManagerhttp://www.fluidops.com/ecloudmanager.html

78. Force.comhttp://www.salesforce.com/de/platform/

79. Gaikaihttp://www.gaikai.com

80. Ganglia Monitoring Systemhttp://ganglia.info

81. gEclipsehttp://www.geclipse.org

82. GoGrid Cloud Hostinghttp://www.gogrid.com

83. Google App Enginehttp://appengine.google.com

84. Google App Engine SDKhttp://code.google.com/intl/de/appengine/downloads.html

85. Google Appshttp://www.google.com/apps/

86. Google Chrome OShttp://www.chromium.org/chromium-os

87. Google Cloud Printhttp://code.google.com/apis/cloudprint/

88. Google Docshttp://docs.google.com

89. The Google File Systemhttp://labs.google.com/papers/gfs.html

90. Google Maps APIhttp://code.google.com/apis/maps/

91. Google Plugin for Eclipsehttp://code.google.com/intl/de/appengine/docs/java/tools/eclipse.html

92. Google Storagehttp://code.google.com/apis/storage/

93. Gridcore Gomputehttp://www.gridcore.se/ondemand-com/

94. GSUtilhttp://code.google.com/intl/en/apis/storage/docs/gsutil.html

95. Projekt Gutenberghttp://www.gutenberg.org

96. Guardian: Investigate your MP’s expenseshttp://mps-expenses.guardian.co.uk

97. Hadoop Homepagehttp://hadoop.apache.org

Page 168: [Informatik im Fokus] Cloud Computing ||

Literaturverzeichnis 163

98. Hive!http://hadoop.apache.org/hive/

99. Joyent Reasonably Smartttp://www.joyent.com

100. JungleDiskhttp://www.jungledisk.com

101. KOALAhttp://koalacloud.appspot.com

102. KOALA Cloud Managerhttp://code.google.com/p/koalacloud/

103. Microsoft Windows Livehttp://explore.live.com/

104. Microsoft – The Economics of the Cloudhttp://www.microsoft.com/presspass/presskits/cloud/docs/The-Economics-of-the-Cloud.pdf

105. National Institute of Standards and Technology: Cloud Computinghttp://csrc.nist.gov/groups/SNS/cloud-computing/

106. NetSuite SuiteFlexhttp://www.netsuite.com

107. New York Times Archives + Amazon Web Services = TimesMachinehttp://open.blogs.nytimes.com/2008/05/21/the-new-york-times-archives-amazon-web-services-timesmachine/

108. Nimbushttp://www.nimbusproject.org

109. Nirvanix Storage Delivery Networkhttp://www.nirvanix.com

110. OnLive – Cloud Gaming Servicehttp://www.onlive.com

111. OpenCirrusTM

http://opencirrus.org112. OpenCirrusTM (Global) Monitoring

https://opencirrus.org/content/global-monitoring/113. OpenId

http://www.openid.net114. OpenNebula

http://www.opennebula.org115. OpenSocial API

http://code.google.com/apis/opensocial/116. OpenSSH

http://www.openssh.com117. OpenStack

http://www.openstack.org/

Page 169: [Informatik im Fokus] Cloud Computing ||

164 Literaturverzeichnis

118. Otoyhttp://www.otoy.com

119. Penguin Computing on Demandhttp://www.penguincomputing.com

120. Rackspace Managed Hostinghttp://www.rackspace.com

121. Michal Ludvig, s3cmd: S3-Client für die Kommandozeilehttp://s3tools.org/s3cmd/

122. S3Fox Organizer(S3Fox)http://www.s3fox.net

123. Sabalcore HPC on Demandhttp://www.sabalcore.com

124. Salesforce Communityhttp://www.salesforce.com/community/

125. Salesforce CRMhttp://www.salesforce.com/de/crm/

126. Thomas Sandholm, Hadoop User Group Presentationhttp://tycoon.hpl.hp.com/~tycoon/grid/HadoopUserGroupSept08.ppt

127. Skytab Virtual Labhttp://www.skytap.com

128. SLA@SOI: Empowering the Service Industry with SLA-aware Infra-structureshttp://sla-at-soi.eu

129. Tashi: Cloud Computing on Big Datahttp://www.pittsburgh.intel-research.net/projects/tashi/

130. Bundesministerium der Justiz; Telemediengesetzhttp://bundesrecht.juris.de/tmg/

131. Terremark Infinistructurehttp://www.terremark.com/services/managed-hosting.aspx

132. todo flexIThttp://www.todo.de/Produkte/flexIT.php

133. TyphoonAEhttp://code.google.com/p/typhoonae/

134. UNIVA UD UniCloudhttp://www.univaud.com

135. VMwarehttp://www.vmware.com

136. VMware vSpherehttp://www.vmware.com/products/vsphere/

137. Web Services Architecture Requirements. W3C Working Draft 29April 2002http://www.w3.org/TR/2002/WD-wsa-reqs-20020429

Page 170: [Informatik im Fokus] Cloud Computing ||

Literaturverzeichnis 165

138. World Privacy Forum: Privacy in the Clouds: Risks to Privacy andConfidentiality from Cloud Computinghttp://www.worldprivacyforum.org

139. Ylastichttp://www.ylastic.com

140. YouTubehttp://www.youtube.com

141. Zimory Public Cloud Marktplatzhttp://www.zimory.de

142. Zoho Creatorhttp://www.zoho.com

143. ZumoDrive – Hybrid Cloud Speicherhttp://zumodrive.com

Page 171: [Informatik im Fokus] Cloud Computing ||

Sachverzeichnis

Abrechnung, 75, 92Accounting, 75, 92Amazon Web Services, 15, 43, 44,

77, 81, 83, 109–112AMI, 47Availability Zone, 47AWS Zusammenspiel, 59CloudFront, 45, 77CloudWatch, 58, 77Cluster Compute Instances, 41EBS, 44, 49, 54, 94, 96, 134EC2, 32, 44, 46, 77, 94, 131EC2 Compute Unit, 50Elastic Block Store, 49, 52, 54,

96, 134Elastic Compute Cloud, 44, 46,

94, 131Elastic MapReduce, 45, 77, 109,

147Job Flow, 147

Import/Export, 45Machine Image, 47Management Console, 80

Management Konsole, 59, 77, 82Mechanical Turk, 39RDS, 57, 77, 135Relational Database Service, 45,

57, 135S3, 32, 44, 54, 77, 78, 94, 96,

100, 109, 137Security Group, 48Simple Queue Service, 55Simple Queuing Service, 44Simple Storage Service, 54, 78,

94, 96, 100, 137SimpleDB, 33, 45, 56SNS, 77Spot Instanzen, 53SQS, 33, 44, 55Steuerung, 77Storage Service, 44Verfügbarkeitszone, 47Virtual Private Cloud, 45, 77

Animoto, 116AppNexus, 33AppScale, 81, 103, 140

167

Page 172: [Informatik im Fokus] Cloud Computing ||

168 Sachverzeichnis

Auditing, 86Auftragsdatenverarbeitung, 89Authentizität, 85Automatisierung, 75Azure, 35, 66

Best Effort, 74Betriebssystemkern, 13Billing, 75, 92Bioinformatik, 104Bucket, 54, 137

Cloud Computing, 1, 6Compliance, 88Rechtskonformität, 88Abrechnungsmodelle, 118Adoption, 128Anbieter, 2, 27, 87, 125Angebote, 43Anwendungsgebiete, 115Architektur, 27Basistechnologien, 6Benutzer, 27Betriebssysteme, 71Bewertung, 126Chancen, 125Cloud Bursting, 113Cloud Gaming, 70Cloud Print, 65Cloud Sourcing, 85, 87Dienstanbieter, 75Dienste, 2, 29, 41, 75, 125Entwicklung, 83External Cloud, 27Geschäftsmodelle, 121Hybrid Cloud, 29, 67Kostenmodelle, 119Management, 73, 76Management-Dienste, 76Marktentwicklung, 125Marktplatz, 85

Private Cloud, 3, 28, 29, 78, 80,81, 94, 97, 99, 100, 102, 103,126, 140, 141

Programmierung, 83Provider, 2, 87, 125Public Cloud, 3, 19, 27–29, 73,

78, 81, 94, 103, 126Rechenzentren, 93Risiken, 125Risikomanagement, 87Schichten, 31Schichtenmodell, 29Security Alliance, 86Sicherheit, 85Überwachung, 76Wachstum, 128Weitere Cloud-Dienste, 41Wirtschaftliche Betrachtungen,

115Cloudera, 105, 110CloudFront, 33CloudStack, 102CRM, 39, 68Cumulus, 100

Data Mining, 104Datenanalyse, 108Datenschutz, 88Dienst, 1Dienstgüte, 75Dienstgütevereinbarung, 73Disruptive Technology, 125Django, 35Dropbox, 32

EBS-Volume, 54, 134EC2-Kommandozeilenwerkzeuge,

78, 131, 134, 140EC2-Programmierung, 77ElasticFox, 78, 80, 82, 146Elastizität, 118

Page 173: [Informatik im Fokus] Cloud Computing ||

Sachverzeichnis 169

Emulab, 32, 92Ensembles, 113Enterprise Service Bus, 22Euca2ools, 78, 81, 82, 140Eucalyptus, 7, 32, 34, 35, 78, 81,

94, 140Architektur, 95Bedienung, 140Cloud Controller, 95Cluster Controller, 95Dateisystem Image, 141Euca2ools, 78, 81, 82, 140Infrastruktur, 95Installation, 140Instanzen, 146Instanznummer, 146Kernel Image, 141Komponenten, 95Node Controller, 95Ramdisk Image, 141Ressourcen, 141Schlüsselpaar, 142Storage Controller, 96Walrus, 96

Execution Environment, 35Extensible Markup Language, 61External Cloud, 27eyeOS, 71

Facebook, 116Fehlertoleranz, 76Finanzanalysen, 104FlexiScale, 33fluid Operations, 41Force.com, 69, 70

Gaikai, 71Ganglia, 112Geschäftsmodelle, 121GoGrid, 33

Google App Engine, 35, 43, 61, 64,81, 87, 94, 103, 111, 138

Google Docs, 39, 62Google Maps, 37Google Storage, 64, 81Google Web Toolkit, 63GrepTheWeb, 59Grid Computing, 5Gridcore

Gompute, 41Grundstückskosten, 119GSUtil, 64, 82

Hadoop, 7, 32, 104, 126Hadoop as a Service, 109Hadoop Distributed File System,

106High Performance Computing, 113Hive, 109Hochleistungsrechnen, 113HPCaaS, 41, 100, 113HTTP, 24HuaaS, 31, 39, 41Hub-and-Spoke, 22Humans as a Service, 31, 39Hybrid Cloud, 29, 67Hybridfox, 80Hyper-V, 102Hypercall, 15Hypervisor, 15

IaaS, 31, 32, 37, 41, 64, 85, 87, 92Identitätsmanagement, 112iLO, 32, 33Infiniband, 113Infrastructure as a Service, 31Integrität, 85IOWA Electronic Markets, 40ISO 27001, 86IT-Servicezentrum, 4

Page 174: [Informatik im Fokus] Cloud Computing ||

170 Sachverzeichnis

Jails, 13Joyent, 34, 35JungleDisk, 54

Kernel-based Virtual Machine, 15,94, 96, 99, 100, 102

Knowledge Worker, 3KOALA, 81, 82

LaaS, 41Lebenszyklus, 75Linux-VServer, 14Logdaten-Analysen, 104

Map-Funktion, 105MapReduce, 32, 45, 77, 105, 106,

108, 146Maschinelles Lernen, 104Mashup, 37Microsoft Office Live, 39Monitoring, 112MPI, 113Multi-Mandantensysteme, 4, 11,

61, 69

New York Times, 116Nimbus, 32, 81, 100

OLA, 74on-demand, 123on-premise, 123OnLive, 71Open Source Cloud-

Schichtenmodell, 91OpenCirrusTM, 7OpenID, 37OpenNebula, 32, 81, 99OpenSocial, 37OpenStack, 102

Compute, 102Object Storage, 102

OpenVZ, 14Operation Level Agreement, 74Otoy, 71overprovisioning, 118

PaaS, 31, 35, 37, 39, 41, 68, 85, 87,92, 94, 123, 140

pay as you go, 118Penguin

Computing on Demand, 41Personalcomputer, 125Personalkosten, 119Physisches Ressourcen Set, 32, 92,

93Pig, 108Platform as a Service, 31Private Cloud, 3, 28, 29, 78, 80,

81, 94, 97, 99, 100, 102, 103,126, 140, 141

Programming Environment, 35Pseudonymität, 85Public Cloud, 3, 19, 27–29, 73, 78,

81, 94, 103, 126

Quality of Service, 74

Raubkopien, 71RDS-Kommandozeilenwerkzeuge,

59, 135Rechtsauffassung, 88Reduce-Funktion, 106Resource Set, 31REST, 19, 21, 24, 54

s3cmd, 54, 78, 82, 137S3Fox, 79, 82SaaS, 18, 31, 37, 39, 41, 68, 85, 87,

92, 123Sabalcore

HPC on Demand, 41Safe Harbor, 89

Page 175: [Informatik im Fokus] Cloud Computing ||

Sachverzeichnis 171

Salesforce.com, 39, 43, 68, 69SAS 70, 86saturation, 118Scheduling, 113Service Level Agreement, 73, 113Service Level Management, 74Service Monitoring, 74Service-Katalog, 75Service-Lebenszyklus, 75Service-orientierte Architekturen,

19Sicherheitstechniken, 113Single Sign-On, 112Skalierbarkeit, 76SLA, 73–75, 85, 87Snapshots, 135SOAP, 21, 24, 54

SOAP Body, 25SOAP Envelope, 25SOAP Header, 25SOAP Nachricht, 25

Software as a Service, 31Software-Lizenzen, 113Software-plus-Services, 123Soziale Medien, 3Speicherdienst, 54, 78, 80, 93, 96,

100Standardisierung, 113Systemaufruf, 15Systemcall, 15

Tashi, 93Thematik, 1TimesMachine, 116Total Cost of Ownership, 120Tycoon, 33typhoonAE, 64, 81, 103

UDDI, 21underprovisioning, 118underutilization, 118

Uniform Resource Identifier, 23, 24UNIVA

UD UniCloud, 41Utility Computing, 2

Vendor-Lock-In, 37, 87, 126Verbrauchserfassung, 75, 92Verfügbarkeit, 85Verschlüsselung, 89Vertraulichkeit, 85Virtual Distributed Ethernet, 97Virtual Private Cloud, 45Virtualisierung

Anwendungsvirtualisierung, 18Betriebssystemvirtualisierung,

13Container, 13, 14Gast-Betriebssystem, 15Hypercall, 15Hypervisor, 14, 15Nachteile, 12Netzwerkvirtualisierung, 17Para-Virtualisierung, 15Plattformvirtualisierung, 14Speichervirtualisierung, 16Virtualisierung, 2, 6, 9, 10, 12,

14Virtuelle Maschine, 10VMM, 14Vorteile, 10

Virtuelles Ressourcen Set, 32, 93Virtuozzo, 14VMware, 94, 99, 102

ESX, 94vSphere, 94, 126

Volume, 54, 134

Walrus, 96Web Protokolle, 19Web Services, 19Web-Indexierung, 104

Page 176: [Informatik im Fokus] Cloud Computing ||

172 Sachverzeichnis

Windows Azure, 35, 66Active Directory, 67App Fabric, 67Compute, 67Drive, 67Queue, 67Rolle, 67SQL, 67Storage, 67

wissenschaftliche Simulationen,104

WSDL, 21, 24

XaaS, 31Xen, 15, 32, 94, 96, 99, 100, 102,

103XML, 22, 23, 61

Ylastic, 80, 82YouTube, 40

Zimory, 34, 41, 75, 85Zumodrive, 32Zurechenbarkeit, 85


Recommended