Infrastructure as a Service Flashcards

1
Q

IaaS Motivation

A
  • Bereitstellung von Hardware-nahen Ressourcen in Form von virtuellen Maschinen (VMs) und Datenspeicher; entfernt zugreifbar über eine einfache Schnittstelle
  • Pay-as-you-go – abgerechnet werden nur verbrauchte Ressourcen
  • Elastische Nutzung und nahezu unbegrenzte Skalierbarkeit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

generische Architektur

A
  1. Hardware und Betriebssystem
  2. Netzwerk und Netzwerkdienste (z. B. DHCP, DNS)
  3. Virtualisierung
  4. Datenspeicher und Image-Verwaltung
  5. Managementschnittstelle für Administratoren und Benutzer
  6. Cloud-Controller: Management der Ressourcen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Architektur - Netzwerk und Netzwerkdienste

A
  • Verwaltung und Einbindung der realen und der virtuellen Infrastruktur
  • Zuordnung einer eindeutigen (virtuellen) MAC pro virtueller Maschine
  • Vermittlung des Datenverkehrs zwischen der realen Maschine und den virtuellen Maschinen (bridge)
  • Automatische Einbindung mittels DHCP (Zuordnung einer IP-Adresse) und DNS (Zuordnung eines Host-Namens)
  • Eventuell Etablierung privater Netzwerke etc.

Umsetzung

  • Cloud Controller muss bei Erzeugung einer virtuellen Maschine die Virtualisierungsinfrastruktur konfigurieren und entsprechende Informationen an den DHCP- sowie den DNS-Server weitergeben
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Architektur - virtualisierung

A
  • Siehe letztes Kapitel: Xen, KVM, VServer etc.
  • Im Open-Source-Bereich wird oft von der verwendeten Virtualisierungslösung mittels libvirt abstrahiert

Umsetzung: libvirt

  • Stellt einheitliche Schnittstelle zum Verwalten von unterschiedlichen Virtualisierungslösungen zur Verfügung
  • Einfache C-Schnittstelle und Kommandozeilenunterstützung z. B., Starten, Stoppen, Migrieren und Pausieren von VMs
  • Kommandos werden über den libvirtd entgegengenommen: Ermöglicht lokales wie auch entferntes Management von VMs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Architektur - Datenspeicher und Imageverwaltung

A
  • Schnelle Erzeugung und De-/Installation und VM-Images
  • Images müssen konfiguriert und eventuell um spezifische Software ergänzt werden

Umsetzung

  • Repository für VM-Images
  • In der Regel Vorlagen, die erst noch in ein lauffähiges System umgewandelt werden - z. B. durch Hinzufügen einer Swap-Partition oder Anpassung der Partitionsgröße
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Architektur - Managementschnittstelle für Benutzer

A
  • In der Regel grafische Benutzeroberfläche für Anwender
    • Anfordern neuer VMs
    • Benutzerspezifische Konfiguration – z. B. Amazon EC2-Größenklassen für VMs oder Ort der Ausführung
  • Verwaltung von Credentials für den sicheren Zugriff auf VMs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Architektur - Cloud Controller

A
  • Zentrale Komponente einer IaaS-Infrastruktur
  • Umsetzung der Benutzeranforderungen für die Erzeugung von VM-Images und ihre Installation
  • Um-/Verteilen von VMs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Status Quo Open Source IaaS Infrastrukturen

A
  • IaaS kann aktuell als wichtigste bzw. grundlegendste Form von Cloud Computing betrachtete werden
  • Bedingt durch den Erfolg von Amazon EC2 haben sich eine Reihe von Initiativen zum Ziel gesetzt einen freie IaaS-Plattform zu entwickeln
  • Beispiele:
    • OpenStack (http://www.openstack.org/)
    • Nimbus (http://www.nimbusproject.org/)
    • OpenNebula (http://www.opennebula.org/)
  • Aktuell ist unklar welche der Initiativen Bestand haben wird
  • Wechsel zwischen Plattformen wird erschwert
    • durch unterschiedliche Image-Formate und verwendete Form der Virtualisierung
    • unterschiedliche erweiterte APIs, z.B. für dynamische Skalierung
  • Es gibt aber auch Unterstützung für hybrides Cloud Computing, welches eine gewissen Kompartibiltät erzwingt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Eucalyptus Grundlagen

A

Motivation

  • Bereitstellung einer offenen IaaS-Infrastruktur
  • Basis für Forschung, die mit aktuell dominierenden kommerziellen Lösungen nicht möglich war
  • Initial frei verfügbare als Basis für Private-Cloud-Installation z. B. für eine Zeit Bestandteil von Ubuntu Linux

Technische Merkmale

  • Traditionelles hierarchisches Design vergleichbar zu anderen Infrastrukturen aus dem Bereich Grid-Computing
  • Schnittstellen sind ähnlich bzw. identisch zu Amazon EC2
    • Erleichtert Portierung von Anwendungen
    • Existierende Werkzeuge für EC2 können verwendet werden
  • Alle tragenden Komponenten besitzen eine Web-Service-Schnittelle
  • Unter Verwendung von libvirt Integration von Xen und KVM
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Eucalyptus Node Controller (NC)

A
  • Verwaltet Ressourcen eines Rechners
  • Verbindungsglied zum Cluster Controller
  • Monitoring
    • Installierte Software
    • Verfügbare Ressourcen (z. B. Anzahl der CPUs und Arbeitsspeicher)
    • Anzahl und Eigenschaften der laufenden VMs
    • Information werden auf Anfrage des Cluster Controllers ermittelt – z. B. durch describeInstances-Aufruf
  • Verwaltung von VMs
    • Authentifizierter Besitzer einer VM oder der Administrator der Cloud kann eine virtuelle Maschine beenden
    • Vor Start einer VM wird überprüft, ob die benötigen Ressourcen verfügbar sind, und es muss ein Image installiert werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Eucalyptus Cluster Controller

A
  • Kombiniert Informationen eines Clusters z. B. durch describeInstances abrufbar
  • Vermittlung von Aufrufen an einzelne NCs
  • Verteilung von VMs
    • Anfrage bei NCs nach freien Ressourcen (describeResources)
    • First-Fit-Strategie: Sobald ein NC über genügend freie Ressourcen verfügt wird die Instanziierung auf der betreffenden Maschine eingeleitet
    • Wird heute so nicht mehr gemacht!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Eucalyptus Virtual Network Overlay

A
  • Typischerweise haben Anwender mehr als eine VM
    • Entsprechend müssen alle VMs eines Anwenders gemeinsam verwaltet werden
  • Mindestens eine VM eines Benutzers muss extern zugreifbar sein
  • Es werden verschiedene Konfigurationsoptionen unterstützt
  • Zuweisung von MAC-IP-Tupel durch den NC (auch andere Optionen möglich)
    • Feste Menge von IPs, die an laufende Instanzen gebunden ist
  • VMs verschiedener Benutzer sollten/müssen voneinander isoliert werden
    • Anwender haben root-Privilegien innerhalb ihrer VMs und damit auch vollen Zugriff auf die jeweils zugehörige Netzwerkschnittstelle
  • Durch Eucalyptus verwaltetes Netzwerk
    • Pro Anwender wird ein eigenes VLAN angelegt
    • Durch entsprechende Firewall-Regeln wird Isolation erreicht
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Eucalyptus - Walrus - Datenspeicher und Image Verwaltung

A
  • Implementiert die Amazon-S3-Schnittstelle
    • Einfache Key-Value-Schnittstelle für Dateien
    • Bei konkurrierenden Schreibeoperationen wird nur der aktuellste Aufruf durchgeführt
    • Values werden nur komplett geschrieben
  • Kann von innerhalb und außerhalb der Cloud zugegriffen werden
  • Bildet Repository für VM-Images
    • Images werden als mehrere verschlüsselte Dateien abgelegt
    • Bei Anforderung eines Images durch einen NC werden Dateien von Walrus entschlüsselt und auf ihre Integrität überprüft
    • Abschließend erfolgt Transfer zum NC
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Eucalyptus Cloud Controller

A
  • Cloud Controller realisiert drei Gruppen von Diensten
    • Resource Services – Allokation von Ressourcen und ihre Konfiguration
    • Data Services – Verwaltung von Anwender- und Systemdaten – Ermöglicht die flexible Konfiguration von Allokationsstrategien
    • Interface Services – Schnittstellen für Anwender
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Amazon Simple Storage Service (S3) - Motivation

A

Motivation:

  • Laut Amazon: ..storage for the Internet …designed to make web-scale computing easier …
  • Bereitstellung von flexible skalierbarem Datenspeicher
  • Zugreifbar über eine einfache und plattformunabhängige Schnittstelle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Amazon S3 Basiskonzepte

A
  • Buckets – Konfigurierbarer Container für Datenobjekte
    • Wurzel eines Namensraums in S3
    • Assoziiert mit einem Benutzer
    • Einheit für Abrechnung und Statistik
    • Flexible Zugriffsrechtvergabe auf Teile des Namensraums möglich
    • Beispiel: http://.s3.amazonaws.com
  • Objects – Eindeutig identifizierbares (unteilbares) Datenobjekt
    • Setzt sich aus Nutzdaten und Datenbeschreibung zusammen
    • Datenbeschreibung enthält z.B. Standard HTTP Attribute
    • Unterstütze Operationen: Erzeugen, Lesen, Schreiben und Löschen
    • Eindeutig identifizierbar durch Key (Namen) und Version ID.
  • Keys – Eindeutiger Name eines Objekts innerhalb eines Buckets
    • Beispiel: http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl
    • Kann durch Versionsinformation ergänzt werden, welche durch den Dienst vorgegeben sind
  • Region
    • Ermöglicht trotz globaler Erreichbarkeit der Daten eine Zuweisung des Lagerungsortes
    • Ermöglicht Optimierung auf geographisches Nutzungsprofil sowie teilweise Einhaltung von rechtlichen Anforderungen

Schnittstellen

  • SOAP und REST via HTTP(S)
17
Q

Amazon S3 Konsistenzmodell

A

= eventual consistency

  • Es gibt eine ganze Reihe von Konsistenzmodell, zwei Ausprägungen definieren jedoch den Rahmen:
    • Starke Konsistenz – Nach einer Änderung wird garantiert, dass alle denselben Wert sehen bzw. lesen
    • Schwach Konsistenz – Nach einer Änderung wird nicht garantiert, dass immer derselbe Wert zurückgegeben wird – Ob und wann die Änderung für alle sichtbar wird hängt in der Regel von Nebenbedingungen ab
  • Eventual consistency stellt eine Form der schwachen Konsistenz dar, bei der Änderungen erst nach einer gewissen Zeit global sichtbar werden
  • Vorteil: Schneller Lesezugriff
    • Auch wenn Änderungen aktiv propagiert werden können (lokal) replizierte Daten gelesen werden
  • Nachteil: Zugriff auf veraltete Daten möglich!
18
Q

Amazon S3 Authentifizierung

A
  • Anfragen sind entweder
    • von einem authentifizieren Nutzer
    • oder anonymous
  • Jeder registrierte Nutzer hat
    • einen mit Amazon gemeinsamen geheimen Schlüssel
    • einen mit dem Benutzer assoziierten öffentlichen Schlüssel
  • Authentifizierung und Überprüfung von Datenintegrität unter Verwendung der REST Schnittstelle geschieht mittels eines Hash-based Message Authentication Code (HMAC)
    • URL der zugegriffen Ressource zusammen mit einem geheimen Schlüssel wird durch eine Hashfunktion auf eine Hashschlüssel abgebildet
    • URL wird zusammen mit dem Hashschlüssel und dem öffentlichen Schlüssel übertragen
    • Auf der Empfängerseite wird mittels des öffentlichen Schlüssels der gemeinsame geheimen Schlüssel ermittelt und der Hashschlüssel überprüft
19
Q

Amazon S3 Zugriffsrechte und Fazit

A

Zugriffsrechte

  • Können auf Ebene von Buckets oder Objects vergeben werden
  • Access Control Lists (ACL) als Mechanismus
    • Rechte z.B. READ, WRITE, READ_ACP, WRITE_ACP und
    • FULL_CONTROL an authentifizierte Nutzer

Fazit

  • Einfache Schnittstelle zur Speicherung von Daten
    • Benötigt keinen spezifische zusätzliche Systemunterstützung
  • Bildet aktuell Standard bzw. Vorbild für andere Systeme
  • Kann auch auf Server-Seite auf Grund von eventual consistency leicht umgesetzt werden
  • Erweiterte Konsistenzgarantien müssen durch die nutzende Anwendung implementiert werden