Kategorien
Services

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)

Kategorien
Services

Was ist "Amazon CloudFront"?

Amazon CloudFront [1] gehört zu dem Webservice Angebot von Amazon und dient zur Bereitstellung von Inhalten. Das Ziel des Service ist die schnelle Bereitstellung von Inhalten mit möglichst geringen Latenzzeiten. Dazu wird ein weltweit verteiltes Netzwerk genutzt, in welchem die Daten immer automatisch zum nächstgelegenden Standort (edge Location) der Anfrage geroutet werden um damit die höchstmögliche Geschwindigkeit zu erzielen.


[2]

Amazon CloudFront Funktionsweise

Amazon CloudFront wird wie jeder Amazon Webservice über die Webservice-API angesprochen. Die Objekte die Bereitgestellt werden sollen, werden in so genannten Distributions organisiert. Eine Distribution definiert den Speicherort der ursprünglichen Version der Objekte. Eine Distribution verfügt über einen eindeutigen CloudFront.net Domainnamen (z.B. name.cloudfront.net), der dafür genutzt wird, um die Objekte auf einen Standort zu verweisen. Zusätzlich kann auch ein eigener Domainname (z.B. bilder.meinedomain.de) genutzt werden. Distributions können dafür genutzt werden um Inhalte über das HTTP Protokoll herunterzuladen oder mit dem RTMP Protokoll zu streamen.

Für die Nutzung sind die folgenden Schritte notwendig:

  • Speichern der originalen Daten in einem Amazon S3 Bucket.
  • Erstellen einer Distribution um das Bucket bei Amazon CloudFront zu erfassen.
  • Wenn Benutzer nun über Webseiten, Media Player oder anderen Anwendungen auf die Domain zugreifen die bei der Distribution hinterlegt ist, wird deren Anfrage automatisch an den nächstgelegenden Standort dieser Anfrage geroutet, von dem aus dann der angefragte Inhalt ausgeliefert wird.
  • Die Abbrechnung erfolgt nur für Datenübertragung und die Anfragen, die tatsächlich entstehen.

Funktionen

  • Geschwindigkeit
    In dem weltweiten Netzwerk werden an allen Standorten (Edge Locations) Kopien der Inhalte in einem Cache gespeichert, damit werden die angefragten Daten dem User schnell und ohne Verzögerung bereitgestellt.
  • Einfache Verwaltung
    Über die Amazon Web Service API oder die AWS Management Console kann die Administration von Amazon CloudFront auf eine einfache Weise vorgenommen werden.
  • Integration mit anderen Amazon Webservices
    Amazon CloudFront wurde in erster Linie für den Amazon S3 Dienst entwickelt. Es besteht aber auch die Möglichkeit Amazon EC2 Instanzen damit zu betreiben. Zum Beispiel für die Bereitstellung einer EC2 Instanz als Webserver der dynamische HTML-Seiten zur Verfügung stellt, wobei Amazon CloudFront in diesem Fall dann die Daten für den statischen Inhalt liefert.
  • Kosten
    Kosten für Amazon CloudFront enstehen nur dann, wenn der Dienst auch tatsächlich genutzt wird.
  • Skalierbarkeit
    Amazon CloudFront reagiert automatisch auf das Anfrageverhalten und skaliert das System entsprechend den aktuellen Anforderungen. Steigen die Anfragen wird die Performance des Systems durch das Hinzufügen von weiteren Ressourcen erhöht. Nimmt die Nachfrage wieder ab, werden die Ressourcen ebenfalls wieder heruntergefahren.
  • Weltweite Verfügbarkeit
    Die Amazon CloudFront Standorte befinden sich in den USA, Europa und Asien.

Die Standorte des Amazon CloudFront Netzwerks

Die Amazon CloudFront Standorte gliedern sich nach folgenden Kontinenten und Städten.

    USA

  • Ashburn, VA
  • Dallas/Fort Worth, TX
  • Los Angeles, CA
  • Miami, FL
  • Newark, NJ
  • Palo Alto, CA
  • Seattle, WA
  • St. Louis, MO

    Europa

  • Amsterdam
  • Dublin
  • Frankfurt
  • London

    Asien

  • Hong Kong
  • Tokyo


[3]

Anwendungsmöglichkeiten von Amazon CloudFront

  • Schnelle Bereitstellung von Webseiten
    Die Geschwindigkeit von Webseiten kann erhöht werden, wenn Objekte, die oft aufgerufen werden, wie z.B. Graphiken, Logos, Navigationsbuttons oder auch Dinge wie CSS oder Java Code schnell bereitgestellt werden. Es macht daher Sinn, solche Daten in einem Cache wie es z.B. Amazon CloudFront darstellt, zu speichern.
  • Bereitstellung von Downloads
    Auf Grund der hohen Datentransferrate können Anwendungen, Softwareupdates oder andere beliebige Downloadangebote per Amazon CloudFront schnell den Benutzern bereitgestellt werden. Das Erhöht die Zufriedenheit der Besucher.
  • Bereitstellung von Multimediainhalten
    Multimediadaten (Audio und Video) sind ebenfalls Ideale Inhalte für die Bereitstellung über Amazon CloudFront. Durch die hohe Geschwindigkeit und das Vorhalten der oft angefragten Daten im Cache können die Inhalte schnell und zuverlässig gestreamt werden.

Preise

Alle Preise sind hier zu finden: Amazon CloudFront Preise

Quellen:

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

Kategorien
Services

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

Kategorien
Services

Was ist "Amazon Virtual Privat Cloud"?

Bei der Amazon Virtual Private Cloud (Amazon VPC) handelt es sich um eine Lösung zur sicheren und nahtlosen Verbindung der vorhandenen Unternehmensinfrastruktur mit den angemieteten Ressourcen innerhalb der Amazon Cloud. Die eigene Infrastruktur wird mittels einer VPN Verbindung (Virtual Private Network) mit der Amazon Infrastruktur verbunden und somit erweitert, wodurch eine Hybrid Cloud entsteht. Aktuell können nur Amazon EC2 Instanzen in die eigene Infrastruktur integriert werden. Die Integration der restlichen Amazon Web Services wie z.B. Amazon S3 soll folgen. Die Abbrechnung der Amazon Virtual Private Cloud erfolgt wie bei allen Amazon Web Services über die tatsächliche Nutzung (VPN Verbindungsdauer pro Stunde, VPN Datentransfer pro GByte).


[2]

Amazon VPC Funktionsweise

Mit der Amazon Virtual Private Cloud können die eigenen (isolierten) Ressourcen innerhalb der Amazon Cloud mit den Ressourcen im eigenen Rechenzentrum über ein verschlüsseltes IPsec VPN verbunden werden.

Dafür sind die folgenden Schritte notwendig:

  • Erstellung der Virtual Private Cloud innerhalb von Amazons Infrastruktur.
  • Festlegen eines eigenen IP-Adressbereiches.
  • Aufteilung des VPCs IP-Adressbereiches in mehrere Subnetze.
  • Verbinden der VPC mit der eigenen Infrastruktur mittels der VPN Verbindung.
  • Hinfzufügen der Amazon EC2 Instanzen zur VPC.
  • Das Routing so konfigurieren, das der Datentransfer zwischen der VPC und dem Internet über die VPN Verbindung vorgenommen wird.
  • Hinzufügen der innerhalb der eigenen Infrastruktur vorhandenen Sicherheits- und Managementregeln zu der VPC.

Funktionen

  • Isolierte Netzwerkverbindung
    Die Amazon Virtual Privat Cloud ermöglicht eine isolierte Ende zu Ende Netzwerkverbindung durch den Einsatz eines vorher festgelegten IP-Adressbereichs. Dadurch wird der gesamten Netzwerkverkehr zwischen der VPC und dem Rechenzentrum geroutet. Eine zusätzliche IPsec VPN Verbindung sorgt für die Verschlüsselung des Datentransfers.
  • Flexibilität
    Die Verwaltung der VPC erfolgt so wie die Verwaltung der eigenen Infrastruktur. Das bedeutet, dass innerhalb der VPC ebenso komplexe Netzwerkstrukturen mittels Subnetzen und Gateways aufgebaut werden kann. Zu den Möglichkeiten gehören:

    1. Erstellung und Verwaltung von Subnetzen.
    2. Hinzufügen von IP-Adressbereichen für Amazon EC2 Instanzen innerhalb der Subnetze.
    3. Konfiguration von sicheren Verbindungen um den Zugriff auf die Amazon Cloud einzuschränken.
  • Skalierung der bestehenden Infrastruktur
    Mit der Amazon Virtual Private Cloud kann die bereits bestehende Infrastruktur im eigenen Rechenzentrum mit den angemieteten Ressourcen innerhalb der Amazon Infrastruktur verbunden und damit erweitert werden – wodurch eine Hybrid Cloud entsteht. Damit besteht die Möglichkeit die Infrastruktur im eigenen Rechenzentrum bei Bedarf schnell, kostengünstig und ohne die Anschaffung weiterer Serverhardware zu erweitern, indem innerhalb der Amazon Cloud zusätzliche Amazon EC2 Instanzen hinzugefügt werden. Darüber hinaus kann z.B. ein Backup (1:1 Abbild) des Rechenzentrums erfolgen, indem das Rechenzentrum in die Amazon Cloud repliziert wird.

Preise

Alle Preise sind hier zu finden: Amazon VPC Preise

Quellen:

[1] Amazon VPC
[2] Graphik: Amazon VPC

Kategorien
Management

Cloud Computing mit Open Source

Ein Vorteil von Cloud Computing besteht in dem einfachen gegenseitigen Bereitstellen und Nutzen von IT Services. Die Herausforderung ist aber, die Voraussetzungen zu schaffen eine einzelne Cloud mit anderen Clouds zusammenarbeiten zu lassen. Dazu sollten die kollaborierenden IT-Systeme über dieselben Sicherheitsanforderungen und robusten Infrastrukturen verfügen, wie es aus traditionellen IT Umgebungen bekannt ist. Auf Grund der Offenheit, Flexibilität, Interoperabilität und einem verringerten Risiko bzgl. eines Vendor lock-in, ist Open Source dafür die geeignete Technologie. Das führt dazu, dass sich Open Source mit Cloud Computing verschmelzen wird und „Open Source Clouds“ in den nächsten Jahren zu einem großen Trend werden.

Es existieren bereits Cloud Computing Technologien auf Basis von Open Source, die ebenfalls schon eingesetzt werden. Diese möchte ich kurz vorstellen.

Linux Betriebssysteme

  • Die Ubuntu Enterprise Cloud kombiniert Ubuntu Linux mit Eucalyptus und diversen anderen Cloud Management Tools.
  • Red Hat Enterprise Linux, sowie andere Linux Distributionen können ebenfalls mit vorhanden Open Source Cloud Technologien kombiniert werden um Cloud Computing Umgebungen aufzubauen

Eucalyptus

  • Bei Eucalyptus handelt es sich um ein Forschungsprojekt von der University of California in Santa Barbara. Eucalyptus enthält die Apache Axis2 Web Services Engine, den Mule Enterprise Service Bus, Rampart Security und die Libvirt Virtualisierung API. Eucalyptus verfügt darüber hinaus über seine eigene Umsetzung der Amazon-API.
  • Webseite: http://open.eucalyptus.com

Deltacloud

  • Im September 2009 wurde durch Red Hat das Deltacloud Projekt gegründet. Die Idee hinter dem Projekt ist die einfache Integration von Public und Private Clouds. Deltacloud stellt eine gemeinsame auf REST basierende API zur Verfügung, um Amazon EC2 Instanzen und/oder Private Clouds auf Basis von VMware oder Red Hat Enterprise Linux miteinander zu verbinden. Das Deltacloud Portal dient zur Verwaltung aller Clouds die innerhalb einer Umgebung bereitgestellt werden. Geht es nach Red Hat, soll Deltacloud zu dem Standard des Cloud Computing werden.
  • Webseite: http://deltacloud.org

Nimbus

  • Bei Nimbus handelt es sich um ein Open Source Toolkit, mit dem Clustersystem in eine Infrastructure as a Service Umgebung verwandelt werden können. Mittels der EC2 Schnittstelle können sich Unternehmen mit der Public Cloud Infrastruktur von Amazon verbinden.
  • Webseite: http://www.nimbusproject.org

Virtual Machine Hypervisor

  • Viele Open Source Lösungen beinhalten den Xen Server von Citrix Systems.
  • Webseite: http://www.xen.org

Simple Cloud API

  • Die Simple Cloud API von Zend Technologies kann dafür verwendet werden, um von einem System aus auf mehrere Clouds zuzugreifen. Unterstützt werden u.a. GoGrid, IBM, Microsoft, Nirvanix Storage Delivery Network, and Rackspace Files
  • http://www.simplecloud.org

Damit sich Open Source Clouds durchsetzen, sind natürlich Standards notwendig. Darüber hinaus müssen sich ebenfalls Zuverlässigkeit und Sicherheit beweisen. Werden diese Herausforderungen gemeistert, befinden sich die Open Source Clouds auf einem guten Weg. Durch den Einsatz von Open Source können hier die Vorab-Investitionen minimiert werden. Zusätzlich behält jedes Unternehmen die vollständige Kontrolle über seine eigene Cloud, kann aber trotzdem die Infrastruktur durch shared Services von Public Clouds erweitern.

Kategorien
Services

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)

Kategorien
Services

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)

Kategorien
Videos

Video-Tutorial: Einrichten einer GoGrid Cloud Infrastruktur

Das Video zeigt, wie auf der Cloud Infrastruktur von GoGrid ein Web-, Applikations- und Datenbankserver eingerichtet wird.

via YouTube

Kategorien
Literatur

Buch – Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB

Titel: Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB

Autor: James Murty

Beschreibung:
„Building on the success of its storefront and fulfillment services, Amazon now allows businesses to „rent“ computing power, data storage and bandwidth on its vast network platform. This book demonstrates how developers working with small- to mid-sized companies can take advantage of Amazon Web Services (AWS) such as the Simple Storage Service (S3), Elastic Compute Cloud (EC2), Simple Queue Service (SQS), Flexible Payments Service (FPS), and SimpleDB to build web-scale business applications. With AWS, Amazon offers a new paradigm for IT infrastructure: use what you need, as you need it, and pay as you go. Programming Web Services explains how you can access Amazon’s open APIs to store and run applications, rather than spend precious time and resources building your own. With this book, you’ll learn all the technical details you need to: Store and retrieve any amount of data using application servers, unlimited data storage, and bandwidth with the Amazon S3 service Buy computing time using Amazon EC2’s interface to requisition machines, load them with an application environment, manage access permissions, and run your image using as many or few systems as needed Use Amazon’s web-scale messaging infrastructure to store messages as they travel between computers with Amazon SQS Leverage the Amazon FPS service to structure payment instructions and allow the movement of money between any two entities, humans or computers Create and store multiple data sets, query your data easily, and return the results using Amazon SimpleDB. Scale up or down at a moment’s notice, using these services to employ as much time and space as you need Whether you’re starting a new online business, need to ramp upexisting services, or require an offsite backup for your home, Programming Web Services gives you the background and the practical knowledge you need to start using AWS. Other books explain how to build web services. This book teaches businesses how to take make use of existing services from an established technology leader. “

Bestellmöglichkeit: Amazon

Cover:

Kategorien
Videos

Video: Erste Schritte mit Amazon EC2

Dieses Video gibt einen praktischen Einblick in die Nutzung von Amazon EC2.

via YouTube