Informatik im Fokus. Herausgeber: Prof. Dr. O. Günther Prof. Dr. W. Karl Prof. Dr. R. Lienhart Prof. Dr. K. Zeppenfeld



Ähnliche Dokumente
Informatik im Fokus. Herausgeber: Prof. Dr. O. Günther Prof. Dr. W. Karl Prof. Dr. R. Lienhart Prof. Dr. K. Zeppenfeld

Einleitung. Kapitel Beschreibung der Thematik

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Handbuch Kundenmanagement

Lizenzierung von System Center 2012

Informatik im Fokus. Herausgeber: Prof. Dr. O. Günther Prof. Dr. W. Karl Prof. Dr. R. Lienhart Prof. Dr. K. Zeppenfeld

Ingenieurwissenschaftliche Studiengänge attraktiver

X.systems.press ist eine praxisorientierte Reihe zur Entwicklung und Administration von Betriebssystemen, Netzwerken und Datenbanken.

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Cloud-Architekturen auf verschiedenen Ebenen Seminar: Datenbankanwendungen im Cloud Computing

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009

Rüdiger Zarnekow Lutz Kolbe. Green IT. Erkenntnisse und Best Practices aus Fallstudien

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Systeme 1. Kapitel 10. Virtualisierung

Calogero Fontana Fachseminar WS09/10. Virtualisierung

Workflow, Business Process Management, 4.Teil

Christian Kremer. Kennzahlensysteme für Social Media Marketing. Ein strategischer Ansatz zur Erfolgsmessung. Diplomica Verlag

Industrie 4.0 in Produktion, Automatisierung und Logistik

Wiederholung: Beginn

Lizenzierung von SharePoint Server 2013

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM APPs und Add-Ins

Die Bedeutung der Hausbankbeziehung für Finanzierungen im Mittelstand Schwerpunkt: Unternehmensgründung und Unternehmensnachfolge

Qualitätsmanagementsysteme im Gesundheitswesen

Thema: Microsoft Project online Welche Version benötigen Sie?

Cloud Computing. ITA Tech Talk, Oberursel, Nicholas Dille IT-Architekt, sepago GmbH

Test zur Bereitschaft für die Cloud

Bachelorarbeit. Private Altersvorsorge. Beurteilung ausgewählter Anlageformen. Michael Roth. Bachelor + Master Publishing

Versorgungskonzepte für Menschen mit Demenz

ISBN: Herstellung: Diplomica Verlag GmbH, Hamburg, 2011

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Prozessoptimierung in der Einzelteilproduktion

Was darf das Grid kosten?

Private Cloud mit Eucalyptus am SCC

Lizenzierung von SharePoint Server 2013

Windows 8 Lizenzierung in Szenarien

Due Diligence als Instrument des Akquisitionscontrollings

4D Server v12 64-bit Version BETA VERSION

BI in der Cloud eine valide Alternative Überblick zum Leistungsspektrum und erste Erfahrungen

Change Management in der öffentlichen Verwaltung

Cloud-Computing - Überblick

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

Virtual Desktop Infrasstructure - VDI

IT-Sachverständigen-Gemeinschaft. Virtualisierungstechnologien aus forensischer Sicht in Kempten,

Supply Chain Management

Cloud-Computing. Selina Oertli KBW

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Open Source als de-facto Standard bei Swisscom Cloud Services

Spotlight 5 Gründe für die Sicherung auf NAS-Geräten

synergetic AG Open House 2012 Ihr Unternehmen in der Wolke - Cloud Lösungen von synergetic

E-Services mit der Web-Service-Architektur

Marcel Haritz. E-Recruiting. Effiziente Ansätze zur Beschaffung von Hochschulabsolventen für Traineeprogramme. Diplomica Verlag

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Java Enterprise Architekturen Willkommen in der Realität

Step by Step Webserver unter Windows Server von Christian Bartl

Alina Schneider. Erfolg in Data-Warehouse-Projekten. Eine praxisnahe Analyse von Erfolgsfaktoren und -kriterien. Diplomica Verlag

Projektvorstellung "Cloud"

Stefan Kundelov. Balanced Scorecard. Anwendung in der stationären Altenpflege. Diplomica Verlag

Cloud Computing Services. oder: Internet der der Dienste. Prof. Dr. Martin Michelson

Zustandsgebundene Webservices

Inside. IT-Informatik. Die besseren IT-Lösungen.

ANYWHERE Zugriff von externen Arbeitsplätzen

Lizenzierung von Windows Server 2012

Usability Untersuchung eines Internetauftrittes nach DIN EN ISO 9241 Am Praxisbeispiel der Firma MAFI Transport-Systeme GmbH

WINDOWS AZURE IM ÜBERBLICK GANZ NEUE MÖGLICHKEITEN

New Public Management

Dr. Uwe Jasnoch Intergraph SG&I Deutschland GmbH

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

Emil Dübell EDConsulting

Leistungsstarke Enterprise Apps. Für Menschen erdacht. Für Veränderungen entwickelt.

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit

Guide DynDNS und Portforwarding

Gelassenheit gewinnen 30 Bilder für ein starkes Selbst

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Technik der Cloud. Prof. Dr. Hannes Federrath Sicherheit in verteilten Systemen (SVS) München, 18.

SEO Strategie, Taktik und Technik

Brownbag Session Grundlagen Virtualisierung Von VM s und Containern

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Der beste Plan für Office 365 Archivierung.

Strategisches Innovationsmanagement

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim

SDD System Design Document

Cross-border Mergers & Acquisitions in China

OPERATIONEN AUF EINER DATENBANK

Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo

Von Markus Schmied und Manuel Bundschuh. New Trends in IT Das Wikireferat

Seniorenbüros im Land Brandenburg

David Seidel. Reifegrad. Der prioritätsspezifische Index. Effektives Management für eine bessere Potentialausschöpfung.

Wissensmanagement in der humanitären Logistik

VDI - Die Revolution der Arbeitsplatzbereitstellung. Nicholas Dille,

Management im Gesundheitswesen

Microsoft Cloud Ihr Weg in die Cloud

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Modernes Talent-Management

Informationen zur Lizenzierung von Windows Server 2008 R2

Virtual Machines. Peter Schmid Hochschule für Technik Zürich Master of Advanced Studies, Informatik

Tiberius Hehn Roland Riempp. Multimediale interaktive PDF-Dokumente durch Integration von Flash

Transkript:

Informatik im Fokus Herausgeber: Prof. Dr. O. Günther Prof. Dr. W. Karl Prof. Dr. R. Lienhart Prof. Dr. K. Zeppenfeld

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

Christian Baun Marcel Kunze Jens Nimis Stefan Tai Cloud Computing Web-basierte dynamische IT-Services 2. Auflage 123

Christian Baun Karlsruhe Institute of Technology (KIT) Steinbuch Center for Computing Hermann-von-Helmoltz-Platz 1 76344 Eggenstein-Leopoldshafen Deutschland christian.baun@kit.edu Dr. Marcel Kunze Karlsruhe Institute of Technology (KIT) Steinbuch Center for Computing Hermann-von-Helmoltz-Platz 1 76344 Eggenstein-Leopoldshafen Deutschland marcel.kunze@kit.edu Prof. Dr. Jens Nimis Hochschule Karlsruhe Fakultät für Wirtschaftswissenschaften Moltkestr. 30 76133 Karlsruhe Deutschland jens.nimis@hs-karlsruhe.de Prof. Dr. Stefan Tai Karlsruhe Institute of Technology (KIT) & FZI Forschungszentrum Informatik Englerstr. 11 76131 Karlsruhe Deutschland stefan.tai@kit.edu ISSN 1865-4452 e-issn 1865-4460 ISBN 978-3-642-18435-2 e-isbn 978-3-642-18436-9 DOI 10.1007/978-3-642-18436-9 Springer Heidelberg Dordrecht London New York Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. c Springer-Verlag Berlin Heidelberg 2010, 2011 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wä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)

Vorwort Vorwort zur 2.Auflage Die Entwicklungen im Bereich des Cloud-Computing sind weiterhin sehr dynamisch. Aus diesem Grund haben wir uns entschlossen, nach nur knapp einem Jahr seit Erscheinen der 1. Auflage eine Aktualisierung und Ergänzung des Stoffes vorzunehmen. Die verschiedenen Kapitel des Buches wurden entsprechend überarbeitet und neue Technologien (u. a. Hadoop as a Service, Cloud Print, Cloud Gaming) und Produkte (u. a. Amazon RDS, Amazon VPC, Nimbus, OpenNebula, typhoonae) aufgenommen. Karlsruhe Februar 2011 Christian Baun Marcel Kunze Jens Nimis Stefan Tai v

vi Vorwort Vorwort zur 1.Auflage Cloud Computing ist in aller Munde: als neuartige Technologie, als nächste Generation des Internets, als fundamentale Veränderung der gesamten IT-Landschaft und als viel versprechende Chance für neue Geschäftsideen. Doch was steckt wirklich hinter dem Begriff? Die vielfältigen Standpunkte und Interessen der verschiedenen Stakeholder haben dazu geführt, dass das Thema Cloud Computing nicht sehr scharf umrissen erscheint. Unser Anliegen ist es, den häufig zitierten Nebel, der die Cloud umgibt, ein Stück weit zu lichten und so den Weg zu ebnen für einen erfolgreichen Einsatz und auch für weitergehende Forschungsarbeiten und neue Innovationen. In nur wenigen Monaten haben wir das mittlerweile sehr umfangreiche Material zum Thema Cloud Computing zusammengetragen und so verdichtet, dass es in eine Ausgabe der Serie Informatik im Fokus passt. Hilfreich waren hier unsere vielfältigen Kontakte zu Kollegen aus der Forschung und vor allem auch aus der Industrie. Sie haben uns mit einem nicht enden wollenden Strom von neuen Inputs versorgt und in zahlreichen Diskussionen geholfen, unser eigenes Bild auf die Materie zu schärfen. Wie die meisten disruptiven Technologien erfährt das Cloud Computing sehr unterschiedliche Einschätzungen, wenn es um Akzeptanz und Risikobewertung geht. Manche Unternehmen sind auf das dynamische Nutzen oder Anbieten von IT-Services noch nicht eingestellt andere hingegen sind Vorreiter auf diesem Gebiet und erleben z. T. Erfolge, die Schlagzeilen machen. Dieses Buch soll dazu beitragen, Cloud Computing zunächst nüchtern zu studieren, um sich anschließend enthusiastisch den vielfältigen Herausforderungen und Chancen zu stellen. Die Tatsache, dass beim Cloud Computing technologische und wirtschaftliche Aspekte immer zusammen betrachtet werden müssen, führt dazu, dass wir mit unserem Buch interessante

Vorwort vii Einsichten für einen großen Leserkreis bieten können. Es richtet sich gleichermaßen an Studenten unserer Lehrveranstaltungen an der Universität Karlsruhe (TH) und an anderen Hochschulen, an interessierte Software-Ingenieure und an zukunftsorientierte Entscheidungsträger. Wir hoffen, dass das Buch auf der technischen Ebene reichhaltig und verständlich ist und dass es darüber hinaus auch in den Management-Etagen Gefallen finden wird. Wir wollen die Gelegenheit nutzen und allen danken, die zu der Erstellung dieses Buches beigetragen haben. Insbesondere danken wir Anja Langner und Bianca Pagliosa für die wertvolle Hilfe bei der Erstellung der Abbildungen, Matthias Bonn für das Korrekturlesen, sowie unseren Familien und Freunden für ihr Verständnis, die gemeinsame Freizeit wieder einmal zu opfern. Karlsruhe Juli 2009 Christian Baun Marcel Kunze Jens Nimis Stefan Tai

Inhaltsverzeichnis 1 Einleitung... 1 1.1 Beschreibung der Thematik... 1 1.2 Definition... 4 1.3 Gliederung... 6 2 Grundlagen... 9 2.1 Virtualisierung... 9 2.1.1 Vor- und Nachteile der Virtualisierung.. 10 2.1.2 Virtualisierungskonzepte... 12 2.2 Service-orientierte Architekturen... 19 2.2.1 Eigenschaften von SOA... 19 2.2.2 Implementierung einer SOA... 21 2.3 Web Services... 22 2.3.1 Interoperabilität... 24 2.3.2 SOAP versus REST... 25 3 Cloud-Architektur... 27 3.1 Public, Private und Hybrid Clouds... 27 3.2 Technische Landschaft der Cloud-Dienste... 29 3.3 Infrastructure as a Service... 31 ix

x Inhaltsverzeichnis 3.4 Platform as a Service... 35 3.5 Software as a Service... 37 3.6 Humans as a Service... 39 3.7 Weitere Kategorien von Cloud-Diensten... 41 4 Ausgewählte Cloud-Angebote... 43 4.1 Amazon Web Services... 44 4.1.1 Amazon Elastic Compute Cloud (EC2). 46 4.1.2 Amazon Simple Storage Service (S3).. 54 4.1.3 Amazon Elastic Block Store (EBS)... 54 4.1.4 Amazon Simple Queue Service (SQS).. 55 4.1.5 Amazon SimpleDB... 56 4.1.6 Amazon Relational Database Service.. 57 4.1.7 Zusammenspiel der Amazon Web Services... 59 4.2 Cloud-Dienste von Google... 61 4.2.1 Google App Engine... 61 4.2.2 Google Storage... 64 4.2.3 Google Cloud Print... 65 4.3 Windows Azure... 66 4.4 Salesforce.com... 68 4.5 Cloud Gaming... 70 4.6 Cloud-Betriebssysteme... 71 5 Cloud-Management... 73 5.1 Dienstgütevereinbarungen: Service Level Agreements... 73 5.2 Lebenszyklus und Automatisierung... 75 5.3 Management-Dienste und -Werkzeuge... 76 5.3.1 Überwachung... 76 5.3.2 Steuerung... 77 5.3.3 Entwicklung... 83 5.4 Sicherheitsmanagement... 85 5.5 Risikomanagement... 87

Inhaltsverzeichnis xi 5.6 Rechtskonformität... 88 6 Open Source Cloud-Schichtenmodell... 91 6.1 Physische und Virtuelle Ressourcen... 92 6.2 Eucalyptus... 94 6.2.1 Architektur und Komponenten... 95 6.3 OpenNebula... 99 6.4 Nimbus... 100 6.5 CloudStack... 102 6.6 OpenStack... 102 6.7 AppScale... 103 6.8 typhoonae... 103 6.9 Apache Hadoop... 104 6.9.1 MapReduce... 105 6.9.2 Hadoop Distributed File System... 106 6.9.3 Pig... 108 6.9.4 Hive... 109 6.9.5 Hadoop as a Service... 109 6.10 Das OpenCirrus TM -Projekt... 111 7 Wirtschaftliche Betrachtungen... 115 7.1 Anwendungsgebiete... 115 7.2 Bewertungsmodelle... 117 7.2.1 Kostenmodelle... 119 7.2.2 TCO Framework... 120 7.3 Geschäftsmodelle... 121 8 Chancen und Risiken... 125 8.1 Marktentwicklung... 125 8.2 Situative Bewertung... 126 8.3 Fazit... 128

xii Inhaltsverzeichnis 9 Anhang... 131 9.1 Bedienung von EC2 mit den Amazon Tools.... 131 9.2 Bedienung von EBS mit den Amazon Tools... 134 9.3 Bedienung von RDS mit den Amazon Tools... 135 9.4 Bedienung von S3 mit s3cmd... 137 9.5 Bedienung der Google App Engine... 138 9.6 Bedienung von AppScale... 140 9.7 Installation und Bedienung von Eucalyptus... 140 9.8 Data Mining mit Amazon Elastic MapReduce.. 146 Glossar... 151 Literaturverzeichnis... 157 Sachverzeichnis... 167

Kapitel 1 Einleitung Die Buchreihe Informatik im Fokus beschäftigt sich mit der Darstellung zeitnaher und gut verständlicher Einführungen in aktuelle Technologien. Dieses Buch will einen Überblick über Cloud Computing Architektur, Dienste und Anwendungen vermitteln, ohne Anspruch auf Vollständigkeit zu erheben. Ziel ist es, die Leserinnen und Leser auf einen einheitlichen Stand zu bringen 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 Informationstechnik (IT) allgegenwärtig. Was verbirgt sich dahinter? Es gibt viele Interpretationen, aber keine standardisierte oder gar einheitliche Definition. Cloud Computing erlaubt die Bereitstellung und Nutzung von IT-Infrastruktur, von Plattformen und von Anwendungen aller Art als im Web elektronisch verfügbare Dienste. Der Begriff Cloud soll dabei andeuten, dass die Dienste von C. Baun et al., Cloud Computing, 2. Aufl., Informatik im Fokus, 1 DOI 10.1007/978-3-642-18436-9_1, c Springer-Verlag Berlin Heidelberg 2011

2 1 Einleitung einem Anbieter im Internet (bzw. im Intranet eines größeren Unternehmens) erbracht werden. Die Nutzer der Cloud-Dienste können ihre eigenen Angebote wiederum selbst als Dienste im Internet bzw. Intranet anbieten. Cloud-Ressourcen sind in der Regel virtualisiert: Der Cloud- Nutzer hat dadurch stets eine wunschgemäße, beliebige Sicht auf seine Infrastruktur und es gibt in diesem Fall keine systembedingten Abhängigkeiten oder Zwangsbedingungen für seine Anwendungen. Cloud-Dienste sind darüber hinaus dynamisch skalierbar: Wenn eine Anwendung zusätzliche Ressourcen benötigt, können diese sofort und ohne großen Aufwand automatisch dazu geschaltet werden. Entwickler mit innovativen Ideen für neue Internet-Anwendungen müssen so beispielsweise nicht länger vorab in Hardware investieren, um ein Unternehmen zu gründen. Sie können Ressourcen flexibel von einem Anbieter beziehen und sich auf die Umsetzung ihrer Geschäftsidee konzentrieren. Wenn die Nachfrage steigt, lässt sich die Infrastruktur weitgehend automatisch an die wachsenden Anforderungen anpassen. Cloud Computing folgt den Ideen des Utility Computing. Es wird immer die aktuell benötigte Menge an Ressourcen zur Verfügung gestellt und bezahlt. Wenn nichts genutzt wird, kostet es auch nichts. Cloud Computing hat somit eine wirtschaftliche Bedeutung, da signifikante Kostenersparnisse aufgrund der flexiblen Bereitstellung und Nutzung von Diensten möglich sind. Die vorgehaltenen abrufbaren Kapazitäten sind dabei sehr umfangreich, wodurch ein großer Skaleneffekt (Economy of Scale) mit einem sehr günstigen Preis/Leistungsverhältnis entsteht. Es gibt mittlerweile zahlreiche kommerzielle Anbieter wie z. B. Amazon, Google oder Microsoft. Deren Angebote unterscheiden sich jedoch in ihrer Art: Amazon bietet virtualisierte Ressourcen zur generischen Nutzung an, während die Clouds von Google und Microsoft das Hosting von Anwendungen erlauben. Alle aktuellen Angebote sind aber zugunsten eines Wett-

1.1 Beschreibung der Thematik 3 bewerbsvorteils proprietär und Standards existieren nicht, womit ein schneller Wechsel des Anbieters in der Regel nicht einfach möglich ist. Kritiker des Cloud Computing führen diese Gefahr des Vendor-Lockin neben möglichen Sicherheitsbedenken gerne ins Feld. Vor allem aus dem Kreis der etablierten IT-Manager und Abteilungsleiter wird zur Vorsicht gemahnt. Bei näherer Betrachtung scheint es hier aber in erster Linie sehr oft um die Sicherung historischer Besitzstände in den klassischen Rechenzentren zu gehen. Es sind daher zurzeit vor allem junge Unternehmen (Startups) ohne Abhängigkeiten dieser Art, die aus der neuen Technik Gewinn erzielen. Aber auch in etablierten Unternehmen, die sich dem Thema Cloud Computing stellen, bewirkt dessen Einsatz bereits nachhaltige Effizienzsteigerungen. Neben der Nutzung von Public Clouds etablieren sich hier unternehmensinterne Private Clouds. Aus der Sicht des Kunden ergibt sich eine Reihe von Möglichkeiten, produktiver und flexibler zu arbeiten: Durch die Wahrnehmung von Angeboten im Markt ist es dem Bezieher von IT-Diensten möglich, sich gegenüber dem klassischen statischen Rechenzentrumsbetrieb zu emanzipieren. Cloud Computing entwickelt dabei eine Kraft der schöpferischen Zerstörung und Altes wird durch Neues ersetzt [25, 8]. Das Corporate Executive Board (CEB) in Washington hat eine Studie vorgestellt, die auf einer Befragung von 200 Businessund IT-Führungskräften basiert [62]. Darin wird prognostiziert, dass in den nächsten Jahren die klassischen IT-Abteilungen große Teile ihrer Verantwortung an das Business-Management verlieren werden und als Folge dessen auf ein Viertel ihrer Personalstärke schrumpfen. Zentrale Treiber der Veränderung sind das Cloud Computing, Soziale Medien und die Zunahme der sogenannten Knowledge Worker (Wissens- oder Kopfarbeiter) gepaart mit einer Unternehmens-IT, die ihre Effizienzpotenziale weitgehend ausgeschöpft hat. Mit dem Siegeszug immer stärker

4 1 Einleitung spezialisierter Cloud-Dienste wird das Business-Management zunehmend in die Lage versetzt, ohne Beteiligung der internen IT-Abteilung und an ihr vorbei selbst IT-Lösungen einzukaufen. In gleicher Weise können sich die Knowledge Worker mit ihren smarten Endgeräten und sozialen Netzen Informationen zu IT-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 schlanken Querschnittsabteilung oder zum Einkäufer und Manager von externen Diensten. Das klassische Rechenzentrum wandelt sich in diesem Szenario zum IT-Servicezentrum. 1.2 Definition Obwohl es keine standardisierte, einheitliche Definition für Cloud Computing gibt, sind die grundlegenden Konzepte als auch die generellen Ziele des Cloud Computing unbestritten: Cloud Computing nutzt Virtualisierung und das moderne Web, um Ressourcen verschiedenster Art als elektronisch verfügbare Dienste dynamisch bereitzustellen. Die Dienste sollen dabei von mehreren Konsumenten verlässlich und skalierbar nutzbar sein, d. h. sowohl auf Abruf als auch nach Bedarf verfügbar sein. Aus der Sicht des Cloud-Anbieters impliziert dies in der Regel eine Multi-Mandanten Architektur und ein nutzungsabhängiges Abrechnungsmodell. Wir definieren Cloud Computing demnach wie folgt: Unter Ausnutzung virtualisierter Rechen- und Speicherressourcen und moderner Web-Technologien stellt Cloud Computing skalierbare, netzwerk-zentrierte, abstrahierte IT-Infrastrukturen, Plattformen und Anwendungen als on-demand Dienste zur Verfügung. Die Abrechnung dieser Dienste erfolgt nutzungsabhängig.

1.2 Definition 5 Diese Definition legt dabei nicht fest, ob die Dienste auf Basis eines verteilten Systems oder eines einzelnen leistungsstarken Servers, z. B. eines Mainframes, erbracht werden. Dies steht im Gegensatz zum Grid Computing, wo das System immer verteilt ist. In der Regel liegt auch Cloud-Diensten eine verteilte Infrastruktur zu Grunde, dessen Management jedoch ist typischerweise zentral (und proprietär) durch einen Anbieter bestimmt. Auch dies unterscheidet das Cloud Computing vom Grid Computing, wo verteilte Knoten in der Regel autonom sind. Eine ausführliche Diskussion findet sich in [30]. Entscheidend für das Cloud Computing ist zudem dessen wirtschaftliche Bedeutung. Eine konsequente Dienste-Orientierung sowie die Nutzung von Web-Standards und des Internet als integrierte Technologie- und Geschäftsplattform positionieren das Cloud Computing für Anwendungen verschiedenster Art. Dies beinhaltet insbesondere Web-Anwendungen und modulare Dienste in verteilten Geschäftsnetzwerken und Prozessketten. Eine viel zitierte Definition von Cloud Computing wurde vom Nationalen Institut für Standards und Technologie (NIST) in den USA erstellt [105]. Diese bestimmt fünf wesentliche Eigenschaften des Cloud Computing, drei verschiedene Klassen von Diensten und vier unterschiedliche Betriebsmodelle. Als wesentliche Eigenschaften werden benannt: Diensterbringung auf Anforderung: Dienste sind auf Anforderung und selbständig von Konsumenten ohne erforderliche menschliche Interaktion mit dem Anbieter nutzbar. Netzwerkbasierter Zugang: Dienste können netzwerkbasiert in Echtheit durch Verwendung von Standardtechnologien abgerufen werden. Ressourcen Pooling: Ressourcen sind in Pools konsolidiert und erlauben eine parallele Diensterbringung für mehrere Nutzer (Mandanten), die dem tatsächlichen Bedarf eines jeden Nutzers angepasst ist.

6 1 Einleitung Elastizität: Ressourcen werden schnell und in verschiedenen, auch fein granularen Quantitäten, zur Verfügung gestellt und erlauben so die Skalierung von Systemen. Dem Nutzer gegenüber entsteht die Illusion unendlich verfügbarer Ressourcen. Messbare Dienstqualität: Dienste sind quantitativ und qualitativ messbar, so dass eine nutzungsabhängige Abrechnung und Validierung der Dienstqualität gegeben ist. Die Klassen der Dienste und die Betriebsmodelle diskutieren wir in Kapitel 3. 1.3 Gliederung Dieses Buch beschäftigt sich zunächst mit den Grundlagen des Cloud Computing, mit Basistechnologien wie Virtualisierung und Web Services. Es schließt sich eine Diskussion der Cloud- Architektur mit ihren Service-Bausteinen an. In den darauf folgenden Kapiteln geht es um ausgewählte Cloud-Angebote und Management-Werkzeuge. Insbesondere kommen hier auch Fra- Abb. 1.1 Wegweiser zum Lesen des Buchs

1.3 Gliederung 7 gen nach Sicherheit und Datenschutz zur Sprache. Es folgt eine Betrachtung aktueller Open Source Entwicklungen wie z. B. Hadoop und Eucalyptus. Das OpenCirrus TM -Projekt von HP, Intel und Yahoo!, bei dem die Autoren als Entwicklungspartner beteiligt sind, greift diese Themen auf. Das Projekt untersucht Grundlagen der Cloud-Systeme und Cloud-Anwendungen. Es schließen sich wirtschaftliche Betrachtungen wie z. B. Kostenund Geschäftsmodelle an. Den Abschluss bildet eine situative Bewertung des Cloud-Marktes. Im Anhang sind einige praktische Beispiele zum Umgang mit Cloud-Ressourcen bzw. Cloud- Anwendungen aufgeführt und ein Glossar fasst die Definitionen der zentralen Begriffe zusammen. Der geneigte Leser wird das Buch mit Genuss vom Anfang bis zum Ende lesen. Die Kapitel sind aber so geschrieben, dass sie ohne Weiteres auch einzeln gelesen und verstanden werden können. Ein weniger technisch interessierter Leser kann das Kapitel 2 überspringen und sich in medias res begeben. Falls die Zeit knapp bemessen ist, gibt es einen Pfad, der sich eher an technischen Architekturfragen orientiert (Kapitel 1, 3, 5, 7, 8), und einen Pfad für eher wirtschaftswissenschaftlich interessierte Leser (Kapitel 1, 4, 6 8). Die verschiedenen Wege sind schematisch in Abbildung 1.1 aufgezeigt.

Kapitel 2 Grundlagen Cloud Computing ist auch deshalb attraktiv, weil es die Komplexität der Informationstechnologie vor Nutzern und Entwicklern verbirgt. Man muss nicht im Einzelnen wissen, wie ein Dienst generiert wird und es ist die Aufgabe des Dienstleisters, eine entsprechende Abstraktionsschicht bereitzustellen. Dieses Kapitel gibt einen Überblick über Technologien, auf denen Cloud Computing basiert. Dabei handelt es sich um Virtualisierung, Serviceorientierte Architekturen (SOA) und Web Services. 2.1 Virtualisierung Die Virtualisierung von Ressourcen bildet die Grundlage der meisten Cloud-Architekturen. Das Konzept der Virtualisierung erlaubt eine abstrakte, logische Sicht auf physische Ressourcen und umfasst sowohl Server, Datenspeicher, Netzwerke als auch Software. Die zu Grunde liegende Idee ist, physische Ressourcen 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, 9 DOI 10.1007/978-3-642-18436-9_2, c Springer-Verlag Berlin Heidelberg 2011

10 2 Grundlagen ne Anforderungen befriedigt werden. Es ist z. B. möglich, eine bestimmte Plattform für eine spezifische Anwendung dynamisch und passgenau in dem Augenblick zu generieren, wenn sie gebraucht wird. Statt einer realen Maschine kommt dabei eine virtuelle Maschine zum Einsatz. 2.1.1 Vor- und Nachteile der Virtualisierung Für den Betreiber von IT-Diensten bringt der Einsatz von Virtualisierungstechniken eine Reihe von Vorteilen [4]: Ressourcen-Nutzung: Physische Server sind oft nur schwach ausgelastet, da man genügend Reserven zur Abdeckung von Lastspitzen einplant. Bei virtuellen Maschinen kann eine Lastsituation aus dem Ressourcen-Pool befriedigt werden. Der Kauf zusätzlicher Kapazitäten kann bei wachsenden Anforderungen verzögert oder vermieden werden. Management: Die Verwaltung der Ressourcen in den Pools kann automatisiert werden. Virtuelle Maschinen können nach Bedarf automatisch erzeugt und konfiguriert werden. Konsolidierung: Unterschiedliche Anwendungsklassen können auf einer geringeren Anzahl physischer Komponenten zusammengefasst werden. Neben der Server- und Speicherkonsolidierung können auch ganze Systemlandschaften, Daten und Datenbanken, Netzwerke und Desktops einbezogen werden. Konsolidierung führt zur Effizienzsteigerung und damit zur Kostensenkung. Energieverbrauch: Die Versorgung mit Energie ist in großen Rechenzentren oft nicht mehr einfach zu realisieren und die Energiekosten zum Betrieb eines Servers übersteigen über die Lebensdauer gesehen inzwischen dessen Beschaffungs-

2.1 Virtualisierung 11 kosten. Die Konsolidierung reduziert die Zahl der physischen Komponenten. Dadurch sinken auch die Aufwendungen für die Energieversorgung. Platzersparnis: Rechenzentrumsfläche ist knapp und teuer. Die Konsolidierung erbringt dieselbe Leistung auf weniger Stellfläche, und die kostspielige Erweiterung eines bestehenden Rechenzentrums kann u. U. vermieden werden. Notfallplanung: Virtuelle Maschinen können zwischen verschiedenen Ressourcen-Pools verschoben werden. Man erreicht damit eine bessere Verfügbarkeit von Diensten und die Einhaltung von Dienstgütevereinbarungen (Service Level Agreements) ist einfacher. Hardware-bedingte Wartungsfenster können prinzipiell entfallen. Da die Anbieter von Cloud-Diensten sehr große Ressourcenzentren (IT-Fabriken) bauen, entsteht auf der Basis der Virtualisierung neben dem Größenvorteil zusätzlich eine stark verbesserte Kostensituation. Aus der Sicht des Kunden ergeben sich die folgenden Vorteile: Dynamik: Anforderungen können passgenau und ohne Wartezeiten befriedigt werden. Im Fall von Engpässen stehen einer virtuellen Maschine zusätzliche Ressourcen zur Verfügung (z. B. Speicher, I/O-Leistung). Verfügbarkeit: Dienste können hoch verfügbar und unterbrechungsfrei rund um die Uhr genutzt werden. Anwendungen können im Fall von Technologie-Upgrades im laufenden Betrieb migriert werden, da die Verschiebung virtueller Maschinen auf ein aktuelles System problemlos möglich ist. Zugriff: Die Virtualisierungsschicht bewirkt eine Isolation der virtuellen Maschinen, sowohl voneinander als auch von der physischen Infrastruktur. Dadurch sind die virtuellen Systeme multi-mandantenfähig und es können über ein Rollenkonzept in sicherer Weise Managementfunktionalitäten an den Kunden delegiert werden. Kunden können IT-Leistungen

12 2 Grundlagen über ein Portal in Selbstbedienung erwerben (Emanzipation des Kunden). Als Nachteil der Virtualisierung ist zu werten, dass der Betrieb der Abstraktionsschicht selbst Ressourcen benötigt. Die aktuellen Virtualisierungstechniken sind allerdings so weit ausgereift, dass sich dieser zusätzliche Aufwand in Grenzen hält: Durch das besonders effektive Zusammenspiel aktueller Multicore- Systeme mit Virtualisierungstechnik spielt dieser Leistungsverlust heutzutage nur noch eine untergeordnete Rolle. Im Hinblick auf die möglichen Einsparungen und die qualitativen Vorteile aus Sicht des Kunden lohnt sich daher der Einsatz der Virtualisierung in fast allen Fällen. Eine weitere Problematik ist, dass nach der Konsolidierungsphase zunächst mehr Systeme zu betreiben und zu verwalten sind: Neben den virtuellen Maschinen gibt es zusätzlich noch die physischen Infrastrukturen. Durch die automatische Verwaltung der Ressourcen mit ausgefeilten Management-Werkzeugen fällt die Bilanz hier aber in der Praxis wegen des sehr viel geringeren Personalaufwands sogar positiv aus. 2.1.2 Virtualisierungskonzepte Virtualisierung steht stellvertretend für eine Vielzahl unterschiedlicher Konzepte und Technologien. Diese unterscheiden sich in ihrer Implementierung, Praxisrelevanz und Einsatzhäufigkeit.

2.1 Virtualisierung 13 Abb. 2.1 Konzept der Betriebssystemvirtualisierung (Container) 2.1.2.1 Betriebssystemvirtualisierung Die Verwendung der Betriebssystemvirtualisierung oder Partitionierung (z. B. IBM LPARs) kann in Cloud-Umgebungen helfen, Sicherheits- und Vertraulichkeitsprobleme zu lösen, die ansonsten die Akzeptanz des Cloud-Ansatzes behindern würden. Bei dieser Form der Virtualisierung, die man auch als Container oder Jails bezeichnet, spielt das Host-Betriebssystem eine entscheidende Rolle. Hier laufen unter einem Betriebssystemkern mehrere voneinander abgeschottete, identische (siehe Abbildung 2.1) Systemumgebungen bzw. Laufzeitumgebungen. Nach außen treten die virtuellen Umgebungen wie eigenständige Systeme auf. Alle laufenden Anwendungen verwenden denselben Betriebssystemkern, sehen aber nur Prozesse, mit denen sie sich gemeinsam in einer virtuellen Umgebung befinden. Speziell Anbieter von Internet-Diensten, sogenannte Internet Service Provider, die (virtuelle) Root-Server anbieten, nut-

14 2 Grundlagen zen gerne diese Art der Virtualisierung, da sie einen geringen Leistungsverlust und einen hohen Grad an Sicherheit bietet. Der Nachteil der Betriebssystemvirtualisierung ist die geringe Flexibilität, da ausschließlich mehrere unabhängige Instanzen desselben Betriebssystems und nicht verschiedene Betriebssysteme gleichzeitig eingesetzt werden können. Bekannte Vertreter der Betriebssystem-Virtualisierung sind die Containertechnologie von Sun Solaris, OpenVZ für Linux, Linux-VServer, FreeBSD Jails und Virtuozzo. 2.1.2.2 Plattformvirtualisierung Die Plattformvirtualisierung erlaubt die Ausführung beliebiger Betriebssysteme und Anwendungen in virtuellen Umgebungen. Es gibt zwei Modelle: Vollständige Virtualisierung und Para- Virtualisierung. Die Realisierung beider Lösungen geschieht auf der Basis eines Virtuellen Maschinen Monitors oder Hy- Abb. 2.2 Typ-1 Hypervisor (Virtueller Maschinen Monitor)

2.1 Virtualisierung 15 pervisors. Der Hypervisor ist ein auf ein Minimum reduziertes Metabetriebssystem, das die Hardwareressourcen unter den Gastsystemen verteilt und die Zugriffe koordiniert. Ein Typ-1 Hypervisor setzt dabei direkt auf der Hardware auf, ein Typ-2 Hypervisor läuft auf einem herkömmlichen Basisbetriebssystem (Abbildung 2.2). Die vollständige Virtualisierung basiert auf der Simulation eines kompletten virtuellen Rechners mit virtuellen Ressourcen wie CPU, Hauptspeicher, Laufwerken, Netzwerkkarten, usw. inklusive eigenem BIOS. Da der Zugriff auf die wichtigsten Ressourcen wie Prozessor und Hauptspeicher durchgereicht wird, entspricht die Verarbeitungsgeschwindigkeit der Gast-Betriebssysteme fast der Geschwindigkeit, die ohne Virtualisierung zu erwarten wäre. Andere Komponenten wie Laufwerke und Netzwerkkarten werden emuliert. Dies führt zwar zu Leistungseinbußen, ermöglicht aber die Ausführung unveränderter Gast-Betriebssysteme. Bei der Para-Virtualisierung steht den Gastbetriebssystemen keine emulierte Hardwareebene zur Verfügung, sondern lediglich eine Anwendungsschnittstelle. Dies erfordert die Modifikation der Gast-Betriebssysteme, da alle direkten Hardwarezugriffe durch den entsprechenden Aufruf der Schnittstelle zum Hypervisor zu ersetzen sind. Man spricht auch von Hypercalls in Anlehnung an die Systemaufrufe (Systemcalls), mit denen Anwendungen Funktionen im Betriebssystemkern aufrufen können. Da bei diesem Ansatz das Gastsystem gewissermaßen aktiv an der Virtualisierung mitarbeitet, erreicht man speziell bei I/O-intensiven Anwendungen tendenziell höhere Durchsatzraten als bei der vollständigen Virtualisierung. Beispiele für die vollständige Virtualisierung sind Produkte von VMware [135] oder speziell für Linux die Kernel-based Virtual Machine (KVM). Bei der Para-Virtualisierung kommen unter Linux meist Xenbasierte Lösungen zum Einsatz [14], die insbesondere bei der Realisierung der Amazon Web Services eine Rolle spielen [50].

16 2 Grundlagen 2.1.2.3 Speichervirtualisierung Cloud-Systeme sollten auch den Speicher dynamisch skalierbar als Dienst anbieten. Die Speichervirtualisierung führt in diesem Bereich zu einer Reihe von Vorteilen. Bei der Speichervirtualisierung ist die grundlegende Idee, den Datenspeicher von den klassischen File-Servern zu trennen und die physischen Speicher in Pools zusammenzufassen. Aus diesen Pools bedienen Anwendungen dynamisch ihre Speicheranforderungen. Die Datentransfers laufen dabei über ein spezielles Speichernetzwerk (SAN) oder ein Firmennetzwerk (LAN). Bei Cloud-Angeboten stehen die Daten meist in Form von Web-Objekten zur Verfügung, die über das Internet abgerufen bzw. manipuliert werden können. Man schiebt zusätzlich eine abstrakte Verwaltungsschicht zwischen die Klienten und die Speicherlandschaft, um die Darstellung eines Datums von der physischen Speicherung zu entkoppeln. Es entstehen somit vielfältige Vorteile im Bezug auf das Daten-Management und die Skalierbarkeit des Zugriffs. Das zentrale Management führt auch zu einem günstigeren Betrieb der verteilten Speicher. Darüber hinaus ist es möglich, Datenspeicher verschiedener Kategorien in Speicherhierarchien zu organisieren (Tier- Konzept). Dadurch kann man ein automatisiertes Lifecycle- Management für Datensätze realisieren, vom Tier-0 mit den höchsten Anforderungen im Hinblick auf Verfügbarkeit und Bandbreite, hin zu tieferen und preiswerteren Tier-Stufen mit entsprechend geringerer Dienstgüte. Die Daten können hierbei zwischen den Stufen ohne Beeinträchtigung des Dienstes migriert werden. Auch die Sicherung großer Datenmengen ist durch Snapshots ohne spezielles Backup-Fenster möglich. Ein weiterer Vorteil der Speichervirtualisierung ist die automatische Anlage und Verwaltung von verteilten Spiegeln zur Vermeidung von Dienstunterbrechungen bei Störungen. So legt z. B. Amazon