Tag: EBS


Pinterest macht die Amazon Cloud für den eigenen Erfolg verantwortlich

Pinterest ist seit dem Start zu einem der Lieblinge im Internet geworden und hat ein beachtliches Wachstum zu verzeichnen. Ryan Park, Operations Engineer bei Pinterest, führt diesen Erfolg auf die Skalierbarkeit des Cloud Computing, genauer den Amazon Web Services zurück. Ohne Cloud Computing wäre der Erfolg von Pinterest nicht möglich gewesen, so Park kürzlich auf dem Amazon Web Services Summit in New York.

Pinterest ist eine Online Pinnwand. Es handelt sich dabei um einen Service der es erlaubt, Dinge zu sammeln und zu organisieren, die für jemanden von besonderem Interesse sind. Zudem können diese Dinge von anderen Nutzern auf der Pinnwand angeschaut werden.

Pinterest macht die Amazon Cloud für den eigenen Erfolg verantwortlich

Die Cloud hat es Pinterest ermöglicht, effizient zu arbeiten und kostengünstig zu experimentieren. Zudem konnte die Webseite sehr schnell wachsen, während sich nur ein sehr kleines Team um die Wartung kümmern musste. Im Dezember beschäftigte Pinterest insgesamt nur 12 Mitarbeiter. Laut der Rating Agentur ComScore konnte Pinterest im Monat März fast 18 Millionen Besucher gewinnen, eine 50-prozentige Steigerung gegenüber dem Vormonat. Die Webseite gehört demnach zu einer der am schnellsten wachsenden Webseiten in der Geschichte des Webs.

Pinterest setzt bei seinem Service auf Amazon S3 und Amazon EC2. Dabei ist die Nutzung von S3 seit dem letzten August um den Faktor 10 gestiegen. EC2 im selben Zeitraum um den Faktor 3. In Zahlen bedeutet das in etwa 80 Millionen Objekte die in Amazon S3 gespeichert sind, was ca. 410 Terabyte an Nutzerdaten entspricht.

Nach Park, wäre dies mit einem eigenen Rechenzentrum niemals möglich gewesen. Zunächst hätte das einen riesen Aufwand in Bezug auf die Kapazitätsplanungen bedeutet und die Hardware hätte noch bestellt und selbst installiert werden müssen. Zudem wäre Pinterest nicht in der Lage gewesen so schnell zu skalieren.

Aktuell nutzt Pinterest ca. 150 EC2 Instanzen, um damit die Kern Services bereitzustellen. Diese sind in Python geschrieben. Zudem setzt Pinterest auf das Django Framework. Der Traffic wird über die Instanzen mit Hilfe von Amazon ELB (Elastic Load Balancer) verteilt. Weitere 90 EC2 Instanten werden für das Caching eingesetzt und noch einmal 35 Instanzen für interne Zwecke.

Im Hintergrund der Anwendungen laufen etwa 70 Master-Datenbanken auf EC2 sowie eine Reihe von Backup-Datenbanken, die sich in verschiedenen Regionen auf der ganzen Welt befinden, um für die Redundanz zu sorgen.

Um seinen Nutzern Daten in Echtzeit zu liefern, sind die Datenbank-Tabellen über mehrere Server hinweg verteilt. Wenn ein Datenbankserver mehr als 50 Prozent Last fährt, wird die Hälfte des Inhalts auf einen anderen Server verschoben. Dieser Prozess wird auch als Sharding bezeichnet. Im vergangenen November nutzte Pinterest acht Master-Slave-Datenbank-Paare. Heute sind es schon 64 Paare.

Ein weiterer Vorteil, der Pinterest entgegenkommt, ist das pay-as-you-go Modell. Da Pinterest bei AWS nur für die Ressourcen bezahlt die sie benötigen, konnte Kapital gespart werden. Der meiste Datenverkehr entsteht in den USA während den Nachmittags-und Abendstunden. Mit Amazon Autoscaling fügt Pinterest in diesen Zeiträumen entsprechend mehr Instanzen hinzu, um die Anfragen zu bewältigen. In der Nacht werden die Instanzen dann wieder entfernt.

Mit diesem Ansatz ist Pinterest in der Lage, die Anzahl der Server die sie in der Nacht verwenden, um rund 40 Prozent zu reduzieren. Da Amazon pro Stunde abrechnet, führt diese Reduktion zu Kosteneinsparungen. Während der Lastspitzen, zahlt Pinterest etwa 52 US-Dollar pro Stunde für Amazon EC2. In den frühen Morgenstunden liegen die Kosten dann bei 15 US-Dollar pro Stunde.

Das pay-as-you-go Modell lässt Pinterest ebenfalls neue Services testen, ohne dafür langfristig in eigene Serverhardware- oder software zu investieren. Ein gelungenes Experiment war, laut Park, die Nutzung von Amazon Elastic Map Reduce, Amazons Hadoop-basierten Service für die Datenanalyse.

Fazit

Pinterest ist nur ein gutes Beispiel dafür, wie Cloud Computing dabei unterstützt neue Geschäftsmodelle mit einem minimalen Ressourcen- und Kapitalaufwand zu realisieren und im Erfolgsfall für die entsprechende Flexibilität und Skalierbarkeit zu sorgen.



Amazon erweitert die Monitoring Funktionen für EBS Volumes

Die Amazon Web Services haben ihr Monitoring mit einer Funktion zum Überwachen von Elastic Block Store (EBS) Volumes erweitert. Das schreibt das Unternehmen in einem Blogbeitrag. Nutzer werden nun über inkonsistente EBS Volumes benachrichtigt.

Amazon erweitert die Monitoring Funktionen für EBS Volumes

Bereits im Januar hatte Amazon angekündigt, seinen Nutzern einen besseren Einblick in die Status ihrer Cloud Ressourcen über die AWS Management Konsole zu ermöglichen. Die erste Funktion gab einen Überblick darüber, was Amazon selbst in Zukunft machen wird und was Einfluss auf die Verfügbarkeit der Instanzen haben kann.

Als weitere Funktion wurde nun ein Statuscheck für EBS Volumes eingeführt. EBS Volumes ermöglichen die Nutzung eines Block Level Storage zusammen mit EC2 Instanzen. Über automatisierte Tests informieren die Statuschecks den Nutzer, wenn Inkonsistenzen in den Daten eines EBS Volumes auftreten sollten. Über die AWS Management Konsole erhält der Nutzer alle Statusinformationen geliefert und kann über die Auswahl eines bestimmten Volumes weitere Informationen bekommen.

Über eine API kann der Nutzer direkt reagieren, wenn der Statuscheck fehlschlagen sollte. Blockiert bspw. das I/O wird der Statuscheck für "IO Enabled" einen Fehler ausgeben. Mit dem Aufruf von EnableVolumeIO kann ein Nutzer das Volumen dann wieder reaktivieren. Über ModifyVolumeAttribute und DescribeVolumeAttribute können Volumes darüber hinaus so konfiguriert werden, dass sie I/O automatisch wieder reaktivieren.



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.