Kategorien
Grundlagen Services

Amazon Machine Images (AMI)

Eine Amazon EC2 Instanz kann auf Basis eines Amazon Machine Image (AMI) welches sich in Amazon EBS befindet oder eines AMI welches in Amazon S3 gespeichert ist gestartet werden. Dabei verwenden Instanzen, bei denen die AMIs in Amazon EBS gespeichert sind, EBS Volumes als Root Device (von wo gebooted wird). Dagegen nutzen Instanzen, deren AMIs in Amazon S3 abgelegt sind einen Instanzspeicher als das Root Device.

Die folgende Tabelle beschreibt die Unterschiede zwischen AMIs die in Amazon EBS abgelegt sind und AMIs die sich in Amazon S3 (Instanzspeicher) befinden.

Eigenschaften
Amazon EBS
Amazon S3 (Instanzspeicher)
Bootzeit Gewöhnlich weniger als 1 Minute. In der Regel weniger als 5 Minuten.
Größenbeschränkung 1 Terrabyte (TB) 10 Gigabyte (GB)
Speicherort Amazon EBS volume Instanzspeicher
Datenpersistenz Die Daten bleiben vorhanden, wenn die Instanz ausfällt und können gespeichert werden, wenn die Instanz beendet wird. Die Daten bleiben nur für die Lebensdauer der Instanz erhalten.
Erweiterung Der Instanz-Typ, Kernel, die RAM Disk und die Benuterdaten können geändert werden, während die Instanz gestoppt (angehalten) ist. Die Attribute einer Instanz sind für ihre Lebensdauer festgesetzt und können währenddessen nicht geändert werden.
Kosten Instanz Nutzung, Amazon EBS Volume Nutzung und Amazon EBS Snapshot Kosten zum Speichern der AMI. Instanz Nutzung und Amazon S3 Kosten zum Speichern der AMI.
AMI Erstellung / Bundling Verwendet einen einzigen Befehl / Anweisung Erfordert die Installation und die Nutzung der AMI Tools
Stoppen / Anhalten Kann in den Zustand „angehalten“ überführt werden, wenn eine Instanz nicht ausgeführt wird, aber in Amazon EBS gespeichert ist. Kann nicht gestoppt werden, Instanzen werden ausgeführt oder nicht.

Öffentliche AMIs können direkt über Amazon oder die Amazon EC2 Community bezogen werden. Öffentliche AMIs dienen als Basis und können dazu benutzt werden, um eigene maßgeschneidert AMIs zu erstellen.

Private AMIs sind AMIs die einem selbst gehören. Auf diese kann daher nur selbst bzw. von Leuten zugegriffen werden, denen man den Zugriff erlaubt hat.

Shared AMIs werden von Entwicklern erstellt und anderen Entwicklern für die Nutzung zur Verfügung gestellt.

Paid AMIs können von Entwicklern oder Unternehmen wie z.B. RedHat gekauft werden. Es existieren ebenfalls AMIs die an spezielle Serviceverträge gekoppelt sind.

Quelle

Kategorien
Grundlagen Services

Der Amazon EC2 Workflow

Die folgende Graphik verdeutlicht den grundsätzlichen Ablauf zum Verwenden von Amazon EC2.

  • 1. Zunächst wird ein AMI (Amazon Machine Image) von Grund auf neu, oder auf Basis eines bereits vorhandenen AMIs erstellt. Dieser Vorgang ist optional, da Instanzen aus bereits vorhandenen AMIs gestartet werden können, ohne diese vorab zu verändern.
  • 2. Für ein AMI das einen lokalen Instanzspeicher für sein Root Device verwendet, muss der Prozess zum bundlen und registrieren des AMIs erfolgen. Für ein AMI hingegen, dass ein Amazon EBS Volume verwendet, reicht es aus, den create Image Befehl auf einer bereits gestarteten Instanz auszuführen. Amazon EC2 gibt anschließend eine AMI ID zurück, wodurch auf Basis des AMI so viele Instanzen wie gewünscht gestartet werden können.
  • 3. Starten einer oder mehrerer Instanzen eines AMI.
  • 4. Verwalten und verwenden der Instanzen als wären es gewöhnliche Server.

Quelle

Kategorien
Grundlagen Services

Das Konzept der Amazon Virtual Private Cloud

Bei der Amazon Virtual Private Cloud (VPC) handelt es sich um eine sichere und lückelose Integrationsmöglichkeit zwischen der bereits vorhandenen IT Infrastruktur eines Unternehmens und der Amazon Cloud und dient zum Aufbau einer Hybrid Cloud. Mit Amazon VPC können Unternehmen ihre existierende Infrastruktur mit speziell isolierten AWS Ressourcen mittel eines Virtual Private Network (VPN) verbinden, um damit die Verwaltungsmögklichkeiten wie die Bereiche Sicherheit, Firewall und Intrusion Dection für die AWS Ressourcen zu erweitern.

Um die Amazon Virtual Private Cloud zu nutzen, muss zunächst der IP-Adressraum für die VPC festgelegt werden. Die IP-Adressen innerhalb dieses Adressraums sind privat und bilden ein Netzwerk das mittels paketbasierten Routing von anderen Netzwerken inkl. dem Internet vollständig isoliert ist.

Als nächstes müssen Subnetze erstellt werden, welche Segmente eines VPC IP-Adressraums sind. Damit können die Amazon EC2 Instanzen innerhalb des VPC separiert und sicher betrieben werden. Existiert mehr als ein Subnetz in einem VPC, werden diese mittels eines logischen Routers sternförmig (Stern-Topologie) miteinander verbunden.

Um sich mit der VPC zu verbinden, wird eine VPN Verbindung benötigt, die als VPN Tunnel zwischen der VPC und dem Rechenzentrum, dem Heimnetzwerk oder jeder anderen Co-Location dient. Dazu muss das eigene bestehende Netzwerk so konfiguriert werden, dass jeglicher VPC Datenverkehr zu dem Gateway geroutet wird, welches das Ende der VPN Verbindung darstellt.

Mit einer aktiven VPN Verbindung können anschließend Amazon EC2 Instanzen in einem VPC subnetz starten. Mit den entsprechenden Sicherheitsrichtlinen ist diese Instanz dann ebenfalls im eigenen Netzwerk sichtbar und kann von dort aus wie eine „lokale“ Instanz genutzt werden.

VPC basierter Datenverkehr der für das Internet bestimmt ist, wird zunächst automatisch über das VPN in das eigene Netzwerk gerouted. Dort kann dieser von bereits vorhandenen Sicherheitssystemen, wie Firewalls, Intrusion Detection Systemen untersucht werden, bevor die Daten in das Internet weitergeleitet werden. Das ist dann besonders sinnvoll, wenn spezielle Hardware- und Softwaresysteme eingesetzt werden, um bestimmte Sicherheitsrichtlinien zu erfüllen.

Quelle

Kategorien
Grundlagen

Ubuntu Enterprise Cloud Terminologie

Bei dem Einsatz der Ubuntu Enterprise Cloud (UEC) wird eine eigene Terminologie verwendet, die für das Verständnis und dem Umgang doch wichtig ist. Dieses Glossar fasst alle notwendigen Begriffe und ihre Bedeutung zusammen.

Cloud
Ein Verbund von physikalischen Maschinen, die mit Hilfe von virtuellen Maschinen Rechnerressourcen dynamisch bereitstellen und „wieder einsammeln“.

Cloud Controller (CLC)
Komponente von Eucalyptus die eine Weboberfläche (HTTPS Server auf Port 8443) bereitstellt und die Amazon EC2 API implementiert. Es sollte maximal einen Cloud Controller für eine UEC Installation geben. Der CLC wird durch das Ubuntu Package eucalyptus-cloud zur Verfügung gestellt.

Cluster
Ein Verbund von Nodes, die einem Cluster Controller zugeordnet sind. Dabei kann es mehr als einen Cluster in einer UEC Installation geben. Cluster bestehen in einigen Fällen aus physikalisch räumlich voneinander getrennten Nodes.

Cluster Controller (CC)
Eine Eucalyptus Komponente die für die Verwaltung der Node Ressourcen zuständig ist. Der CC wird durch das Ubuntu Package eucalyptus-cc zur Verfügung gestellt.

EBS
Elastic Block Storage

EC2 – Elastic Compute Cloud
Amazons Public Cloud Computing Angebot auf Basis von virtuellen Servern, bei dem die Abrechnung pro Stunde bzw. pro Gigabyte erfolgt.

EKI
Eucalyptus Kernel Image

EMI
Eucalyptus Machine Image

ERI
Eucalyptus Ramdisk Image

Eucalyptus
Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems.
Bei Eucalyptus handelt es sich um ein Open Source Projekt, welches ursprüglich an der University of California in Santa Barbara entwickelt wurde und mittlerweile durch Eucalyptus Systems unterstützt wird.

Front-end
Ein oder mehrere physikalische Server, auf denen die Eucalytpus Komponenten (cloud, walrus, storage controller, cluster controller) ausgeführt werden.

Node
Bei einem Node handelt es sich um eine phyiskalische Maschine, die in der Lage ist virtuelle Maschinen und einen Node Controller auszuführen. Innerhalb von Ubuntu bedeutet dies, dass eine CPU die VT Erweiterung unterstützt und den KVM Hypervisor ausführen kann.

Node Controller (NC)
Eine Eucalyptus Komponente die auf den Nodes ausgeführt wird, welche die virtuellen Maschinen beherbergen die wiederum der Cloud zugeordnet sind. Der NC wird durch das Ubuntu Package eucalyptus-nc zur Verfügung gestellt.

S3 – Simple Storage Service
Amazons Public Cloud Computing Angebot für das Speichern der EC2- und anderer Daten, bei dem die Abrechnung pro Gigabyte erfolgt.

Storage Controller (SC)
Eine Eucalyptus Komponente die zur Verwaltung des dynamic block storage services (EBS) dient. Jeder Cluster innerhalb einer Eucalyptus Installation kann seinen eigenen Storage Controller besitzen. Der SC wird durch das Ubuntu Package eucalyptus-sc zur Verfügung gestellt.

UEC
Ubuntu Enterprise Cloud
Ubuntu’s Cloud Computing Lösung auf der Basis von Eucalyptus.

VM
Virtual Machine

VT
Virtualization Technology
Moderne CPUs unterstützen diese Funktion, um die Arbeit (das Hosting) mit den virtuellen Maschinen zu beschleunigen.

Walrus
Eine Eucalyptus Komponente welche die Amazon S3 API implementiert und dafür benötigt wird, die Images der virtuellen Maschinen, sowie die Daten der Benutzer in S3 Buckets mittels put/get zu speichern.

Kategorien
Grundlagen

Was ist ein Hypervisor?

Der Begriff Hypervisor setzt sich aus den griechischen Worten Hyper (deutsch: über) und Visor (lateinisch videre, deutsch: sehen) zusammen. Er wird auch als Virtual Machine Manager bezeichnet, der Hardware-Ressourcen dynamisch und transparent zuweisen kann, wodruch auf einer physikalischen Hardware mehrere Betriebssysteme parallel ausgeführt werden können. Die einzelnen Betriebssysteme sind so voneinander isoliert, dass sie die Existenz des jeweils anderen nicht kennen. Dadurch wird jedem System suggeriert, dass es alleine über die vollständigen Ressourcen wie Prozessorleistung, Arbeitsspeicher, Festplattenspeicher etc. der darunter liegenden physikalischen Hardware verfügt. Der Hypervisor ist für die Kontrolle des Prozessors und aller Ressourcen zuständig, und weist diese den jeweiligen Betriebssystemen (Gastsysteme, Virtual Machines) je nach Bedarf zu. Weiterhin sorgt er dafür, dass die einzelnen Gastsysteme ungestört voneinander arbeiten können und sich nicht gegenseitig während des Betriebs stören.

In den meisten Fällen wird ein Hypervisor noch vor dem eigentlichen Betriebssystem auf der physikalischen Hardware installiert. Da seine einzige Aufgabe darin besteht Virtualisierungsfunktionen bereitzustellen, ist er sehr Schlank aufgebaut. Er verfügt über spezielle Administrationssschnittstellen mit denen die Gastsysteme später installiert werden können und weitere Schnittstellen die ihn von den Gästen strikt trennen.

Ein Hypervisor arbeitet transparent und flexibel. Daher ist er in der Lage im Prinzip jedes Betriebssystem sei es Windows, Linux, Mac OS, etc. auszuführen. Aktuelle Hypervisor verfügen mittlerweile über eine Performanz, die mit einer direkten Installation des Gastbetriebssystems auf der physikalischen Hardware vergleichbar ist.

Es werden zwei Typen (Typ1, Typ2) von Hypervisorn unterschieden.

Typ 1

Ein Hypervisor vom Typ1 wird direkt auf der darunter liegenden physikalischen Hardware ausgeführt. Von dort aus kontrolliert er die Hardware Ressourcen und überwacht die Gastbetriebssysteme, die auf (über) ihm installiert werden.

Aktuelle Hypervisor vom Typ1 sind VMware ESX Server, Microsoft Hyper-V, IBM POWER Hypervisor (PowerVM), IBM System z Hypervisor (PR/SM), Xen, Citrix XenServer, Oracle VM Server und Parallels Server.

Typ 2

Ein Hypervisor vom Typ2 wird, wie eine gewöhnliche Software, auf einem Betriebssystem ausgeführt, dass auf der physikalischen Hardware installiert ist. Die Gastbetriebssysteme werden anschließend auf (über) ihm installiert und ausgeführt.

Aktuelle Hypervisor vom Typ2 sind VMware Server (GSX), VMware Workstation, VMware Fusion, QEMU, Microsoft Virtual PC, Microsoft Virtual Server, VirtualBox, Parallels Workstation und Parallels Desktop

Kategorien
Grundlagen

Podcast: Matthias Rechenburg über Private Cloud Computing

Matthias Rechenburg von openQRM Enterprise spricht in diesem Podcast auf der CeBIT 2010 über Private Cloud Computing für Internet Service Provider mit der Cloud Computing Plattform openQRM.

[audio: http://audio.clouduser.de/Matt_Private_Cloud.mp3]

Quelle

Kategorien
Grundlagen

Podcast: Chaosradio zum Thema Cloud Computing

Das Chaosradio hat am 28.01.2010 einen Podcast zum Thema Cloud Computing veröffentlicht. Teilnehmer waren Marcus Richter (Moderation), Frank Rosengart und Nikolai Longolius. Die drei diskutieren grundlegend über das Thema Cloud Computing und betrachten dabei die damit zusammenhängenden Risiken und Nebenwirkungen der Dienste und gehen dabei ebenfalls auf den möglichen Praxiseinsatz für Unternehmen ein.

[audio:http://audio.clouduser.de/chaosradio_153.mp3]

Quelle

  • CR153 – Cloud Computing
Kategorien
Grundlagen

Was sind Application Service Provider?

Als die indirekten Nachkommen der Service Bureaus gelten die Application Service Provider. Application Service Provider sind Dienstleister, die ü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 – siehe Graphik. Der Vorteil für den Kunden besteht darin, dass er sich nicht mehr um die Administration der Software wie z.B. eine tägliche Datensicherung oder das Einspielen von Updates kümmern muss. Die Software befindet sich innerhalb der Infrastruktur auf den Servern des Application Service Providers, der sich um die gesamte Maintenance, was auch die Betreuung der Endbenutzer beinhalten kann, kümmert. Bekannte Anwendungen, die über einen Application Service Provider gemietet werden können, sind z.B. Office Suites, E-Mail Lösungen, CRM-System oder ERP-Systeme (Enterprise Resource Planning).

In der Anfangszeit der Application Service Provider gab es immer wieder Schwierigkeiten bei der Umsetzung dieses Modells, da die zu der Zeit vorhandene Hardware und die Telekommunikationstechnologie nicht leistungsfähig genug und die Mandantenfähigkeit der Software nicht gegeben war.

Kategorien
Grundlagen

Was sind Service Bureaus?

Ein auf das Utility Computing aufbauendes und daher ebenfalls aus den 1960er stammendes Geschäftsmodell sind die so genannten Service Bureaus. Die Idee der Service Bureaus bestand darin, die eigenen Ressourcen wie z.B. Computer oder Mitarbeiter für andere Unternehmen gegen eine Gebühr zur Verfügung zu stellen. Weitere Dienstleistungen, die durch Service Bureaus übernommen wurden waren, u.a. die Bereitstellung von Speicherplatz, Datenverarbeitung, individuelle Programmierung, Mietsoftware, die auf den Systemen des Service Bureaus betrieben wird, aber auch Bereiche wie Desktop Publishing oder Bildverarbeitung gehörten zum Angebot. Um eine große Anzahl von Kunden zu erreichen und damit Skaleneffekte zu erzielen, wurden die Dienstleitungen zu Produkten zusammengefasst. Für die Verbindung von den Kunden zu den Service Bureaus wurden einfache Wählverbindungen oder private Mietleitungen verwendet.

Kategorien
Grundlagen

Was ist Virtualisierung?

Auf einer abstrakten Ebene ist Virtualisierung für die Emulation und Simulation von Hardware-Ressourcen zuständig und entkoppelt in diesem Zusammenhang die Computer-, Speicher- und Netzwerk-Hardware von dem darauf ausgeführten Betriebssystem (Software), wodurch eine virtuelle Infrastruktur geschaffen wird. Unternehmen erhalten dadurch die Möglichkeit ihre Infrastrukturkosten zu senken und können schneller auf wechselnde Anforderungen reagieren. Wird zum Beispiel ein zentrales SAN (Storage Area Network) für das gemeinsame Speichern von Daten genutzt, führt das zur Verbesserung des ROI (Return on Investment).

Schauen wir uns das Thema Virtualisierung im Kern genauer an, handelt es sich dabei um das Bereitstellen von Hardware-Ressourcen auf einer physikalisch vorhandenen Maschine für ein oder mehrere voneinander vollständig getrennte Gastsysteme, die auf dieser physikalischen Maschine (Wirtsystem) parallel ausgeführt werden. Die Gastsysteme (virtuelle Maschinen) teilen sich die Ressourcen des Wirtsystems, wissen aber gegenseitig nichts von ihrer Existenz.

Einsatz und Nutzen von Virtualisierung

Für Virtualisierung kommen verschiedene Einsatzgebiete in Frage. Ein Bereich ist das Einsparen von Energie und Ressourcen oder die Erhöhung der Serverauslastung, um Rechenzentren effizienter zu betreiben. Dazu werden mehrere physikalische Server in virtuelle Maschinen migriert, um diese anschließend auf einem einzigen physikalischen Server zu konsolidieren.

Virtualisierung führt u.a. zu folgenden Nutzen/ Vorteilen:

  • Hardwareunabhängigkeit auf Grund der Virtualsierungsebene.
  • Verringerung der Administrations- und Serverwartungskosten.
  • Optimierung des Platzbedarfs.
  • Verbesserung der Ausfallsicherheit und des Disaster Recovery auf Grund von Clustering Möglichkeiten innerhalb der virtuellen Systeme.
  • Verbesserung des Energieverbrauchs und der Wärmeentwicklung (z.B. USV, Klimaanlage).
  • Verbesserung der Wirtschaftlichkeit auf Grund der besseren Serverauslastung (Hardware).
  • Erhöhung und Verbesserung der Flexibilität und Skalierbarkeit.
  • Zeit- und Kostenminimierung für den Aufbau von Serverlandschaften und komplexen Testumgebungen.
  • Ab Infrastrukturen mit drei Server erhöht der Einsatz von Virtualisierungstechnologien die Effizienz.

Virtualisierungsarten

Aktuell existieren einige unterschiedliche Virtualisierungstechnologien auf dem Markt, die ich im Folgenden vorgestellt werden.

Systemvirtualisierung

Eine Systemvirtualisierung bietet die Möglichkeit mehrere Betriebssysteme auf derselben Hardware parallel auszuführen. Dabei werden zwei Systeme unterschieden. Zum einen das virtualisierte System, dass auch Gastsystem genannt wird und zum anderen das Hostsystem, auf dem das Gastsystem ausgeführt wird und welches direkt mit der Hardware kommuniziert.

Hardware-Virtualisierung (Full-Virtualisierung)

Die Hardware-Virtualisierung ist eine Untermenge der Systemvirtualisierung. Dabei kann ein Gastsystem, ohne Änderungen an seinem Betriebssystemkernel, direkt innerhalb einer virtualisierten Umgebung ausgeführt werden.

Paravirtualisierung

Die Paravirtualisierung ist ein Spezialfall der Systemvirtualisierung. In diesem Fall sind Anpassungen am zu virtualisierenden Betriebssystem notwendig, da eine direkte Schnittstelle zur darunter liegenden Hardware benötigt wird. Der Vorteil besteht in der höheren Performance, da die virtuelle Maschine direkt mit der Hardware kommuniziert.

Anwendungsvirtualisierung

Mit der Anwendungsvirtualisierung lassen sich einzelne Anwendungen mit einer Virtualisierungsschicht vom sich darunter befindenden System entkoppeln. Damit wird eine spezielle Umgebung für die virtualisierte Anwendung geschaffen. Diese Umgebung muss nicht abhängig von der Umgebung des Hosts sein, wodurch auch Anwendungen genutzt werden können, die nicht mehr von dem Hostsystem unterstützt werden.

Netzwerk-Virtualisierung

Netzwerk-Virtualisierung wird genutzt, um logische Teilnetze (Virtual Local Area Networks, VLANs) innerhalb eines physikalischen Netzwerks oder eines Switches aufzubauen. Das VLAN unterteilt ein physikalisches Netz in einzelne (logische) Teilnetze, indem die Datagramme eines VLANs nicht in ein anderes übertragen werden, auch wenn die Teilnetze mit gemeinsam genutzte Switches verbunden sind.