cloud computing technologien · cloud computing: definition (2/2) viele unterschiedliche...

19
Cloud Computing Technologien Maxim Schnjakin 16. April 2013

Upload: others

Post on 04-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

Cloud Computing Technologien

Maxim Schnjakin

16. April 2013

Page 2: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

Agenda

■  Cloud Computing Technologien – Worum geht’s?

■  Seminarthemen – Was soll gemacht werden?

■  Organisation – Wie soll’s ablaufen?

1

Page 3: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

2

„Definition“ of Cloud Computing

■  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

–  The NIST definition of cloud computing

Page 4: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

3

Cloud Computing: Definition (2/2)

Viele unterschiedliche Definitionen für Cloud Computing,aber einige Gemeinsamkeiten lassen sich bei allen finden: ■  Pay-per-Use Geschäftsmodell

□  Keine Verbindlichkeit für den Nutzer

□  Verbuchung als variable Kosten

■  Elastische Kapazitäten: Ressourcen (Rechenleistung, Speicherplatz, ...) können beliebig skaliert werden

■  Selbstbedienungs-Schnittstellen (Webservice Interfaces)

■  IT-Ressourcen werden abstrahiert / virtualisiert

Page 5: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

4

Typen von Clouds (1/2)

Es gibt Public Clouds, Private Clouds und hybride Clouds:

Page 6: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

5

Typen von Clouds (2/2)

Public Cloud

■  Öffentlich zugänglich, „Selbstbedienungs“-Geschäftsmodell, Pay-per-Use

■  Zugriff über

□  Webservice APIs (SOAP oder REST)

□  Management Portal (Web Interface)

Private Cloud

■  Emulation einer Public Cloud auf privaten Ressourcen

■  Vorteile der Cloud (Elasitizität, Hardwareausnutzung, ...) bei Vermeidung bestimmter Nachteile (z.B. Compliance, Sicherheit)

Hybride Cloud = Private Cloud + Public Cloud

Page 7: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

6

Architekturvarianten

Service Schichten

■  Software as a Service (SaaS)

■  Plattform as a Service (PaaS)

■  Infrastructure as a Service (IaaS)

■  Basistechnologie: Hypervisor/Virtualisierung

Page 8: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

7

Infrastructure-as-a-Service (1/3)

Bereitstellung von Hardware-äquivalenten Ressourcen ■  Rechenleistung

□  „Buchung“ von virtuellen Maschinen für einen Zeitraum □  Unterschiedliche Kosten je nach verfügbaren CPUs und RAM □  Bereitstellung der VMs aus vorkonfigurierten Festplatten-

Images □  Instanz: laufende virtuelle Maschine eines speziellen Images □  Mehr Rechenleistung à mehr Instanzen

■  Speicherplatz □  Speichern einer beliebigen Datenmenge □  Abrechnung: belegter Speicher + Traffic (Lesen/Schreiben) □  Speicherung von Files meist in „Buckets“ (flache Struktur) □  Zugriff über Webservice Interface

Page 9: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

8

Infrastructure-as-a-Service (2/3)

Bekannteste Vertreter: Amazon Web Services (AWS) ■  Amazon hatte bereits früh starke Diskrepanzen zwischen

Spitzenlast und normalem Tagesgeschäft (> Faktor 10) ■  Bei reiner In-Premise Lösung:

□  90% ungenutzte Computing Ressourcen außerhalb von Spitzenlast-Zeiten oder

□  Hohe Überlast zu Spitzenzeiten à Umsatzeinbußen, noch schlimmer: Imageverlust!

■  Logische Konsequenz: Amazon wurde zum Vorreiter für Entwicklung und Bereitstellung von Cloud Computing Diensten

■  EC2 (Elastic Computing Cloud) und S3 (Simple Storage Service) sind nur die bekanntesten Dienste von Amazon

Page 10: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

9

Infrastructure-as-a-Service (3/3)

Amazon Web Services (AWS) ■  EC2: Elastic Computing Cloud

□  Mieten von virtuellen Maschinen □  Erfolgsgeschichte: Animoto (Webanwendung, generiert Filme

aus Fotos und Musik) è Skalierte innerhalb weniger Tage von 50 EC2-Instanzen wegen großer Nachfrage auf 3.500 Instanzen (unmöglich mit In-Premise Rechenzentren!)

□  Wettbewerber: GoGrid, Slicehost, Mosso Cloud Servers, ... ■  S3: Simple Storage Service

□  Speicherung von Dateien (bis 5 TB Größe) in Buckets □  Bekannte Nutzer: SmugMug (Foto-Sharing), Dropbox, Ubuntu

One, Tumblr (Bilder) □  Wettbewerber: Nirvanix, Microsoft Azure Storage Service, ...

Page 11: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

10

Platform-as-a-Service

Platform meint eine Laufzeitumgebung für (Web-)Anwendungen ■  Kein bzw. geringer administrativer Aufwand für Entwickler

■  Kein Kontakt mit zugrundeliegender Software oder Hardware

■  Rechenleistung skaliert je nach Bedarf der Anwendung

■  Unterstützung des Software Lifecycles

Bekannteste Vertreter:

■  Google AppEngine

□  Bietet Python-Stack und Java-Stack

□  Realtime Auto-Scaling (wenn Google APIs genutzt werden)

■  Microsoft Azure Services

□  Bietet .NET-Stack (C#, VB.NET, ASP.NET)

■  Force.com: Entwicklung von Erweiterungen für Salesforce CRM

Page 12: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

11

Software-as-a-Service

Bereitstellung ganzer Anwendungen ■  Software mieten statt kaufen

(hieß früher: ASP – Application Services Providing)

■  Anwendungen laufen komplett in der Cloud (beim Anbieter)

■  Zugriff meist über Browser

Bekannte Vertreter:

■  GoogleDocs (Office-Paket)

■  GoogleMail (Mail-Client)

■  Salesforce.com (Customer Relationship Management, CRM)

■  Open-Xchange (Groupware)

■  Adobe Connect Pro (Web-Conferencing)

■  Signavio (Business Process Modelling, HPI-Spinoff)

Page 13: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

12

Private Clouds / Do It Yourself

Es gibt eine ganze Reihe an Betriebssystemen und Softwarepaketen für den Betrieb privater Clouds, z.B.

■  OpenNebula (Open Source)

■  Eucalyptus (Open Source)

■  VMware vSphere (kommerziell)

■  Microsoft Hyper-V Cloud (kommerziell)

Systeme unterstützen in der Regel:

■  Bereitstellung von IaaS auf einem internen Hardware-Cluster

■  Heterogene Systemlandschaften (Linux- und Windows-Dienste)

■  Webservice Interfaces für Management und Ressourcennutzung

■  Hybride Cloud-Modelle durch Anbindung von Diensten wie EC2

Page 14: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

Agenda

■  Cloud Computing Technologien – Worum geht’s?

■  Seminarthemen – Was soll gemacht werden?

■  Organisation – Wie soll’s ablaufen?

13 13

Page 15: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

Themen Technologien für Cloud Speicher Dienste

■  Thema 1: Interaktion mit Public Storage Services □  Allgemeines

□  Features: Konsistenzmodelle, verwendete Standards, Besonderheiten

□  Eine mögliche Vereinheitlichung?

■  Thema 2: Bestimmung des Standpunktes der Daten / der Rechenmaschinen in der Cloud (Iaas / Paas)

□  Allgemeine Grundlagen

□  Traceroot, TCP-Header, Einbeziehung der lokalen Cloud-Infrastruktur (S3-EC2)

□  Wo laufen Applikationen bei PaaS Anbietern (z.B. Google)

18 18

3 Personen

2 Personen

Page 16: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

Themen Beschreibung von Diensten Infrastructure Dashboard

■  Thema 3: Analyse vorhandener Erasure Bibliotheken für Cloud-RAID □  Eigenschaften der Algorithmen, Voraussetzungen

□  Welche Bibliotheken gibt es (Open Source bzw. kommerzielle)?

□  Untersuchung: Performance, vorhandene Implementierung

■  Thema 4: Mobile Dashboard für Cloud Frameworks □  Cloud Frameworks auf IaaS-Schicht bieten Programmierschnittstellen

□  Idee: Middleware für einheitlichen Zugriff auf überschneidende Featuresets von Cloud Frameworks, bspw. OpenStack, OpenNebula, Eucalyptus,...

□  Use Case: mobile Dashboard (z.B. iPad) für Monitoring und manuelle Reaktion auf Notfälle

18 18

1-2 Personen

1-2 Personen

Page 17: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

Agenda

■  Cloud Computing Technologien – Worum geht’s?

■  Seminarthemen – Was soll gemacht werden?

■  Organisation – Wie soll’s ablaufen?

15 15

Page 18: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

Organisation

Termine

■  Dienstags, 15:15 – 16:45 Uhr, Raum A-2.2

■  3 ECTS Credit Points

Bewertung

■  Anwesenheitspflicht

■  Zwischenpräsentation der ersten Recherche und Ideen

■  Finale Präsentation

■  Schriftliche Ausarbeitung

□  10 Seiten (IEEE)

□  Abgabe zwei Wochen nach dem finalen Vortrag

16 16

Page 19: Cloud Computing Technologien · Cloud Computing: Definition (2/2) Viele unterschiedliche Definitionen für Cloud Computing, aber einige Gemeinsamkeiten lassen sich bei allen finden:

Bewertungskriterien sind vielfältig

■  Inhalt

□  Hintergrund: Recherche von Standards, state of the art

□  Eigenleistung: Strukturierung

■  Darstellung

□  Vortrag: Vorbereitung, Vortragsstil, Fokus auf wesentliche Punkte

□  Ausarbeitung: Klare, strukturierte Darstellung, Lesbarkeit

18 18