Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme...

64
Cloud Computing Vasil Ninov Vortrag im Rahmen des Seminars „Ausgewählte Themen in Hardwareentwurf und Optik“ WS 2009/2010 Datum: 16.12 2009 Universität Mannheim Lehrstuhl für Rechnerarchitektur Betreuer: Holger Froening

Transcript of Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme...

Page 1: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

Cloud Computing

Vasil Ninov

Vortrag im Rahmen des Seminars„Ausgewählte Themen in Hardwareentwurf und Optik“

WS 2009/2010Datum: 16.12 2009

Universität Mannheim Lehrstuhl für Rechnerarchitektur

Betreuer: Holger Froening

Page 2: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

2

Inhalt

Cloud ComputingProbleme der DefinitionNutzungsmodelleCharakteristikaTechnische Voraussetzungen

VirtualisierungPrinzip der VirtualisierungKonzepte der VirtualisierungVorteile von VirtualisierungNachteile und Grenzen von Virtualisierung

Cloud AnwendungenAnbieter in Überblick

Zusammenfassung & Quellen

Page 3: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

3

Probleme der Definition

Was ist Cloud Computing?Es gibt keine allgemeine Definition !

Definition„Cloud Computing“ steht für einen Pool aus abstrahierter, hochskalierbarer und verwalteter IT-Infrastruktur, die Kundenanwendungen vorhält und falls erforderlich nach Gebrauch abgerechnet werden kann. (Quelle: Forrester Research)

Cloud Computing umfasst On-Demand-Infrastruktur(Rechner, Speicher, Netze) und On-Demand-Software(Betriebssysteme, Anwendungen, Middleware, Management-und Entwicklungs-Tools), die jeweils dynamisch an die Erfordernisse von Geschäftsprozessen angepasst werden. Dazu gehört auch die Fähigkeit, komplette Prozesse zu betreiben und zu managen. (Quelle: Saugatuck Technology)

Web Services + Virtualisierung = Cloud Computing

Page 4: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

4

Probleme der Definition

Quelle: http://www.newsandreviews.in/index.php/MKJ/?title=cloud-computing-componenets-for-the-insu&more=1&c=1&tb=1&pb=1

Page 5: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

5

NutzungsmodelleSoftware as a Service (SaaS)Platform as a Service (PaaS)Infrastruktur as a Service (IaaS)

Quelle: http://www.saasblogs.com

Quelle: http://blog.gogrid.com/

Quelle: http://blog.gogrid.com/wp-content/uploads/2009/07/cloud_pyramid_with_logos3_wm.png

Page 6: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

6

NutzungsmodelleSoftware as a Service (SaaS)

Die Bereitstellung der Funktionalität von Software via InternetWebbasierte Zugriff auf Anwendungen (Endbenutzer)Kosten fallen nur in Bedarfsfall animmer aktuelle Version

Platform as a Service (PaaS)Plattformbenutzung (Entwickler) über InternetVon Kunden erstellte Anwendungen, die im Internet verteilt werden

Infrastructure as a Service (IaaS)Infrastrukturbenutzung: Das Mieten von Ressourcen für Rechenleistung, Speicher, Netzwerk, und andere AufgabenKosten fallen nur in Bedarfsfall anSkalierbarkeit

Page 7: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

7

Nutzungsmodelle

Quelle: http://blogs.msdn.com/hsirtl/archive/2009/04/29/die-azure-services-plattform-in-der-welt-von-cloud-computing-und-software-plus-services.aspx

Page 8: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

8

Nutzungsmodelle

Quelle: http://www.strategi-consulting.com/

SaaSAnwendungslogik

Entwicklung/RuntimeInfrastruktur

PaaSEntwicklung/Runtime

Infrastruktur

IaaSInfrastruktur

Page 9: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

9

Charakteristika - Architektur

ArchitekturVier logische Schichten unterteilt

Physikalische HardwareVirtualisierungManagementWorkloads

Physikalische HardwareVirtuelle Bereitstellung von flexiblen und adaptiven Ressourcen

Virtualisierungstellt die Plattform der virtuellen Dienste für Server, Speicher und das Netz bereit

ManagmentIst die Steuerungszentrale des SystemsHier werden die Werkzeuge zur Verwaltung, Abrechnung und Überwachung der angeforderten Dienste bereitgestellt.

WorkloadsBietet den verschiedenen Anwendungen eine entsprechende Plattform

Page 10: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

10

Charakteristika - Architektur

Highlevel-Architektur von Cloud Computing nach Vorstellung von IBM.

Quelle:http://wwwlehre.dhbw-stuttgart.de/~schulte/doc/cloud_funkschau.pdf

Page 11: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

11

Charakteristika - Nutzerverhalten

Nutzer werden MieterNutzer besitzen keine physikalische InfrastrukturNutzer zahlen nur Dienste, die sie benutzt haben (Utility Computing)Zusätzliche Ressourcen (Speicher, Rechnerleistung, Anwendungen etc.) sind immer zur Verfügung, nur bei BedarfBenutzer haben Anspruch auf Erbringung durch Quality of Service oder Service Level Agreements

Page 12: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

12

Charakteristika - Anbieterverhalten

Wieso viele Anbieter bieten die Cloud Computing-Dienste ?Vollständige Auslastung der Server ( momentan nur in Bereich von 5% bis 20%)Anbieter müssen zuerst für ihre eigene Kerndienste Ressourcen als Reserven für Stosszeiten (tagesabhängig) vorhaltenWährend Nicht-Stosszeiten werden Ressourcen als Cloud Computing-Dienste angeboten

Page 13: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

13

Charakteristika - Anbieterverhalten

Beispiel

a) Provisioning for peak loadb) Underprovisioning 1

c) Underprovisioning 2

Quelle: http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf

Page 14: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

14

Technische VoraussetzungenClusterGrid-ComputingVom Grid zur CloudParallele und Verteilte SystemeVirtualisierung

Quelle: http://www.hpc.msstate.edu/computing/history/

Page 15: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

15

Technische Voraussetzungen-Cluster

Seit 1983 (Firma Digital Equipment Corporation mit dem Produkt VAXCluster)Beim Cluster-Computing werden Gruppen (Cluster) eigenständiger, vernetzter Computer (Knoten) aufgebaut, die sich wie ein einzelner, virtueller Großrechner verhaltenBenötigt parallelisierte Software

Quelle:http://www.msexchangefaq.de/cluster/cluster1b.jpg

Page 16: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

16

Technische Voraussetzungen-Cluster

Vorteile von ClusternSkalierbarkeit von Hardware-RessourcenNiedrige Kosten (z.B. handelsübliche PCs)

Nachteile von ClusternMit zunehmender Zahl des Knoten im Cluster zunehmend erhöhter Administrationsaufwand (Personalaufwand)Verteilen und Kontrollieren von Anwendungen ist aufwendig

Klassifikation von Clustern:Load Balancing ClusterHigh Performance Computing Cluster (HPC)High Availability Cluster (HAC)High Throughput Cluster (HTC)

Page 17: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

17

Technische Voraussetzungen-Grid-Computing

„Grid“ in Analogie zu „Stromnetze“ (enfl. „electric power grid“)Rechenleistung oder Speicherplatz über das Internet zur Verfügung stellen, wie es möglich ist Strom aus einer Steckdose zu beziehenDefinition von Ian Foster und Carl Kesselman (der erste Versuch einer Definition)

„Ein Computational Grid ist eine Hardware- und Software-Infrastruktur, die einen zuverlässigen, konsistenten, von überall erreichbaren Zugriff auf die Kapazitäten von Hochleistungsrechnern ermöglicht.“ Quelle: http://de.wikipedia.org/wiki/Grid-Computing

Quelle: http://www.nm.ifi.lmu.de/teaching/Vorlesungen/2009ss/grid/

Page 18: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

18

Technische Voraussetzungen-Grid-Computing

Quelle:http://www.adarshpatil.com/newsite/images/grid-computing.gif

Page 19: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

19

Technische Voraussetzungen-Grid-Computing

Hautziele von Grid ComputingLösung von wissenschaftliche Problemen (z.B. mathematischen- oder datenintensiven Problemen)Effiziente Ausnutzung von Ressourcen (Speicherplatz, Großrechner, Cluster etc.)Vereinfachte Umgang mit RessourcenZusammenfassen der Rechenleistung innerhalb eines Netzwerks

Charakteristische EigenschaftenDezentralität: es gibt keine zentrale Instanz in GridHeterogenität: Die Ressourcen sind vielfältig (Cluster, Großrechner, Standard-PC, Datenspeicher, etc.)Skalierbarkeit: Zusammenfassen von Grids zu Über-Grids problemlosStandardisierung der Schnittstellen: Verwendung standardisierte Protokolle und Schnittstellen Trasparenz: Die physikalische Eigenschaften der Ressourcen wie z.B. Ort- oder Daten-Repräsentation sind verstecktDienstgüten: Ein Grid stellt verschiedene Dienstgüten bereit, die von Antwortzeit, der Erreichbarkeit, der Sicherheit abhängig sind

Page 20: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

20

Technische Voraussetzungen-Grid-ComputingGrid Computing vs. Cluster Computing

Cluster• Verbindung von mehreren Rechnern

• Kommunikation über LAN

• gemeinsame lokaler Standort

• zentrale Admin

Cluster• Verbindung von mehreren Rechnern

• Kommunikation über LAN

• gemeinsame lokaler Standort

• zentrale Admin

Grid• Verbindung von mehreren Ressourcen

• Kommunikation über WAN

• verteilte Standorte

• jede Maschine eigene Admin

Grid• Verbindung von mehreren Ressourcen

• Kommunikation über WAN

• verteilte Standorte

• jede Maschine eigene Admin

Quelle: http://www.developer.com/java/ent/article.php/3754476/Messaging-and-the-Grid-the-Perfect-Marriage.htm

Page 21: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

21

Technische Voraussetzungen-Grid-Computing

Grid Computing vs. Cloud ComputingGrid und Cloud verfolgen in Bezug auf die Funktionalität ähnliche Ziele

JaNeinRessourcenbereitstellungOn-demand

MöglichGeringere UnterstützungDienstgütevereinbarungen

Virtualisierung, Software as a Service, …

Hochleistungsrechnen, Grid-Infrastrukturen, …

Basistechnologie

Unternehmerisch (privat)Wissenschaftlich (öffentlich)Geschäftsmodell

StandardanwendungenSpezielle AnwendungenAnwendungen

Unterschiedliche Referenzimplementierungen

Unterschiedliche freie , gut dokumentierte Lösungen

Middware

Geringer Einarbeitungsaufwand

Hoher EinarbeitungsaufwandBenutzerschnittstelle

Zentrale KontrollinstanzOhne zentrale Kontrollinstanz

Infrastruktur

Service-AngebotJob-AusführungZielsetzung

CloudsGrids

Quelle: http://www.scc.kit.edu/downloads/oko/scc-news2008_03.pdf?PHPSESSID=e7830007dd82cb7cd9d847e576238b5d

Page 22: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

22

Technische Voraussetzungen-Vom Grid zur Cloud

Entwicklung zu Cloud Computing

Quelle: http://wwwlehre.dhbw-stuttgart.de/~schulte/doc/cloud_funkschau.pdf

Page 23: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

23

Technische Voraussetzungen-Vom Grid zur Cloud

Utility Computing: Bereitstellung von benötigen IT-Diensten aller ArtCloud Computing ist nicht anderes als eine Zusammenfassung aller möglichen Dienste und die sichere, breite Nutzung von Software aus dem Netz, zu jeder Zeit und an jedem Ort

Problem:Sicherheits- und juristische ProblemeLösung Serviceprovider bieten

Lösung:Serverprovider bieten Ihren Kunden spezielle Service Level Agreements (SLA) oder Dienstgütevereinbarungen an

Cloud Grid

Page 24: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

24

Technische Voraussetzungen-Vom Grid zur Cloud

Grid Computing wurde hauptsächlich als öffentlich finanzielle Forschungsaktivitäten spezieller Communities vorangetriebenCloud Computing ist auf die Bedürfnisse von Unternehmen ausgerichtet (Entwicklung maßgeblich von Unternehmen)Gründe für das geringe Engagement von Unternehmen in Grid-Projekten:

Schwierige BenutzbarkeitMangelnde FlexibilitätGeringe Vertrauen in Sicherheit und Dauerhaftigkeit der Infrastruktur

Bei Cloud–Computing sind die schwierige Benutzbarkeit und mangelnde Flexibilität aufgeräumt

Page 25: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

25

Technische Voraussetzungen-Parallele und verteilte Systeme

Was ist Parallelität?o Allgemein: mehr als eine Aktion

/Problem zu einer Zeit ausführeno Ziel: Geschwindigkeitssteigerung

und/oder schnellere Reaktion eines Servers auf (mehrere) Anfragen von Clients (gleichzeitig)

o Methode: Zerlegung Applikation in Einheiten (Tasks, Prozesse), die parallel ausgeführt werden können

o Gleichzeitige Ausführung auf verschiedene Prozessoren

o Probleme: Aufteilung der Aufgabe, Overhead für Koordination

Quelle: http://www.greyfrog.eu/cluster.de.htm

Page 26: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

26

Technische Voraussetzungen-Parallele und verteilte SystemeWas ist ein verteiltes System?o Ein verteiltes System

o besteht aus einer Mange autonomer Computero die mit einander verbunden sind (durch ein

Computernetzwerk)o und mit einer Software zur Koordination ausgestattet sind

o Ziel: Ausfalltoleranz, Fehlertoleranzo Problem: Sicherstellung der Verfügbarkeit von Rechenleistungen

Quelle: http://www.zuellig.ch/d/body_systech_abwasser.htm

Page 27: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

27

Technische Voraussetzungen-Parallele und verteilte Systeme

EigenschaftenSkalierbarkeitTransparenz

Das System wird als ein einheitliches System wahrgenommenOffenheit

Bestimmt, wie gut sich das System auf verschiedene Wege erweitern lässt

SicherheitVertraulichkeitAuthentizität

FehlertoleranzNebenläufigkeit

Mehrere gleichzeitig laufende Prozesse innerhalb eines System

Page 28: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

28

Technische Voraussetzungen-Virtualisierung

Quelle:http://www.networkcomputing.de/microsoft-bringt-2009-loesung-fuer-desktop-virtualisierung/

Page 29: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

29

Virtualisierung

Prinzip der VirtualisierungKonzepte der Virtualisierung

ApplikationsvirtualisierungHardware-EmulationVollständige VirtualisierungParavirtualisierungBetriebssystem-VirtualisierungCPU Virtualisierung

Vorteile von VirtualisierungNachteile und Grenzen von Virtualisierung

Quelle: http://o-o-s.de/?p=302

Page 30: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

30

Prinzip der Virtualisierung

Eine virtuelle Maschine ist ein nachgebildeter Rechner, der in einer isolierten Umgebung auf einer realen System läuft.Jede virtuelle Maschine verhält sich wie ein vollwertiger Computer mit eigenen Komponenten, wie CPU, Hauptspeicher, Festplatten, Grafikkarte, Netzwerkkarten, usw.Auf einige Hardwarekomponenten des Computer, darunter CPU und der Hauptspeicher kann eine virtuelle Maschine direkt zugreifenAndere Hardwarekomponenten (u. a. Netzwerkkarten) werden komplett emuliert

Durch die Virtualisierung erzeugt ein Computer viele virtuelle Maschinen. (Quelle: AMD) Quelle: http://blog.p-mt.net/

Page 31: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

31

Prinzip der Virtualisierung

Quelle: http://pcwelt-wiki.de

Page 32: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

32

Konzepte der Virtualisierung

Ein Überbegriff für eine Gruppe von Unterschiedlichen Konzepten und TechnologienTechniken

Hardware-Emulation Virtual Machine MonitorCPU Virtualisierung

KonzepteApplikationsvirtualisierungParavirtualisierungBetriebssystem-VirtualisierungVollständige VirtualisierungDatenspeichervirtualisierungNetzwerkvirtualisierung

Page 33: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

33

Applikationsvirtualisierung

Ziel: Anwendungen von ihrer Umgebung zu isolieren, so dass Konflikte mit anderen Programmen oder dem Betriebssystem vermeiden werdennicht die Hardware virtualisiert wird, sondern dass nur eine Abstraktionsschicht zwischen einzelnen Anwendungen und das Betriebssystemnicht jede Applikation auf ein Betriebssystem ausrichten, sondern alle auf eine virtuelle Maschine, die auf dem Betriebssystem Läuft

Quelle: http://images.pcwelt.de

Page 34: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

34

Applikationsvirtualisierung

VorteilePlattformunabhängigkeitEinfaches Einbinden und einfache Entfernung einer Applikationsvirtualisierung, weil keine Verpflichtung mit dem Betriebssystem besteht.Verbessert auch die SicherheitFehlerhaft programmierte Software ungefährlicherApplikation ohne Installation verfügbar

NachteileGeringere Ausführungsgeschwindigkeitsehr Komplexnicht alle Applikationen lassen sich virtualisierenIm Problemfall nicht klar, ob die Virtualisierungs-Tool oder die Anwendung schuldig sind

Page 35: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

35

Hardware-Emulation

Bei der Emulation wird in der meisten Fällen versucht, die komplette Hardware eines Rechensystems funktionell nachzubilden und so einem unveränderten Betriebssystem, das für eine andere Hardwarearchitektur (CPU) ausgelegt ist, den Betrieb zu ermöglichenVorteile

Keine Anpassungen am Betriebssystem bzw. den Anwendungen nötig sindandere Architekturen verwenden (nicht in Hardware existierende bzw. hardwaretechnisch vorhandene)

NachteileEntwicklung von Emulationsumgebungen sehr aufwändig istAusführungsgeschwindigkeit in der Regel deutlich geringer ist, gegenüber Virtualisierungslösungen

Page 36: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

36

Vollständige VirtualisierungNachbildung einer kompletten Hardwareumgebung für die virtuelle Maschine um die Zugriffe der Gastbetriebssysteme zu steuernVirtuelle Maschine simuliert realen Rechner mit allen KomponentenVirtueller Maschinenmonitor (VMM) koordiniert virtuelle Maschinen und Ressourcen

Jedes Gast-Betriebssystem hat einen eigenen virtuellen Rechner mit CPU, Hauptspeicher, Laufwerken, Netzwerkkarten, usw. zur Verfügung

VMM und Hostbetriebssystem in Ring 0, Gastbetriebssysteme höher

Quelle: http://forums.techarena.in/guides-tutorials/1104460.htm

Page 37: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

37

Vollständige Virtualisierung

Quelle: http://www.springerlink.com/content/h387wm5110563745/fulltext.pdf

Page 38: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

38

Vollständige Virtualisierung

VorteileKaum Änderungen an Host- und Gast-Betriebssystemen erforderlichHohe Flexibilität: Jedes Gast- Betriebssystem hat seinen eigenen Kernel

NachteileWechsel zwischen den Ringen erfordert einen Kontextwechsel, der Rechenzeit verbrauchtSchlechte Performance

BeispielenVMware Server, VMware Workstation und VMware FusionMicrosoft Virtual PCVirtualBox

Page 39: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

39

Paravirtualisierung

Es wird keine Hardware virtualisiert oder emuliertGastbetriebssysteme verwendet eine abstrakte AnwendungsschnittstelleHyperversior

ist eine abstrakte Verwaltungsschicht über den die Gastbetriebssysteme auf die physischen Ressourcen wie Speicher, Ein-/Ausgabegeräte und Netzwerkschnittstelle zugreifen

Quelle: http://www.springerlink.com/content/h387wm5110563745/fulltext.pdf

Page 40: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

40

ParavirtualisierungMeta-BetriebssystemUnabhängige Betrieb von mehreren Anwendungen und Betriebssystemen auf einem Prozessor

Gastbetriebssysteme kommuniziert selbständig mit dem HypervisorDie Gastbetriebssysteme laufen nicht in privilegierten Ring 0, sondern in Ring 1

Quelle: http://www.springerlink.com/content/h387wm5110563745/fulltext.pdf

Page 41: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

41

Paravirtualisierung

VorteileSehr gute PerformanceFlexible Anpassung der Hardware

NachteileAnpassung der Gastbetriebssysteme notwendig

Page 42: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

42

Betriebssystem-Virtualisierung

Laufen unter einem Kernel mehrere voneinander abgeschottete SystemumgebungenMehrere identische Laufzeitumgebungen in ContainernAlle laufenden Anwendungen verwenden den gleichen Kernel

Page 43: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

43

Betriebssystem-Virtualisierung

VorteileGeringer RessourcenbedarfEine hohe Performace

NachteileAlle virtuelle Umgebungen nutzen den gleichen KernelAlle Betriebssystem müssen absolut identisch sein

BeispieleOpenVZ für LinuxLinux-VServerFreeVPS

Page 44: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

44

CPU-Virtualisierung

X86-ArchitekturHierarchisches Privilegiensystem zum Speicherschutz, um Stabilität und Sicherheit zu erhöhenMeisten BS nutzen nur Ring 0 und 3Regelung des Zugriffs auf Speicher und Befehlssatz des Prozessors

Quelle: http://www.springerlink.com/content/h387wm5110563745/fulltext.pdf

Page 45: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

45

CPU-Virtualisierung

Neue Privilegienstufe für Hypervisor über Ring 0Neue CPUs haben Virtualisierungserweiterung (wie bei Paravirtualisierung)

Bei Intel: Virtualization Technology (kurz „VT“, Codename Vanderpool“), alle aktuellen Prozessoren, etwa dem Intel Core 2 DuoBei AMD: Virtualization (kurz AMD-V, Codename „Pacifica“), dem Athlon 64 seit Juni 2006

Page 46: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

46

Datenspeichervirtualisierung

Idee: Trenne Server und Speicher und verwende Speichernetz SAN (Storage Area Network)Wichtiges Technologie: Zuordnung des physikalischen Speichers zum virtuellen (Mapping)Speicher kann den Servern dynamisch zugeteilt werdenMigration von Speichersubsystemen zur LaufzeitVorteile

Optimale Auslastung und Konsolidierung

Quelle:http://www.itwissen.info/definition/lexikon/Speichervirtualisierung-storage-virtualization.html

Page 47: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

47

Netzwerkvirtualisierung

VPNGetrennte virtuelle Netzwerke über gemeinsame einheitliche virtuelle Infrastruktur

Kanten-VirtualisierungMehrere unabhängige virtuelle Verbindungen werden über eine gemeinsame physikalische Verbindung (Kante) transportiert

Knoten-VirtualisierungVerteilung der Ressourcen auf die virtuellen Knoten

VorteileBenutzerfreundlichkeitMehr Flexibilität und PersonalisierbarkeitSchnelleren und sicheren Zugriff auf Anwendungen und Daten

Page 48: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

48

Netzwerkvirtualisierung

Funktionsprinzip von Netzwerk-Virtualisierung

Quelle: http://www.pc-ware.com/pcw/de/de/unsere_leistungen/services/virtualisierung/Arten_der_Virtualisierung/Netzwerkvirtualisierung/main.htm

Page 49: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

49

Vorteile von VirtualisierungBessere Ausnutzung der Hardware

Server- und PC-Konsolidierung. Zusammenlegen vieler virtueller Server auf möglichst wenigen physikalischen Servern. (Auf aktuelle Serverblades passen bis zu 40 aktive Server Instanzen)Bessere Energie-Effizienz, Kosten Senkung bei Hardware,Stellplätze, Administration, usw.

Vereinfache AdministrationAnzahl der physischen Server reduziert sich

Vereinfache BereitstellungNeue Infrastruktur und Server können sehr schell manuell oder automatisch erzeigt werden

Erhöhlung der VerfügbarkeitMigration von Servern im laufenden BetriebVirtuelle Maschine (VM) können leicht vervielfältigt und gesichert werdenSnapshots vom aktuellen Zustand

Höhere SicherheitVM sind gegenüber andere VM und dem Host-System isoliert

Page 50: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

50

Nachteile und Grenzen von Virtualisierung

VM bieten eine geringere Performance als reale MaschineNicht jeder Hardware kann aus einer Virtuelle Maschine emuliert werdenBei der Serverkonsolidierung können virtuelle Maschinen einen Single Point of Failure darstellen. Beim Ausfall eines Hosts würden mehrere virtuelle Server ausfallenZu komplex. Zusätzliches Know-how ist notwendig

Page 51: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

51

Cloud Anwendungen

Quelle: http://www.scc.kit.edu/forschung/5905.php?PHPSESSID=b471295ef51962e7f99975de09f529b9

Page 52: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

52

Cloud Anwendungen

Cloud Computing – Anbieter in Überblick

o Amazono Amazon Elastic Computing Cloud (http://aws.amazon.com/ec2)

o Googleo Apps Premier Edition

(http://www.google.com/a/help/intl/de/admins/premier.html) o IBM

o Blue Cloud (http://www.ibm.com/ibm/cloud) o Microsoft

o Windows Azure (http://www.microsoft.com/azure/default.mspx) o Salesforce

o CRM as a Service (http://www.salesforce.com/de) o T-Systems

o Dynamic Services (http://www.dynamicservices.t-systems.de/index.php)

Page 53: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

53

Cloud Anwendungen - Amazon

Amazon EC2 (Elastic ComputeCloud) ist ein Teil der Amazon Web ServicesMit dem Web-basierten EC2 Service, können Anwendungsprogramme in der amazon.com Computing-UmgebungausführenFür Entwickler web-Scale-Computingeinfacher zu machen

Page 54: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

54

Cloud Anwendungen – Google

Google Appso Online Softwarepaket

Page 55: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

55

Cloud Anwendungen – Windows

Windows Azure

o Betriebssystem der Cloudo Windows basierte Umgebung für das

o Ausführen von Windows-Anwendungeno Speichern von Daten

Quelle: http://www.microsoft.com/germany/net/WindowsAzure/

Page 56: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

56

Zusammenfassung I

Cloud ComputingPositiv

Business Modell: Utility ComputingSkalierbarFlexibelService orientierte ArchitekturKostengünstigVirtuell

NegativDaten nicht Lokal verfügbarErhöhte SicherheitsproblemeStarke Abhängigkeit vom Provider

Vergleich Grid und CloudManagement: Grid nicht zentralisiert, Cloud zentralisiertRessourcen: Grid statisch, Cloud dynamisch

Cloud Grid Cluster

Page 57: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

57

Zusammenfassung II

Quelle: http://www.trigent.com/_media/images/cloud.gif

Quelle: http://edgewatertech.wordpress.com/2009/03/

Quelle: http://www.toddtibbetts.com/blog/uploaded_images/cloud_pyramid3-725463.png

Quelle: http://blog.gogrid.com/wp-content/uploads/2009/07/cloud_pyramid_with_logos3_wm.png

Page 58: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

58

Zusammenfassung IIIVirtualisierung

Typen der VirtualisierungApplikationsvirtualisierungHardware-EmulationVollständige VirtualisierungParavirtualisierungBetriebssystem-VirtualisierungCPU Virtualisierung

ServerkonsolidierungVereinfachte AdministrationVereinfachte BereitstellungHohe VerfügbarkeitHoher Sicherheit Quelle: http://www.hosteurope.de/produkte/Managed-Hosting-Services-Virtualisierung

Page 59: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

Fazit

„Ein langfristiges Ziel von Cloud Computing ist es, die gesamte notwendige IT im globalen Datennetz verfügbar zu machen“

Page 60: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

60

Quellen IWolfgang Schulte, Evolution Cloud Computing

http://wwwlehre.dhbw-stuttgart.de/~schulte/doc/cloud_funkschau.pdf (Abrufdatum: 7.12.2009)

David Grünbeck, Einführung in Cloud-Computinghttp://pvs.informatik.uniheidelberg.de/Teaching/CLCP09/CLCP_SS2009_David_Gruenbeck_Einfuehrung.pdf (Abrufdatum: 7.12.2009)

Christian Baun, Dr. Marcel Kunze; Steinchbucg Centre for Computing:Cloud Computing - Infrastruktur als Diensthttp://www.scc.kit.edu/downloads/oko/scc-news2008_03.pdf?PHPSESSID=e7830007dd82cb7cd9d847e576238b5d (Abrufdatum: 7.12.2009)

Dr. Marcel Kunze, Cloud Computing mit mathematischen Anwendungen: Einführung Cloud Computing

http://www.math.kit.edu/mitglieder/lehre/cloud2009s/media/cloudcomputing-01.pdf (Abrufdatum: 7.12.2009)

Grid-Computinghttp://de.wikipedia.org/wiki/Grid-Computing (Abrufdatum: 7.12.2009)

Prof. Dr. Stefan Fischer, TU Braunschweig, Verteilte Systeme: Kapitel 1http://www.ibr.cs.tu-bs.de/courses/ws0203/vs/PDF/VS-0203-Kap01-Einfuehrung-1S.pdf (Abrufdatum: 7.12.2009)

J. Clemens, T.Hammer, P. Ueberholz, IMH-Institut für Modellbildung und Hochleistungsrechnen, Grid-Computing

http://lionel.kr.hsnr.de/~ueberholz/grid-beamer.pdf (Abrufdatum: 7.12.2009)

Page 61: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

61

Quellen IIMarko Heinrich, Seminar Semantic Grid: Idee und Entwicklung des GridComputing

http://www.uni-koblenz-landau.de/koblenz/fb4/institute/IFI/AGStaab/Teaching/WS0405/seminar_semGrid/i-1-grideinfuehrung_praesentation.pdf (Abrufdatum: 7.12.2009)

Computerclusterhttp://de.wikipedia.org/wiki/Computercluster

Armbrust, M., Fox, A., Griffith, R., Joseph, Anthony. D., Katz, Randy. H., Konwinski, A., Lee, G., Patterson, David A., Rabkin, A., Stoica, I., Zaharia, M.,: Above the Clouds: A Berkeley View of Cloud Computing

http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf (Abrufdatum: 7.12.2009)

Lysne, O., Reinemo, S.-A., Skeie, T., Solheim, A. G., Sodring, T., Huse, L. P., Jobnsen, B. D.,: Interconnection Networks: Architectural Challenges forUtility Computing Data CentersChristian Baun: Systemsoftware, 13.Vorlesung , Hochschule Mannheim

http://jonathan.sv.hs-mannheim.de/~c.baun/SYS0708/Skript/folien_sys_vorlesung_13_WS0708.pdf (Abrufdatum: 7.12.2009)

Dr. Marcel Kunze, Cloud Computing mit mathematischen Anwendungen: Virtualisierung

http://www.math.kit.edu/mitglieder/lehre/cloud2009s/media/cloudcomputing-01.pdf (Abrufdatum: 7.12.2009)

Page 62: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

62

Quellen IIIChristian Baun, Marcel Kunze, Thomas Ludwig,:Servervirtualisierung

http://www.springerlink.com/content/h387wm5110563745/fulltext.pdf (Abrufdatum: 7.12.2009)

Christian Voshage; Seminar Cloud Computing: Virtualisierunghttp://pvs.informatik.uni-heidelberg.de/Teaching/CLCP-09/CLCP_SS2009_Christian_Voshage_Virtualisierung.pdf (Abrufdatum: 7.12.2009)

Anna Ira Hurnaus,: Adaptive virtuelle Infrastrukturen als Basis für Geschäftsanwendungen der Zukunft; Virtualisierung

http://www3.in.tum.de/teaching/ws0910/Hauptseminar/Hurnaus/Virtualisierung.pdf (Abrufdatum: 7.12.2009)

Virualisierung, PC.Welt Wikihttp://pcwelt-wiki.de/wiki/Virtualisierung (Abrufdatum: 7.12.2009)

Christian Baun,: Cloud-, Grid-, Cluster-und Meta-Computing. c‘t 21/2008. S. 132-133Achim Born,: Cloud Computing & Co.: Unternehmenssoftware zur Miete, ix11/2009. S. 64-67

Page 63: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

Cloud Computing

Vielen Dank für eure Aufmerksamkeit !

Page 64: Cloud Computingra.ziti.uni-heidelberg.de/pages/student_work/seminar/hws09/Vasil... · 3 Probleme der Definition Was ist Cloud Computing? {Es gibt keine allgemeine Definition ! {Definition

Cloud Computing

Haben Sie Fragen?