Ausarbeitung als Leistungsnachweis für das Modul Hauptseminar

Größe: px
Ab Seite anzeigen:

Download "Ausarbeitung als Leistungsnachweis für das Modul Hauptseminar"

Transkript

1 FAKULTÄT FÜR INFORMATIK UND MATHEMATIK Hauptseminar 07 Cloud Computing Ausarbeitung als Leistungsnachweis für das Modul Hauptseminar Autor: Sven Marquart (B.Sc.) Betreuung: Prof. Dr. Alfred Nischwitz Prof. Dr. Ulrike Hammerschall Abstract Diese Seminararbeit beschäftigt sich zunächst mit der Betrachtung Cloud Computings als Hype und zeigt anschließend dessen historische Entwicklung auf. Anschließend werden verschiedene Definitionen, Charakteristiken, Organisationsformen und Service Modelle genauer betrachtet. Danach werden die zu Grunde liegende Basistechnologien von Cloud Computing aufgelistet und jeweils abgegrenzt. Zusammenfassend lässt sich sagen, dass Cloud Computing Virtualisierungstechnologien nutzt um IT-Ressourcen als Utility anzubieten. Es teilt sich verschiedene Aspekte mit Vorgänger Technologien, wie Grid Computing und Autonomic Computing und verfolgt Geschäftsmodelle, die dem Utility Computing entsprechen sowie aus dem Application Service Providing ableitbar sind. Dabei werden die angebotenen Cloud Services in Service-orientierten Architekturen zur Verfügung gestellt. Abschließend wird der Begriff der Skalierung näher erläutert und anhand der Ubuntu Enterprise Cloud eine mögliche Cloud Architektur aufgezeigt. Abgerundet wird die Arbeit durch ein praktisches Beispiel auf der Google App Engine. Hierzu werden technische Möglichkeiten und Lizenzmodell des Plattform as a Service von Google näher betrachtet und mittels einer exemplarischen Implementierung der Skalierungseffekt näher untersucht. Hochschule für angewandte Wissenschaft München Fakultät für Informatik und Mathematik Masterstudiengang Informatik Schwerpunkt Software Engineering

2 Inhaltsverzeichnis Inhaltsverzeichnis... I Abbildungsverzeichnis... III Tabellenverzeichnis... III Abkürzungsverzeichnis... IV 1. Einführung Der Hype Historie Definition Klassifikationen der Rollen in der Cloud Charakteristiken von Cloud Services Organisationsformen der Cloud Private Cloud Public Cloud Hybrid Cloud Community Cloud Services in der Cloud Everything as a Service Infrastructure as a Service Platform as a Service Software as a Service Human as a Service Zuordnung der Services zur Cloud Architektur Basistechnologien und Abgrenzung Utility Computing Seite I

3 5.2 Virtualisierung Grid Computing Application Service Providing Autonomic Computing Service-orientierte Architektur Praktisches Beispiel in der Cloud Skalierung Google App Engine Realisierung Fazit Literaturverzeichnis Anhang... i 8.1 Server Implementierung...i 8.2 Client Implementierung... vii Hinweis zur Warenzeichen- und Markenschutz-Gesetzgebung: Die Widergabe 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. Seite II

4 Abbildungsverzeichnis Abbildung 1: Unzählige Begriffe rund um Cloud Computing... 1 Abbildung 2: Gartner Hype-Cycle im Vergleich zu anderen Technologien... 2 Abbildung 3: Cloud Computing im Gartner Hype-Cycle... 3 Abbildung 4: Indeed Trend zu Cloud Computing... 3 Abbildung 5: Google Trend - Search Volume Index... 4 Abbildung 6: Seitenbesuche von amazon.com und austialianopen.com [17]... 5 Abbildung 7: Technologische Entwicklung von Cloud Computing... 6 Abbildung 8: Rollen in Cloud Computing nach Berkeley... 9 Abbildung 9: Vertikaler Schnitt durch die Cloud Computing Schichten...10 Abbildung 10: Überblick über die Organisationsformen...14 Abbildung 11: Schichtenmodell der Service Angebote in der Cloud...17 Abbildung 12: Cloud Computing Architecture...23 Abbildung 13: Effekt einer guten Skalierung...30 Abbildung 14: Beispielhafte Ubuntu Enterprise Cloud Architektur...32 Abbildung 15: Logo der Google App Engine...33 Abbildung 16: Verschiedene Eclipse Erweiterungen für die Entwicklung einer GAE Anwendung...40 Abbildung 17: GWT Compiler...41 Abbildung 18: Screenshot der Benutzeroberfläche...41 Abbildung 19: Das Google App Engine Dashboard...43 Abbildung 20: Testergebnisse des zweiten Versuchs...44 Abbildung 21: Testergebnisse des dritten Versuchs...44 Abbildung 22: Testergebnisse des vierte Versuchs...45 Abbildung 23: Testergebnisse des fünften Versuchs...46 Abbildung 24: Abschließender Testdurchlauf...47 Abbildung 25: Entwicklung der Instanzen während und nach des Tests...47 Tabellenverzeichnis Tabelle 1: Infrastructure as a Service Angebote und Werkzeuge...19 Tabelle 2: Platform as a Service Angebote und Werkzeuge...20 Tabelle 3: Software as a Service Angebote und Werkzeuge...22 Tabelle 4: Unterscheidungsmerkmale von Grid und Cloud Computing...27 Tabelle 5: Überblick der Google App Engine Funktionalität...34 Tabelle 6: Quotas für die Benutzung von Google App Engine...37 Tabelle 7: Preise für Ressourcen der Google Infrastruktur...38 Tabelle 8: Testergebnisse des ersten Versuchs...43 Tabelle 9: Überblick über die durchgeführten Tests...47 Seite III

5 Abkürzungsverzeichnis ASP Application Service Providing APIs Application Programming Interfaces AWS Amazon Web Services CLC Cloud Controller CC Cluster Controller CaaS Communication as a Service ColaaS Collaboration as a Service CGaaS Computer Games as a Service CSS Cascading Style Sheets EC2 Amazon Elastic Compute Cloud EDV Elektronische Datenverarbeitung EE Execution Environments Eucalyptus Elastic Utility Computing Architecture Linking Your Programs To Useful Systems GAE Google App Engine GWT Google Web Toolkit HITs Human Intelligence Tasks HuaaS Human as a Service IaaS Infrastructure as a Service JRE Java Runtime Environment JSP Java Server Page JEE Java Platform Enterprise Edition KMU kleinere und mittlere Unternehmen MD5 Message-Digest Algorithm 5 NC Node Controller NIST National Institute of Standards and Technology PSP Plattform Service Provider PaaS Platform as a Service PE Programming Environments SaaS Software as a Service SLA Service Level Agreements SOA Service-orientierte Architektur SOAP Simple Object Access Protocol SC Storage Controller UEC Ubuntu Enterprise Cloud VM Virtuelle Maschine VPN Virtual Private Network-Verbindung WSDL Web Services Description Language XMPP Extensible Messaging and Presence Protocol XaaS Everything as a Service Seite IV

6 1. Einführung Abbildung 1: Unzählige Begriffe rund um Cloud Computing Quelle: [1] Die Medien, als auch die Industrie, überschlagen sich seit einiger Zeit, was Wortneuschöpfungen im Zusammenhang mit Cloud Computing betreffen. Der Leser versteht meist nicht mehr als einen abstrakten Begriff, der wohl gewissermaßen mit Wolken zu tun hat und etwas im Verborgenen bereitstellt. Dabei gibt es sehr viele Definitionen, die sich teilweise stark ähneln, manchmal auch widersprüchlich sind. Des Weiteren gibt es durchaus kritische Stimmen und eine kaum zu überblickende Anzahl von Angeboten und neuartigen Dienstleistungen. Doch was verbirgt sich hinter diesem abstrakten, nebulösen und omnipräsenten Thema Cloud Computing? Handelt es sich um einen einmaligen und kurzlebigen Hype oder wird uns der Begriff des Cloud Computing die nächsten Jahre oder gar Jahrzehnte verfolgen? Die folgende Arbeit soll grundlegende Konzepte, Definitionen und Techniken näher beleuchten und einen Einblick in das abstrakte Thema Cloud Computing geben. Dabei wird der geneigte Leser feststellen, dass es sich bei Cloud Computing nicht etwa um eine nicht zu fassende neue Technologie handelt, sondern vielmehr um eine Zusammenfassung und damit um eine logische und konsequente Weiterentwicklung einiger bereits seit Jahren etablierten Technologien. Des Weiteren ist Cloud Computing deshalb sehr attraktiv, weil es die Komplexität der Informationstechnologie vor den Nutzern und Entwicklern verbirgt. Seite 1

7 1.1 Der Hype Der folgende Abschnitt basiert auf [2] und [3]. Das Cloud Computing aktuell ein großer Hype ist, zeigt beispielsweise Gartner [4] anhand des jährlichen erscheinenden Hype Cycles. Der Hype-Zyklus von Gartner beschreibt die öffentliche Aufmerksamkeit auf eine Technologie in einem wiederkehrenden Zyklus und wurde von der heutigen Gartner Vizepräsidentin Jackie Fenn entwickelt. Der Hype-Zyklus dient heute Technologieberatern zur Bewertung in der Einführung neuer Technologien. Auf der Y-Achse ist die Aufmerksamkeit für die entsprechende Technologie aufgetragen, während auf der X-Achse die Zeit seit Bekanntgabe markiert ist. Der Zyklus besteht dabei aus fünf Phasen, die jede neue Technologie bei ihrer Einführung zu durchlaufen scheint. In Abbildung 3: Cloud Computing im Gartner Hype-Cycle wird der Verlauf von Cloud Computing im Gartner Hype-Cycle dargestellt 1. Zu erwarten ist, dass Cloud Computing kurz vor dem Abfall in die dritte Phase "Through of Deillusionment" steht, da es derzeit noch einen enormen Hype um die Technologie gibt. Abbildung 2: Gartner Hype-Cycle im Vergleich zu anderen Technologien Quelle: [4] Bereits im Juli 2008 stand Cloud Computing kurz vor der zweiten Phase "Peak of Inflated Expectations" im Hype-Cycle und konnte so den ersten Durchbruch verzeichnen und wurde mit großem öffentlichem Interesse verfolgt. Cloud Computing geht einher mit anderen Trends wie beispielsweise GreenIT, Grid Computing, Virtualization und Utility Computing. Dies erklärt möglicherweise den rasanten Anstieg des Themas zum Hype. Denn bereits kurz nach der Benennung des neuen Paradigmas erzeugte Cloud Computing ein erhebliches Interesse in den Medien und der Industrie. Jedoch ist die Verwendbarkeit und Rentabilität eines Hypes in der zweiten Phase noch unbewiesen. Kennzeichnend ist auch, dass Cloud Computing bereits in dieser Phase als werbewirksames Reizwort eingesetzt wird, ohne genau zu erläutern 1 Leider konnte zum Zeitpunkt der Arbeit noch keine Daten für den Juli 2011 abgerufen werden. Seite 2

8 was die beworbenen Produkte mit dem Begriff zu tun haben oder den Begriff Cloud Computing selbst zu definieren [5]. Abbildung 3: Cloud Computing im Gartner Hype-Cycle Quelle: Verschiedene Abbildungen aus den Jahren 2008, 2009, 2010 [4] Im Juli 2009 erreichte der Hype beinah die Spitze des Zyklus, der sich durch überstürzte Berichte über Durchbrüche kennzeichnet. In dieser zweiten Phase eines Trends wird sehr viel Werbung betrieben 2, wobei die Technologie oft noch von vielen Fehlern begleitet wird3. Die Berichte über die Technologie erzeugen in der Phase jedoch einen übertriebenen Enthusiasmus und überzogene Erwartungen. Die Werte im Juli 2010 deuten darauf hin, dass Cloud Computing der Fall in die dritte Phase kurz bevor steht. Ab diesem Zeitpunkt würde Cloud Computing an Interesse verlieren, da die propagierten überzogenen Erwartungen nicht erfüllt werden. Es findet eine gewisse Markbereinigung der Anbieter statt. Als Konsequenz wird die Berichterstattung abebben. Abbildung 4: Indeed Trend zu Cloud Computing 2 Wie es beispielsweise Microsoft mit Ihrer "Auf in die Cloud"-Kampanie betrieben hat. 3 Ein Beispiel hierfür liefert [22] und [23] Berichte von heise online. Seite 3

9 Der aktuelle Hype ist weder gut noch böse, sondern eine normale Phase, durch die jede neue Technologie muss - ebenso, wie der Absturz und die Desillusionierung (Vgl.: [6]). Schenkt man einem Spiegel Online Artikel über Hype-Zyklen neuer Technologien glauben, "entfaltet sich das Potenzial einer Innovation oft erst dann, wenn ihr Ruf durch den Hype und den anschließenden Absturz schon leicht ramponiert ist." Mach nicht mit, nur weil es in ist. Verpasse es nicht, nur weil es out ist", fasst Jackie Fenn die Botschaft ihrer Fieberkurve der Aufmerksamkeit zusammen" [6]. Es bleibt abzuwarten wann der Übergang in die vierte Phase "Slope of Enlightenment" erfolgt und wie sich daraus ein besseres Verständnis für Nutzen, Risiken und Anwendbarkeit aber auch zur Abgrenzung der Technologie entwickelt. Ebenso spannend bleibt, wie sich der Hype der fünften Phase "Plateau of Productivity" nähern wird. In dieser Phase nähert sich eine neue Technologie einer allgemeinen Akzeptanz. Abbildung 5: Google Trend - Search Volume Index In der fünften Phase wird die Beurteilung einer Technologie klar definiert und Werkzeuge werden zunehmend stabiler. Trendumfragen von Google [7] oder Indeed [8] (siehe: Abbildung 4: Indeed Trend zu Cloud Computing und Abbildung 5: Google Trend - Search Volume Index) zeigen, dass sich die Hype Prognosen von Gartner wohl als zutreffend herausstellen sowie das große Interesse an dem Thema. Im Hype Cycle werden den einzelnen Technologien ein gewisser Zeitraum zugewiesen, innerhalb dessen zu erwarten ist, dass sich die Technologie vom Hype zum Mainstream entwickelt. Für Cloud Computing prognostiziert Gartner im Jahr 2010 für diese Entwicklung eine Zeitspanne von zwei bis fünf Jahre. Dies bedeutet gleichzeitig, dass eine Technologie, die den Mainstream erreicht hat, aus dem Hype Cycle entfernt werden müsste. Betrachtet man Cloud Computing mit allen Service Anbietern, Angeboten und Basistechnologien, wie sie sich in den letzten Jahren oder Jahrzenten entwickelt hat, ist zu erkennen, dass es sich bei Cloud Computing weniger um einen Hype, als um einen Paradigmenwechsel handelt. Dieses Paradigma entstand weniger aus einer wissenschaftlichen Errungenschaft, sondern mehr aus einer praktischen Notwendigkeit. Amazon, IBM, Google, Microsoft und seit kurzem auch Apple mit dem icloud Angebot [9] beschleunigen die allgemeine Akzeptanz und haben es innerhalb kürzester Zeit geschafft, Cloud Computing vom kurzweiligen Hype ohne Ernüchterungsphase direkt zum Mainstream und damit zum state of the art aufsteigen zu lassen. Dies liegt auch darin begründet, dass Cloud Computing, anders als andere Technologien, aus einer Vielzahl von Vorgängertechnologien resultiert. Larry Ellison Seite 4

10 CEO von Oracle sagte beispielsweise 2008 auf dem Oracle Analyst Day "The interesting thing about cloud computing is that we ve redefined cloud computing to include everything that we already do. [...]". Ein Einbruch der Nutzung von Cloud Angeboten ist nicht zu erwarten. Eine Marktbereinigung wird sich, wenn sie stattfindet, auf kleinere Cloud Anbieter konzentrieren. Um eigene Kosten zu senken, werden große Service Anbieter ihre Service Angebote weiterhin ausbauen, indem die zur Verfügung stehenden Ressourcen ausgenutzt werden. Es ist also damit zu rechnen, das Gartner in seiner neuen Prognose 2011 den Aufstieg von Cloud Computing auf weniger als zwei Jahre einstufen oder sogar aus den Hype Status entfernen wird. 1.2 Historie Der Begriff Cloud Computing tauchte erst gegen Ende des Jahres 2007 in den Medien auf. Es war das 3. Quartal des Jahres 2007, in dem der Begriff Marktreif wurde und zu einer wahren Werbeschlacht führte. Einen ersten englischen Wikipedia-Eintrag gab es jedoch bereits am 3. März 2007 [10]. Im Jahr 2008 versuchte schließlich Dell [11] den Begriff Cloud Computing als Handelsmarke zu patentieren, scheiterte jedoch vor dem U.S. Patent and Trademark Office (Abk.: USPTO) [12]. Tatsächlich startete Amazon [13] bereits im August 2006 ihre Testversion der Elastic Compute Cloud (Abk.: EC2) [14], dieses Datum dürfte wohl als Startschuss für die heutigen Cloud Dienste gelten. Amazon bietet mit ihrem EC2 Angebot die Möglichkeit IT-Ressourcen flexibel zu beziehen und setzte damit einen Meilenstein in dynamischen Geschäftsbeziehungen zwischen IT-Verbraucher und -Anbieter [10]. Das Unternehmen Google [7] stellte am 22. Februar 2007 seine "Google Apps for Business" Applikationen vor und ermöglicht so, nach eigenen Angaben, Unternehmen Cloud Computing [15]. In dem damaligen Pressebericht [16] findet sich jedoch der Begriff "Cloud" noch nicht. Fakt ist, dass der Begriff Cloud Computing maßgeblich durch die großen und schnell wachsenden IT-Unternehmen wie Amazon, Google, IBM und weiteren geprägt wurde und immer noch wird. Diese schnell wachsenden IT-Unternehmen stehen aufgrund ihrer schnell wachsenden Nutzerzahlen vor dem Problem, kontinuierlich wachsende Systeme vorhalten zu müssen, die in der Lage sind entsprechende Lastspitzen bedienen zu können. Abbildung 6: Seitenbesuche von amazon.com und austialianopen.com [17] Eine entsprechende Auskunft bei Alexa [17] zeigt, dass Amazon beispielsweise zum Ende jeden Jahres einen erhöhten Bedarf von IT-Ressourcen benötigt, während beispielweise die Seite der Australian Open Seite 5

11 die Lastspitzen zum Anfang des Jahres bedienen muss (siehe Abbildung 6: Seitenbesuche von amazon.com und austialianopen.com ). Aus dieser Verschiebung der benötigten Ressourcen entstand wohl bei Amazon die Idee, vorhandene IT-Ressourcen Anderen mittels eines Pay-per-use-Modells zur Verfügung zu stellen. Dabei adaptiert die Idee des Cloud Computing eine Reihe bereits bekannter Technologien wie Virtualisierung, Application Service Providing, Grid Computing, Utility Computing, Software-as-a-Service und Adaptive Computing (siehe auch Abbildung 7: Technologische Entwicklung von Cloud Computing) (Vgl.: [10]). So ist beispielsweise die Virtualisierung von IT-Ressourcen eine längst etablierte Technologie. Denn bereits in den sechziger Jahren wurden Virtualisierungstechniken entwickelt und damals für die Partitionierung großer Mainframe-Hardware zur Verbesserung deren Auslastung angewendet[18]. Darüber hinaus entstanden verschiedene Projekte für das verteilte Rechnen. Eines der bekanntesten Beispiele hierfür ist das Projekt [19], der Universität Berkeley im Jahr Abbildung 7: Technologische Entwicklung von Cloud Computing Quelle: Ursprünglich aus [10] erweiterte Abbildung So steht hinter der Entwicklung von Cloud Computing die konsequente Verlagerung bzw. Zentralisierung von IT-Dienstleitungen in das Internet (IT-Industrialisierung ([20], Seite 27)). Die Kombination und Adaption einzelner Produkte und Technologien hin zu Cloud Computing beinhaltet gleichzeitig, dass bestehende Technologien - eventuell auch dann, wenn Sie nicht 100% einer der Cloud Definitionen entsprechen - nunmehr unter dem Begriff des Cloud Computing vermarktet werden (Vgl.: [10]). Eventuell ist auch dies einer der Gründe dafür, dass es bislang noch keine allgemeingültige Definition von Cloud Computing gibt. Seite 6

12 2. Definition Bei dem Begriff Cloud Computing handelt es sich um einen Neologismus der sich aus den Wörtern Cloud (dt. Wolke) und Computing (to compute, dt.: rechnen) zusammensetzt. Häufig wird Cloud Computing mit "rechnen in der Wolke", "Datenwolke", "Rechnerwoke" oder auch "Wolkenrechnen" frei übersetzt. Dabei steht der Begriff Cloud als eine Metapher für das Internet, welche in der Netzwerk-Topologie als solche seit langem verwendet wird, um nicht erfassbare Transportwege über das Internet zu beschreiben (Vgl.[21], Seite 119). Unter dem Begriff Computing wird zwischenzeitlich mehr als nur das reine Rechnen verstanden. Vielmehr steht der Begriff in diesem Kontext für den kompletten Funktionsumfang eines modernen Computers, der zwar auf Rechenoperationen basierend, aber durch den erreichten Abstraktionsgrad mittlerweile oft nicht mehr als Rechenmaschine wahrgenommen wird. Tatsächlich wird heute das Wort Computing aus dem Englischen oft auch mit dem Begriff Elektronische Datenverarbeitung 4 (Abk.: EDV) oder dem Wort Computerwesen 5 übersetzt. Obwohl das Thema Cloud Computing seit Mitte-Ende 2007 (siehe auch: Abbildung 5: Google Trend - Search Volume Index) eine neu auftretende Technologie mit großem öffentlichen Interesse darstellt, existiert bislang keine standardisierte, einheitliche Definition des Begriffs (Vgl.: [22], Seite 3). So schreibt das National Institute of Standards and Technology (Abk.: NIST) in seiner Definition, dass es sich bei Cloud Computing um ein sich noch zu entwickeltes Paradigma handelt, dass durch weitere Debatten und Definitionen aber auch durch die zukünftige Nutzung sich weiter verfeinern wird (Vgl.: [23]), dies ist eine typische Eigenschaft von neu auftretenden Hypes [4]. Das NIST definiert Cloud Computing wie folgt: "Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models." [23] IBM definiert Cloud Computing wie folgt: "Cloud Computing ist ein sich abzeichnender Paradigmenwechsel für die Datenverarbeitung, wo sich Daten und Services in extrem skalierbaren Rechenzentren befinden und sind jederzeit zugreifbar über an das Internet angebundene Endgeräte. Es bietet äußerst skalierbare Rechenleistung sowohl für Anwendungen als auch für das Hosten der Anwendung an sich." ([21], Seite 119) 4 Siehe Beispielsweise: 5 Siehe Beispielsweise: Seite 7

13 Baun et.al. definieren Cloud Computing wie folgt: "Unter Ausnutzung virtualisierter Rechen- und Speicherressourcen und moderner Web- Technologien stellt Cloud Computing skalierbare, netzwerkzentrierte, abstrahierte IT- Infrastrukturen, Plattformen und Anwendungen als on-demand Dienste zur Verfügung. Die Abrechnung dieser Dienste erfolgt nutzungsabhängig" ([22], Seite 4) Das Bundesministerium für Wirtschaft und Technologie wie folgt: Cloud Computing beschreibt ein neues Computing Paradigma, nach dem Ressourcen der Informationstechnik (IT) wie Rechenleistung, Speicher, Applikationen und Daten dynamisch über das Internet bereitgestellt, verwaltet und abgerechnet werden. Quelle: Bundesministerium für Wirtschaft und Technologie In [24] werden 22 weitere Definitionen von Cloud Computing aufgelistet. Die verschiedenen Definitionen haben teilweise große Gemeinsamkeiten und drücken ähnliches aus. Was beispielsweise alle unter dem Begriff verstehen ist, dass es sich um die Bereitstellung von abstrahierten IT-Dienstleistungen handelt, die bedarfsgerecht über das Internet geliefert und nutzungsabhängig berechnet werden. Dabei kommen wenige neue Technologien zum Einsatz. Zusammenfassend lässt sich sagen, dass Cloud Computing Virtualisierungstechnologien nutzt, um IT-Ressourcen als Utilitys anbieten zu können. Es teilt sich dabei bestimmte Aspekte mit Vorgängertechnologien, wie Grid Computing und Autonomic Computing und verfolgt dabei Geschäftsmodelle die dem Utility Computing entsprechen und aus dem Application Service Providing ableitbar sind. Dabei werden die angebotenen Cloud Services in Service-orientierten Architekturen zur Verfügung gestellt. Cloud Computing unterscheidet sich dennoch in vielerlei Hinsicht von diesen Basistechnologien und bietet daher einzigartige Vorteile (Vgl.: [25], Seite 9). Laut der oft zitierten Definition des NIST besteht Cloud Computing aus fünf wesentlichen Charakteristiken, drei Service-Modellen und vier Organisationsformen, die im Folgenden genauer betrachtet und teilweise ergänzt werden [23]. Da die Grenzen als fließend [23] beschrieben sind, werden diese durch neue Trends stetig erweitert und je nach Serviceanbieter kombiniert. Die Skalierbarkeit nimmt dabei eine wesentliche Rolle ein, weshalb diese in einem Praxisbeispiel genauer betrachtet wird. 2.1 Klassifikationen der Rollen in der Cloud Im Cloud Computing werden nach Armbrust et.al. [26] vier Arten von Nutzern und Anbietern unterschieden (siehe auch Abbildung 8: Rollen in Cloud Computing nach Berkeley). Zum einen gibt es die klassischen Endverbraucher die lediglich Software as a Service Angebote nutzen und dementsprechend als SaaS-Benutzer bezeichnet werden. Demzufolge werden reine Software Service Provider als SaaS-Provider bezeichnet. Diese stellen den SaaS-Benutzern ihre Dienste zur Verfügung. Gleichzeitig handelt es sich oftmals bei den SaaS-Providern selbst um Serviceempfänger. Diese nutzen die bereitgestellte Infrastruktur und Plattform von Service-Providern um ihre Software SaaS-Benutzern zur Verfügung zu stellen. Service Seite 8

14 Provider die Infrastruktur und Plattform Angebote zur Verfügung stellen werden als Cloud-Provider bezeichnet, während SaaS-Provider ebenso als Cloud-Benutzer bezeichnet werden. In [25] wird beschrieben, dass in der Praxis meist Infrastruktur und Plattform von derselben Organisation angeboten werden. Als Beispiele werden Google und Salesforce genannt. Aus diesem Grunde werden Plattform- und Infrastruktur-Provider oft als infrastructure providers oder cloud providers bezeichnet [25], [26]. In einigen Fällen werden außerdem noch mehr Rollen vom selben Service-Provider wahrgenommen, beispielsweise wenn ein Infrastruktur-Provider gleichzeitig auch Software as a Service anbietet. Abbildung 8: Rollen in Cloud Computing nach Berkeley Quelle: [26] Was in [26] ungeklärt bleibt, ist, ob es eine weitere Rollenbezeichnung für Plattform as a Service als Provider gibt. Prinzipiell ist es durch die flexible Struktur der unterschiedlichsten Cloud Angebote möglich, dass ein SaaS-Benutzer von drei unterschiedlichen Service Providern versorgt wird. Der erste Service Provider würde hier lediglich die Infrastruktur zur Verfügung stellen. Der zweite Service Provider würde auf dieser Infrastruktur, Betriebssysteme und Plattform für die Programmierung von Software as a Service Angeboten bereitstellen. Während der dritte Service Provider diese nutzt um einem Endverbraucher ein Software as a Service Angebot anzubieten. Es existieren also vertikal durch alle Schichten eines Cloud-Service entsprechende Service-Provider, wie auch Service-Benutzer (siehe auch Abbildung 9: Vertikaler Schnitt durch die Cloud Computing Schichten). Im Allgemeinen kann gesagt werden, dass sich Verantwortung der jeweiligen Rollen verlagern. Beispielsweise gibt der SaaS-Benutzer Verantwortung in Form von Software und Diensten an den SaaS-Provider, der wiederum Verantwortung in Form eines Rechenzentrums an den Cloud-Provider auslagert. Seite 9

15 Abbildung 9: Vertikaler Schnitt durch die Cloud Computing Schichten Quelle: Eigene Abbildung Wie es zu den einzelnen Schichten in der Abbildung oben kommt, wird in späteren Kapiteln (siehe: 04. und 4.6) genauer erläutert. Fakt ist, dass es durch den flexiblen Aufbau von Cloud Services zu vielen unterschiedlichen Rollenaufteilungen kommt. Den unterschiedlichen Schichten wurden deshalb Nummern zugewiesen, so dass beispielsweise von 123-Servicelevel-Provider gesprochen werden könnte, wenn ein Provider Hardware-, Infrastruktur- und Plattformservice anbietet, welches aus Sicht von [26] dem Cloud Provider entspräche. 2.2 Charakteristiken von Cloud Services Als Charakteristiken werden im Folgenden Eigenschaften von Cloud Services beschrieben, die als typisch gelten. Die einzelnen Charakteristiken wurden der Definition des NIST [23] entnommen. Darüber hinaus gibt es von anderer Seite her viele weitere Grundcharakteristiken die Cloud Computing zugeschrieben werden. Diese beschreiben zusammenfassend den Rahmen von Cloud Services On-Demand Self-Service On-Demand Self-Service bedeutet in etwa "Bedarfs- oder Anforderungsgerechte Selbstbedienung" und besagt, dass Verbraucher ihrerseits bestimmen, welche Ressourcen sie nutzen. Dies entscheiden Verbraucher je nach Bedarf und werden vom IT-Dienstleister entsprechend Bedarfsgerecht beliefert. Das NIST schreibt in seiner Definition weiter, dass sich Cloud Services ohne jegliche Benutzerinteraktion automatisch bei Bedarf skalieren [23]. Diese Charakteristik geht auf Grundsätze und Technologien von Autonomic Computing (siehe auch: 5.5 Autonomic Computing) zurück. Cloud Computing erlaubt damit flexible Lizenzmodelle bei denen je nach Bedarf (auch: pay-per-use) abgerechnet wird. Aus diesem Grund richten sich On-Demand Lösungen zumeist an kleinere und mittlere Unternehmen (Abk.: KMU), die dadurch von teuren Investitionen sowie Lizenzierungen von Software und Hardware absehen können. Besonders interessant sind diese Angebote auch für Start-Up Unternehmen. I.d.R. sind darüber hinaus im Lizenzmodell weitere Dienstleistungen, wie beispielsweise Updates, Upgrades, Hotline und Wartung Seite 10

16 inbegriffen. Systeme müssen aus diesem Grund so gebaut sein, dass sie je nach Kundenanforderungen skalierbar sind Broad Network Access Broad Network Access bedeutet "breiter Netzwerk- oder Internetzugriff". Diese Charakteristik beschreibt, dass auf Ressourcen schnell zugegriffen werden muss und impliziert, dass sämtliche Ressourcen hoch verfügbar über ein Netzwerk oder aber über das Internet zur Verfügung gestellt werden. Abhängig von der Organisationsform (siehe auch 0 Seite 11

17 Organisationsformen der Cloud) die genutzt wird, liegen die Daten entweder innerhalb einer Organisation oder aber bei einem externen Service-Anbieter. Da On-Demand Systeme häufig auch über Echtzeitanforderungen verfügen, müssen diese über entsprechende Netzwerke erreichbar sein. Das NIST spricht auch davon, dass Cloud Services über Standard-Mechanismen in einem heterogenen Umfeld mit thin- oder thick-clients Plattformen einsetzbar sein müssen [23] Resource Pooling Resource Pooling bedeutet "Ressourcenbündelung". Damit ist der Zusammenschluss von Betriebsmitteln (im folgenden Ressourcen) eines Service Providers gemeint. Diese werden anschließend dem Verbraucher als Einheit präsentiert. Die im Verbund agierenden Ressourcen des Service Providers werden dabei so miteinander verbunden, dass sie mandantenfähig (engl.: multi-tenant) bleiben (Vgl.: [23]). Dem Verbraucher werden, je nach Bedarf, physikalische oder virtuelle Ressourcen zugewiesen. Mit dieser Charakteristik kann eine Abstimmung zwischen Angebot und Nachfrage erreicht werden. Das NIST spricht hierbei von einem Gefühl von Unabhängigkeit, die sich der Kontrolle des Verbrauchers entzieht. Dieser besitzt keine detaillierten Kenntnisse über die Lage der zur Verfügung gestellten Mittel [23]. Diese Charakteristik geht auf Grundsätze und Technologien von Grid Computing (siehe auch: 5.3 Grid Computing) zurück Rapid Elasticity Rapid Elasticity bedeutet "schnelle oder kurzfristige Elastizität bzw. Dehnbarkeit". Ressourcen des Service Providers können schnell und elastisch an die veränderten Bedürfnisse des Verbrauchers angepasst werden [Vgl.: [23]]. Rapid Elasticity beschreibt die Skalierung von Ressourcen, die in manchen Fällen auch automatisch, bspw. bei Lastspitzen, einsetzt (siehe hierzu auch: 6.1 Skalierung). Das NIST schreibt weiter, dass der Verbraucher damit den Eindruck gewinne, ihm stünden unbeschränkte Ressourcen zur Verfügung, die jederzeit hinzu gebucht werden können [Vgl.: [23]]. Diese Charakteristik geht auf Grundsätze und Technologien von Autonomic Computing (siehe auch: 5.5 Autonomic Computing) zurück Measured Service Measured Service bedeutet "richtig bemessene Dienste". Systeme der Service Provider kontrollieren und optimieren automatisch die Zuteilung von Ressourcen an einzelne Verbraucher. Der Ressourcenverbrauch wird dabei kontinuierlich gemessen. Die Ressourcennutzung wird also stetig überwacht und an die Bedürfnisse des Verbrauchers angepasst. Das NIST schreibt weiter, dass Informationen über die Veränderungen der Betriebsmittelnutzung Provider und Verbraucher zur Verfügung stehen um Transparenz für die spätere Abrechnung herzustellen [23]. Diese Charakteristik geht auf Grundsätze und Seite 12

18 Technologien von Autonomic Computing (siehe auch: 5.5 Autonomic Computing) und Utility Computing (siehe auch: 5.1 Utility Computing) zurück Weitere Charakteristiken Wie bereits angesprochen verfügt Cloud Computing über weitreichende Charakteristiken. Die Zuvor aufgezählten fünf gehören nach Ansicht der NIST zu den wesentlichsten und stecken einen groben Rahmen für Cloud Services ab. Darüber hinaus wird in verschiedenen Quellen von anderen Charakteristiken gesprochen die oft auch auf die von NIST definierten Hauptcharakteristiken zurückzuführen sind. Im Folgenden werden die einzelnen Charakteristiken von Zhang et.al [25] kurz betrachtet und mit der NIST Definition verglichen. Dabei wird deutlich, dass die von Zhang et.al beschriebenen Charakteristiken im wesentlichen mit den NIST Charakteristiken übereinstimmen, aber eine andere Granularität besitzen. Multi-tenancy In einer Cloud Umgebung werden Daten von mehreren Verbrauchern auf einer einzelnen großen Datenbasis gespeichert. Multi-tenancy bedeutet, dass Cloud-Services zwischen den Daten unterscheiden können und beschreibt die Verwaltung der Daten und Interaktionen der einzelnen Akteure (oder auch: Mandanten). (Vgl.:[25], [23]) Shared resource pooling Shared resource pooling kann im Wesentlichen durch die Charakteristik Resource Pooling beschrieben werden. (Vgl.: [25], [23]) Geo-distribution and ubiquitous network access Geo-distribution and ubiquitous network access 6 beschreibt die Zugänglichkeit von Cloud Services über das Internet und die Verteilung der Infrastruktur auf mehrere geographisch unabhängige Rechenzentren. Dies lässt sich auf die Charakteristiken Broad Network Access und Resource Pooling zurückführen. (Vgl.: [25], [23]) Service oriented Beschreibt die serviceorientierten Geschäftsmodelle von Cloud Service, also On-Demand Self-Service und Measured Service. Im Gegensatz zur Darstellung von [26] werden jedoch i.d.r. keine direkten Service Level Agreement (Abk.: SLA) zwischen dem Verbraucher und dem Service-Provider ausgehandelt. (Vgl.: [25], [23], [27], Seite 8) 6 Der allgegenwärtige (engl.: ubiquitous) Zugriff der Verbraucher auf das Internet, ist meiner Meinung nach kein Charakteristik von Cloud Services. Sondern die Konsequenz aus der fortwährend steigenden Technologisierung der Gesellschaft. Seite 13

19 Dynamic resource provisioning Bei Dynamic resource provisioning handelt es sich um die Kombination aus Rapid Elasticity und Measured Service. (Vgl.: [25], [23]) Self-organizing Self-organizing beschreibt im Wesentlichen die Ansätze von On-Demand Self-Service und Rapid Elasticity und geht auf die Grundsätze von Autonomic Computing (siehe auch: 5.5 Autonomic Computing) zurück. (Vgl.: [25], [23]) Utility-based pricing: Utility-based pricing beschreibt das pay-per-use Preismodell und kann auf die Grundsätze von Utility Computing (siehe auch: 5.1 Utility Computing) zurückgeführt werden. Außerdem beschreibt es im Wesentlichen die Charakteristiken Measured Service und On-Demand Self-Service. (Vgl.: [25], [23]) Seite 14

20 3. Organisationsformen der Cloud Im folgenden Abschnitt sollen schwerpunktmäßig die vier Organisationsformen (in der NIST Definition als deployment-models bezeichnet) betrachtet werden. Die Architektur einer Cloud lässt sich aus zwei unterschiedlichen Blickwinkeln betrachten. Zum Einen aus der rein technischen Sicht (siehe: 4.6 Zuordnung der Services zur Cloud Architektur) und zum Anderen aus der organisatorischen Sicht. Die organisatorische Sichtweise befasst sich mit den einzelnen Akteuren, also Service Provider und Verbrauchern sowie deren Kapselung. Mit Kapselung ist in diesem Kontext die Zugriffsmöglichkeit von Verbraucher auf die Services des Providers gemeint. Cloud basierte Architekturen werden in Private Cloud, Community Cloud, Public Cloud und Hybrid Cloud eingeteilt [23] die im Folgenden beschrieben werden. Dabei existieren nur zwei reine Cloud Organisationsformen, die sich in ihrer technischen Realisierung jedoch nicht grundsätzlich unterscheiden ([20], Seite 29). Abbildung 10: Überblick über die Organisationsformen Quelle: In Anlehnung an [22] 3.1 Private Cloud Private Clouds werden auch als "Internal Cloud" bzw. "IntraCloud" ([22], Seite 25) oder "Enterprise Cloud"([20], Seite 29) bezeichnet. Hierbei handelt es sich um die erste der beiden erwähnten Reinformen von Cloud Organisationsformen. Bei Private Clouds handelt es sich um Cloud Systeme, deren Infrastruktur so betrieben bzw. gekapselt wird, dass nur eine bestimmte Organisation die angebotenen Services nutzen kann. Folglich gehen einige Definitionen davon aus, dass es sich bei Service Provider und Seite 15

21 Service Verbraucher um ein und dieselbe Organisation handeln muss ([20], Seite 30, [27], Seite 8, [20], Seite 30). Das NIST definiert jedoch, dass es sich dabei durchaus um unterschiedliche Anbieter handeln kann, jedoch die Infrastruktur des Providers exklusiv für eine Organisation betrieben wird [23]. Die Kapselung zur Cloud Infrastruktur ist auf eine Organisation beschränkt bzw. wird nur für diese betrieben (Vgl.: [23], [20], Seite 30). Die Zugänge können von der Organisation bspw. für autorisierte Geschäftspartner, Kunden und Lieferanten oder auch staatlichen Kontrollorganen freigeschaltet werden (Vgl.: [20], Seite 30). Dabei könnten beispielsweise staatliche Kontrollorgane während einer Betriebsprüfungen (siehe GDPdU 7, unmittelbarer Zugriff [Z1]) der Zugriff temporär gewährt werden. Der Zugriff auf die Cloud wird hierbei zumeist über eine Virtual Private Network-Verbindung (Abk.: VPN) realisiert ([20], Seite 30). Der Verbraucherorganisation bzw. der betreibenden Organisation bleibt dennoch die Kontrolle über die Daten. Probleme zu spezifischen Fragen zur Datensicherheit in Public Clouds werden dadurch mehr oder weniger hinfällig. Gerade wichtige Unternehmensdaten, wie z.b. Kunden- oder Produktionsdaten, können durch Selbstverwaltung der Angebote besser geschützt werden (Vgl.: [27], Seite 8). Obwohl die Cloud auf kontrollierbaren, meist eigenen, Systemen betrieben wird, werden im Regelfall die gleichen technischen Schnittstellen wie auch in einer Public Cloud realisiert (Vgl.: [22], Seite 27). Dies hat den Vorteil, dass Private Cloud Lösungen bei Bedarf zu einer hybriden oder Public Cloud skaliert werden können (Vgl.: [22], Seite 27). Des Weiteren ermöglicht der Einsatz einer Private Cloud eine möglichst effiziente, standardisierte IT-Betriebsumgebung, die eine individuelle, auf die Geschäftsprozesse des Unternehmens zugeschnittene Anpassung erlaubt ([20], Seite 30, [27], Seite 8). Eine Private Cloud für ein Unternehmen kann bei einem Sichtwechsel zu einer Public Cloud einer einzelnen Abteilung im Unternehmen werden. 3.2 Public Cloud Public Clouds werden auch als "External Cloud" ([22], Seite 25) bezeichnet. Hierbei handelt es sich um die zweite der beiden erwähnten Reinformen von Cloud Organisationsformen. In einer Public Cloud wird die Cloud Infrastruktur öffentlich angeboten. Dies bedeutet, dass einer breiten Öffentlichkeit oder aber Organisationen die Möglichkeit einer Nutzung angeboten wird (Vgl.:[23]). Das NIST schreibt weiter, dass die Cloud Infrastruktur zu einer Organisation gehört, die Cloud Services vertreibt [4]. Dies bedeutet, dass Service Anbieter und potentielle Verbraucher nicht derselben organisatorischen Einheit angehören (Vgl.: [22]). "Die Anbieter machen ihre Cloud öffentlich zugänglich und bieten meist ein Web-Portal, in dem die Benutzer in Selbstbedienung die gewünschten Leistungsumfänge spezifizieren können" ([22], Seite 25). Der Service Provider protokolliert (siehe auch Measured Service) den genauen Verbrauch der in Anspruch genommenen Ressourcen mit. So entsteht die Möglichkeit auch nur die genutzten Ressourcen abzurechnen (Vgl.: [27], Seite 8). Zwischen dem Anbieter und Anwender existiert i.d.r. keine übergeordneten Rahmenverträge, meist beschränken sich die Verträge auf das angebotene Leistungsspektrum bzw. den tatsächlichen 7 Grundsätze zum Datenzugriff und zur Prüfbarkeit digitaler Unterlagen Seite 16

22 Ressourcenverbrauch (Vgl.: [27], Seite 8). Durch die bedarfsgerechte Abrechnung können für den Verbraucher deutliche Kosteneinsparungen resultieren (Vgl.: [27], Seite 8). 3.3 Hybrid Cloud Bei der Hybrid Cloud handelt es sich, wie auch bei der Community Cloud, um eine Mischform der Organisationsformen. Bei einer Hybrid Cloud setzt sich die Cloud Infrastruktur aus mehreren Cloud Systemen (Privat, Public oder Community) zusammen [23]. Meist sind Leistungsaspekte der Grund zur Nutzung einer Hybrid Cloud. Zum Beispiel betreiben Organisationen den Regelbetrieb Ihrer Anwendungen über eine Private Cloud, lagern aber, um Lastspitzen abzufangen, bestimmte Funktionalitäten in eine Public Cloud aus (Vgl.: [23]). Dabei kommen i.d.r. zwei unterschiedliche Cloud Infrastrukturen zum Einsatz, was in dieser Arbeit die Abgrenzung zu einer Community Cloud darstellt. In der NIST Definition heißt es weiter, dass der Zusammenschluss zweier Cloud Infrastrukturen über eine standardisierte, aber auch über eine proprietäre Technologie stattfinden kann [23]. "Häufig wird unter Hybrid Cloud aber auch das Zusammenspiel zwischen lokalen Anwendungen ( on premise ) und Anwendungen in der Cloud verstanden" ([27], Seite 9). 3.4 Community Cloud Die Community Cloud baut auf einer Private Cloud auf, wird jedoch nicht nur von einer Organisation, sondern von mehreren Organisationen gemeinschaftlich genutzt (Vgl.: [23]). Das NIST spricht in seiner Definition des Weiteren davon, dass diese Organisationen ein gemeinschaftliches Ziel verfolgen, zum Beispiel im Hinblick auf ihre Aufgaben, Sicherheitsanforderungen oder IT-Compliance [23]. Wie auch bei der Private Cloud beschrieben, gehen einige Definitionen davon aus, dass eine oder mehrere der gemeinsam agierenden Organisationen für den Betrieb der Cloud Infrastrukturen verantwortlich sind. In der NIST Definition wird jedoch auch der Betrieb einer externen dritten Organisation nicht ausgeschlossen [23]. In ([27], Seite 9) werden Community Clouds gar als Beispiel für eine Hybrid Cloud beschrieben. Organisationen, so heißt es, könnten durchaus eigene sensible Daten in einer Private Cloud belassen und auf branchenbezogene Daten gemeinschaftlich mit anderen Organisationen auf eine Public Cloud zugreifen. Hier hat eine klare technische Trennung aus Sicht der Unternehmen hinsichtlich Sicherheitsgründen zu erfolgen. Des Weiteren wird in ([27], Seite 9) bereits von Community Clouds gesprochen, wenn eine Private Cloud für Zulieferer und ggf. Kunden zugreifbar ist. Tatsächlich aber wird im Allgemeinen von einer Community Cloud gesprochen wenn mehrere Interessenvertreter gemeinschaftlich an einer einzelnen Cloud Infrastruktur angebunden sind und auf gleicher Augenhöhe kooperieren, wie es beispielsweise in Verbänden der Fall sein dürfte. Hier findet eine deutliche Vermischung der Bezeichnungen "Private Cloud", "Public Cloud" und "Hybrid Cloud" statt. Seite 17

23 4. Services in der Cloud Die NIST Definition definiert drei wesentliche Service Modelle innerhalb von Cloud Computing. Dabei werden diese Service-Modelle von unterschiedlichen Definitionen entweder erweitert oder aber weiter untergliedert. Im folgenden Kapitel werden zunächst die wesentlichen Service-Modelle genauer erläutert. Durch verschiedene Definitionen und den Angeboten von Firmen haben sich für diese Service-Modelle die Bergriffe "Software as a Service", "Plattform as a Service" und "Infrastructure as a Service" (auch als SPI-Service-Modelle bezeichnet) etabliert. Diese drei Service-Modelle haben alle die Tatsache gemeinsam, dass sie IT-Leistungen als Dienste bereitstellen. Anschließend wird diese um ein weiteres Human as a Service-Modell erweitert. Dabei können unterschiedliche Service-Modelle, wie in Abbildung 11: Schichtenmodell der Service Angebote in der Cloud dargestellt, in verschiedene Ebenen eingeteilt werden. Darüber schwebt das Paradigma "Everything as a Service" mit dem Gedanken zukünftig alles innerhalb der Cloud als Service anzubieten. Aus diesem Grund wird zu allererst auf diesen Gedanken eingegangen. Abbildung 11: Schichtenmodell der Service Angebote in der Cloud 4.1 Everything as a Service Bei Everything as a Service (Abk.: XaaS) oder auch Anything-as-a-Service[28] handelt es sich um ein Paradigma, das den Wunsch verdeutlicht alle wesentlichen IT-Leistungen über das Internet als Dienstleistung beziehen zu können. Da es sich um einen kollektiven Ansatz handelt, steckt hinter dem Paradigma eine Fülle von Service-Modellen, die diesen Gedanken genauer konkretisieren. Die vier Hauptvertreter sind Human as a Service, Software as a Service, Platform as a Service, und Infrastructure as a Service (Vgl.: [22], Seite 29), die im Folgenden näher betrachtet werden. Darüber hinaus existiert eine Vielzahl an Service-Modellen die sich i.d.r. in die erwähnten Hauptvertreter einordnen lassen. Folgend werden einige dieser Dienste aufgezählt: Storage as a Service Software Infrastructure as a Service Seite 18

24 Security as a Service Monitoring as a Service Network as a Service Communication as a Service Desktop as a Service Operating System as a Service und weitere Alle XaaS Konzepte haben die gemeinsamen oben genannten Charakteristiken und dienen der Kostenreduzierung. Dabei werden Dienste im Software-, Platform- und Infrastruktur-Bereich von Cloud Service Providern übernommen und dem Anwender als pay-per-use-modell zur Verfügung gestellt. 4.2 Infrastructure as a Service Als Infrastructure as a Service (Abk.: IaaS) werden Dienstleitungen verstanden, die es dem Verbraucher erlauben, beliebig über Hardwareressourcen oder andere grundlegende IT-Ressourcen zu verfügen [23]. IaaS bildet damit die Grundlage aller Cloud Service Angebote, da grundlegende Dienste wie Speicherplatz und Rechenkapazität über diesen Service bereitgestellt werden. Da die gesamte Infrastruktur also Server, Speicherplatz, Rechenkapazität, aber auch Netzwerkkomponenten, wie Router, Switches und Firewalls, i.d.r. mittels Virtualisierung bereitgestellt und nach dem pay-per-use-modell vermietet werden (Vgl.:[20]. Seite 24 ff.), wird in diesem Zusammenhang oft auch von Hardware as a Service gesprochen 8. Der IaaS- Benutzer besitzt die Möglichkeit auf der vom IaaS Provider zur Verfügung gestellte Infrastruktur, Betriebssysteme und Anwendungen zu installieren [23]. Der IaaS-Benutzer ist jedoch nicht in der Lage auf die darunter liegende Hardware (siehe auch: Abbildung 12: Cloud Computing Architecture) zuzugreifen oder diese zu verwalten. Ihm wird aber eventuell die Möglichkeit angeboten Netzwerkkomponenten, wie Beispielsweise hostspezifischen Firewalls oder Proxyserver, zu wählen [23]. Die IT-Ressourcen über die der Benutzer im Internet verfügen kann sind virtuell ([27], Seite 7). Dem Benutzer wird so eine abstrahierte Sicht auf die zugrundeliegende Hardware angeboten (Vgl.: [22], Seite 29 ff.). Ihm wird i.d.r. für die Verwaltung der eingesetzten IT-Ressourcen eine Weboberfläche zur Verfügung gestellt, mittels derer ein direkter Einfluss auf die betriebenen Ressourcen genommen werden kann (Vgl: [22], Seite 29 ff.). "Die primäre Service-Schnittstelle bietet darüber hinaus die erforderlichen Funktionalitäten für den operativen Betrieb, wie z. B. das Starten und Stoppen der Betriebssystem-Instanzen" ([22], Seite 30). Dabei wird die Infrastruktur des Service Provider so aufgestellt, dass sie bei Zeiten von Spitzenlasten dynamisch erweitert und skaliert werden kann. Bei IaaS ist der Service Provider lediglich für die Bereitstellung und Wartung der Hardware zuständig, weiter benötigte Ressourcen, wie beispielsweise das Betriebssystem oder individuelle Software, 8 Einige Autoren haben weitreichendere grundsätzliche Aufteilungen vorgeschlagen, bspw. könnten die Services weiter in Hardware as a Service, Data as a Service und Communication as a Service unterteilt werden ([27], Seite 1). Seite 19

25 werden von den Benutzern gesteuert (Vgl.: [29], Seite 2). Beispiele für einige IaaS Angebote finden sich in Tabelle 1: Infrastructure as a Service Angebote und Werkzeuge, übernommen und ergänzt aus [22]. Organisation Cloud Service Beschreibung Amazon Elastic Compute Cloud (EC2) Virtuelle Server Amazon Dynamo Speicherung von Schlüssel-Wert-Paaren Amazon Simple Storage Service (S3) Massenspeicher Amazon SimpleDB Datenbank as a Service (DaaS) Amazon CloudFront Content Distribution Network (CDN) Amazon SQS Nachrichten-Warteschlangen AppNexus AppNexus Cloud Virtuelle Server Bluelock Virtual Cloud Computing Virtuelle Server Bluelock Virtual Recovery Wiederherstellung virtueller Server bei Störungen Dropbox Dropbox Cloud Storage Massenspeicher Emulab Emulab Network Testbed Emulation logischer Netzwerke für Experimente ENKI Virtual Private Data Centers Bedarfsgerechte Bereitstellung virtueller Rechenzentren Reservoir Reservoir Open Nebula Open Source virtuelle Server-Pools FlexiScale FlexiScale Cloud Computing Virtuelle Server GoGrid Cloud Hosting Virtuelle Server GoGrid Cloud Storage Massenspeicher Google Google Big Table [7] Verteilter Speicher für strukturierte Daten Google Google File System Verteiltes Dateisystem HP ilo Lights out management HP Tycoon Markt-basierte Allokation von Cluster-Ressourcen Tabelle 1: Infrastructure as a Service Angebote und Werkzeuge 4.3 Platform as a Service Als Platform as a Service (Abk.: PaaS) wird Software bezeichnet die von einem Provider auf einer Cloud Infrastruktur meist nicht für Endverbraucher sondern hauptsächlich für Softwareentwickler betrieben wird ([22], Seite 33). Diese werden in unterschiedlichen Ausprägungen; Programming Environments (Abk.: PE) und Execution Environments (Abk.: EE) Umgebungen, angeboten. Programming Environments ([22], Seite 33) Programming Environments erweitern bereits existierende Programmiersprachen zum Beispiel durch Klassenbibliotheken mit einem bestimmten Anwendungsfokus. Ein typischer Vertreter ist beispielsweise das Django Framework [30]. "Die Ausführung der entstehenden Applikation erfolgt in Laufzeitumgebungen, die vom jeweiligen Programming Environment aus Projektsicht entkoppelt sind" ([22], Seite 33). Execution Environments (EE) ([22], Seite 33) Execution Environments dienen der Ausführung entwickelter Anwendungen auf der Zielplattform. Bekannte Vertreter sind beispielsweise Google App Engine und Azure von Microsoft. Seite 20

26 "An diesen Beispielen wird deutlich, dass die Execution Environments häufig mindestens ein eigenes Programming Environment mitbringen " ([22], Seite 33). In diesen Umgebungen lässt sich folglich eigene Software entwickelt und ausführen. (Vgl.: [22], Seite 33). Softwareentwickler verfügen damit über die Möglichkeit selbst Anwendungen auf der Infrastruktur des Service Provider zu betreiben. Hierzu bietet der Service Provider unterschiedliche Komponenten, wie Entwicklungsumgebung und Application Programming Interfaces (Abk.: APIs), an (Vgl.: [23]). Dienste des PaaS Providers können über die zur Verfügung gestellten APIs angesprochen und in die eigene Applikation eingebunden werden. Die Verbraucher haben zwar Kontrolle über die selbst erstellten Softwarekomponenten, die mittels des PaaS Providers betrieben werden, jedoch nicht über die zugrundeliegende Infrastruktur des Providers [23]. Die vom Entwickler auf dem PaaS System angebotenen Softwaresysteme können für Benutzer wiederum als SaaS angesehen werden. Dabei besitzt der SaaS-Benutzer eingeschränkte Kontrolle über die vom PaaS Service Provider angebotene Application Hosting-Umgebung (Vgl.: [23]). Die entwickelten Anwendungen laufen vollständig auf der vom PaaS Provider bereitgestellte Infrastruktur und nutzen dessen Ressourcen. Dabei kann der Softwareentwickler von allen typischen Charakteristiken (siehe: 2.2 Charakteristiken von Cloud Services) der Cloud profitieren. Dies bedeutet unter anderem eine automatische Skalierung der Ressourcen, genaue Messungen über die Nutzung von zur Verfügung gestellten Ressourcen und Abrechnung nach dem pay-per-use- Modell. Darüber hinaus bieten PaaS Provider die Möglichkeit den kompletten Lebenszyklus von Anwendungen vollständig zu verwalten. Damit werden viele der Vorteil der Endverbraucher aus dem SaaS Prinzip auf Softwareentwickler und Unternehmen übertragen. Diese benötigen nicht länger eine eigene Entwicklungsinfrastruktur, sondern können auf die des PaaS Providers zurückgreifen. Verantwortung über die zugrunde liegende Infrastruktur, wie Wartung, Update etc., wird also an den PaaS Provider abgeschoben. "Damit brauchen IT-Entwickler nur einen PC und eine leistungsfähige Internetverbindung um ihre Programme für Nutzer weltweit entwickeln und anbieten zu können" ([27], Seite 7). Beispiele für einige PaaS Angebote finden sich in Tabelle 2: Platform as a Service Angebote und Werkzeuge, übernommen und ergänzt aus [22]. Organisation Cloud Service Beschreibung Akamai EdgePlatform Content, Site, Application Delivery Facebook Facebook Werkzeuge und Umgebung für Applikationen im sozialen Netzwerk Facebook Platform Google App Engine Skalierbare Ausführungsumgebung für Web-Applikationen Microsoft Azure Entwicklungs- und Ausführungsumgebung für Microsoft Applikationen Microsoft Live Mesh Plattform zum Datenabgleich zwischen heterogenen Endgeräten NetSuite SuiteFlex Werkzeug zur Geschäftsprozessentwicklung in NetSuite Salesforce Force.com Entwicklung und Betrieb von Erweiterungen des Salesforce-CRM Sun Project Caroline Entwicklung und Betrieb von verteilten Web-Applikationen Zoho Zoho Creator Entwicklung und Betrieb Datenbankbasierter Web-Applikationen Tabelle 2: Platform as a Service Angebote und Werkzeuge Seite 21

27 4.4 Software as a Service Software as a Service (Abk.: SaaS) ist Software die von einem SaaS Provider auf einer Cloud Infrastruktur für Endverbraucher (auch: SaaS-Benutzer) betrieben wird [23]. Die Software wird i.d.r. über einen Thin Client, wie beispielsweise einem Webbrowser, aufgerufen [23] und on-demand über das Internet bereitgestellt ([25], Seite 10). Dabei besitzen Softwareangebote die über einen Webbrowser ausgeführt werden den großen Vorteil einer gewissen Plattformunabhängigkeit. Die angebotene Software läuft so beispielsweise auf Desktop PC als auch auf einem modernen Smartphone. Ein Weiterer Vorteil für den Benutzer ergibt sich durch die Tatsache, dass Software-Installationen nicht auf den lokalen PCs bzw. Servern installiert sind, sondern auf den vom SaaS Provider bereitgestellten Ressourcen laufen (Vgl.: [27], Seite 7). Das Betreiben der Cloud Infrastruktur sowie Installation und Konfiguration der angebotenen Software wird als Dienstleistung vom Service Provider übernommen (Vgl.: [23]) und dem Benutzer als pay-per-use-modell zur Verfügung gestellt (Vgl.: [27], Seite 7). "Aus Perspektive der beschriebenen Cloud- Architektur kann das SaaS Angebot auf Basis eines Angebots in PaaS oder IaaS beim Provider entwickelt und betrieben werden" ([22], Seite 35). Der SaaS Provider kann hierfür aber selbst Ressourcen von einem Infrastructure as a Service Provider mieten ([25], Seite 11). Der Benutzer hat deshalb keinerlei Kontrolle oder Verwaltungsmöglichkeiten über die zu Grunde liegende Infrastruktur, wie Server, Netzwerk, Firewall, Betriebssystem oder Speicher. Der Kontrollverlust des Verbrauchers bedeutet gleichermaßen, dass der Verbraucher sich nicht um Konfiguration und Wartung der genutzten Software kümmern muss und dadurch i.d.r. ein Kostenvorteil entsteht. Das NIST definiert dabei eine Ausnahme in Bezug auf begrenzte benutzer- und anwendungsspezifische Konfigurationsmöglichkeiten (Vgl.: [23]). Software- Angebote in der Cloud die vom Service Provider direkt an den Endkunden adressiert sind, gehören zu den SaaS-Angeboten (Vgl.: [22], Seite). "Dabei werden Infrastruktur-Ressourcen und Applikation zu einem Anwendungsservice gebündelt. Dabei nutzen alle Kunden dieselbe Anwendung und Infrastruktur eines Anbieters. Als Vorteil dieses 1:n-Ansatzes (1 Anbieter, n Kunden) gilt, dass Änderungen und Erweiterungen nur einmal vorgenommen werden und sofort von allen genutzt werden können. Der hohe Grad an Standardisierung begrenzt die kundenindividuelle Anpassbarkeit der Lösung und ist Ausdruck der schnell fortschreitenden Industrialisierung in der IT. Es wird damit gerechnet, dass sich die SaaS-Angebote schnell ausweiten werden." ([20], Seite 14). Laut Bundesverband Informationswirtschaft wird SaaS aufgrund der Möglichkeit Software situativ zu nutzen und nutzungsabhängig zu bezahlen, manchmal auch mit "Mietsoftware" bezeichnet. Weiter heißt es, dass diese Bezeichnung aufgrund der vielschichtigen Dienstleistungen des Service Providers nicht zutreffe und der Verbraucher mehr einen Anwendungsservice beziehe [Vgl.: [20], Seite 27]. Beispiele für einige SaaS Angebote finden sich in Tabelle 3: Software as a Service Angebote und Werkzeuge, übernommen und ergänzt aus [22], [25]. Seite 22

28 Organisation Cloud Service Beschreibung fluidops ecloudmanager SAP Landscape as a Service SAP Edition Google Google Docs Online Office Suite Google Google Maps API Application Service zur Integration von Landkarten und geographischen API Informationen Google OpenSocial Übergreifende Programmierschnittstelle zur Integration Sozialer Netze in Applikationen OpenID OpenID Verteiltes System zur Verwaltung systemübergreifender Benutzeridentitäten Foundation Microsoft Office Live Online Office Suite Salesforce Salesforce.com Erweiterbares CRM-System Tabelle 3: Software as a Service Angebote und Werkzeuge 4.5 Human as a Service Als Human as a Service (Abk.: HuaaS) wird die Einbindung menschlicher Ressourcen in Systeme oder Anwendungen verstanden. HuaaS wird von der NIST nicht definiert, differenziert sich jedoch stark von den anderen bereits vorgestellten Service-Angeboten. Daher lässt sich HuaaS schwer einem anderen Service-Paradigma einordnen. HuaaS baut auf den vorhandenen Service-Angeboten auf und zeigt, dass Serviceangebote auf die Ressource Mensch erweiterbar sind ([22], Seite 37). Der Mensch ist als Ressource insofern interessant, weil in bestimmten Fähigkeiten dem Rechnersystem überlegen ist. Beispielsweise bei der Erkennung von Schriftzeichen, Übersetzungsdienste oder kreativen Aufgaben ([22], Seite 37). "Typische Aufgaben verlangen wenige oder keinerlei Vorkenntnisse und den Auftraggebern steht damit in der Cloud eine potenziell große Menge von dynamisch skalierbaren Arbeitskräften zur Erledigung ihrer Aufgaben zur Verfügung" ([22], Seite 37) Crowdsourcing (Vgl.: [22], Seite 37 ff.) Der Begriff Crowdsourcing ist ein Neologismus, der sich aus "Crowd" und "Outsourcing" zusammensetzt und ursprünglich von Jeff Howe geprägt wurde [31] und kann als die dominante Unterkategorie von HuaaS bezeichnet werden. Unter Crowdsourcing versteht man die Verlagerung von Arbeit unterschiedlicher Komplexität und variierenden Umfangs in das Internet. Dabei werden diese Arbeiten nicht von Computern bzw. Systemen durchgeführt, sondern von einer Gruppe menschlicher Ressourcen. So können beispielsweise kreative Denkprozesse von Kunden eines Unternehmens bearbeitet werden und so der Innovationsprozesses von Organisationen nicht nur ausgelagert sondern auch eine Steigerung des Innovationspotentials erreicht werden (siehe auch: Open Innovation, aktuelle Beispiele [32]). Ein weiteres Beispiel ist Amazon Mechanical Turk[33], hier werden kleine Aufgaben sogenannte Human Intelligence Tasks (Abk.: HITs), an interessierte menschliche Ressourcen übertragen, die anschließend eine entsprechende Entlohnung erhalten. Ein drittes Beispiel sind auch die Seite 23

29 Bewertungsmethoden unterschiedlicher Plattformen, wie beispielsweise auf YouTube [34] oder Facebooks [35] "Gefällt mir", anhand derer Qualität von Produkten, Videos oder Beiträgen abgelesen werden können. 4.6 Zuordnung der Services zur Cloud Architektur In einigen Quellen wird Cloud Computing in Organisationsformen, Basistechnologien und dahintersteckender Infrastruktur aufgeteilt. Meist wird diese Schichtenarchitektur als "Cloud Architecture Stack" bezeichnet, dargestellt ([22], Seite 28), ([25], Seite 9). Hier soll jedoch der Architekturaufbau nach [25] betrachtet werden. [25] unterteilt die Architektur von Cloud Computing in vier Schichten, diese sind Application, Plattforms, Infrastructure und Hardware (siehe auch: Abbildung 12: Cloud Computing Architecture). Dabei sind die Service-Hosting-Umgebungen im Vergleich zu anderen Architekturen, wie beispielsweise dedicated server farms, modular aufgebaut. "Jeder der vier Schichten arbeiten lose gekoppelt mit der ober- oder unterhalb liegenden Schicht, so dass jede Schicht separat ausgetauscht und entwickelt werden kann". Diese modulare Schichtenarchitektur, vergleichbar mit dem OSI-Modell für Netzwerkprotokolle, ermöglicht eine breite Palette von Anwendungsanforderungen, während Verwaltungs- und Wartungsaufwand reduziert werden Application Abbildung 12: Cloud Computing Architecture Quelle: [25] [25] Bei der obersten Schicht handelt es sich um die reinen Cloud Anwendung. Diese Schicht nutzt anders als herkömmliche Anwendungen die automatische Skalierung, die ihr aus den darunterliegenden Schichten angeboten wird. Damit werden i.d.r. bessere Leistungen, höhere Verfügbarkeiten und geringere Betriebskosten erreicht. Anders als die darunterliegenden Schichten, die Ressourcen für den Betrieb oder zur Entwicklung von Anwendungen bereitstellen, werden in dieser Schicht keine IT-Ressourcen sondern Seite 24

30 direkt Anwendungen bereitgestellt. Für Benutzer entspricht diese Schicht den SaaS Angeboten der Service Provider, wie beispielsweise Salesforce, SAP Business ByDesign, YouTube und Facebook Platforms [25] Die Platforms-Schicht besteht im Wesentlichen aus dem Betriebssystem und dem vom Service Provider angebotenen Application Framework. Die Schicht baut auf der Infrastruktur-Schicht auf und bezweckt eine Minimierung des Aufwandes bei der Entwicklung und Bereitstellung von Anwendungen. Dabei werden die Anwendungen i.d.r. direkt in VM Containern bereitgestellt. Beispielsweise müssen sich Benutzer, meist Entwickler, so nicht um die Installation von Betriebssystemen oder Datenbanken kümmern und erhalten in vielen Fällen eine umfangreiche API (siehe exemplarisch: 6.2 Google App Engine). Die installierten Komponenten werden dabei vom Service Provider der Infrastruktur verwaltet. Für Benutzer entspricht diese Schicht dementsprechend den PaaS Angeboten der Service Provider, wie beispielsweise Google App Engine, Microsoft Azure und Amazone SimpleDB/S Infrastruktur [25] Die Infrastruktur-Schicht wird auch als Virtualisierungs-Schicht bezeichnet, da sie mit Hilfe von Virtualisierungstechnologien, wie Xen[36], KVM[37] und VMWare[38], einen Storage-Pool und IT- Ressourcen durch Partitionierung der physikalischen Ressourcen schafft 9. Sie dient demnach dazu, darunter liegende Hardwarekomponenten in Teilbereiche zu partitionieren. Die Infrastruktur-Schicht ist ein wesentlicher Bestandteil von Cloud Computing, da sie viele Schlüsselfunktionalitäten, wie dynamische Ressourcen-Zuteilung, durch Virtualisierung zur Verfügung stellt. Für Benutzer wird die Infrastrukturschicht in Kombination mit der darunterliegenden Hardware-Schicht als IaaS angeboten. Beispiele für IaaS Angebote sind: Amazone EC2, GoGrid und Flexiscale Hardware [25] Die Hardware-Schicht bezeichnet die zumeist in einem Rechenzentrum verbauten Hardwarekomponenten, die für den Betrieb einer Cloud benötigt werden. Zur Hardware-Schicht gehören IT- Ressourcen, beispielsweise CPU, Speicher, Netzwerkkomponenten, Festplattenspeicher, aber auch Ressourcen, wie die Stromversorgung oder Kühlsysteme. Typische Fragestellungen bei der Realisierung der Hardware-Schicht umfassen deshalb beispielsweise Hardware-Konfiguration, Fehlertoleranz, Traffic- Management, Stromversorgung, Ressource Management und Kühlung. Wird von einer Cloud Infrastruktur gesprochen wird damit meist die Hardware-Schicht mit der darauf aufbauenden Infrastruktur-Schicht bezeichnet. 9 Ein sehr guter Vergleich von KVM und Xen findet sich hier: [61] Seite 25

31 5. Basistechnologien und Abgrenzung Obwohl der Fachbegriff des Cloud Computing erst gegen Ende des Jahres 2007 in der Fachpresse aufgekommen ist, sind viele der Technologien und Ansätze (siehe auch Abbildung 7: Technologische Entwicklung von Cloud Computing), die eine Cloud Infrastruktur überhaupt realisierbar machen, längst in Wissenschaft und Praxis etabliert. Wie einige der wichtigsten Technologien Cloud Computing überhaupt ermöglichen und wo sich Cloud Computing von Ihnen abgrenzt, wird im Folgenden erläutert. Zusammenfassend lässt sich sagen, dass Cloud Computing Virtualisierungstechnologien nutzt um IT- Ressourcen als Utilitys anbieten zu können. Es teilt sich dabei bestimmte Aspekte mit Vorgänger Technologien, wie Grid Computing und Autonomic Computing und verfolgt dabei Geschäftsmodelle, die dem Utility Computing entsprechen und aus dem Application Service Providing ableitbar sind. Dabei werden die angebotenen Cloud Services in Service-orientierten Architekturen zur Verfügung gestellt. Cloud Computing unterscheidet sich dennoch in vielerlei Hinsicht von diesen Basistechnologien und bietet daher einzigartige Vorteile (Vgl.: [25], Seite 9 und [22], Seite 18 ff.). 5.1 Utility Computing "Cloud Computing folgt den Ideen des Utility Computing." ([22],Seite 2) Unter Utility Computing werden Techniken und Geschäftsmodelle verstanden, unter denen ein Service- Provider den Verbrauchern nur die tatsächlich verbrauchten Ressourcen berechnet. Diese Modelle werden i.d.r als pay-per-use Modelle bezeichnet. Dabei beschreibt der englische Begriff utility bislang allgemeine Versorgungsleistungen, wie Wasser, Gas und Strom, die von einem Service-Provider zur Verfügung gestellt werden. Im Umfeld des Cloud Computings werden diese Versorgungsleistungen um beispielsweise Rechenkapazität und Speicherplatz erweitert. Es werden also angebotenen Ressourcen nach Verbrauch abgerechnet, anstatt einen Flat-Rate Preis zu veranschlagen[25]. Nach [24] und [22] kann Cloud Computing deshalb als eine Realisierung von Utility Computing bezeichnet werden. Durch dieses Modell können Service Provider eine maximale Ausnutzung ihrer Ressourcen erreichen und damit ihre Betriebskosten minimieren[25], während Verbraucher durch das pay-per-use Modell ebenfalls ihre Kosten minimieren können. Damit erhält Cloud Computing eine enorme wirtschaftliche Bedeutung für Service- Provider und Verbraucher (auch als Economy of Scale bezeichnet) da signifikante Kostenersparnisse möglich sind ([22], Seite 2). Seite 26

32 5.2 Virtualisierung Das Konzept der Virtualisierung von IT-Ressourcen blickt auf eine lange Geschichte zurück. Bereits in den sechziger Jahren wurde Virtualisierungstechniken entwickelt und damals für die Partitionierung großer Mainframe-Hardware zur Verbesserung deren Auslastung angewendet [18]. Virtualisierungstechniken ermöglichen es von konkreter Hardware zu abstrahieren und geben so eine logische Sicht auf die physischen Ressourcen, die sowohl Server, Datenspeicher als auch Netzwerke und Software beinhaltet ([22], Seite 7). Dabei werden physische Ressourcen in sogenannten Pools gebündelt und gemeinsam verwaltet ([22], Seite 7). Dadurch können virtuelle Systeme jederzeit bei Bedarf gestartet oder gestoppt werde. Damit werden können diese mit mehr oder weniger Hardwareressourcen versorgt werden, um den Bedarf einzelner Anforderungen zu befriedigen. Ein virtualisierter Server wird üblicherweise eine virtuelle Maschine (Abk.: VM) genannt. Mit Hilfe unterschiedlicher Konzepte der Virtualisierung werden so dynamisch wachsende oder schrumpfende, also skalierbare, Infrastrukturen ermöglicht. Diese Eigenschaft nutzt Cloud Computing, um bspw. kurzzeitig anfallende Lastspitzen dynamisch an die zugrundeliegende Infrastruktur weiterzugeben, in dem kurzzeitig mehr Speicherplatz allokiert wird oder zusätzliche virtuelle Server gestartet werden. Die Virtualisierungstechniken bildet daher die Grundlage der meisten Cloud Architekturen ([25], [22], Seite 7). Der Begriff der Virtualisierung beinhaltet eine Vielzahl unterschiedlicher Konzepte und Technologien, wie beispielsweise die Betriebssystemvirtualisierung, Plattformvirtualisierung oder Speichervirtualisierung. In dieser Arbeit wird nicht näher auf diese unterschiedlichen Konzepte eingegangen, empfehlenswert für weitere Informationen ist [22]. 5.3 Grid Computing Der Begriff Grid Computing beschreibt ein Paradigma bei dem verteilte Rechner mittels eines Netzwerks so koordiniert werden, dass ein gemeinsames Ziel verfolgt werden kann (Vgl.: [25]). Durch die Verbindung vieler Netzwerkressourcen kann von der Entstehung eines virtuellen Supercomputers gesprochen werden. Die Entwicklung von Grid Computing wurde maßgeblich von wissenschaftlichen Institutionen angetrieben, um rechenintensive Aufgaben bewältigen zu können. Eines der bekanntesten Beispiele hierfür ist wohl das Projekt, der Universität Berkeley im Jahr Cloud Computing ähnelt Grid Computing insofern, als dass ebenfalls versucht wird, verschiedene verteilte Ressourcen zu verbinden, um daraus auf Applikationsebene eine Verteilung zu erreichen (Vgl.: [25]). Allerdings geht Cloud Computing hier einen Schritt weiter, in dem, verschiedene Virtualisierungstechnologien eingesetzt werden, um eine dynamische Ressourcen Beschaffung zu realisieren [25]. Vom typischen Clustering unterscheidet sich Grid Computing insoweit, dass Ressourcen wesentlich loser gekoppelt sind und heterogene Systeme zum Einsatz kommen. Mittels des Einsatzes dieser Technologie, kann beispielsweise auch eine Hybrid Cloud über mehrere geographische Standorte hinweg realisiert werden. Hierfür wird die Kommunikation zwischen den einzelnen Systemen Seite 27

33 standardisiert. Verschiedene Definitionen von Cloud Computing legen i.d.r. nicht fest, ob Dienste auf Basis eines verteilten Systems oder eines einzelnen leistungsstarken Servers erbracht werden ([22], Seite 4). Im Vergleich dazu wird unter Grid Computing jedoch immer eine verteilte Infrastruktur zugrundegelegt. Laut [22] nutzen Cloud-Dienste i.d.r. auch eine verteilte Infrastruktur die typischerweise zentral gesteuert wird. Es gibt noch weitere Merkmale in denen sich Grid Computing von Cloud Computing abgrenzt, diese sind in Tabelle 4: Unterscheidungsmerkmale von Grid und Cloud Computing, dargestellt. Merkmale Grid-Ausprägung Cloud-Ausprägung Ressourcenverbrauch (Art) Geplant, Batch-orientiert Dynamisch (On-Demand) Ressourcennutzung Kollaboration (Virtuelle Organisation, >>Faire share<<) Keine gemeinsame Nutzung zugeteilter Ressourcen Leistungsangebot Infrastruktur/Rechenleistung Software, Plattform und Infrastruktur als Service Skalierbarkeit Mittel Hoch (Inkl. Hardwareebene) Service Level Agreements Kaum bis gar nicht Ja Abhängigkeit vom Anbieter Hoch (aufgrund benötigter Ressourcen) Mittel (mangel an offenen Schnittstellen) Anzahl der Kunden Gering bis Mittel Hoch Geschäftsmodell Austausch/statische Preismodelle Flexible Preismodelle (per-per-use) Umstellungskosten Niedrig aufgrund von Standardisierung Hoch aufgrund eingeschränkter Interoperabilität Tabelle 4: Unterscheidungsmerkmale von Grid und Cloud Computing Quelle: Tabelle und Abbildung entnommen aus [39], Seite Application Service Providing Bei dem Application Service Providing bietet ein Anbieter (auch: Application Service Provider, Abk.: ASP) seinen Kunden über ein öffentliches oder privates Netzwerk, i.d.r. über das Internet, Anwendungen an. Dabei ist der ASP für die Installation, Wartung und Administration verantwortlich. Die vom Kunden verwendete Applikation wird i.d.r. nicht gekauft sondern zu einem Festpreis gemietet. Bei Application Service Providing handelt es sich um IT-Outsourcing auf Basis fest definierter Service Level Agreements (Abk.: SLA) [39]. Im Gegensatz zum klassischen IT-Outsourcing wird jedoch nicht jedem Verbraucher eine individuelle Software angeboten, sondern zumeist standardisierte Lösungen mit einem sehr geringen Seite 28

34 Individualisierungsgrad. In diesem Fall wird häufig von einem One-to-many Ansatz oder Single-Tentant- Ansatz gesprochen, bei dem Verbraucher nahezu identische Services über separate Ressourcen beziehen [39]. Durch die flexiblen Leistungskonzepte von Cloud SaaS erfahren erweiterte Application Service Providing Konzepte großen Zuspruch ([20], Seite 17). "Die Nutzer erwarten sich davon eine flexiblere IT, transparentere Kostenmodelle sowie mehr Interoperabilität zwischen heterogenen Systemen" ([20], Seite 17). Bei Cloud SaaS Konzepten bietet der Service Provider, anders als beim Application Service Providing, nicht für jeden Kunden eine eigene Installation der Softwarekomponenten (Vgl.: [20], Seite 27). Alle Kunden nutzen dieselben Services und darunter liegende Infrastruktur. Ein großer Vorteil für den Service Provider ergibt sich aus diesem 1:N-Ansatz (auch: multi-tentant-ansatz), da Änderungen oder Erweiterungen an Infrastruktur oder Softwarekomponenten für alle Kunden gleichermaßen gelten (Vgl.: [20], Seite 27). Dieses, als Industriealisierung der IT bezeichnete Konzept, schränkt jedoch die individuelle Anpassbarkeit der Systeme und Komponenten an die jeweiligen Kundenbedürfnisse stark ein ([20], Seite 27). 5.5 Autonomic Computing [25] Autonomic Computing ist ein maßgeblich von IBM geprägter Begriff und beschreibt Computersysteme, die so aufgebaut sind, dass diese über Möglichkeiten des Selbstmanagements verfügen. [40] Hierfür gibt es vier grundlegende Prinzipien, die auch als Self-CHOP bezeichnet werden. 1. Self Configure, automatische Konfiguration des Systems oder Komponenten 2. Self Heal, automatische Entdeckung und Korrektur von Störungen 3. Self Optimiz, automatische Beobachtung und Steuerung von Ressourcen um deren bestmögliches funktionieren in Hinsicht auf die definierten Anforderungen zu ermöglichen 4. Self Protect, vorausschauende Erkennung von Angriffen und Schutz vor Angriffen [25] Dies bedeutet, dass diese Computersysteme ohne Beobachtung und zutun menschlicher Intervention auf interne und externe Ereignisse reagieren. Diese Technologien verfolgen das Ziel die Komplexität der Verwaltung von Systemen zu verringern. Cloud Computing nutzt diese Technologien, wie automatische Ressourcenbeschaffung, mit dem Ziel Ressourcen Kosten zu minimieren, anstatt deren Systemkomplexität zu reduzieren. 5.6 Service-orientierte Architektur ([22], Seite 18 ff.) Unter Service-orientierte Architektur (Abk.: SOA) werden Systemarchitekturen verstanden deren Komponenten lose gekoppelt über Nachrichten miteinander kommunizieren. Die Komponenten sind dabei i.d.r. unabhängig voneinander und damit vielfältig einsetzbar. Sie erlauben eine plattform- und sprachunabhänige Wiederverwendung. Einzelne Komponenten werden dabei zu komplexen System orchestriert. Unter dem Begriff der Orchestrierung (engl.: Orchestration) wird das Verknüpfen oder logisches Verbinden bzw. die Abstimmung von Arbeitspaketen innerhalb von Seite 29

35 Prozessen, Workflows oder Systemen verstanden. Einzelne Service-Komponenten können so nicht nur von einem Benutzer, sondern wiederum auch von anderen Services oder Anwendungen verwendet werden. Mittels SOA wird versucht IT-Architekturen auf die Abstraktionsebene von Geschäftsprozessen anzuheben. Für SOA-Architekturen haben sich Web Services und RESTful Services bewährt. Da Cloud Computing virtualisierte IT-Infrastrukturen, Plattformen und Anwendungen als Services realisiert, kann es als eine auf SOA-Konzepten aufbauende Technologie bezeichnet werden ([22], Seite 18 ff.). In einer Public Cloud sind diese Services im Internet über standardisierte Protokolle und Schnittstellen, wie beispielsweise HTTP, SOAP, WSDL und JSON aufrufbar. Seite 30

36 6. Praktisches Beispiel in der Cloud Für Unternehmen gibt es diverse Möglichkeiten wie Anwendungen in die Cloud ausgelagert werden können. Anhand eines einfachen Beispiels soll im folgenden Kapitel exemplarisch eine dieser Möglichkeiten genauer betrachtet werden. Als Beispiel soll ein Platform as a Service, wie es beispielsweise Micosoft Azure oder Google App Engine bietet, genutzt werden, um einen rechenintensiven Algorithmus in die Cloud auszulagern. Dabei soll der PaaS bei mehrfachem Aufruf des Algorithmus automatisch skalieren, um vertretbare Latenzzeiten zu gewährleisten. Dieser Skalierungseffekt soll anschließend untersucht und aufgezeigt werden. Für die Durchführung wurde die Google App Engine ausgewählt, da sie eine zunächst kostenlose Nutzung zulässt. Vorab wird genauer auf den Begriff der Skalierung und die ausgewählte Google App Engine eingegangen. 6.1 Skalierung Unter Skalierung (bzw. autoscaling) wird in der Informatik das Verhalten von Systemen bezüglich ihres Ressourcenbedarfs bei wachsenden Eingabemengen, also die Performance und Komplexität, verstanden [40]. Mit einer guten Skalierbarkeit wird die Fähigkeit eines Systems die quality of service zu garantieren wenn die Systemlast erhöht wird, verstanden [41]. Abbildung 13: Effekt einer guten Skalierung Quelle: [26] Eine gute Skalierung passt sich den Anforderungen eines Systems an und verringert den Ressourcenverbrauch (siehe auch Abbildung 13: Effekt einer guten Skalierung). Dabei wird bei der Skalierung häufig zwischen der horizontalen Skalierung und der vertikalen Skalierung unterschieden Vertikale Skalierung [41] Bei der vertikalen Skalierung wird ein System durch ein leistungsfähigeres System ausgetauscht. Des Weiteren wird das Hinzufügen von Komponenten, wie beispielsweise Speicher oder einen zusätzlichen CPU, als vertikale Skalierung verstanden. Diese Skalierung ist deshalb durch Hardwareressourcen beschränkt und typischerweise teurer als eine horizontale Skalierung. Seite 31

37 6.1.2 Horizontale Skalierung [41] Bei der horizontalen Skalierung werden Ressourcen in Form von Servern (auch: Knoten oder engl.: Nodes) in einem Netzwerk verbunden und die anfallende Arbeit gleichmäßig auf diese verteilt. Hier kommt i.d.r. ein Load Balancing System (auch: Controller) zum Einsatz, der eine Aufteilung der Arbeitspakete vornimmt und für eine ideale Lastverteilung sorgt. Reichen die vorhanden Nodes für die zeitgerechte Abarbeitung eines Systems nicht mehr aus, werden neue Nodes hinzu geschalten. Das hinzufügen von weiteren Nodes hat im Regelfall auch einen positiven Effekt auf die Zuverlässigkeit und Verfügbarkeit eines Systems Skalierung in der Cloud Cloud Infrastrukturen bestehen i.d.r. aus einer Vielzahl von Servern, also einer geclusterten Server-Farm, nach den Grundprinzipien von Grid Computing (siehe auch: 5.3. Grid Computing). Dabei werden Technologien aus Autonomic Computing (siehe auch: 5.5 Autonomic Computing) eingesetzt, um ein gewisses Selbstmanagement der Systeme zu erreichen. Die Serverfarm besteht jedoch nicht nur aus Hardwareressourcen, sondern nach den Prinzipien der Virtualisierung (siehe auch: 5.2 Virtualisierung) aus einer Vielzahl von VMs, die auf den einzelnen Servern gestartet oder gestoppt werden können. Ein Autoscaling sorgt dafür, dass die Anzahl dieser VMs innerhalb der Server-Farm automatisch skaliert wird sobald ein Mehrbedarf an Ressourcen gedeckt werden muss. Bei steigender Serverlast wird die Arbeit also von einer größeren Anzahl an Servern übernommen, weshalb Cloud Computing i.d.r. auf eine horizontale Skalierung zurückgreift. Sinkt die Serverlast, werden die nicht mehr benötigten Server automatisch heruntergefahren [42]. Autoscaling ist also sehr typisch für das Cloud Computing (siehe auch: Rapid Elasticity) und ist genau dann vorteilhaft, wenn die Auslastung der Server großen Schwankungen zugrunde liegt. Einer der typischen Fälle wurde bereits in Abbildung 6: Seitenbesuche von amazon.com und austialianopen.com, aufgezeigt. Also Webseiten, die nur saisonal stark besucht werden und Webshops die zu Feiertagen eine Lastspitze abzufangen haben. Dabei wird beispielsweise bei Amazon zwischen drei unterschiedlichen Skalier-Verfahren unterschieden. Manuelle Skalierung Mittels entsprechender API-Befehle oder einem Autoscaling Kommando kann eine manuelle Skalierung erreicht werden [42]. Skalierung nach Zeitplan Mittels API-Befehlen oder Konfigurationsdateien können bestimmte Zeiten in denen Skaliert werden soll, festgelegt werden [42]. Skalierung nach Richtlinien Eine Skalierung wird immer dann vom System automatisch vorgenommen, wenn zuvor festgelegte Richtlinien erfüllt sind. Ein Beispiel einer solchen Richtlinie wäre :die CPU-Auslastung oder Latenzzeiten [42]. Seite 32

38 Damit bietet beispielsweise Amazon mit seinem EC2 Service mittels des Autoscaling Mechanismus folgende Funktionalitäten an [42]: Automatische Skalierung bei steigender Nachfrage. Automatische Skalierung bei sinkender Nachfrage und damit Reduzierung der Kosten. Skalierung der Services nach einem definierbaren Zeitplan Automatische Benachrichtigung wenn Amazon eine automatische Skalierung initiiert. Automatische Skalierung innerhalb einer Virtual Private Cloud oder einem High Performance Computing Cluster. Werkzeuge zur manuellen Skalierung des Cloud Services Kostenfreie Überwachung durch den CloudWatch zur automatischen Skalierung Technische Realisierung der Skalierung in der Cloud [43], [44] Anhand des Beispiels von Ubuntu Enterprise Cloud (Abk.: UEC) [45] wird ein kurzer Ausblick auf eine mögliche Realisierung einer Cloud Umgebung gegeben. Die Ubuntu Enterprise Cloud ist eine Server Plattform zum Aufbau einer Private und Public Cloud. Die aktuelle Ubuntu Distribution in der Version 11.4 wird hierbei um Eucalyptus ("Elastic Utility Computing Architecture Linking Your Programs To Useful Systems") [46] erweitert. Eine Besonderheit dieser Kombination ist dabei eine Anlehnung an Amazon. Damit wird eine Kompatibilität der beiden Cloud Systeme geschaffen die einen nahtlosen Übergang von Amazon zu einer eigenen Cloud (oder andersrum) verspricht. UEC besteht dabei aus einer Vielzahl von Server und Steuerungskomponenten. Grundsätzlich wird hierbei zwischen Nodes und Controller unterschieden. Dabei stehen für die zentrale Steuerung drei Controller zur Verfügung; Cloud Controller (Abk.: CLC), Cluster Controller (Abk.: CC) sowie dem Storage Controller (Abk.: SC). Des Weiteren gibt es die entsprechenden Nodes (auch Node Controller (Abk.: NC)) sowie den Walrus storage service der die Verwaltung der Repositories von Images bzw. VMs übernimmt. Abbildung 14: Beispielhafte Ubuntu Enterprise Cloud Architektur Quelle: [44] und [43] Auf diese VMs kann das Cloud System anschließend zugreifen. In Abbildung 14: Beispielhafte Ubuntu Enterprise Cloud Architektur, werden die Controller auf einem System zusammengefasst, dieser wird Seite 33

39 anschließend auch als Front-End bezeichnet. Die Nodes werden auf dedizierten Systemen installiert, welche über Unterstützung für Virtualisierungstechnologien (Intel VT, AMD SVM) verfügen müssen. Jedes System ist als eigenständiger Web-Service implementiert. Mittels der Web Service Description Language (Abk.: WSDL) wird die API dokumentiert und mit ihr interagiert. Es handelt sich also um eine typische Web-Service Architektur [43]. Die einzelnen Controller können jedoch auch auf unterschiedlichen Systemen installiert und betrieben werden. Der CLC ist hierbei das sichtbarste Element in der Architektur, da dieser die Schnittstelle (Simple Object Access Protocol-basierte API) für die Interaktion mit der Cloud bereitstellt. Der CLC interagiert mit dem CC und trifft Top-Level-Auswahl für die Zuteilung neuer Instanzen. Der CLC verfügt dabei über Informationen zur Anbindung der Nutzer an laufende Instanzen, die Anzahl der Verfügbaren Systeme und die Gesamtbelastung des laufenden Systems. Der CC arbeitet als Vermittler zwischen dem CLC und den einzelnen NC. Er erhält Anfragen vom CLC über die Zuweisung neuer Systeme und entscheidet, aufgrund der erhaltenen Statusberichte der einzelnen NCs, über die Zuweisung neuer Instanzen an einen entsprechenden NC. Die Skalierung wird in dieser Architektur also Top-down organisiert. Die Systeme kommunizieren über Standardschnittstellen miteinander und geben sich gegenseitige Statusberichte, um eine möglichst effiziente Skalierung zu erreichen. 6.2 Google App Engine Das im September 1998 in Kalifornien gegründete Unternehmen Google stellte am 22. Februar 2007 seine "Google Apps for Business" Applikationen vor und ermöglicht so, nach eigenen Angaben, Unternehmen Cloud Computing [15]. Google stellt damit eine kostenpflichtige Version ihrer bisherigen Dienste wie beispielsweise GMail und Google Docs (Textverarbeitung, Tabellenkalkulation und Präsentationserstellung) für Geschäftskunden zur Verfügung. Im damaligen Pressebericht [16] findet sich jedoch nicht der Begriff "Cloud". Die Google App Engine (Abk.: GAE) folgt, wie bei Google üblich, als Beta-Version am 7. April 2008 [47]. Seit dem 30. März 2011 stehen die Google App SDKs für Phyton[48] und Java[49] in der Version zur Verfügung [47]. Das Produktportfolio von Google besteht so aus zwei nennenswerten cloud-basierten Lösungen für alle drei SPI-Service-Modelle (SaaS, PaaS, IaaS). Abbildung 15: Logo der Google App Engine Seite 34

40 Bei den Google Apps, wie beispielsweise GMail und GoogleDocs handelt es sich dabei um SaaS- Angebote während sich die Google App Engine hauptsächlich auf die PaaS-Ebene konzentriert, jedoch nur ansatzweise IaaS Infrastrukturleistungen anbietet. Die Wahl fiel auf die Google App Engine, weil sie zum Einen eine hohe Präsenz aufweist ([22], Seite 39) und zum Anderen gemäß dem unternehmerischen Grundsatz eine zunächst kostenlose, werbefinanzierte Nutzung des Service erlaubt. Google stellt damit eine frei zugängliche PaaS zur Verfügung, die prinzipiell kostenlos ist, jedoch mit bestimmten Einschränkungen im Datenverkehr oder in der Speicher- bzw. Rechenkapazität einhergeht und erst bei einer Überschreitung entgeltlich wird. Die kostenpflichtige Nutzung des Service bietet dem Verbraucher darüber hinaus beispielsweise einen größeren Speicherplatz und eine erhöhte Verfügbarkeit Funktionsumfang und technische Möglichkeiten [47] Mit der App Engine erlaubt es Google Entwicklern eigene Webapplikationen auf der Google Infrastruktur zu deployen und zu hosten. Dabei konnten Entwickler bis zur Version zwischen zwei Google App SDKs für Phyton oder für Java wählen. Der Einsatz der Programmiersprache Java mit dem Einsatz der Java Virtual Machine ermöglicht außerdem die Nutzung weiterer Programmiersprachen, wie beispielsweise Ruby [50]. Zudem bietet Google mit der am 10. Mai 2011 veröffentlichten Version mit Go [51] eine weitere Programmiersprache an. Dabei erleichtert die App Engine die Entwicklung von Webapplikationen erheblich, indem Infrastruktur je nach Bedarf automatisch skaliert wird ([22], Seite 53). Entwickler müssen so nur noch die Applikation selbst betrachten und sich nicht mehr um die Verteilung der Daten, Aufteilen von Anfragen oder die Administration von Servern kümmern ([22], Seite 53). Der PaaS bietet zusätzlich zum Angebot unterschiedlicher Programmiersprachen und Umgebungen eine große Bandbreite weiterer Services die über eine Java Service API [52] angesprochen werden kann. Im Folgenden werden einige dieser Services näher erläutert. Tabelle 5: Überblick der Google App Engine Funktionalität Seite 35

41 Quelle: [53] Memcache [52] Dieser Service erlaubt einen schnelleren Zugriff auf benötigte Daten, die zuvor in einen Zwischenspeicher abgelegt wurden. Die in dem Zwischenspeicher abgelegten Daten werden nicht persistent gehalten und müssen daher nicht zuerst von der Festplatte geladen werden. URL Fetch [52] Über den URL Fetch Service kann schnell auf Ressourcen aus dem Internet zugegriffen werden. Dabei können HTTP- und HTTPS-Requests versandt und auf entsprechende Responses gewartet werden. Der URL Fetch Service nutzt dabei die Google Infrastruktur um durch entsprechende Skalierung Abfragen effizient zu halten. Mail [52] Google App Engine Applikationen können über diesen Service s empfangen und versenden. Dabei ist die Nutzung auf die Accounts der Administratoren oder der entsprechenden Nutzer der Webapplikation eingeschränkt. Dieser Service erleichter also den Versand von s, wurde aber in der neuen Version 1.5.0, vermutlich um Missbrauch zu verhindern, eingeschränkt. Seit der Version können nur noch s von Absenderadressen versandt werden, die von Google verwaltet werden. Neue kostenlose Applikationen haben darüber hinaus eine Beschränkung von 100 Mails pro Tag [54]. XMPP [52] Eine Webapplication kann über diesen Service eine Chat-Nachrichten an einen Extensible Messaging and Presence Protocol (Abk.: XMPP) kompatiblen Dienst, wie beispielsweise Google-Talk, versenden und auch empfangen. Dabei werden XMPP-Requests über einen entsprechenden Handler, ähnlich wie Web-Anfragen behandelt. Images [52] Dieser Service bietet eine Reihe von Standardoperationen für Bildquellen. Damit können Bilder gedreht, gespiegelt, zugeschnitten oder in ihrer Größe skaliert werden. Des Weiteren erlaubt es der Service Bilder in verschiedene Formate zu konvertieren und viele weitere Möglichkeiten. Google Accounts [52] Webapplikationen können über diesen Service Benutzer authentifizieren, die über einen Google Account verfügen. Dabei wird die proprietäre Lösung von Google verwendet, die beispielsweise über eine Umleitung das Neuerzeugung eines Google Accounts ermöglicht. Des Weiteren kann über diesen Service zwischen normalem Benutzer und Administrator unterschieden werden. Seite 36

42 Task Queues [52] Mittels der Task Queues API können Webapplikationen außerhalb der benutzerdefinierten Anfrage arbeiten. Über diesen Service können Webapplikationen also Rechenintensive Prozesse auf einzelne Tasks aufbrechen und voneinander unabhängig bearbeiten lassen. Blobstore [52] Hierbei handelt es sich um einen experimentellen Service der App Engine. Dieser erlaubt das handhaben großer Datenobjekte, genannt Blobs, die viel größer sind als die Objekte die im Datenspeicher Service liegen dürfen. Damit können diese Blobs beispielsweise für das Hochladen von Dateien über HTTP genutzt werden. Datastore ([52], [22], Seite 53 ff.) Für die dauerhafte Persistierung von Daten stellt die App Engine den Datastore Service zur Verfügung. Dabei handelt es sich um eine objektorientierte Datenbank mit ensprechender Abfrage Engine. Der Datastore Service implementiert dabei eine proprietäre Schnittstelle sowie die zwei Standardschnittstellen Java Data Objects (JDO) und Java Persistence API (JPA). Über die Angebotenen Services der App Engine lassen sich sehr gute Webanwendungen entwickeln, die beispielsweise auch über eine Schnittstelle zu Salesforce.com[55] verfügen. Damit lassen sich zum Beispiel auch Geschäftsanwendungen implementieren. Weitere Informationen über Services und Funktionalität der Google App Engine sind in [52], beschrieben Lizenzbedingungen Google bietet, gemäß dem unternehmerischen Grundsatz eine zunächst kostenlose, werbefinanzierte Nutzung der Google App Engine an. Damit stellt Google einen frei zugängliche PaaS zur Verfügung, die prinzipiell kostenlos ist, jedoch mit bestimmten Einschränkungen im Datenverkehr oder in der Speicherbzw. Rechenkapazität einhergeht und erst bei einer Überschreitung entgeltlich wird. Hierfür definiert Google einige Quotas (dt. in etwa: Kapazität) zur Beschränkung der Nutzung des Services die in Tabelle 6: Quotas für die Benutzung von Google App Engine dargestellt sind. Dabei unterscheidet Google bei der Bemessung zwischen zwei Typen, einem bezahlbaren und damit regulierbaren Quota und festgelegten Quotas, die gelten je nachdem, ob prinzipiell eine Bereitschaft zur Bezahlung oder eine kostenlose Nutzung des Services vorausgesetzt ist. Seite 37

43 Resource Free Default Quota Billing Enabled Default Quota Daily Limit Maximum Rate Daily Limit Maximum Rate Channel Channel API Calls 657,000 calls 3,000 calls/minute 46,000,000 calls 32,000 calls/minute Channels Created 8640 creations 6 creations/minute 86,400 creations 60 creations/minute Channel Data Sent up to the 22 MB/minute up to the Outgoing 740 MB/minute Outgoing Bandwidth limit Bandwidth limit Blobstore Blobstore Stored Data - 1 GB - 1 GB free; no maximum Datastore Number of Indexes Deployments 1,000 1,000 Mail Mail API Calls 7,000 calls 32 calls/minute 1,700,000 calls 4,900 calls/minute Admins ed 5,000 mails 24 mails/minute 3,000,000 mails 9,700 mails/minute Message Body Data Sent 60 MB 340 KB/minute 29 GB 84 MB/minute Attachments Sent 2,000 attachments 8 attachments/minute 2,900,000 attachments 8,100 attachments/minute Attachment Data Sent 100 MB 10 MB/minute 100 GB 300 MB/minute Task Queue Task Queue API Calls 100,000 n/a 20,000,000 n/a Task Queue Stored Task 1,000, ,000,000 Count Task Queue Stored Task Bytes 100 MB. Configurable up to 1 GB. 100 MB. Configurable up to Stored Data (billable). URL Fetch UrlFetch API Calls 657,000 calls 3,000 calls/minute 46,000,000 calls 32,000 calls/minute UrlFetch Data Sent up to the 22 MB/minute up to the Outgoing 740 MB/minute Outgoing Bandwidth limit Bandwidth limit UrlFetch Data Received up to the 22 MB/minute up to the Incoming 740 MB/minute Incoming Bandwidth limit Bandwidth limit XMMP XMPP API Calls 46,000,000 calls 257,280 calls/minute 46,000,000 calls 257,280 calls/minute XMPP Data Sent 1 GB 5.81 GB/minute 1,046 GB 5.81 GB/minute XMPP Recipients Messaged 46,000,000 recipients 257,280 recipients/minute 46,000,000 recipients 257,280 recipients/minute XMPP Invitations Sent 100,000 2, ,000 invitations 2,000 invitations/minute invitations invitations/minute Tabelle 6: Quotas für die Benutzung von Google App Engine Seite 38

44 Auf den Konfigurationsseiten von Google App Engine, kann bei einer Bereitschaft zur Bezahlung eingestellt werden, wie hoch das tägliche Budget für überschrittene Quotas ist. Wurde die Bereitschaft zur Bezahlung des Services signalisiert, schalten sich automatisch die "Billing Enabled Default Quota" aus der oben dargestellten Tabelle ein. Dabei gelten für Überschreitungen der freien Quotas die Preise, wie sie in Tabelle 7: Preise für Ressourcen der Google Infrastruktur, dargestellt sind. Die kostenpflichtige Nutzung des Service bietet dem Benutzer darüber hinaus beispielsweise einen größeren Speicherplatz und eine erhöhte Verbindungs- oder Verfügbarkeitssicherheit. Resource Unit Unit cost Daily Limit Free Quota Maximum Rate Outgoing Bandwidth gigabytes $ GB 56 MB/minute Incoming Bandwidth gigabytes $ GB 56 MB/minute CPU Time CPU hours $ CPU-hours 15 CPU-minutes/minute Stored Data gigabytes per month $ GB High Replication Storage gigabytes per month $ GB Recipients ed recipients $ ,000 recipients 8 recipients/minute Always On N/A (daily) $ Backends (B1 class) Hourly per instance $ Backends (B2 class) Hourly per instance $ Backends (B4 class) Hourly per instance $ Backends (B8 class) Hourly per instance $ Tabelle 7: Preise für Ressourcen der Google Infrastruktur Des Weiteren bietet Google mit dem Apps Marketplace [56] seit dem März 2010 eine Plattform für den Software-Vertrieb von Drittanbieter. Mit diesem Online Marktplatz werden Softwareentwickler angesprochen, die ihre auf der Google App Engine basierenden Produkte einem breiten Publikum zur Verfügung stellen möchten. Aktuell werden über den Apps Marketplace über 900 Produkte angeboten, unteranderem auch von namhaften Herstellern, wie SAP. Mit dem Prinzip des Marketplaces haben Entwickler nunmehr die Möglichkeit, ähnlich wie bei dem App Store von Apple, ihre Produkte, ohne den Aufbau jeglicher Vertriebsinfrastruktur, zu vertreiben. Über das Apps Authorized Reseller Programm, bietet Google zusätzlich Beratern die Möglichkeit ihre Service-Dienstleistungen im Rahmen der Google Apps Beratung und Integration über den Marketplace anzubieten. Google generiert so nicht nur Umsätze mit der Servicebereitstellung der Infrastruktur und Plattform, sondern darüber hinaus auch mit einem weitergehenden Vertriebskonzept, dass ein Fülle von Anwendungen bietet und damit Kunden an Google bindet. Google betreibt so einen weiteren HuaaS Dienst, im Rahmen von Crowdsourcing (siehe auch: Crowdsourcing) und Beratung und weiteren Dienstleistungen. Seite 39

45 6.3 Realisierung Für das Beispiel mit der Google App Engine musste zunächst eine entsprechende Projektidee gefunden werden. Das Hauptziel des durchzuführenden Tests ist die automatische Skalierung bei steigenden Anfragen zu verdeutlichen. Deshalb wird auf die Verwendung der typischen Google API Komponenten, wie Mail und URL nicht eingegangen. Jedoch sollte es sich bei der Applikation um einen Algorithmus handeln, der eine gewisse Rechenzeit in Anspruch nimmt um einen entsprechenden Skalierungseffekt zu erreichen. Die Wahl fiel deshalb auf eine Message-Digest Algorithm 5 (Abk.: MD5) Berechnung weil hierfür ein kurzer Parameter ( Zeichen ) ausreichend ist, um eine etwas höhere Laufzeit zu erreichen. Die Berechnung eines MD5-Wertes stellt für heutige Computer keine große Herausforderung mehr dar, dennoch benötigt dieser Vorgang einige Rechenzyklen. Da es sich bei dem MD5-Algorithmus um einen nicht umkehrbaren Algorithmus handelt kann das entsprechende Wort im Klartext nur ermittelt werden, wenn dieses Wort bereits zuvor schon einmal berechnet und beispielsweise in einer Datenbank abgelegt wurde oder ein sogenannter Brute-Force- Angriff gegen den MD5-Hash gestartet wird. Eine mögliche praktische Anwendung für diesen Algorithmus in der Cloud wäre, das Szenario umzukehren und nicht einen Klartext sondern den Hash selbst zu übergeben und eine Brute-Force-Attacke in der Cloud als Service anzubieten Entwicklungsumgebung Für die Entwicklung des Beispiels wurde Eclipse gewählt, da hierfür von Google ein entsprechendes PlugIn bereitgestellt wird. Nach der üblichen Installation der Java SDK sowie Eclipse kann für verschiedene Versionen der Entwicklungsumgebung das entsprechende "Google PlugIn for Eclipse" installiert werden. Das PlugIn selbst besteht dabei aus mehreren Komponenten, wie beispielsweise dem Google Web Toolkit (Abk.: GWT). Zusätzlich wird ein lokaler Webserver konfiguriert. Dieser dient als Simulationsumgebung der App Engine für lokale Anwendungstests. Des Weiteren stehen verschiedene Werkzeuge zur Kompilierung und Veröffentlichung der Webanwendung auf der Google Plattform zur Verfügung. Für die Entwicklung wurde verwendet: Eclipse Galileo Google App Engine SDK PlugIn in der Version GWT SDK Seite 40

46 6.3.2 Anlegen des Projekts Durch das installierte GAE werden in Eclipse entsprechende Werkzeuge von Google integriert. Hierzu gehört unter anderem ein neuer Projekttyp für GAE Anwendungen. Wurden alle benötigten Komponenten richtig installiert, kann sehr einfach ein neues Projekt angelegt werden. Abbildung 16: Verschiedene Eclipse Erweiterungen für die Entwicklung einer GAE Anwendung Neben den normalen Einstellungen, wie Projektname und Package Namespace, muss hier allerdings nicht die Java Runtime Environment (Abk.: JRE) Version, sondern die zu verwendende Google SDKs, wie GWT und GAE, ausgewählt werden. Da das Testprojekt noch vor dem Erscheinen der Version 1.5 der GAE erstellt wurde, wurden im Folgenden die Version verwendet. Kompiliert wird die Anwendung über einen mitgelieferten GWT Compiler, der die Anwendung für das Deployment auf einem Server vorbereitet. Das Projekt besteht nach der Erzeugung neben diverser GWT und GAE Bibliotheken und dem normalen Quellcode Verzeichnis zusätzlich aus einem war-verzeichnis, das statische Daten für das Deployment enthält. Werden beispielsweise neue Libraries (in diesem Projekt beispielsweise die Apache Common Codecs) benötigt, müssen diese entsprechend im war-verzeichnis für das Deployment bereitliegen. Des Weiteren liegen hier CSS-, HTML- und XML-Dateien sowie die kompilierte Java- Applikation. Seite 41

47 Abbildung 17: GWT Compiler Cloud-Applikation Um die Applikation mittels eines Webbrowsers aufrufen zu können, wird eine Benutzeroberfläche benötigt. Hierfür liefert Google das GWT, mit dem mittels Java Einfluss auf statische HTML Seiten genommen werden kann. Abbildung 18: Screenshot der Benutzeroberfläche So beschriebene Benutzeroberflächen werden zur Laufzeit mittels JavaScript um dynamische in Java implementierte Inhalte ergänzt. Die hierfür nötige HTML-Seite reduziert sich dadurch auf statische Komponenten, wie beispielsweise das Layout (siehe auch Server Implementierung HTML Seite der Testapplikation). Das Layout wird anschließend benutzt um mittels Java dynamische Komponenten, wie Textfelder oder Dialoge (DIVs) zur Rückgabe von Servermeldungen zu implementieren. Hierfür wurde das GWT Framework eingesetzt, mit dem sich relativ einfach dynamische Benutzeroberflächen erzeugen lassen (siehe auch: Implementierung der GWT Benutzeroberfläche). Nachdem die Benutzeroberfläche gestaltet wurde muss anschließend die Logik für die Berechnung des MD5-Hashs bereitgestellt werden. Um einen Hash asynchron zum Aufruf berechnen zu können, wurde Seite 42

48 hierfür ein Remote Service Servlet implementiert. RemoteServiceServlet erbt von HTTPServlet und nimmt später innerhalb des Webservers Anfragen von Clients entgegen. Bei dem Servlet handelt es sich um einen festen Bestandteil von JEE-Anwendungsserver der dynamisch auf Anfragen reagiert und deshalb nicht statisch für den Webserver verfügbar sein muss. Für die Verwendung von Servlets in der GAE müssen mehrere Interfaces und Klassen implementiert werden (siehe auch: HashCalculation RemoteService Interface, Asynchron Hash Calculation Interface und Hash Calculation Remote Service Implementierung). Die Implementierung der MD5 Berechnung erfolgte mit Hilfe der Apache Common Codec [57], die als Library entsprechend dem Projekt zugewiesen wurde. Um den Service nicht nur über eine Eingabemaske nutzen zu können, wurde durch die Verwendung von GET-Anfragen an die entsprechenden Servlets eine Schnittstelle entwickelt die von jeder Anwendung per HTTP-Call genutzt werden kann. Nach Fertigstellung der Applikation wird diese über eine lokale Simulationsumgebung getestet. Anschließend kann die Applikation über ein entsprechendes Werkzeug von Eclipse direkt auf den Google Server deployed werden. Später kann diese über das Dashboard (siehe auch: Abbildung 19: Das Google App Engine Dashboard) gesteuert und beobachtet werden Client-Applikation Um die Cloud Applikation mit der beschriebenen Schnittstelle zu testen und den Skalierungseffekt im GAE Dashboard (Abbildung 19: Das Google App Engine Dashboard) genauer betrachten zu können, wurde zusätzlich eine Client Applikation entwickelt. Diese Applikation erzeugt zufällig Zeichenketten, die als Klartexte an die MD5-Berechnung übergeben werden. Dabei besteht die Zeichenkette aus alphanumerischen Zeichen. Diese zufällig erzeugte Zeichenkette wird dabei an den Service gesendet und das Ergebnis eingelesen. Um einen entsprechenden Skalierungseffekt zu erreichen werden die zufällige Erzeugung der Zeichenkette sowie die Anfrage an den Cloud Service in einen Thread ausgelagert. Damit besteht die Möglichkeit die Anfrage mehrfach innerhalb eines Threads seriell oder aber in mehreren Threads parallel erfolgen zu lassen. Die Anzahl der Clients, die jeweils Anfragen an Anwendung in der Cloud stellen, lässt sich dabei konfigurieren. Dadurch kann eine variierende Menge von Clients beliebig viele Anfragen an den Cloud Service stellen, um möglichst viel Rechenkapazität von der Anwendung abzuverlangen Untersuchen des Skalierungseffekts Über das Google Dashboard lassen sich Auswertungen über das Verhalten der laufenden Applikation durchführen. Hier stehen dem Entwickler verschiedene Auswertungsmöglichkeiten, zum Beispiel die Anzahl der laufenden Instanzen, zur Verfügung. Des Weiteren wird die durchschnittliche Antwortzeit einer jeden Instanz angezeigt. Dabei wird die Anzahl der Anfragen sowie der Verbrauch verschiedener Ressourcen überwacht und live mit verfolgt. Diese Informationen wurden verwendet, um den Skalierungseffekt der GAE zu untersuchen. Für jeden Test wurde eine neue Version der Application auf den Server deployed, um die vorangegangenen Werte von den neuen Testwerten differenzieren zu Seite 43

49 können. Bei allen Tests wurde der Applikation eine Zeichenkette mit 100 Zeichen zur Berechnung übermittelt. Abbildung 19: Das Google App Engine Dashboard Erster Testlauf In einem ersten Testlauf wurden, in einem Zeitraum von etwa 15 Minuten sequentiell einzelne Aufrufe über die Benutzeroberfläche der Anwendung durchgeführt (siehe auch: Tabelle 8: Testergebnisse des ersten Versuchs). Instances Latency Requests Age Memory Availability ms 1 0:00: MBytes Dynamic ms 2 0:02: MBytes Dynamic ms 3 0:04: MBytes Dynamic ms 4 0:06: MBytes Dynamic ms 5 0:09: MBytes Dynamic ms 10 0:13: MBytes Dynamic Tabelle 8: Testergebnisse des ersten Versuchs Während des gesamten Tests wurde von der GAE konstant nur eine Instanz der Applikation zur Verarbeitung verwendet. An diesem Versuch zeigt sich sehr deutlich, dass zu Beginn der ersten Anfrage diese Instanz zunächst aktiviert werden muss. Dies wird von Google auch als Warmup-Request [58] bezeichnet. Aus diesem Grund bewegt sich die Antwortzeit der ersten Anfrage bei über 2,5 Sekunden. Während sich jede weitere Anfrage innerhalb von 9ms - 23ms beantworten lässt. Zu beachten gilt es, dass es sich bei den Antwortzeiten um Durchschnittswerte innerhalb der letzten Minute handelt, weshalb der Test auch innerhalb von 15 Minuten durchgeführt wurde. Die Betriebsbereitschaft der einzelnen Messpunkte steht hier auf dynamisch, da keine statische Instanz festgelegt wurde. Für einen Preis von 0,30$ Tag/Instanz ist es jedoch möglich eine beliebige Anzahl von Instanzen statisch zu aktivieren. Damit wird der Effekt zu Beginn einer ersten Antwortzeit auf die Normale Antwortzeit reduziert, da eine Instanz auch vorgehalten wird, wenn keine Anfragen an den Server stattfinden. Seite 44

50 Zweiter Testlauf In diesem Test wurde nun die Client Applikation verwendet um Anfragen an den Server zu senden. Die Client Applikation bietet hier den Vorteil innerhalb kürzester Zeit mehrere Anfragen parallel starten zu können. In diesem Test wurden allerdings 50 Anfragen innerhalb von 8 Sekunden sequentiell durchgeführt. Abbildung 20: Testergebnisse des zweiten Versuchs Dritter Testlauf In diesem Testlauf wurde ebenfalls die Client Applikation verwendet um Anfragen an den Server zu senden. Jedoch wurden hier 50 Threads verwendet die gleichzeitig jeweils eine Anfrage an den Server stellten. Die Anfragen konnten innerhalb von 3 Sekunden beantwortet werden. Abbildung 21: Testergebnisse des dritten Versuchs Seite 45

51 Vierter Testdurchlauf Im vierten Testdurchlauf wurde abermals die Client Applikation verwendet. In diesem Test wurden 50 Threads parallel gestartet die jeweils 50 sequentielle Anfragen an den Server schickten. Abbildung 22: Testergebnisse des vierte Versuchs Fünfter Testdurchlauf Beim fünften und letzten Testdurchlauf handelt es sich um einen Lasttest der Applikation. Hierfür wurden 100 Threads mit jeweils 100 sequentiellen, also insgesamt , Aufrufen durchgeführt. Seite 46

52 Abbildung 23: Testergebnisse des fünften Versuchs Seite 47

It's all in the Cloud! Cloud Computing Grundlagen

It's all in the Cloud! Cloud Computing Grundlagen It's all in the Cloud! Cloud Computing Grundlagen Folie: 1/25 Agenda Einleitung - Cloud Computing Begriffe Überblick - Wer bietet was? Der Weg zur Private Cloud Einblick - RRZK und Cloud Computing Anmerkung

Mehr

Cloud Computing Technologien. Maxim Schnjakin 16. April 2013

Cloud Computing Technologien. Maxim Schnjakin 16. April 2013 Cloud Computing Technologien Maxim Schnjakin 16. April 2013 Agenda 1 Cloud Computing Technologien Worum geht s? Seminarthemen Was soll gemacht werden? Organisation Wie soll s ablaufen? Definition of Cloud

Mehr

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik Cloud Computing Gliederung Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik 2 Bisher Programme und Daten sind lokal beim Anwender

Mehr

Anforderungen an Cloud- Rechenzentren

Anforderungen an Cloud- Rechenzentren Anforderungen an Cloud- Rechenzentren Student der Wirtscha3sinforma6k an der Universität zu Köln 1 Vorstellung Oktober 2009 bis September 2012 Bachelorstudium der Wirtscha3sinforma6k an der Wirtscha3s-

Mehr

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

Cloud Computing Services. oder: Internet der der Dienste. Prof. Dr. Martin Michelson Cloud Computing Services oder: Internet der der Dienste Prof. Dr. Martin Michelson Cloud Cloud Computing: Definitionen Cloud Computing ist eine Form der bedarfsgerechten und flexiblen Nutzung von IT-Dienstleistungen.

Mehr

Private Cloud mit Eucalyptus am SCC

Private Cloud mit Eucalyptus am SCC Private Cloud mit Eucalyptus am SCC Christian Baun 15. Dezember 2009 KIT The cooperation of Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) http://www.kit.edu Cloud-Comuting = Grid-Computing?!

Mehr

Cloud Computing Chancen für KMU

Cloud Computing Chancen für KMU Cloud Computing Chancen für KMU Sascha A. Peters Cluster Manager IT FOR WORK 31. Oktober 2012 Cloud Computing Worüber reden alle? Fragen zum Thema Cloud Was ist Cloud Computing und wofür wird es genutzt?

Mehr

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

synergetic AG Open House 2012 Ihr Unternehmen in der Wolke - Cloud Lösungen von synergetic synergetic AG Open House 2012 Ihr Unternehmen in der Wolke - Cloud Lösungen von synergetic Markus Krämer Vorsitzender des Vorstandes der synergetic AG Verantwortlich für Strategie und Finanzen der synergetic

Mehr

Der Begriff Cloud. Eine Spurensuche. Patric Hafner 29.06.2012. geops

Der Begriff Cloud. Eine Spurensuche. Patric Hafner 29.06.2012. geops Der Begriff Cloud Eine Spurensuche Patric Hafner geops 29.06.2012 Motivation Der größte Hype der IT-Branche Hype heißt sowohl Rummel als auch Schwindel slashdot.org The cloud represents a foundational

Mehr

3.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim

3.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim Christian Baun 3.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 1/42 3.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim Christian Baun Forschungszentrum Karlsruhe

Mehr

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering Azure und die Cloud Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat Institut für Informatik Software & Systems Engineering Agenda Was heißt Cloud? IaaS? PaaS? SaaS? Woraus besteht

Mehr

Sicht eines Technikbegeisterten

Sicht eines Technikbegeisterten Cloud und Mobile Apps Quo Vadis? Bernhard Bauer Institut für Software und Systems Engineering Universität Augsburg Oder... IT Arbeitsplatz der Zukunft Sicht eines Technikbegeisterten IT Arbeitsplatz der

Mehr

Cloud Computing. D o m i n i c R e u t e r 19.07.2011. Softwarearchitekturen

Cloud Computing. D o m i n i c R e u t e r 19.07.2011. Softwarearchitekturen Cloud Computing D o m i n i c R e u t e r 19.07.2011 1 Seminar: Dozent: Softwarearchitekturen Benedikt Meurer GLIEDERUNG Grundlagen Servervirtualisierung Netzwerkvirtualisierung Storagevirtualisierung

Mehr

Migration einer bestehenden Umgebung in eine private Cloud mit OpenStack

Migration einer bestehenden Umgebung in eine private Cloud mit OpenStack Migration einer bestehenden Umgebung in eine private Cloud mit OpenStack CeBIT 2014 14. März 2014 André Nähring Cloud Computing Solution Architect naehring@b1-systems.de - Linux/Open Source Consulting,

Mehr

Cloud Computing mit mathematischen Anwendungen

Cloud Computing mit mathematischen Anwendungen Cloud Computing mit mathematischen Anwendungen Vorlesung SoSe 2009 Dr. Marcel Kunze Karlsruhe Institute of Technology (KIT) Steinbuch Centre for Computing (SCC) KIT the cooperation of Forschungszentrum

Mehr

Mythen des Cloud Computing

Mythen des Cloud Computing Mythen des Cloud Computing Prof. Dr. Peter Buxmann Fachgebiet Wirtschaftsinformatik Software Business & Information Management Technische Universität Darmstadt 12.09.2012 IT-Business meets Science Prof.

Mehr

Überblick IBM Offerings für Cloud-Provider

Überblick IBM Offerings für Cloud-Provider - IBM Cloud Computing März, 2011 Überblick IBM Offerings für Cloud-Provider Juerg P. Stoll Channel Development Executive for Cloud IMT ALPS juerg.stoll@ch.ibm.com +41 79 414 3554 1 2010 IBM

Mehr

Emil Dübell EDConsulting

Emil Dübell EDConsulting Emil Dübell EDConsulting Emil.duebell@gmail.com www.x-plus-management.com Die Welt der IT verändert sich Cloud Computing und SaaS wird geschäftsfähig Veränderung des IT-Ökosystems Vom Lizenzgeber zum IT

Mehr

Christian Metzger Thorsten Reitz Juan Villar. Cloud Computing. Chancen und Risiken aus technischer und unternehmerischer Sicht HANSER

Christian Metzger Thorsten Reitz Juan Villar. Cloud Computing. Chancen und Risiken aus technischer und unternehmerischer Sicht HANSER Christian Metzger Thorsten Reitz Juan Villar Cloud Computing Chancen und Risiken aus technischer und unternehmerischer Sicht HANSER Inhalt Vorwort, XI 1 Ist die Zukunft schon da? 1 1.1 Allgemeine Definition

Mehr

Secure Cloud - "In-the-Cloud-Sicherheit"

Secure Cloud - In-the-Cloud-Sicherheit Secure Cloud - "In-the-Cloud-Sicherheit" Christian Klein Senior Sales Engineer Trend Micro Deutschland GmbH Copyright 2009 Trend Micro Inc. Virtualisierung nimmt zu 16.000.000 14.000.000 Absatz virtualisierter

Mehr

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Universität der Bundeswehr München Mario Golling und Michael Kretzschmar Fakultät für Informatik E-Mail: mario.golling@unibw.de

Mehr

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim Andreas Ries Cloud-Computing Seminar Hochschule Mannheim WS0910 1/26 Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim Andreas Ries Fakultät für Informatik Hochschule Mannheim ries.andreas@web.de

Mehr

Cloud Computing. Chancen und Risiken aus technischer und unternehmerischer Sicht. von Christian Metzger, Thorsten Reitz, Juan Villar. 1.

Cloud Computing. Chancen und Risiken aus technischer und unternehmerischer Sicht. von Christian Metzger, Thorsten Reitz, Juan Villar. 1. Cloud Computing Chancen und Risiken aus technischer und unternehmerischer Sicht von Christian Metzger, Thorsten Reitz, Juan Villar 1. Auflage Hanser München 2011 Verlag C.H. Beck im Internet: www.beck.de

Mehr

Cloud Computing: Hype oder Chance auch. für den Mittelstand?

Cloud Computing: Hype oder Chance auch. für den Mittelstand? Prof. Dr.-Ing. Rainer Schmidt HTW Aalen Wirtschaftsinformatik Überblick Was ist Cloud-Computing und wieso ist es für Unternehmen wichtig? Wie können Unternehmen mit Hilfe einer Cloud- Computing-Strategie

Mehr

Linux Server in der eigenen Cloud

Linux Server in der eigenen Cloud SÜD IT AG World of IT Linux Server in der eigenen Cloud Infrastructure as a Service (IaaS) Michael Hojnacki, ProtoSoft AG Quellen: SUSE Cloud 4 Präsentation (Thore Bahr) Diverse Veröffentlichungen Stahlgruberring

Mehr

Vorbesprechung Hauptseminar "Cloud Computing"

Vorbesprechung Hauptseminar Cloud Computing Vorbesprechung Hauptseminar "Cloud Computing" Dimka Karastoyanova, Johannes Wettinger, Frank Leymann {karastoyanova, wettinger, leymann}@iaas.uni-stuttgart.de Institute of Architecture of Application Systems

Mehr

Technologiepolitische Aktionslinie des BMWi zum Internet der Dienste

Technologiepolitische Aktionslinie des BMWi zum Internet der Dienste Innovationspolitik, Informationsgesellschaft, Telekommunikation Technologiepolitische Aktionslinie des BMWi zum Internet der Dienste Dr. Andreas Goerdeler, Referatsleiter Entwicklung konvergenter IKT www.bmwi.de

Mehr

MICROSOFTS CLOUD STRATEGIE

MICROSOFTS CLOUD STRATEGIE MICROSOFTS CLOUD STRATEGIE Sebastian Weber Head of Technical Evangelism Developer Platform & Strategy Group Microsoft Deutschland GmbH Slide 1 WAS IST CLOUD COMPUTING? Art der Bereitstellung von IT-Leistung

Mehr

Cloud Computing mit OpenStack

Cloud Computing mit OpenStack Cloud Computing mit OpenStack B1 Systems GmbH http://www.b1-systems.de Cloud Computing Fragen Was ist Cloud Computing? Was ist Infrastructure As A Service? Was ist OpenStack...... und aus welchen Komponenten

Mehr

Seminarvortrag. Cloud Computing. Christophe Sokol 26.01.2012

Seminarvortrag. Cloud Computing. Christophe Sokol <sokol@inf.fu-berlin.de> 26.01.2012 Seminarvortrag Cloud Computing Christophe Sokol 26.01.2012 Ablauf des Vortrags Hintergrund: Der Plat_Forms-Wettbewerb Was ist Cloud Computing? Aufgaben lösen in der Cloud 3 / 23

Mehr

COBIT 5 Controls & Assurance in the Cloud. 05. November 2015

COBIT 5 Controls & Assurance in the Cloud. 05. November 2015 COBIT 5 Controls & Assurance in the Cloud 05. November 2015 Charakteristika der Cloud On-Demand Self Service Benötigte IT-Kapazität selbstständig ordern und einrichten Broad Network Access Zugriff auf

Mehr

Telekom Deutschland GmbH. Erleben, was verbindet. kontaktieren Sie uns hier am Stand oder Ihren Kundenberater.

Telekom Deutschland GmbH. Erleben, was verbindet. kontaktieren Sie uns hier am Stand oder Ihren Kundenberater. Vernetztes Vernetztes Leben Leben und und Arbeiten Arbeiten Telekom Deutschland GmbH. Erleben, was verbindet. kontaktieren Sie uns hier am Stand oder Ihren Kundenberater. Das virtuelle Rechenzentrum Heiko

Mehr

Vertrags- und Lizenzfragen im Rahmen des Cloud Computing LES Arbeitsgruppenmeeting 13. Mai 2011

Vertrags- und Lizenzfragen im Rahmen des Cloud Computing LES Arbeitsgruppenmeeting 13. Mai 2011 Vertrags- und Lizenzfragen im Rahmen des Cloud Computing LES Arbeitsgruppenmeeting 13. Mai 2011 Heymann & Partners Übersicht Erscheinungsformen des Cloud Computing Vertragsgestaltung beim Cloud Computing

Mehr

Information Systems & Semantic Web University of Koblenz Landau, Germany. Cloud Computing. Steffen Staab

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany. Cloud Computing. Steffen Staab Information Systems & Semantic Web University of Koblenz Landau, Germany Cloud Computing Cloud Computing if you do not have Cloud Computing in your business proposal you do not get VC funding. P. Miraglia@Austin,

Mehr

Hybride Cloud Datacenters

Hybride Cloud Datacenters Hybride Cloud Datacenters Enterprise und KMU Kunden Daniel Jossen Geschäftsführer (CEO) dipl. Ing. Informatik FH, MAS IT Network Amanox Solutions Unsere Vision Wir planen und implementieren für unsere

Mehr

Cloud Computing mit OpenStack

Cloud Computing mit OpenStack Cloud Computing mit OpenStack B1 Systems GmbH http://www.b1-systems.de Cloud Computing Cloud Computing Servicemodelle Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service

Mehr

Virtualisierung im Rechenzentrum

Virtualisierung im Rechenzentrum in wenigen Minuten geht es los Virtualisierung im Rechenzentrum Der erste Schritt auf dem Weg in die Cloud KEIN VOIP, nur Tel: 030 / 7261 76245 Sitzungsnr.: *6385* Virtualisierung im Rechenzentrum Der

Mehr

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

Cloud Computing. ITA Tech Talk, Oberursel, 28.09.2010. Nicholas Dille IT-Architekt, sepago GmbH Cloud Computing ITA Tech Talk, Oberursel, 28.09.2010 Nicholas Dille IT-Architekt, sepago GmbH Wer ist Nicholas Dille? IT-Architekt bei der sepago Strategieberatung Technische Konzeption Kernkompetenzen

Mehr

Stefan Kusiek BFW-Leipzig

Stefan Kusiek BFW-Leipzig Stefan Kusiek BFW-Leipzig Schnellere Geräte (CPU, HDD, RAM, ) Mehrere Geräte (CPU, HDD, RAM, ) Mehrere Geräte (Rechner, Server, ) Cluster Preiswerter????? Mindestgröße Installation Konfiguration Wartung

Mehr

Der Gartner Hype Cycle als. prognostischer Hintergrund

Der Gartner Hype Cycle als. prognostischer Hintergrund Der Gartner Hype Cycle als 2 prognostischer Hintergrund Die Digitale Revolution steht nicht bevor, sondern sie entfaltet in vielen Bereichen schon die Kraft der schöpferischen Zerstörung. Eine wichtige

Mehr

Cloud-Computing - Überblick

Cloud-Computing - Überblick Cloud-Computing - Überblick alois.schuette@h-da.de Alois Schütte 24. November 2014 1 / 20 Inhaltsverzeichnis 1 Was ist Cloud-Computing Warum beschäftigt man sich mit Cloud Computing? 2 Aufbau der Veranstaltung

Mehr

Die Microsoft Cloud OS-Vision

Die Microsoft Cloud OS-Vision Die Microsoft Cloud OS-Vision 29-01-2014, itnetx/marcel Zehner Seit Oktober 2013 steht Microsoft mit dem neuen Betriebssystem Microsoft Windows Server 2012 R2 am Start. Aus Sicht von vielen Unternehmen

Mehr

Cloud Computing. Vorlesung an der Hochschule Karlsruhe - Technik und Wirtschaft im Sommersemester 2015 Michael Fischer und Georg Magschok

Cloud Computing. Vorlesung an der Hochschule Karlsruhe - Technik und Wirtschaft im Sommersemester 2015 Michael Fischer und Georg Magschok Cloud Computing Vorlesung an der Hochschule Karlsruhe - Technik und Wirtschaft im Sommersemester 2015 Michael Fischer und Georg Magschok mf@wanulator.de gio@eglikoe.de Die Vorlesung im Web: http://www.home.hs-karlsruhe.de/~mage0003/

Mehr

REST-basierte Web-Services mit PHP (1)

REST-basierte Web-Services mit PHP (1) REST-basierte Web-Services mit PHP (1) REST nutzt direkt die HTTP-Operationen Daher ist es (vgl. SOAP) einfacher, einen REST-basierten Webservice direkt mit PHP zu implementieren. Einige PHP-Frameworks,

Mehr

IT-Security on Cloud Computing

IT-Security on Cloud Computing Abbildung 1: IT-Sicherheit des Cloud Computing Name, Vorname: Ebert, Philipp Geb.: 23.06.1993 Studiengang: Angewandte Informatik, 3. FS Beruf: IT-Systemelektroniker Abgabedatum: 08.12.2014 Kurzfassung

Mehr

Einführung Cloud Computing. Dr. Alexander Wöhrer, Fakultät für Informatik

Einführung Cloud Computing. Dr. Alexander Wöhrer, Fakultät für Informatik Einführung Cloud Computing Dr. Alexander Wöhrer, Fakultät für Informatik DIE Cloud noch Fragen? http://www.boston.com/business/ticker/cloud320.jpg Cloud computing Mittels virtualisierter Ressourcen und

Mehr

Cloud Computing: der Mega-Trend der IT-Branche geht alle an!!!

Cloud Computing: der Mega-Trend der IT-Branche geht alle an!!! Cloud Computing: der Mega-Trend der IT-Branche geht alle an!!! CLOUD COMPUTING Abteilungsleiter»IT in der Logistik«Fraunhofer-Institut für Software- und Systemtechnik ISST Ein erstes Beispiel für eine

Mehr

WINDOWS AZURE IM ÜBERBLICK GANZ NEUE MÖGLICHKEITEN

WINDOWS AZURE IM ÜBERBLICK GANZ NEUE MÖGLICHKEITEN WINDOWS AZURE IM ÜBERBLICK GANZ NEUE MÖGLICHKEITEN Dr. Bernd Kiupel Azure Lead Microsoft Schweiz GmbH NEUE MÖGLICHKEITEN DURCH UNABHÄNGIGKEIT VON INFRASTRUKTUR BISHER: IT-Infrastruktur begrenzt Anwendungen

Mehr

Compass Security AG [The ICT-Security Experts]

Compass Security AG [The ICT-Security Experts] Compass Security AG [The ICT-Security Experts] Live Hacking: Cloud Computing - Sonnenschein oder (Donnerwetter)? [Sophos Anatomy of an Attack 14.12.2011] Marco Di Filippo Compass Security AG Werkstrasse

Mehr

Sind Cloud Apps der nächste Hype?

Sind Cloud Apps der nächste Hype? Java Forum Stuttgart 2012 Sind Cloud Apps der nächste Hype? Tillmann Schall Stuttgart, 5. Juli 2012 : Agenda Was sind Cloud Apps? Einordnung / Vergleich mit bestehenden Cloud Konzepten Live Demo Aufbau

Mehr

Cloud Computing - die Lösung der Zukunft

Cloud Computing - die Lösung der Zukunft Cloud Computing - die Lösung der Zukunft Agenda: 08:30 08:40 Begrüssung Herr Walter Keller 08:40 09:00 Idee / Aufbau der Cloud Herr Daniele Palazzo 09:00 09:25 Definition der Cloud Herr Daniele Palazzo

Mehr

Magento goes into the cloud Cloud Computing für Magento. Referent: Boris Lokschin, CEO

Magento goes into the cloud Cloud Computing für Magento. Referent: Boris Lokschin, CEO Magento goes into the cloud Cloud Computing für Magento Referent: Boris Lokschin, CEO Agenda Über symmetrics Unsere Schwerpunkte Cloud Computing Hype oder Realität? Warum Cloud Computing? Warum Cloud für

Mehr

WANN GEHE ICH IN DIE CLOUD?

WANN GEHE ICH IN DIE CLOUD? WANN GEHE ICH IN DIE CLOUD? Angebot und Auswahl von Cloud-Diensten Dr. Bernhard Holtkamp Essen 6. Oktober 2011 Agenda Motivation Auswahl von Lösungen Ausblick Was ist Cloud Computing? Cloud Computing umfasst

Mehr

JEAF Cloud Plattform Der Workspace aus der Cloud

JEAF Cloud Plattform Der Workspace aus der Cloud JEAF Cloud Plattform Der Workspace aus der Cloud Juni 2014 : Aktuelle Situation Heutige Insellösungen bringen dem Nutzer keinen Mehrwert Nutzer sind mobil Dateien und Applikationen sind über Anbieter und

Mehr

Hochverfügbar, skalierbar und sicher in. der Public Cloud

Hochverfügbar, skalierbar und sicher in. der Public Cloud Hochverfügbar, skalierbar und sicher in der Public Cloud Thomas Bachmann CIO @ Mambu GmbH Twitter: @thobach Anwendungsbeispiel Core Banking System Verwaltung von Kunden, Konten, Transaktionen Buchhaltung,

Mehr

Beim Kunden wahrgenommene Qualität von IT-Services Ein wichtiger Faktor in der Beschaffung von Cloud Services

Beim Kunden wahrgenommene Qualität von IT-Services Ein wichtiger Faktor in der Beschaffung von Cloud Services Beim Kunden wahrgenommene Qualität von IT-Services Ein wichtiger Faktor in der Beschaffung von Cloud Services BICCnet Arbeitskreistreffen "IT-Services" am 14. November bei fortiss Jan Wollersheim fortiss

Mehr

Cloud Computing Technologische Ansätze, Plattformen und Lösungen für die öffentliche Hand

Cloud Computing Technologische Ansätze, Plattformen und Lösungen für die öffentliche Hand Cloud Computing Technologische Ansätze, Plattformen und Lösungen für die öffentliche Hand Michael Grözinger National Technology Officer Microsoft Deutschland GmbH 1 Agenda Cloud Computing wofür steht das?

Mehr

CLOUD - INTEGRATION. Die Welt ist Hybrid. Erfahrungen aus den ersten Umsetzungsprojekten

CLOUD - INTEGRATION. Die Welt ist Hybrid. Erfahrungen aus den ersten Umsetzungsprojekten CLOUD - INTEGRATION Die Welt ist Hybrid Erfahrungen aus den ersten Umsetzungsprojekten Wir lösen Komplexität und schaffen Produktivität mii & DanubeDC mii GmbH Der kompetenteste Anbieter von Cloud Services

Mehr

ICMF, 22. März 2012. Markus Zollinger. Leiter Cloud Computing IBM Schweiz. 2011 IBM Corporation

ICMF, 22. März 2012. Markus Zollinger. Leiter Cloud Computing IBM Schweiz. 2011 IBM Corporation ICMF, 22. März 2012 Markus Zollinger Leiter Cloud Computing IBM Schweiz 2011 IBM Corporation Cloud Computing ist...real! Internet Apple icloud 2 Unternehmen passen sich sehr schnell an! Collaboration CRM

Mehr

Software as a Service

Software as a Service Software as a Service Andreas Von Gunten http://www.ondemandnotes.com http://www.andreasvongunten.com SaaSKon 2008 11. November 2008 Das Problem - Komplexität Software selber zu betreiben, bedeutet zunehmende

Mehr

Der Cloud-Dienst Windows Azure

Der Cloud-Dienst Windows Azure Der Cloud-Dienst Windows Azure Master-Seminar Cloud Computing Wintersemester 2013/2014 Sven Friedrichs 07.02.2014 Sven Friedrichs Der Cloud-Dienst Windows Azure 2 Gliederung Einleitung Aufbau und Angebot

Mehr

Die Cloud, die alles anders macht. Die 6 Grundzüge der Swisscom Cloud

Die Cloud, die alles anders macht. Die 6 Grundzüge der Swisscom Cloud Die Cloud, die alles anders macht. Die 6 Grundzüge der Swisscom Cloud Viele Clouds, viele Trends, viele Technologien Kommunikation Private Apps Prozesse Austausch Speicher Big Data Business Virtual Datacenter

Mehr

Die aktuellen Top 10 IT Herausforderungen im Mittelstand

Die aktuellen Top 10 IT Herausforderungen im Mittelstand Die aktuellen Top 10 IT Herausforderungen im Mittelstand Ronald Boldt, SPI GmbH Über mich Ronald Boldt Leiter Business Solutions SPI GmbH Lehrbeauftragter für Geschäftsprozess orientiertes IT Management

Mehr

Evaluierung und Auswahl von

Evaluierung und Auswahl von Berichte aus der Wirtschaftsinformatik Stefan Wind Evaluierung und Auswahl von Enterprise Cloud Services Shaker Verlag Aachen 2014 Inhaltsverzeichnis Abkürzungsverzeichnis Abbildungsverzeichnis Tabellenverzeichnis

Mehr

ITK-Trends 2010: Hardware and Software. Engineered to work together. Rolf Kersten EMEA Hardware Product Marketing, Oracle

ITK-Trends 2010: Hardware and Software. Engineered to work together. Rolf Kersten EMEA Hardware Product Marketing, Oracle ITK-Trends 2010: Hardware and Software. Engineered to work together. Rolf Kersten EMEA Hardware Product Marketing, Oracle SAFE HARBOR STATEMENT The following is intended to outline our general product

Mehr

Klein Computer System AG. Portrait

Klein Computer System AG. Portrait Klein Computer System AG Portrait Die Klein Computer System AG wurde 1986 durch Wolfgang Klein mit Sitz in Dübendorf gegründet. Die Geschäftstätigkeiten haben sich über die Jahre stark verändert und wurden

Mehr

Open Source als de-facto Standard bei Swisscom Cloud Services

Open Source als de-facto Standard bei Swisscom Cloud Services Open Source als de-facto Standard bei Swisscom Cloud Services Dr. Marcus Brunner Head of Standardization Strategy and Innovation Swisscom marcus.brunner@swisscom.com Viele Clouds, viele Trends, viele Technologien

Mehr

Was ist Windows Azure? (Stand Juni 2012)

Was ist Windows Azure? (Stand Juni 2012) Was ist Windows Azure? (Stand Juni 2012) Windows Azure Microsofts Cloud Plattform zu Erstellung, Betrieb und Skalierung eigener Cloud-basierter Anwendungen Cloud Services Laufzeitumgebung, Speicher, Datenbank,

Mehr

Was ist die Cloud? CCW interner Vortrag für Themenabend Erstellt: Mai 2012, Heiko Ehmsen Dauer: ca. 30 Minuten. Inhalt

Was ist die Cloud? CCW interner Vortrag für Themenabend Erstellt: Mai 2012, Heiko Ehmsen Dauer: ca. 30 Minuten. Inhalt Was ist die Cloud? CCW interner Vortrag für Themenabend Erstellt: Mai 2012, Heiko Ehmsen Dauer: ca. 30 Minuten Inhalt 1. Einführung Geschichte 2. Grundidee der Cloud-Technik (Virtualisierung, Skalierbarkeit,

Mehr

Seminar im WS 2011/12: Technische Aspekte des Cloud- Computings. Prof. Sergei Gorlatch, Dominik Meiländer, Michel Steuwer

Seminar im WS 2011/12: Technische Aspekte des Cloud- Computings. Prof. Sergei Gorlatch, Dominik Meiländer, Michel Steuwer Seminar im WS 2011/12: Technische Aspekte des Cloud- Computings Prof. Sergei Gorlatch, Dominik Meiländer, Michel Steuwer Fachbereich Mathematik und Informatik Arbeitsgruppe Parallele und Verteilte Systeme

Mehr

Clouds. Erwartungen der Nutzer. Wolkig bis Heiter. (c) 2013, Peter Sturm, Universität Trier. Er ist verwöhnt! Er ist nicht dankbar!

Clouds. Erwartungen der Nutzer. Wolkig bis Heiter. (c) 2013, Peter Sturm, Universität Trier. Er ist verwöhnt! Er ist nicht dankbar! Clouds Wolkig bis Heiter Erwartungen der Nutzer Er ist verwöhnt! Verfügbarkeit Viele Anwendungen Intuitive Interfaces Hohe Leistung Er ist nicht dankbar! Mehr! Mehr! Mehr! Moore 1 Erwartungen der Entwickler

Mehr

Themenschwerpunkt Cloud-Computing

Themenschwerpunkt Cloud-Computing Themenschwerpunkt Cloud-Computing Ihr Ansprechpartner heute Claranet GmbH Hanauer Landstraße 196 60314 Frankfurt Senior Partner Account & Alliance Manager Tel: +49 (69) 40 80 18-433 Mobil: +49 (151) 16

Mehr

Heiter bis wolkig Sicherheitsaspekte und Potentiale von Cloud Computing für die öffentlichen Verwaltung

Heiter bis wolkig Sicherheitsaspekte und Potentiale von Cloud Computing für die öffentlichen Verwaltung Heiter bis wolkig Sicherheitsaspekte und Potentiale von Computing für die öffentlichen Verwaltung Jörg Thomas Scholz Leiter Professional Services Public Sector Deutschland, Siemens AG Führungskräfteforum,

Mehr

Die EBCONT Unternehmensgruppe.

Die EBCONT Unternehmensgruppe. 1200 Wien, Handelskai 94-96 Johannes Litschauer, Alex Deles IT-Infrastruktur IT-Betrieb (managed Services) Cloud / Elastizität 1200 Wien, Handelskai 94-96 Johannes Litschauer, Alex Deles Enterprise Solutions

Mehr

AEQUO Adaptive und energieeffiziente Verteilung von virtuellen Maschinen in OpenStack-Umgebungen

AEQUO Adaptive und energieeffiziente Verteilung von virtuellen Maschinen in OpenStack-Umgebungen AEQUO Adaptive und energieeffiziente Verteilung von virtuellen Maschinen in OpenStack-Umgebungen Kai Spindler Sebastian Rieger [vorname.nachname]@informatik.hs-fulda.de Agenda Virtualisierung mit OpenStack

Mehr

Cloud-Computing Seminar Hochschule Mannheim

Cloud-Computing Seminar Hochschule Mannheim Christian Baun Cloud-Computing Seminar Hochschule Mannheim WS0910 1/20 Cloud-Computing Seminar Hochschule Mannheim Christian Baun Fakultät für Informatik, Hochschule Mannheim, cray@unix-ag.uni-kl.de 9.10.2009

Mehr

Herzlich Willkommen zum Business Frühstück. Unternehmensserver in der Cloud Der Mittelstand befreit sich vom IT-Ballast

Herzlich Willkommen zum Business Frühstück. Unternehmensserver in der Cloud Der Mittelstand befreit sich vom IT-Ballast Herzlich Willkommen zum Business Frühstück Unternehmensserver in der Cloud Der Mittelstand befreit sich vom IT-Ballast Agenda ab 09:00 Uhr Eintreffen 09:30 Uhr Begrüßung Clemens Dietl, m.a.x. Informationstechnologie

Mehr

Version 2.0. Copyright 2013 DataCore Software Corp. All Rights Reserved.

Version 2.0. Copyright 2013 DataCore Software Corp. All Rights Reserved. Version 2.0 Copyright 2013 DataCore Software Corp. All Rights Reserved. VDI Virtual Desktop Infrastructure Die Desktop-Virtualisierung im Unternehmen ist die konsequente Weiterentwicklung der Server und

Mehr

Hosting in der Private Cloud

Hosting in der Private Cloud Security Breakfast 26.10.2012 Hosting in der Private Cloud Praxis, Compliance und Nutzen Stephan Sachweh, Technischer Leiter Pallas GmbH Hermülheimer Straße 8a 50321 Brühl information(at)pallas.de http://www.pallas.de

Mehr

Open Grid Services Architecture (OGSA)

Open Grid Services Architecture (OGSA) Open Grid Services Architecture (OGSA) IBM Red Paper; Fundamentals of Grid Computing, 2002 A d v an ced M id d lew are P ro f. D r. C h. R eich rc h @ fh-furtw angen.d e http://www.informatik.fh-furtwangen.de/~reich/advancedmiddlewareallg.ss05/index.html

Mehr

CANCOM DIDAS GMBH MANAGED & CLOUD SERVICES

CANCOM DIDAS GMBH MANAGED & CLOUD SERVICES CANCOM DIDAS GMBH MANAGED & CLOUD SERVICES Von individueller Beratung bis zum bedarfsgerechten Betrieb Passen Sie Ihre IT an die Dynamik des Marktes an Unternehmen müssen heute unmittelbar und flexibel

Mehr

Cloud Computing. 9. Februar 2010 Thorsten Zenker, T-Systems International, ICT Operations

Cloud Computing. 9. Februar 2010 Thorsten Zenker, T-Systems International, ICT Operations Cloud Computing. 9. Februar 2010 Thorsten Zenker, T-Systems International, ICT Operations Situation: Megathema Cloud Computing Cloud Computing ist ein Megatrend Computerwoche, 31.10.08 Massiver Trend zu

Mehr

Cloud Computing. 7. Oktober 2010

Cloud Computing. 7. Oktober 2010 Cloud Computing. 7. Oktober 2010 Music was my first love (J. Miles). Analysten sehen Cloud Computing als Evolution bekannter Technologien. Source: Experton, May 2010 Das Internet der Zukunft wird unsere

Mehr

Public und Private Cloud-Dienste mit KOALA komfortabel steuern

Public und Private Cloud-Dienste mit KOALA komfortabel steuern Public und Private Cloud-Dienste mit KOALA komfortabel steuern ix CeBIT Forum 2011 Christian Baun, Marcel Kunze 4. März 2011 STEINBUCH CENTRE FOR COMPUTING (SCC) KIT Universität des Landes Baden-Württemberg

Mehr

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

Cloud-Architekturen auf verschiedenen Ebenen Seminar: Datenbankanwendungen im Cloud Computing Cloud-Architekturen auf verschiedenen Ebenen Seminar: Datenbankanwendungen im Cloud Computing Andreas Wixler INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS KIT University

Mehr

Cloud-Computing Seminar - Vergleichende Technologien: Grid-Computing Hochschule Mannheim

Cloud-Computing Seminar - Vergleichende Technologien: Grid-Computing Hochschule Mannheim Sven Hartlieb Cloud-Computing Seminar Hochschule Mannheim WS0910 1/23 Cloud-Computing Seminar - Vergleichende Technologien: Grid-Computing Hochschule Mannheim Sven Hartlieb Fakultät für Informatik Hochschule

Mehr

Acceleris Data Center Consulting IT auf dem Weg zur Industrialisierung

Acceleris Data Center Consulting IT auf dem Weg zur Industrialisierung Acceleris Data Center Consulting IT auf dem Weg zur Industrialisierung Open Cloud Day, 10.06.2014 Data Center Evolution Der Weg zur Wolke ein Phasenmodell Physikalisch Virtualisiert Cloud > Die Applikations-

Mehr

Cloud Computing bereitet sich für den breiten Einsatz im Gesundheitswesen vor.

Cloud Computing bereitet sich für den breiten Einsatz im Gesundheitswesen vor. Cloud Computing im Gesundheitswesen Cloud Computing ist derzeit das beherrschende Thema in der Informationstechnologie. Die Möglichkeit IT Ressourcen oder Applikationen aus einem Netz von Computern zu

Mehr

Best Practice: On-demand Lösungen bei der Software AG. Dr. Dirk Ventur CIO and Head of Global Support

Best Practice: On-demand Lösungen bei der Software AG. Dr. Dirk Ventur CIO and Head of Global Support Best Practice: On-demand Lösungen bei der Software AG Dr. Dirk Ventur CIO and Head of Global Support Software AG ist der weltweit größte unabhängige Anbieter von Infrastruktursoftware für Geschäftsprozesse

Mehr

1 2 013 I BM I C BM orporatiton

1 2 013 I BM I C BM orporatiton 1 Ronald Brutter, Senior IT Architect 3. Nov. 2013 Backup wozu? Ich habe Cloud Was ist Cloud? 5 Charakteristika nach NIST Das NIST listet fünf essentielle Charakteristika für Cloud-Computing: 1. Selbstzuweisung

Mehr

2012 MASTERS Consulting GmbH 1

2012 MASTERS Consulting GmbH 1 2012 MASTERS Consulting GmbH 1 MASTERS Consulting ist eine Unternehmensberatung für IT Service Management. Das Beratungsumfeld umfasst die Themen IT Strategy Management, IT Governance & Compliance Management,

Mehr

Chancen und Risiken durch IT-basierte Leistungen "aus der Wolke"

Chancen und Risiken durch IT-basierte Leistungen aus der Wolke Chancen und Risiken durch IT-basierte Leistungen "aus der Wolke" Wie kann man eine Kostenreduktion erreichen? Welche neue Möglichkeiten eröffnen sich? Dr. Alois Kastner-Maresch Oktober 2011 Inhalt der

Mehr

Was darf das Grid kosten?

Was darf das Grid kosten? Was darf das Grid kosten? Dr. Marcel Kunze Steinbuch Centre for Computing Abteilung Integration und Virtualisierung Die Kooperation von Darf das Grid was kosten? Infrastruktur: Geschäftsmodell oder Sponsoring?

Mehr

Cloud Computing mit der Windows Azure Platform

Cloud Computing mit der Windows Azure Platform Cloud Computing mit der Windows Azure Platform Ein Überblick Holger Sirtl Architect Developer Platform & Strategy Group Microsoft Deutschland GmbH http://blogs.msdn.com/hsirtl Wahlfreiheit bei Anwendungen

Mehr

Aufbau und Betrieb einer Private Cloud mit Open Source Software

Aufbau und Betrieb einer Private Cloud mit Open Source Software Aufbau und Betrieb einer Private Cloud mit Open Source Software ix CeBIT Forum Hannover 5. März 2010 Christian Baun, Marcel Kunze baun kunze@kit.edu http://www.kit.edu Cloud-Computing 2009 + 2010 Allgemein

Mehr

Infrastructure as a Service Am Beispiel von Amazon EC2 und Eucalyptus

Infrastructure as a Service Am Beispiel von Amazon EC2 und Eucalyptus Infrastructure as a Service Am Beispiel von Amazon EC2 und Eucalyptus Jörg Brendel Joerg.Brendel@informatik.stud.uni-erlangen.de Hauptseminar Ausgewählte Kapitel der Systemsoftware (AKSS): Cloud Computing,

Mehr

SaaS-Referenzarchitektur. iico-2013-berlin

SaaS-Referenzarchitektur. iico-2013-berlin SaaS-Referenzarchitektur iico-2013-berlin Referent Ertan Özdil Founder / CEO / Shareholder weclapp die Anforderungen 1.000.000 registrierte User 3.000 gleichzeitig aktive user Höchste Performance Hohe

Mehr

Cloud Computing. Arbeitskreis Informatik in der Schule. Prof. Dr. Ulrike Steffens (ulrike.steffens@haw-hamburg.de)

Cloud Computing. Arbeitskreis Informatik in der Schule. Prof. Dr. Ulrike Steffens (ulrike.steffens@haw-hamburg.de) Cloud Computing Arbeitskreis Informatik in der Schule Prof. Dr. Ulrike Steffens (ulrike.steffens@haw-hamburg.de) Hochschule für angewandte Wissenschaften Hamburg Fachbereich Informatik Gliederung 1. Vorstellung

Mehr

Aktuelle Herausforderungen beim Cloud Computing

Aktuelle Herausforderungen beim Cloud Computing Dr. Christian Baun COMMIT 2012 Hochschule Mannheim Aktuelle beim Cloud Computing 1/19 Aktuelle beim Cloud Computing Dr. Christian Baun wolkenrechnen@gmail.com 22.10.2012 Dr. Christian Baun COMMIT 2012

Mehr

Grenzen und Möglichkeiten. Senatsverwaltung für Inneres und Sport Verfassungsschutz Bereich: Wirtschaftsschutz René K.

Grenzen und Möglichkeiten. Senatsverwaltung für Inneres und Sport Verfassungsschutz Bereich: Wirtschaftsschutz René K. Grenzen und Möglichkeiten Senatsverwaltung für Inneres und Sport Verfassungsschutz Bereich: Wirtschaftsschutz René K. 1 Agenda Definition Architektur Durchgängigkeit der Technologien Risiken Pro Contra

Mehr