Tag: Architecture


OpenNebula

OpenNebula ist ein Open Source Virtual Infrastructure Manager mit dem aus vorhandenen Rechenzentren jede Art von Cloud Computing Umgebung aufgebaut und bereitgestellt werden kann. In erster Linie dient OpenNebula als Tool zur Verwaltung der virtualisierten Infrastruktur des eigenen Rechenzentrums bzw. der eigenen Cluster, also der eigenen Private Cloud.

Darüber hinaus ist OpenNebula in der Lage Hybrid Clouds aufzubauen, also die eigene lokale Infrastruktur mit einer Public Cloud Infrastruktur zu verbinden/kombinieren, um die Skalierbarkeit der eigenen Umgebung noch weiter zu erhöhen. OpenNebula verfügt zusätzlich über spezielle Schnittstellen für die Verwaltung von virtuellen Maschinen, Speicherplatz und des Netzwerks von Public Clouds.

Funktionen

    Private Cloud Computing >> Virtual Infrastructure Management

    • Internal Interfaces for Administrators and Users
      Mit einer Unix ähnlichen Kommandozeile und einer XML-RPC API kann der Lebenszyklus der virtuellen Maschinen und physikalischen Server verwaltet werden. Weitere Administrationsmöglichkeiten bietet die libvirt API.
    • Steuerung
      Die Verwaltung der Arbeitslast und Zuweisung der Ressourcen kann nach bestimmten Regeln wie z.B. der aktuellen Auslastung automatisch vorgenommen werden. Des Weiteren wird der Haizea VM-based lease manager unterstützt
    • Virtualisierungsmanagement
      Es existieren Konnektoren für Xen, KVM und VMware, sowie einem generischen libvirt Konnektor für weitere Virtual Machine Manager. Die Unterstützung von Virtual Box ist in Planung.
    • Image Management
      Es sind Funktionen für den Transfer und das Clonen von Virtual Machine Images vorhanden.
    • Netzwerk Management
      Es lassen sich isolierte virtuelle Netze festlegen um virtuelle Maschinen miteinander zu verbinden.
    • Service Management
      Unterstützung von Multi Tier Services bestehend aus Gruppen von miteinander verbundenen virtuellen Maschinen und deren Auto Konfiguration während des Boot Vorgangs.
    • Sicherheit
      Die Verwaltung der Benutzer wird durch den Administrator der Infrastruktur vorgenommen.
    • Fehlertoleranz
      Eine persistente Datenbank dient zum Speichern aller Informationen der Hosts und virtuellen Maschinen.
    • Skalierbarkeit
      Tests zeigten bisher, das OpenNebula mehrere hundert Server und virtuelle Maschinen verwalten kann.
    • Installation
      Die Installation erfolgt auf einem UNIX Cluster Front-End ohne das weitere Services benötigt werden. OpenNebula wird mit Ubuntu 9.04 (Jaunty Jackalope) ausgeliefert.
    • Flexibilität und Erweiterbarkeit
      Die Architektur, Schnittstellen und Komponenten sind offen, flexibel und erweiterbar. Dadurch kann OpenNebula mit jedem aktuellen Produkt aus dem Bereich Virtualisierung, Cloud Computing oder Management Tool für Rechenzentren integriert werden.
    • Hybrid Cloud Computing

      • Cloud Plugins
        Konnektoren für Amazon EC2 und ElasticHosts.
      • Zusammenschluss
        Unterstützung für den gleichzeitigen Zugriff auf mehrere Remote-Clouds.
      • Erweiterbarkeit
        Modulare Konzepte für die Entwicklung neuer Konnektoren.

      Public Cloud Computing >> Cloud Interfaces

      • Cloud Schnittstellen für Benutzer
        Implementierung einer Teilmenge der Amazon EC2 Query API und der OGF OCCI API
      • Erweiterbarkeit
        Die OpenNebula Cloud API ermöglicht die Implementierung neuer/weiterer Cloud Schnittstellen.

    Seminare und Forschung

    Quelle



openQRM – Die Cloud Computing Plattform für Rechenzentren

openQRM ist eine Open Source Cloud Computing Plattform für die Verwaltung von Rechenzentren und skalierbaren IT-Infrastrukturen und ist aktuell in der Version 4.6 verfügbar.

Mittels einer zentralen Managementkonsole kann die Administration von physikalischen Servern ebenso vorgenommen werden wie von virtuellen Maschinen, wodurch Rechenzentren voll automatisiert und höchst skalierbar betrieben werden können.

Neben einer offenen API und einem SOAP Web Service für die nahtlose Integration der eigenen Geschäftsprozesse, unterstützt openQRM alle bekannten Virtualisierungstechnologien und bietet die Möglichkeit für transparente Migrationen von "P-to-V", "V-to-P" und "V-to-V".

openQRM verfügt des Weiteren über ein integriertes Storage-Management, mit dem anhand des Snapshot-Verfahrens Serversysteme dupliziert werden können. Die Snapshots ermöglichen eine dynamische Anpassung des Speicherplatzes, bieten einen persistenten Cloud-Speicher und erlauben ein Backup/Restore der Server sowie deren Versionierung.

Mit der "N-zu-1" Fail-Over Funktion steht mehreren Serversystemen ein einzelner Stand-By-Server zur Verfügung. Dabei spielt es keine Rolle, ob physikalische oder virtuelle Maschinen eingesetzt werden!

Benefits auf einem Blick

  • Virtualisierung
    openQRM unterstützt alle gängigen Virtualisierungstechnologien darunter VMWare, Citrix XenServer und KVM und bietet die Möglichkeit der Migration von P-to-V-, V-to-P- und V-to-V für physikalische Server als auch virtuelle Maschinen.
  • Storage
    openQRM verfügt über ein zentralisiertes Speichersystem mit integriertem Storage Management, welches alle bekannten Storage-Technologien unterstützt. Dazu gehören u.a. Netapp, Equallogic, NFS, iSCSI ZFS und proprietäre auf LVM basierende Storage-Typen, für eine flexible und schnelle Duplizierung von Serversystemen.
  • Zentrales Management
    openQRM verschmilzt die Welt von Open Source mit der von kommerziellen Produkten. Mit einer zentralen Managementkonsole sind alle Funktionen zur Administration von Rechenzentren, System- und Service-Überwachung, Hochverfügbarkeit und automatisierter Bereitstellung vorhanden.

Funktionen

  • Hardware/Software Isolation
    openQRM isoliert die Hardware (physikalische Server, virtuelle Maschinen) vollständig von der Software (Server Images). Dabei ist die eigentliche Hardware eine "Computing Resource" und kann dadurch jederzeit durch eine andere Hardware ersetzt werden, ohne dass die Software (Server Image) neu konfiguriert werden muss.
  • Unterstützung für verschiedene Virtualisierungs-Technologien
    Mit VMWare, Xen, KVM und dem Citrix XenServer unterstützt openQRM eine viehlzahl an virtuellen Maschinen und kann dieses transparent verwalten und migrieren. Neben der System-Migration von physikalischen Servern zu virtuellen Maschinen (P-to-V) können Systeme ebenfalls von virtuellen Maschinen zu physikalischen Servern (V-to-P) migriert werden. Darüber hinaus besteht die Möglichkeit ein System von einer Virtualisierungstechnologie zu einer anderen Virtualisierungstechnologie (V-to-V) zu verschieben.
  • Vollautomatische Nagios-Konfiguration

    openQRM unterstützt die vollautomatische Konfiguration von Nagios mittels "nmap2nagios-ng". Damit wird das gesamte openQRM Netzwerk analysiert und auf Basis der Informationen eine Nagios-Konfiguration erstellt. Anschließend werden alle Services auf allen Systemen überwacht.

  • Integriertes Storage-Management
    openQRM organisiert die Serversysteme wie Dateien und nutzt zur Verwaltung moderne Storagesysteme anstatt lokaler Festplatten. Mittels Logical Volume Managern (LVM) und deren Snapshot-Verfahren können Server-Templates auf schnellen Wege dupliziert werden.

    "Sollen z.B. 10 neue Server ausgerollt werden, kann so einfach ein bestehendes Server-Image 10 mal dupliziert und die "Clone" direkt zum Deployment bereitgestellt werden."

    Mit diesem Konzept steht ein zentrales Backup/Restore sowie die Möglichkeit von Hot-Backups ohne Downtime zur Verfügung.

    openQRM unterstützt folgende Storage-Typen:

    • NFS (NAS)
    • iSCSI (iSCSI SAN)
    • Aoe/Coraid (AOE SAN)
    • NetApp (iSCSI SAN)
    • Local-disk (Übertragung von Server-Images auf lokale Festplatten)
    • LVM-Nfs (NFS auf LVM2, erlaubt schnelles Cloning)
    • LVM-iSCSI (iSCSI auf LVM2, erlaubt schnelles Cloning)
    • LVM-Aoe (Aoe auf LVM2, erlaubt schnelles Cloning)
    • Equallogic (iSCSI SAN)
    • ZFS (iSCSI SAN)
  • Hochverfügbarkeit und "N-to-1"-Fail-Over!
    Mit der "N-zu-1" Fail-Over Funktion steht mehreren Serversystemen ein einzelner Stand-By-Server zur Verfügung. Unabhängig davon, ob physikalische oder virtuelle Maschinen eingesetzt werden.

    "Um zum Beispiel 10 hochverfügbare Spezialsysteme zu betreiben benötigt man normalerweise weitere 10 "Stand-By"-Systeme. Mit openQRM jedoch benötigt man nur einen einzigen "Stand-By"-Server, der im Fehlerfall eines der 10 Spezialsysteme benutzt wird. Das heißt, man kann 9 "stromfressende", nicht ausgelastete Server einsparen. Perfekt für "Green IT".

    Des Weiteren können physikalische Server virtuelle Maschinen als "Hot Stand-By" nutzen und lassen sich im Notfall in eine virtuelle Maschine migrieren.

  • Fertige Server-Templates
    Mittels dem "Image-Shelf"-Plugin stellt openQRM bereits fertige Server Templates zur Verfügung. Dazu gehören Linux Distributionen wie Debian, Ubuntu, CentOS und openSuse. Des Weiteren können mit dem Plugin eigene Server Templates auf unterschiedliche Weise (lokal, http, https, ftp) bereitgestellt werden.
  • Unterstützung verschiedenster Deployment-Methoden
    Mit openQRM können Server von jeder Art von Storage gestartet werden. Zusätzlich können die Server Templates von einem Storage-Typ zu einem anderen übertragen werden, dabei kann noch entschieden werden, ob die Server Templates auf einem physikalischen Server oder in einer virtuellen Maschine gestartet werden sollen.
  • Unterstützung verschiedener OS-Distributionen
    Es stehen bereits vor-konfigurierte openQRM-Server Pakete für Debian, Ubuntu und CentOS zur Verfügung. Ein openQRM-Server kann aber alle gängigen Linux Distributionen verwalten.
  • Cloud-Selector
    Mit dem Cloud-Selector kann der Cloud Administrator seine Cloud Produkte wie z.B. Prozessoren, Speicher, Festplattengröße oder den Typ der virtuellen Maschine auswählen und deren Preise festlegen.
  • Kostenrechner im Cloud-Portal
    Die Cloud-Computing-Unit (CCU) kann einer regulären Währung (z.b. USD oder Euro) zugewiesen werden. Mit dem Kostenrechner werden die stündlichen, täglichen und monatlichen verbrauchten Kosten für eine Cloud Appliance berechnet.
  • Private Cloud Images
    Mit der "Private Cloud Image"-Funktion können Cloud Benutzer eigene Server Templates anlegen und verwalten.
  • Volle SSL-Unterstützung
    Der openQRM-Server arbeitet in einem vollständig SSL-verschlüsselten Bereich und unterstützt verschiedene Serverarchitekturen wie i386 und x86_64.

Auszeichnungen

Preise

  • openQRM ist Open Source und unterliegt der GPL (GNU General Public License).

Support

  • Die openQRM Enterprise ist der Hauptsponsor von openQRM. Das Team um CEO Matthias Rechenburg, CTO Christoph Moeller und Vertriebs- und Marketing-Direktor Andre Westbunk weist langjährige Erfahrungen für das flexible, konsistente und transparente Betreiben von Rechenzentren und bietet professionelle Services zu openQRM um damit die Gesamtbetriebskosten (TCO) von IT-Abteilungen zu senken.
  • Ich möchte hier noch anmerken, dass es sich bei der openQRM Enterprise um einen deutschen Anbieter aus dem Bereich des Cloud Computing handelt!

Quelle

openQRM
openQRM Enterprise



eyeOS – Der Open Source Cloud Web-Desktop

eyeOs ist ein sogenannter Web-Desktop, wobei man besser sogar von einem Web-OS oder Cloud-OS sprechen sollte. Der Funktionsumfang und das Äußere gleicht dem eines vollständigen Betriebssystems. Um es schonmal vorweg zu nehmen, die Attraktivität von eyeOS liegt unter anderem auch daran, dass man es auf dem eigenen Webspace installieren und nutzen kann. Ein eigener (virtueller) Server wird dafür nicht benötigt.


Startseite

Die Oberfläche des Desktops erinnert an einem Mix aus den bekannten Oberflächen gängiger Betriebsysteme. Dazu hat man die Möglichkeit über verschiedene Themes das Aussehen und den aufbau der Desktopoberfläche anzupassen. Neben Themes die das Äußere an Windows oder Ubuntu Linux erinnern lassen, ist auch für Mac OS Fans etwas dabei. Für den Zugriff auf eyeOS wird ein einfacher Standard Webbrowser wie Chrome, Firefox oder Internet Explorer benötigt.


Desktop Oberfläche

eyeOS ist wie jedes moderne Betriebssystem ein Multi-User System. Das bedeutet, das zur selben Zeit mehrere Benutzer gleichzeitig angemeldet sein können. Über die Systemsteuerung können neue Benutzer hinzugefügt und ihnen Rechte etc. vergeben werden. Die Systemsteuerung ist übrigens wie bei jedem graphischen Betriebssystem das zentrale Drehkreuz wo alle Einstellungen rund um eyeOS vorgenommen werden können.


Systemsteuerung

eyeOS bringt von Haus aus bereits eine große Anzahl integrierter Anwendungen mit. Mit eyeDocs (Textverarbeitung), eyeSheets (Tabellenkalkulation), eyePresentation (Präsentationssoftware), eyeContacts (Kontaktverwaltung) und eyeCalendar (Kalender) steht eine vollständige Office Suite zur Verfügung. Neben weiteren zahlreichen Anwendungen gibt es auch eyeMail (E-Mail Client), eyeCalc (Taschenrechner), eyeMedia (Mediaplayer), eyeFiles (Dateimanager) eyeNav (Webbrowser) oder Spiele wie eyeChess (Schach). Interessant ist auch eyeTerre ein Google Earth Clone der sehr rasant funktioniert.


Anwendungsübersicht


eyeDocs


eyeSheets


eyeContact


eyeFiles

Zusätzlich können weitere Anwendungen über den integrierten Paketmanager installiert, oder von der Apps Webseite http://eyeos-apps.org heruntergeladen und mit dem Upload-Manager in eyeOS hochgeladen und anschließend manuell installiert werden. Über diesen Vorgang werden z.B. auch die Desktop-Themes installiert, der einfach und über eine gute Dokumentation (wie das gesamte System) verfügt.


System Bar

Darüber hinaus bieten mittlerweile viele Drittanbieter die Möglichkeiten ihre Anwendungen an eyeOS anzubinden, darunter Zoho mit seiner Office Suite oder Feng Office aber auch die großen der Branche wie YouTube, Ebay, Amazon, Twitter oder Flickr.

Entwickler steht das eyeOS Toolkit zur Verfügung, mit denen ihnen eine Menge an Bibliotheken und Funktionen zur Verfügung stehen, um Anwendungen für eyeOS zu entwickeln. Die Anwendungen können dann in einem eigenen Repository abgelegt und über den integrierten eyeOS Paketmanager bereitgestellt und verteilt werden.

Demo

Ein öffentlicher (Demo)-eyeOS-Server kann unter http://eyeos.info getestet werden.

Resumee

eyeOS zeigt einen Mega-Trend der kommenden Jahre. In Zukunft werden wir keine vollwertigen Computer (Fat-Clients) mehr benötigen, sondern auf einen einfachen Monitor, Maus und Tastatur bzw. einen Thin-Client zurückgreifen. Die Benutzerumgebungen werden vollständig virtualisiert und können damit von überall aus und an jedem Ort zur Verfügung gestellt werden. Ob das Hosting bei einem selbst verbleibt oder an einen Anbieter abgegeben wird, ist subjektiv. Durch die einfache Installation und Bereitstellung auf einem gewöhnlichen Webspace, hat aber jeder die Möglichkeit damit seine eigene (Arbeits)-Umgebung einzurichten und diese von überall aus zu nutzen.

Quellen

eyeOS



Rackspace – Cloud Servers

Mit dem Cloud Server [1] Angebot von Rackspace können innerhalb von wenigen Minuten von einem bis zu 50 Server eingerichtet werden. Die Konfiguration erfolgt über ein Webinterface bzw. über eine spezielle von Rackspace bereitgestellte offen API. Die Server verfügen über einen vollständigen Root-Zugang und können je nach Wunsch und Aufgabenbereich eingerichtet werden. Abgerechnet wird nur die tatsächliche Nutzung.

Funktionsweise

  • Auswahl der Serverkonfiguration
    Die Auswahl der Grundkonfiguration erfolgt aus Basis des Arbeitsspeichers. Es steht ein Bereich von 256 MB bis zu 16 GB zur Verfügung
  • Auswahl des Betriebssystem
    Aktuelle stehen mehrere Linux Distributionen zur Verfügung, darunter Ubuntu, Debian, Gentoo, Centos, Fedora, Arch und Red Hat Enterprise Linux. Windows Varianten sollen folgen.
  • Verwaltung
    Innerhalb von wenigen Minuten sind die Server verfügbar. Über ein Webinterface oder eine spezielle API kann die Performance jedes vorhandene Servers vergrößert, verkleinert oder vollständig entfernt werden.

Technologie

  • Virtualisierung
    Jeder Cloud Server wird in einer eigenen Virtual Machine abgebildet und ist vollständig von der Hardware getrennt. An dieser Stelle werden Software Hypervisor eingesetzt, wodurch weitere Cloud Server innerhalb von wenigen Minuten zur Verfügung stehen, da nur eine weitere Virtual Machine auf der bereits laufenden Hardware gestartet werden muss. Damit kann die Performanz (Prozessorleistung, Arbeitsspeicher) eines einzelnen Cloud Servers schnell vergrößert oder verkleinert werden.
  • CPU Geschwindigkeit
    Alle Cloud-Server garantieren die CPU-Leistung die vorbar konfiguriert wurde. Wenn die Hardware auf der die Virtual Machine betrieben wird allerdings freie CPU Kapazitäten zur Verfügung hat, werden diese genutzt um ohne weitere Kosten zusätzliche Rechenleistung für die Virtual Machine bereitzustellen.
  • Skalierung
    Die Skalierung eines Cloud Servers erfolgt entweder manuell über das Webinterface oder die API. Allerdings ist der Server dabei vorübergehend nicht erreichbar(!), da der Arbeitspeicher, die Festplattenkapazität und die Prozessorleitstung angepasst werden müssen und der Server neu gestartet(!) wird. Der gesamte Prozess ist automatisiert und dauert ein paar Minuten.
  • Technik

    • Xen Hypervisor
    • RAID-10
    • 64-bit Systeme
    • 4 virtuelle CPUs pro Cloud Server
    • Reservierter Arbeitsspeicher und Speicherplatz
    • Voneinander getrennte Public und Privat Netzwerkschnittstellen
    • Mehrfache Öffentliche IP-Adressen sind möglich
    • Kostenlose Bandbreite für die private Netzwerkschnittstelle und der Kommunikation innerhalb der Rackspace Cloud z.B. zu Cloud Files.
    • Snapshot-basierte Server-Images
    • Dynamische IP-Adressen für Hochverfügbarkeits-Failover-Konfigurationen
    • Bootfähiger Rettungs-Modus
    • Zugriff auf das Dateisystem für die Reperatur


[2]

Verfügbare Betriebssysteme

  • Ubuntu 9.10 (Karmic Koala)
  • Centos 5.4
  • Gentoo 2008.0
  • Ubuntu 9.04 (Jaunty)
  • Centos 5.3
  • Red Hat EL 5.3
  • Ubuntu 8.10 (Intrepid Ibex)
  • Centos 5.2
  • Arch 2009.02
  • Ubuntu 8.04.2 (Hardy Heron) LTS
  • Fedora 11 (Leonidas)
  • Fedora 10 (Cambridge)
  • Debian 5.0 Lenny


[3]

Funktionen der API

  • Starten und verwalten der Server programmatisch mit der REST-API.
  • Individuelle Anpassung der Server.
  • Zuweisen von speziellen Metadaten zu bestimmten Server Instanzen über key/value Paare.
  • Neustart der Server mittels Soft- oder Hardreset.
  • Wiederherstellen von Servern aus jedem beliebigen eigenen Image.
  • Erstellung von individuellen Images.
  • Zeitlich gesteuerte Backups der Server.
  • Je nach Wunsch kann die Performanz der Server vergrößert oder verkleinert werden.
  • Mehrere Server können sich mehrere öffentliche IP-Adressen teilen.


[4]

Preise

Alle Preise sind hier zu finden: Rackspace Cloud Server Preise

Quelle

[1] Rackspace Cloud - Cloud Servers
[2] Graphik: Rackspace Cloud - Cloud Servers (1)
[3] Graphik: Rackspace Cloud - Cloud Servers (2)
[4] Graphik: Rackspace Cloud - Cloud Servers (3)



Was sind "Amazon EC2 Elastic IP-Addresses"?

Elastische IP-Adressen sind statische IP-Adressen die für dynamisches Cloud Computing entwickelt wurden. Eine IP-Adresse ist mit dem AWS-Account und nicht mit einer konkreten Instanz verknüpft. Im Fehlerfall einer Instanz wird die IP-Adresse des betroffenen Servers auf einen funktionieren Server neu gemapped.

Begriffsbestimmungen

  • EC2 Private IP Address
    Dabei handelt es sich um die interne Adresse einer Instanz, ide nur innerhalb der EC2 Cloud geroutet werden kann. Der Datenverkehr außerhalb des EC2 Netzwerks kann nicht zu dieser IP Adresse geroutet werden. Dazu muss die Public IP oder die Elastic IP verwendet werden.
  • EC2 Public IP Address
    Dabei handelt es sich um die öffentliche IP-Adresse aller Instanzen die durch das Internet geroutet werden kann. Datenverkehr der zu dieser öffentlichen IP-Adresse geroutet wird, wird 1:1 per Network Address Translation (NAT) übersetzt und an die Private IP-Adresse einer Instanz weitergeleitet. Die öffentlichen IP-Adressen können nicht mehr genutzt werden, wenn eine EC2 Instanz ausfällt.
  • EC2 Elastic IP Address
    Dabei handelt es sich um die öffentliche IP-Adresse aller Instanzen die durch das Internet geroutet werden kann und einem AWS Account zugerordnet sind. Datenverkehr der zu dieser Elastic IP-Adresse geroutet wird, wird per Network Address Translation (NAT) übersetzt und an die zugeordnete Private IP-Adresse weitergeleitet. Elastic IP-Adressen werden explizit einem AWS Account zugeordnet und können bei Bedarf auch anderen EC2-Instanzen zugeordnet werden.


[2]

Beispiel

  • Eine Elastic IP Addresse einem AWS Account zuweisen
    Mit dem Befehl ec2-allocate-address wird eine Elastic IP Address einem Account zugeordnet. Mit dem Befehl ec2-release-address kann die Adresse von dem Account wieder entfernt werden.


    ec2-allocate-address
    ADDRESS 75.101.155.119

  • Beschreibung der Zuordnung von IP-Adressen zu einem Account
    Nachdem eine Adresse einem Account zugewiesen wurde, können mit dem Befehl ec2-describe-addresses alle eingesehen werden, die einem Account zugeordnet sind. Über den Parameter kann auf eine spezielle IP-Adresse gefiltert werden. Ohne Parameter werden alle IP-Adressen ausgegeben.


    ec2-describe-addresses
    ADDRESS 75.101.157.145
    ADDRESS 75.101.155.119

    ec2-describe-addresses 75.101.157.145
    ADDRESS 75.101.157.145

  • Zuordnung einer Elastic IP Addresse zu einer bereits gestarteten Instanz
    Nachdem eine Elastic IP Adresse zugeordnet wurde, kann diese mit dem Befehl ec2-describe-instances ausgewählt und über den Befehl ec2-associate-address mit einer gestarteten Instanz verknüpft werden.


    ec2-describe-instances
    INSTANCE i-b2e019da ami-2bb65342 ec2-72-44-33-67.compute-1.amazonaws.com
    INSTANCE i-b2e019db ami-2bb65342 ec2-67-202-3-83.compute-1.amazonaws.com

    ec2-describe-addresses
    ADDRESS 75.101.157.145

    Nun wird die Elastic IP 75.101.157.145 der Instanz mit der ID i-b2e019da zugeordnet.


    ec2-associate-address -i i-b2e019da 75.101.157.145
    ADDRESS 75.101.157.145 i-b2e019da

    Anschließend ist mit dem Befehl ec2-describe-addresses zu sehen, dass die IP der Instanz zugeordnet wurde.


    ec2-describe-addresses
    ADDRESS 75.101.157.145 i-b2e019da

    ec2-describe-instances i-b2e019da
    INSTANCE i-b2e019da ami-2bb65342 ec2-75-101-157-145.compute-1.amazonaws.com

  • Zuordnung einer Elastic IP Address zu einer anderen gestarteten Instanz
    Die Elastic IP kann auch einer anderen gestarteten Instanz zugeordnet werden. In diesem Beispiel gehören zu dem Account zwei aktive Instanzen -b2e019da und i-b2e019db. Es wird die IP-Adresse 75.101.157.145 von der Instanz i-b2e019da auf die Instanz i-b2e019db neu zugeordnet.


    ec2-describe-addresses
    ADDRESS 75.101.157.145 i-b2e019da

    ec2-associate-address -i i-b2e019db 75.101.157.145
    ADDRESS 75.101.157.145 i-b2e019db

    Nach dem Update wird der Datenverkehr der an die IP Adresse 75.101.157.145 gesendet wird, nun per NAT an die interne IP Adresse der Instanz i-b2e019db weitergeleitet.


    ec2-describe-addresses
    ADDRESS 75.101.157.145 i-b2e019db

    Der Instanz i-b2e019da ist nun keine öffentliche IP Adresse mehr zugewiesen, da diese der anderen Instanz zugeordnet ist. Dadurch ist sie nicht mehr über das Internet erreichbar, innerhalb der der Amazon Cloud aber schon.


    ec2-describe-instances
    INSTANCE i-b2e019da ami-2bb65342 <> ip-10-251-71-165.ec2.internal
    INSTANCE i-b2e019db ami-2bb65342 ec2-75-101-157-145.compute-1.amazonaws.com

    Im Hintergrund sorgt ein Prozess dafür, dass die Instanz i-b2e019da automatisch eine neue öffentliche IP Adresse erhält.


    ec2-describe-instances
    INSTANCE i-b2e019da ami-2bb65342 ec2-67-202-46-87.compute-1.amazonaws.com
    INSTANCE i-b2e019db ami-2bb65342 ec2-75-101-157-145.compute-1.amazonaws.com

  • Beenden einer laufenden Instanz mit einer zugeordneten Elastic IP
    Mit dem Befehl ec2-terminate-instance wird zuerst die Zuordnung der Elastic IP zu der Instanz entfernt, anschließend wird die Instanz beendet.
  • Entfernen der Zuordnung einer Elastic IP zu einer gestarteten Instanz

    Mit dem Befehl ec2-disassociate-address wird die Zuordnung einer Elastic IP aufgehoben.


    ec2-describe-addresses
    ADDRESS 75.101.157.145 i-b2e019db

    ec2-disassociate-address 75.101.157.145
    ADDRESS 75.101.157.145


    ec2-describe-addresses
    ADDRESS 75.101.157.145

  • Freigeben einer Elastic IP eines AWS Account
    Um eine Elastic IP von einem AWS Account wieder zu entfernen wird der Befehl ec2-release-address benötigt. Als Parameter wird die IP Adresse verwendet, die von dem Account entfernt werden soll.


    ec2-describe-addresses
    ADDRESS 75.101.157.145

    ec2-release-address 75.101.157.145
    ADDRESS 75.101.157.145


    ec2-describe-addresses

Quellen

[1] Amazon EC2 Elastic IP-Addresses
[2] Graphik: Amazon EC2 Elastic IP-Addresses



Was ist “Amazon S3?”

Amazon Simple Storage Service (Amazon S3) [1] stellt über einen Webservice eine Schnittstelle bereit, um darüber von überall aus eine unbegrenzte Menge an Daten zu speichern und diese wieder abzurufen.

Amazon S3 Funktionsweise

  • Speichern, Lesen und Löschen einer unbegrenzten Anzahl von Objekten (Dateien). Jedes Objekt kann eine Größe von 1 Byte bis zu 5 GByte haben.
  • Jedes Objekt wird in einem sogenannten Bucket gespeichert und kann über einen eindeutigen Key angesprochen werden.
  • Ein Bucket wird in einer von vielen Regionen gespeichert, wobei eine bestimmte Region z.B. auf Grund von Latenzzeiten zu bevorzugen ist. Jeder Bucket verfügt über einen eindeutigen Identifier und ist damit in der gesamten Amazon Cloud einmalig vorhanden.
  • Objekte die in einer bestimmten Region gespeichert werden, können auch nur in dieser Region wieder angesprochen werden. Sind z.B. Daten in Europa (Irland) gespeichert, kann auf diese Daten auch nur innerhalb von Europa zugegriffen werden. Ein Zugriff aus den USA auf die Daten ist in diesem Fall nicht möglich.
  • Über Authentifizierungs-Mechanismen wird sichergestellt, dass die Daten vor unbefugtem Zugriff geschützt sind. Die Objekte können als privat oder öffentlich gekennzeichnet werden. Jeder Benutzer kann unterschiedliche Zugriffsrechte auf Objekte erhalten.
  • Der Zugriff erfolgt über REST und SOAP Schnittstellen.
  • Amazon S3 ist protokollunabhängig, wobei HTTP das Standard Protokoll ist.


[2]

Amazon S3 Design Anforderungen

In Amazon S3 sollen Daten preiswert und sicher gespeichert werden und darüber hinaus zu jeder Zeit verfügbar sein, wenn sie benötigt werden.

  • Skalierbar: Amazon S3 skaliert anhand des verfügbaren Speicherplatz, der Anzahl der aktuellen Anfragen sowie der Anzahl der Benutzer um eine unbegrenzte Anzahl von Web-Anwendungen bereitzustellen. Indem das System weitere Knoten zur Verfügung gestellt bekommt wird die Verfügbarkeit, Geschwindigkeit, Kapazität, Robustheit und der Durchsatz erhöht.
  • Zuverlässig: Daten werden dauerhaft und mit einer Verfügbarkeit von 99,99% gespeichert. Es darf kein Single Point of Failure vorhanden sein. Alle Fehler müssen toleriert und durch das System automatisch repariert werden.
  • Fast: Die Geschwindigkeit muss hoch genug sein, um High-Performance-Anwendungen zu unterstützen. Die Server-seitige Latenz darf im Vergleich zur Internet Latenz keine Bedeutung haben. Jeder Performance-Engpass kann durch das einfache Hinzufügen von weiteren Knoten gelöst werden.
  • Preiswert: Amazon S3 besteht aus kostengünstiger Standard Hardware. Dadurch ist der Ausfall eines einzelnen Knoten der Normalfall, was aber nicht das gesamte System betreffen darf.
  • Einfach: Der Aufbau von hoch skalierbarem, zuverlässigen, schnellen und kostengünstigen Speicherplatz ist schwierig. Darüber hinaus muss jede Anwendung darauf von überall aus zugreifen können. Die Anforderung besteht also darin, Amazons interne Anwendungen (die Amazon Webseite) und zusätzlich parallel die Anwendungen von externen Entwicklern hoch performant zu handhaben.


[3]

Amazon S3 Design Grundsätze

Folgenden Grundsätze für das Design von verteilten Systemen werden für Amazon S3 eingesetzt:

  • Dezentralisierung: Vollständiger Einsatz von Technologien zur Dezentralisierung um Engpässe und Single Point of Failure zu vermeiden.
  • Asynchronität: Das System macht unter allen Umständen Fortschritte.
  • Autonomität: Das System ist so ausgelegt, dass einzelne Komponenten ihre Entscheidungen auf Basis lokaler Informationen treffen können.
  • Lokale Verantwortung: Jede Komponente ist selbst für seine eigene Konsistenz verantwortlich und muss diese auch selber erreichen.
  • Kontrollierte Nebenläufigkeit: Alle Operationen sind so ausgelegt, dass keine oder nur eine begrenzte Kontrolle der Konsistenz erforderlich ist.
  • Fehlertoleranz: Das System behandelt den Ausfall von Komponenten wie gewöhnliche Operationen und wird dadurch gar nicht oder nur minimal Unterbrochen.
  • Kontrollierte Parallelität: Parallelität kann genutzt werden, um die Leistung und Robustheit der Wiederherstellung zu verbessern, bzw. neue Knoten zu verwenden. Ein einziger Dienst sollte nicht alles für jeden bereitstellen. Stattdessen sollten kleine Komponenten verwendet werden, die als Bausteine für andere Dienste genutzt werden können.
  • Symmetrie: Alle Knoten im System sind bzgl. ihrer Funktionalität identisch und benötigen keine oder nur minimale knotenspezifische Konfigurationen um ausgeführt zu werden.
  • Einfachheit: Das System sollte so einfach wie möglich (aber nicht einfacher) gemacht werden.

Preise

Alle Preise sind hier zu finden: Amazon S3 Preise

Quellen:

[1] Amazon S3
[2] Graphik: Amazon S3 (1)
[3] Graphik: Amazon S3 (2)



Was ist "Amazon EC2?"

Amazon EC2 (Amazon Elastic Compute Cloud) [1] ist ein Webservice für die Bereitstellung von hoch skalierbarer Rechnerkapazität und wurde entwickelt, um die Entwicklung von skalierbare Web-Anwendungen für Entwickler einfacher zu machen. Die angemietete Rechnerleistung befindet sich in den weltweit verteilten Rechenzentren von Amazon und kann über eine Webservice Schnittstelle vollständig konfiguriert und kontrolliert werden.

Durch das Hinzufügen und Starten von Serverinstanzen innerhalb von Minuten kann die verwendete Infrastruktur in kurzer Zeit je nach den aktuellen Anforderungen skaliert werden. Ist die Last hoch, werden mehr Instanzen hinzugefügt, nimmt die Last wieder ab, werden die nicht mehr benötigten Kapazitäten entfernt.

Da nur für die Ressourcen bezahlt wird, die auch tatsächlich verwendet werden, erhält man dadurch eine bessere Kosteneffizienz. Der Normalfall besteht in der Anschaffung eigener überdimensionierter Systeme, die im Gesamtdurchschnitt nur zu 20% ausgelastet sind. Die restlichen 80% werden nur während Spitzenlasten genutzt und verursachen sonst nur unnötige Kosten.

Amazon EC2 Funktionsweise

Die virtuelle Umgebung von Amazon EC2 wird mittels einer Webservice Schnittstelle angesprochen, über die auf Serverinstanzen mit einer vielzahl unterschiedlicher Betriebssysteme zugegriffen werden kann. Die Betriebssysteme können wie eigene "lokale" Betriebssysteme mit Software erweitert und können ebenfalls mit Zugriffsberechtigungen konfiguriert werden.


[2]

Eine einfache Vorgehensweise

  • Auswahl und Start eines bereits vor-konfigurierten Images (Vorlage). Alternativ kann auch ein eigenes Amazon Machine Image (AMI) erstellt werden. Dieses beinhaltet dann eigene Anwendungen, Bibliotheken, Daten und Konfigurationen.
  • Konfiguration der Sicherheitseinstellungen und des Netzwerkzugriffs auf die jeweilige EC2 Instanz.
  • Auswahl des Instanz Typs und des Betriebssystems.
  • Festlegen des Orts, wo die Server ausgeführt werden sollen (USA, Europa, ...).
  • Festlegen einer statischen IP-Adresse.
  • Hinzufügen von Speicherplatz.

Leistungen im Überblick

  • Elastisch: Rechnerkapazität kann je nach Bedarf innerhalb von Minuten vergrößert und verkleinert werden. Dabei kann man einen aber auch tausend Server Instanzen gleichzeitg nutzen, die mittels der Web Service API angesprochen werden und automatisch skalieren.
  • Vollständige Kontrolle: Für jede Server Instanz besteht vollständiger Root-Zugriff.
  • Flexibilität: Man kann zwischen mehreren Instanzen Typen, Betriebssystemen und Software-Pakete wählen. Die Serverhardware kann so konfiguriert werden, dass der Speicher, die CPU, und die Größe der Boot-Partition, optimal für das Betriebssystem und die Anwendung ausgelegt sind.
  • Amazon Web Services: Vollständige Unterstützung und Integration mit den anderen Amazon Web Services wie Amazon Simple Storage Service (Amazon S3), Amazon SimpleDB und Amazon Simple Queue Service (Amazon SQS).
  • Zuverlässig: Das Service Level Agreement von Amazon EC2 besagt 99,95% Verfügbarkeit für jede Amazon EC2 Region.
  • Sicherheit: Amazon EC2 stellt folgende Sicherheitsfunktionen bereit:

    • Über die Webservice Schnittstelle kann eine Firewall für den Zugriff auf die jeweilige Instanz und zwischen einzelnen Instanzen/ Gruppen von Instanzen konfiguriert werden.
    • Mittels der Amazon Virtual Private Cloud (Amazon VPC) können die Instanzen in einen eigenen (privaten) IP-Adressbereich verlagert werden. Darüber hinaus kann über die (haus)-eigene Infrastruktur mit einem IPSec VPN auf diese Instanzen in der Amazon Cloud zugegriffen werden.
  • Kostengünstig:

    • On-Demand Instanzen: Bei On-Demand Instanzen zahlt man nur für die Rechnerkapazität die tatsächlich genutzt wird. Die Abbrechnung erfolg dabei pro Stunde ohne langfristige Verpflichtungen einzugehen. Dadurch entfällt die Überdimensionierung der Serverlandschaft um Lastspitzen auszugleichen.
    • Reservierte Instanzen: Instanzen können für eine niedrige, einmalige Zahlung pro Instanz reserviert werden. Im Gegenzug erhält man einen Rabatt auf die Nutzungsgebühr (Stundenpreis) für diese Instanz. Anschließend ist diese Instanz ohne weitere Verpflichtungen reserviert und kann wie gewohnt genutzt werden.
    • Spot Instanzen: Hier bietet man auf ungenutzte Amazon EC2 Kapazitäten. Dazu teilt man Amazon mit, welche EC2 Instanz man gerne haben möchte und was man bereit ist dafür zu bezahlen. Anhand von Angebot und Nachfrage wird ein Spot-Preis ermittelt.


[3]

Funktionen

  • Amazon Elastic Block Store
    Amazon Elastic Block Store (EBS) dienen zur dauerhaften Speicherung der Amazon EC2-Instanzen. Neben aktiven können auch Instanzen gespeichert werden, die gerade nicht verwendet werden. Die Volumes können als Boot Partition für EC2-Instanzen verwendet werden oder direkt an eine bereits gestartete EC2-Instanz angeschlossen werden. Die EBS-Volumes werden automatisch in eine einfache Verfügbarkeitszone repliziert und ein Snapshot kann zusätzlich in Amazons S3 Dienst abgelegt werden. Dieser Snapshot wird dann über mehrere Verfügbarkeitszonen verteilt. Ein Snapshot kann, wenn gewünscht, als Ausgangspunkt für einen neuen Amazon EBS dienen.

  • Mehrere Standorte
    Amazon EC2 Instanzen können an mehreren Standorten verteilt werden. Die Standorte sind dabei in Regionen und Verfügbarkeitszonen aufgeteilt. Verfügbarkeitszonen sind unterschiedliche Orte, die entwickelt wurden, um von Fehlern in anderen Verfügbarkeitszonen nicht betroffen zu sein. Zudem haben unterschiedliche Verfügbarkeitszonen unterschiedliche Latenzzeiten in einer Region. Durch den Einsatz von separaten Verfügbarkeitszonen wird eine Anwendung von Ausfällen an einzelnen Standorten nicht betroffen. Die einzelnen Verfügbarkeitszonen sind geografisch in verschiedenen Orten und Ländern verteilten. Dazu gehören derzeit der Osten der USA (Northern Virginia), der Westen der USA (Northern California) und Europa (Irland).
  • Elastische IP-Adressen
    Elastische IP-Adressen sind statische IP-Adressen die für dynamisches Cloud Computing entwickelt wurden. Diese IP-Adresse ist mit dem AWS-Account und nicht mit einer konkreten Instanz verknüpft. Im Fehlerfall einer Instanz wird die IP-Adresse des betroffenen Servers auf einen funktionieren Server neu gemapped.
  • Amazon Virtual Private Cloud
    Mit der Virtual Private Cloud die EC2-Instanzen innerhalb der Amazon Cloud in das eigenen Firmennetz eingebunden werden. Sie fungieren dann im Prinzip als lokal vorhandene Server und können auf andere Systeme zugreifen, genau so wie auf sie zugegriffen werden kann.
  • Amazon CloudWatch
    Wird HIER beschrieben.
  • Auto Scaling
    Wird HIER beschrieben.
  • Elastic Load Balancing
    Wird HIER beschrieben.

Typen von Instanzen

Standard Instanzen

  • Small Instance: 1.7 GB Arbeitsspeicher, 1 EC2 Prozessor, 160 GB Speicherplatz, 32-bit Plattform
  • Large Instance: 7.5 GB Arbeitsspeicher, 4 EC2 Prozessoren, 850 GB Speicherplatz, 64-bit Plattform
  • Extra Large Instance:15 GB Arbeitsspeicher, 8 EC2 Prozessoren, 1690 GB Speicherplatz, 64-bit Plattform

High-Memory Instanzen

  • High-Memory Double Extra Large Instance: 34.2 GB Arbeitsspeicher, 13 EC2 Prozessoren, 850 GB Speicherplatz, 64-bit Plattform
  • High-Memory Quadruple Extra Large Instance: 68.4 GB Arbeitsspeicher, 26 EC2 Prozessoren, 1690 GB Speicherplatz, 64-bit Plattform

High-CPU Instanzen

  • High-CPU Medium Instance: 1.7 GB Arbeitsspeicher, 5 EC2 Prozessoren, 350 GB Speicherplatz, 32-bit Plattform
  • High-CPU Extra Large Instance: 7 GB Arbeitsspeicher, 20 EC2 Prozessoren, 1690 GB Speicherplatz, 64-bit Plattform

EC2 Prozessor: Ein EC2 Prozessor ist mit mit einem 1.0-1.2 GHz 2007 Opteron bzw. 2007 Xeon Prozessor vergleichbar.

Betriebssysteme und Software

Betriebssysteme

Folgende vorkonfigurierte Amazon Machine Images (AMI) stehen zur Verfügung:

  • Red Hat Enterprise Linux
  • Windows Server 2003/2008
  • Oracle Enterprise Linux
  • OpenSolaris
  • openSUSE Linux
  • Ubuntu Linux
  • Fedora
  • Gentoo Linux
  • Debian

    Des Weiteren können vorkonfigurierte AMIs inkl. vorinstallierter Software genutzt werden. Folgende Softwarelösungen stehen zur Verfügung:

Datenbanken

  • IBM DB2
  • IBM Informix Dynamic Server
  • Microsoft SQL Server Standard 2005
  • MySQL Enterprise
  • Oracle Database 11g

Batch-Verarbeitung

  • Hadoop
  • Condor
  • Open MPI

Web Hosting

  • Apache HTTP
  • IIS/Asp.Net
  • IBM Lotus Web Content Management
  • IBM WebSphere Portal Server

Anwendungsentwicklung

  • IBM sMash
  • JBoss Enterprise Application Platform
  • Ruby on Rails

Applikationserver

  • IBM WebSphere Application Server
  • Java Application Server
  • Oracle WebLogic Server

Video Encoding & Streaming

  • Wowza Media Server Pro
  • Windows Media Server

Preise

Alle Preise für

  • Datentransfer
  • Amazon Elastic Block Store
  • Elastic IP Addresses
  • Amazon CloudWatch
  • Elastic Load Balancing

sind hier zu finden: Amazon EC2 Preise

Quellen:

[1] Amazon EC2
[2] Graphik: Amazon EC2 (1)
[3] Graphik: Amazon EC2 (2)



Computer Games as a Service

Computer Games as a Service (CGaaS) bezeichnet einen Begriff aus dem Bereich des Cloud Computing und steht für ein Servicemodell, bei dem Computerspiele über das Internet bereitgestellt und auf den heimischen PC gestreamt werden.



"Leitfaden Cloud Computing" des BITKOM

Der Bundesverband Informationswirtschaft, Telekommunikation und neue Medien e.V. (BITKOM) hat einen Leitfanden zum Cloud Computing herausgegeben, der sich speziell an Unternehmen richtet um sie zu motivieren sich mit Cloud Computing auseinander zu setzen und somit Potenziale für Ihr Business zu erkennen.

Der Fokus liegt dabei auf den geschäftlichen Herausforderungen, den Geschäftsmodellen und der Integrierbarkeit von Cloud-Lösungen in die Geschäftsprozesse. Im Vordergrund stehen dabei die strategischen und wirtschaftlichen Aspekte.

Der vorliegende Leitfaden umfasst 7 Kapitel. Entscheider finden im Kapitel 1 die wesentlichen Aussagen über die Relevanz von Cloud Computing für ihr Business. Das Kapitel 2 zeigt auf, welchen Einfluss Cloud Computing auf Wertschöpfungsketten ausübt. Im Kapitel 3 werden wesentliche Faktoren erörtert, die die Diffusionsgeschwindigkeit von Cloud Computing determinieren. Das Kapitel 4 ist juristischen Fragestellungen vorbehalten. Einsatzszenarien und –beispiele für Cloud Computing werden im Kapitel 5 erläutert, während das Kapitel 6 den Zusammenhang zwischen Cloud Computing und anderen Technologieentwicklungen beleuchtet. Den Leitfaden rundet eine Checkliste im Kapitel 7 ab.

Der Leitfanden kann auf der Internetseite des BITKOM kostenlos heruntergeladen werden. - DOWNLOAD

An dieser Stelle auch vielen Dank an Herrn Andreas Wilker, der in der Cloud-Community.org | DE auf diesen Leitfaden aufmerksam gemacht hat.



Eucalyptus – Eine Open Source Infrastruktur für die eigene Cloud

Beim Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus)[1][2] handelt es sich um eine Open Source Software Infrastruktur zum Aufbau von skalierbaren Utility Computing bzw. Cloud Computing Umgebungen für spezielle Clustersysteme oder einfachen miteinander verbundenen Arbeitsplatzrechnern.

Eucalyptus wurde als ein Forschungsprojekt am Computer Science department an der University of California Santa Barbara entwickelt und wird mittlerweile von der Eucalyptus Systems Inc. vermarktet. Die Software wird aber weiterhin als Open Source Projekt gepflegt und weiterentwickelt. Die Eucalyptus Systems Inc. bietet darüber hinaus lediglich weitere Dienstleitungen und Produkte sowie einen professionellen Support rund um Eucalyptus an.

Folgende Funktionen stellt Eucalyptus bereit:

- Kompatibilität mit den Schnittstellen zu Amazon EC2 und S3 (SOAP und REST).
- Unterstützung aller Virtual Machines die auf einem Xen Hypervisor oder einer KVM ausgeführt werden.
- Administrationstools für die System- und Benutzerverwaltung
- Die Möglichkeit mehrere Cluster für eine Cloud zu konfigurieren, wobei jeder einzelne Cluster über eine private interne IP-Adresse verfügt.

Architektur

Eucalyptus besteht aus fünf zusammenarbeitenden Hauptkomponenten um den angeforderten Cloud Service bereit zu stellen. Die Kommunikation zwischen den Komponenten erfolgt über gesicherte SOAP Nachrichten mittels WS-Security.

Cloud Controller (CLC)
Der Cloud Controller dient innerhalb einer Eucalyptus Cloud als Hauptkomponente für die Verwaltung des gesamten Systems und stellt den Administratoren und Benutzern einen zentralen Zugriffspunkt bereit. Die Kommunikation aller Clients mit dem Eucalyptus System erfolgt ausschließlich nur über den Cloud Controller anhand der auf SOAP oder REST basierenden API. Der Cloud Controller ist dafür zuständig, alle Anfragen zu der richtigen Komponente weiterzuleiten, diese zu sammeln und die Antwort der Komponente anschließend wieder zu dem Client zurück zu senden. Der Cloud Controller ist somit die öffentliche Schnittstelle einer Eucalyptus Cloud.

Cluster Controller (CC)
Der Cluster Controller ist innerhalb des Eucalyptus Systems für die Verwaltung des virtuellen Netzwerks zuständig. Der Cloud Controller erhält alle Anfragen auf Basis seiner SOAP oder REST Schnittstellen. Der Cloud Controller erhält alle Informationen über die vorhandenen Node Controllers des Eucalyptus Systems und ist für die Kontrolle des Lebenszyklus jedes einzelnen verantwortlich. Er leitet alle Anfragen an die Node Controller mit verfügbaren Ressourcen weiter um damit virtuelle Instanzen zu starten.

Node Controller (NC)
Ein Node Controller steuert das Betriebssystem und den zugehörigen Hypervisor eines Rechners (Node) im Eucalyptus System. Auf jeder physikalischen Maschine die eine durch den Cluster Controller instantiierte virtuelle Instanz auf Grund einer Anfrage beherbergt, muss eine Instanz eines Node Controller vorhanden sein.

Walrus (W)
Walrus ist für die Zugriffsverwaltung auf den Speicherdienst innerhalb eines Eucalyptus Systems zuständig. Walrus erhält die Anfragen über seine SOAP oder REST Schnittstelle.

Storage Controller (SC)
Der Storage Controller verwaltet den Speicherdienst innerhalb eines Eucalyptus Systems und verfügt über eine Schnittstelle zu Amazon's S3 Dienst. Der Storage Controller arbeit in Verbindung mit Walrus und wird für die Speicherung und den Zugriff auf die Images der Virtual Machines, die Kernel Images, die RAM Disk Images und die Daten der Benutzer verwendet. Die Images der Virtual Machines können rein privat oder öffentlich zugänglich gemacht werden und können dabei komprimiert und verschlüsselt gespeichert werden. Die Images werden lediglich entschlüsselt, wenn ein Node eine neue virtuelle Instanz starten muss und dazu einen Zugriff auf das Image benötigt.

Ein Eucalyptus System vereint und verwaltet Ressourcen von Single-Cluster als auch Multi-Cluster Systemen. Dabei besteht ein Cluster aus einer Gruppe von Rechnern, die alle mit dem selben LAN verbunden sind. Zu jedem Cluster kann wiederum einer aber auch mehrere Node Controller gehören, die für die Verwaltung der Instantiierung und Beendigung der virtuellen Instanzen verantwortlich sind.

Wie in Abbildung 1 illustriert, besteht ein Single-Cluster aus mindestens zwei Maschinen. Auf dem einen werden der Cluster Controller, der Storage Controller und der Cloud Controller ausgeführt, auf dem anderen der Node Controller. Diese Art der Konfiguration ist vor allem für Experimente und schnelle Konfigurationen geeignet. Die dargestellte Konfiguration könnte ebenfalls auf einer einzigen Maschine implementiert werden. Allerdings ist dafür eine äußerst leistungsstarke Hardware notwendig!


Abbildung 1: Topologie einer Single-Cluster Eucalyptus Installation [2]

Wie in Abbildung 2 dargestellt, kann bei einem Multi-Cluster jede Komponente (CC, SC, NC, und CLC) auf einer separaten Maschine ausgeführt werden. Dies sollte die bevorzugte Art und Weise sein das Eucalyptus System zu konfigurieren, wenn damit ernsthaft gearbeitet werden soll. Mit einem Multi-Cluster kann zudem die Performance erhöht werden, indem einem Controller die passende Maschine zugewiesen wird. Zum Beispiel sollte der Cloud Controller auf einer Maschine mit einer schnellen CPU ausgeführt werden. Im Allgemeinen bringt die Entscheidung für einen Multi-Cluster eine höhere Verfügbarkeit, sowie eine bessere Lastverteilung und eine optimierte Verteilung der Ressourcen über alle Cluster. Das Clusterkonzept ist vergleichbar mit dem Konzept der Verfügbarkeitszonen der Amazon EC2. Dabei werden die Ressourcen über mehrere Verfügbarkeitszonen hinweg verteilt, damit ein Fehler in einer Zone nicht die Anwendung beeinträchtigt.


Abbildung 2: Topologie einer Multi-Cluster Eucalyptus Installation [2]

Folgende Hardwarevoraussetzungen müssen erfüllt sein, um darauf einen CC, CLC, Walrus oder SC auszuführen. [2]

Folgende Hardwarevoraussetzungen müssen erfüllt sein, um darauf einen NC auszuführen. [2]

Eucalyptus und die Ubuntu Enterprise Cloud

Bei der Ubuntu Enterprise Cloud (UEC) handelt es sich um eine Open Source Initiative von Ubuntu, um auf eine einfachere Art und Weise skalierbare Cloud Infrastrukturen auf Basis von Eucalyptus bereitzustellen und diese zu konfigurieren.

Mit der Ubuntu Enterprise Cloud können Public Clouds erstellt werden, welche Amazon's EC2 infrastructure nutzen. Es können damit aber genau so gut Private Clouds entwickelt werden, die auf der eigenen Infrastruktur im eigenen Rechenzentrum hinter der eigenen Firewall gehostet werden.

Vorteile von Eucalyptus

Bei Eucalyptus handelt es sich um eine Umgebung für Cloud Services, mit der Public Clouds auf Amazon's EC2 Infrastruktur bzw. Private Clouds im hauseigenen Rechenzentrum erstellt werden können. Die grundlegenden Vorteile sollen hier noch einmal kurz aufgeführt werden:

Open Source und Entwicklung
Eucalyptus wurde geschaffen, um die Kommunikation und Forschung von Cloud Computing Plattformen zu fördern. Der Quellcode ist frei verfügbar, was es ermöglicht die Plattform so zu erweitern, damit sie den eigenen Anforderungen entspricht. Eucalyptus wird zunehmend weiterentwickelt. Darüber hinaus ist die Aufnahme und Integration von Funktionswünschen und Verbesserungsvorschlägen sehr schnell.

Community
Eucalyptus verfügt über eine große Community die gerne bereit ist einander zu helfen. Über die Foren kann schnell Kontakt zu anderen Benutzern aufgenommen und Hilfe bezogen werden.

Public Cloud
Eucalyptus funktioniert einwandfrei auf Amazon's EC2 Framework und kann damit als Public Cloud eingesetzt werden.

Private Cloud
Eucalyptus kann auf der eigenen Infrastruktur im eigenen Rechenzentrum hinter der eigenen Firewall als Private Cloud eingesetzt werden. Dadurch ist die Kontrolle bzgl. der Sicherheit und der gesamten Umgebung in der eigenen Hand.

Portabilität
Auf Grund der Kompatibilität von Eucalyptus mit Amazon's EC2 API sowie der Flexibilität von Eucalyptus, können Anwendungen ohne großen Aufwand von einer Cloud in die andere migriert werden. Darüber hinaus besteht die Möglichkeit des Aufbaus von Hybrid Clouds, indem eine Private Cloud mit einer Public Cloud erweitert bzw. kombiniert wird.

Qualitativ durch Tests
Durch den Einsatz von Eucalyptus in Ubuntu's Enterprise Cloud findet tagtäglich ein weltweiter realer Test auf Basis von mehr als tausend Server-Instanzen statt.

Kommerzieller Support
Neben den Foren der Eucalyptus Community kann natürlich auch auf einen kommerziellen Support zurückgegriffen werden.

Quellen:
[1] Eucalyptus
[2] IBM developerWorks



Hybrid Cloud

Die Hybrid Cloud stellt eine Mischung aus der Private und der Public Cloud dar. Dabei verfügen Unternehmen zwar über ihre eigene Private Cloud, verwenden aber zusätzlich Dienste aus der Public Cloud von externen Anbietern. Die Attraktivität besteht vor allem darin, dass der externe Anbieter bei Bedarf schneller und kostengünstiger die benötigte Infrastruktur/ Dienste erhöhen bzw. verkleinern kann. Die Dienste werden so in die Private Cloud integriert, dass der Endanwender nicht merkt, dass er eigentlich woanders arbeitet.

Hybrid Cloud



Private Cloud

Von einer Private Cloud wird gesprochen, wenn Organisationen ihre eigenen Rechenzentren betreiben bzw. eigene Server angemietet haben und ihre Dienste nur für Ihre eigenen (geschäftlichen) Zwecke innerhalb ihrer eigenen privaten Netze verwenden und der Allgemeinheit nicht zur Verfügung stellen. Die Datensicherheit, 'Corporate Governance' und Zuverlässigkeit liegen damit in ihrem eigenen Einflussbereich. Aus diesem Grund werden Private Clouds nur indirekt zum Cloud Computing gezählt.



Cloud Architektur

Das Schlüsselkonzept des Cloud Computing ist ein riesiges Netzwerk bestehend aus vielen Servern, die in einem Grid organisiert sind. Alle Server verarbeiten die Anfragen parallel, indem die Ressourcen aller Beteiligten kombiniert werden um damit die Leistung eines Supercomputers zu erzielen, siehe auch Grid Computing. Die Server werden in diesem Fall von Dienstleistern betrieben und sind über mehrere Rechenzentren verteilt. Der Zugriff auf die Cloud erfolgt dabei über das Internet. Für den Benutzer stellt sich die Cloud nach außen wie eine Anwendung dar. Die gesamte Infrastruktur, die für die Verabeitung benötigt wird, ist dabei unsichtbar.

Cloud Computing - Architektur



Was ist Cloud Computing?

Geschichte

Die grundlegenden Ideen und Konzepte des Cloud Computing reichen bis in die 1960er zurück. Schon damals hatte Prof. John McCarthy die Idee entwickelt Rechenleistung und Anwendungen als Utility der Öffentlichkeit gegen eine Nutzungsgebühr bereitzustellen. Dass der Durchbruch erst heute bevorsteht, hängt mit den technischen Voraussetzungen zusammen, die zur damaligen Zeit einfach noch nicht gegeben waren.

Kurz zusammengefasst beginnt die Entwicklung zum heutigen Cloud Computing in den 1960er mit dem Utility Computing, dessen Idee darin besteht, IT-Dienste und Rechenleistung nach Verbrauch abzurechnen. Dazu gesellten sich die Application Service Provider (ASP), die als Dienstleister über eine Datenverbindung Anwendungssoftware wie z.B. ein CRM-System (Customer Relationship Management) anbieten, das von einem Kunden gegen eine Nutzungsgebühr gemietet werden kann. Die oben bereits angesprochenen Probleme führten dazu, dass der Hype wieder abnahm und erst um 2000 herum unter dem neuen Namen Software as a Service (SaaS) wieder aufgenommen wurde. In den 1990er kam die Idee des Grid Computings auf, das als ein Ersatz für Supercomputer verstanden werden kann, indem verteilte Rechnerleistung nach Bedarf bezogen wird.

Cloud Computing - Historische Entwicklung

Der serviceorientierte Ansatz aus dem Bereich des Utility Computing und den Bereichen der ASP/ SaaS + dem technischen Ansatz des Grid Computings ergeben in der Summe das, was wir heute unter Cloud Computing verstehen.

Definition

Cloud Computing symbolisiert den service- und anwendungsorientierten Trend der heutigen Informationstechnologie, bei dem verteilte und hoch skalierbare Infrastrukturen über das Internet von einem oder mehreren Providern adaptiert werden können und Anwendungen und Dienste an jedem Ort und zu jeder Zeit verfügbar sind.

Erwartungen

Unternehmen können durch den Einsatz von Cloud Computing ihre IT-Gesamtausgaben deutlich reduzieren und die Qualität, Sicherheit aber vor allem ihre Arbeitsabläufe messbar steigern. Cloud Computing Anbieter können Skaleneffekte nutzen, indem sie ihre Kosten über eine große Anzahl von Kunden verteilen und haben damit die Möglichkeit die Investitionen in den Betrieb und die Sicherheit (Daten- und Zugangssicherheit) ihrer Rechenzentren im Vergleich zu herkömmlichen Rechenzentrums Betreibern zu erhöhen.