Kategorien
Services

Was ist "Elastic Load Balancing"?

Bei Elastic Load Balancing [1] handelt es sich um einen Loadbalancer von Amazon für sein EC2. Dabei wird der eingehende Traffic auf mehrere dahinter liegende EC2-Instanzen verteilt um damit Überlastungen zu vermeiden und einen unterbrechungsfreien Dienst zu garantieren. Fällt eine Instanz temporär aus, wird der Traffic durch den Loadbalancer automatisch auf die restlichen funktionsfähigen Instanzen umgeleitet, bis die ausgefallene Instanz wiederhergestellt ist. Das Elastic Load Balancing funktioniert für einzelne oder aber auch über mehrere Verfügbarkeitszonen hinweg. Entwickler haben darüber hinaus die Möglichkeit über sogenannte Health Checks z.B. mittels Pings oder URL-Fetches die Verfügbarkeit der Instanzen zu prüfen.


[2]

Um garantiert nie weniger als z.B. zwei funktionsfähige EC2 Instanzen hinter dem Elastic Load Balancer arbeiten zu lassen, kann das Elastic Load Balancing mit dem Autoscaling kombiniert werden. Dazu wird das Autoscaling so konfiguriert, dass nie weniger als zwei funktionsfähige EC2 Instanzen vorhanden sein dürfen. Der Ausfall einer Instanz wird dann durch das Autoscaling erkannt, was dazu führt, dass automatisch die erforderliche Menge von EC2-Instanzen zu der Autoscaling Gruppe hinzugefügt werden.

Quellen:

[1] AWS – Elastic Load Balancing
[2] Graphik: Elastic Load Balancing

Kategorien
Services

Video-Tutorial: Start eines Linux Webserver auf Amazon EC2 via Firefox Plugin

Ein kurzes Video Tutorial zeigt den Start eines Linux Webservers auf einer Amazon EC2-Instanz mit dem Firefox EC UI Plugin und einem anschließenden Zugriff per SSH.

Kategorien
Literatur

Buch – Getting Productive With Google Apps: Increase productivity while cutting costs

Titel: Getting Productive With Google Apps: Increase productivity while cutting costs

Autor: James Beswick

Beschreibung:
“ Google Apps is a next-generation software suite that can help make your organization more productive while cutting traditional I.T. costs. Collaborate with colleagues and go beyond the desktop with this no-to-low-cost solution that can help practically any size of organization.“

Bestellmöglichkeit: Amazon

Cover:

Kategorien
Grundlagen

Was bedeutet "Autoscaling?

Autoscaling [1] sorgt dafür, dass die Anzahl der Server innerhalb einer Server-Farm automatisch skaliert. Bei steigender Serverlast wird die Arbeit dann von einer größeren Anzahl an Servern übernommen. Sinkt die Serverlast werden die nicht mehr benötigten Server automatisch heruntergefahren.


[2]

Autoscaling ist typisch für das Cloud Computing und ist dann vorteilhaft, wenn die Auslastung der Server großen Schwankungen zugrunde liegt. Ein typischer Fall sind Webseiten, die nur zeitlich oder saisonal stark betroffen sind. Viele Webseiten „schlafen“ am Tag und müssen in der Nacht Spitzenlasten verarbeiten. Ein anderes Beispiel sind Webshops, die über das Jahr hinweg eine konstante Besucherzahl haben, aber zu Feiertagen, wie z.B. Weihnachten zunehmend „überlaufen“ werden. Das Gleiche gilt für Online Reisebüros, die im Sommer und im Winter ihre Spitzenzeiten haben, im Früjahr und Herbst aber eher weniger ausgelastet sind. Das Autoscaling sorgt in diesen Fällen dafür, dass während der Spitzenzeiten automatisch die Performance der Webseiten mitwächst und in den Zeiten, wo weniger Last zu verarbeiten ist, die überschüssigen Server „abgestossen“ werden. Es handelt sich also um eine dynamische Skalierung der zum jeweiligen Zeitpunkt benötigten Performance.

Die technischen als auch wirtschaftlichen Vorteile liegen somit auf der Hand. Da im Cloud Computing die Server pro Stunde „gemietet“ und abgerechnet werden, können durch die Verringerung der eingesetzten Server während geringer Lastzeiten ebenfalls die Kosten reduziert werden. Auf Grund der Nutzung einer höheren Anzahl an Servern zu Spitzenzeiten, werden Performanceprobleme vermieden.

Ein Video der Elusive KG veranschaulicht wie autoscaling funktioniert.

Quellen:

[1] AWS – Autoscaling
[2] Graphik: Autoscaling

Kategorien
Services

Clone Cloud

Trotz ihrer relativ leistungsschwachen Hardware werden an Mobiltelefonen/ Smartphones mittlerweile dieselben Ansprüche gestellt wie an gewöhnliche Desktops PCs. Eine mögliche Lösung kommt aus Intels Forschungsabteilung von den Wissenschaftlern Byung-Gon Chun und Petros Maniatis. Bei der sogenannten Clone Cloud [1] wird eine exakte Kopie des Smartphones in der Cloud abgebildet. Alle für das Smartphone zu rechenintensiven Aufgaben werden dann von diesem Clone in der Cloud übernommen.

Clone Cloud Architecture
Clone Cloud Architecture [2]

Für die Kommunikation mit dem Clone innerhalb der Cloud Computing Umgebung wird eine schnelle mobile Internetverbindung (UMTS/ 3G) benötigt. Ein erster Prototyp wurde von Chun und Maniatis bereits auf das Android G1 portiert und übertrug ohne Probleme die rechenintensiven Aufgaben zu dem Clone in die Cloud.

Das Prinzip ist mit dem von Web basierten Anwendungen zu Vergleichen, die ebenfalls auf entfernten Servern und nicht auf dem Client lokal ausgeführt werden. Der Unterschied besteht darin, dass bei der Clone Cloud eine exakte 1:1 Kopie von der gesamten Telefonsoftware erstellt und auf einem entferntem Server abgelegt wird. Muss das Telefon nun komplexe und rechenintensive Aufgaben durchführen, werden Teilaufgaben (im Hintergrund) in die Cloud übertragen. Zu Beginn wird zusätzlich berechnet wie lange der Transfer mittels der aktuell verfügbaren Mobilfunkverbindung dauert und wie viel Akkuleistung dafür benötigt wird.

Clone Cloud Model
Clone Cloud Model [2]

Chun und Maniatis sehen als einen Vorteil der Clone Cloud die höheren Akkulaufzeiten, da die CPU des Mobiltelefons nicht mehr so stark beansprucht wird. Neben der besseren Effizienz soll Clone Cloud ebenfalls die Leistungsfähigkeit der Mobiltelefone steigern. Erste Tests mit einer speziell für Clone Cloud entwickelten Gesichtserkennungssoftware zeigten, dass die Analyse eines Photos auf einem Standard Android Mobiltelefon ca. 100 Sekunden Prozessorzeit benötigten. Wurde die Analyse hingegen mit dem Clone des Mobiltelefons auf einem Desktop PC ausgeführt, war der Vorgang nach 1 Sekunde beendet. Da Clone Cloud in einer Cloud Computing Umgebung betrieben wird, nutzt es dessen Ideen und Eigenschaften und kann somit zur Laufzeit den benötigten Speicher und die Rechenleistung beliebig skalieren.

Ein weiterer Anwendungsvorschlag kommt von dem NEC Wissenschaftler Ya-Yunn Su. Durch den Wandel der Mobiltelefone zu kleinen Allzweck-Computern erben diese auch die Sicherheitsprobleme, wie Viren und Würmer, von den Desktop PCs. Das Scannen des gesamten Dateisystems benötigt viel Rechenleistung, zu viel für Mobiltelefone. Dieser Vorgang kann mittels der Clone Cloud im Hintergrund bzw. auf dem Clone (auf dem entfernten Server) durchgeführt werden, sogar dann wenn das Telefon ausgeschaltet ist.

Quellen:

[1] CloneCloud Website
[2] CloneCloud Paper

Kategorien
Literatur

Buch – Grid and Cloud Computing: A Business Perspective on Technology and Applications

Titel: Grid and Cloud Computing: A Business Perspective on Technology and Applications

Autor: Katarina Stanoevska-Slabeva, Thomas Wozniak, Santi Ristol

Beschreibung:
„In today’s dynamic business environment, IT departments are under permanent pressure to meet two divergent requirements: to reduce costs and to support business agility with higher flexibility and responsiveness of the IT infrastructure. Grid and Cloud Computing enable a new approach towards IT. They enable increased scalability and more efficient use of IT based on virtualization of heterogeneous and distributed IT resources. This book provides a thorough understanding of the fundamentals of Grids and Clouds and of how companies can benefit from them. A wide array of topics is covered, e.g. business models and legal aspects. The applicability of Grids and Clouds in companies is illustrated with four cases of real business experiments. The experiments illustrate the technical solutions and the organizational and IT governance challenges that arise with the introduction of Grids and Clouds. Practical guidelines on how to successfully introduce Grids and Clouds in companies are provided.“

Bestellmöglichkeit: Amazon

Cover:

Kategorien
Services

Cloud Climate: Der Cloud-Checker!

Eine der wichtigsten Fragen des Cloud Computing ist, wie stabil und leistungsfähig die genutzten Clouds sind (service/ infrastruktur/ …). Speziell für solche Informationen stellt CloudClimate.com eine Zusammenstellung von vier Cloud Anbietern (Amazon EC2 US, Amazon EC2 EU, GoGrid Cloud Server, NewServers) und zwei Content Delivery Networks (CloudFiles & CloudFront, Amazon S3) bereit. Der Dienst stellt alle Informationen innerhalb einer Zeitspanne von 2 bis 30 Tagen in graphischer Form dar. Die Webseite bietet damit eine gute Möglichkeit einen unabhängigen Benchmark der Cloud Anbieter zu bekommen und deren Ausfallzeiten zu sehen.

Cloud Climate

Kategorien
Services

Cloud Computing: "The Data Liberation Front" von Google

Mit der sogenannten The Data Liberation Front hat Google eine Webseite vorgestellt, auf der Benutzer von Google Cloud Services sämtliche Informationen beziehen können, wie sie ihre Daten mit den Produkten von Google austauschen können. Genauer geht es darum, wie die Daten in die Cloud hineingelangen und wie diese wieder vollständig herausgezogen werden können, um sie z.B. auf den eigenen Servern oder bei einem anderen Anbieter hosten zu lassen.

The Data Liberation Front

Der Antrieb des Teams der „Data Liberation Front“ besteht nach eigener Aussage darin, dass jeder Benutzer in der Lage sein muss, die Daten die er in einem Produkt von Google erzeugt bzw. importiert hat, wieder exportieren zu können. Das Team arbeitet daher eng mit den Entwicklerteams aller Google Produkte zusammen, um sie bei diesem Thema zu unterstützen.

Sie richten sich dabei nach dem viel versprechenden Leitbild:

„Users should be able to control the data they store in any of Google’s products. Our team’s goal is to make it easier for them to move data in and out.“

Das Projekt wurde im Jahr 2007 als ein internes Entwicklungsteam gegründet. Der Name „Data Liberation Front“ wurde als eine Homage an die „The Judean People’s Front“ aus dem Film Monty Python’s Life of Brian gewählt, da diese Gruppe die meiste Zeit damit verbrachte miteinander zu streiten.

Das Team sieht sich innerhalb von Google nicht so stark verwurzelt und ist daher der Meinung, dass Google dadurch die Arbeit erleichtert wird, seinen Kunden die Möglichkeit zu geben, Google wieder zu verlassen.

Weiterhin besteht die Meinung, dass für den Export der Daten keine zusätzlichen Gebühren erhoben werden dürfen. Darüber hinaus wäre es genau so schlimm, wenn der Datenexport viele Stunden benötigen würde. Das wäre gleichbedeutend mit einem Teil-Export bzw. einem Nicht-Export der Daten.

In der FAQ werden viele weitergehende Fragen beantwortet. Eine interessante und für mich wichtige Aussage betrifft die Verwendung von Standards.

„We’re working to use existing open standards formats wherever possible, and to document how we use those formats in a clear simple manner.“

Weitere Informationen stellt das Team auf seinem Data Liberation Front Blog bereit.

Da ich vor kurzem genau über dieses Thema geschrieben habe, begrüße ich Googles Schritt. Es wäre daher zu wünschen, dass die restlichen Cloud Anbieter den selben Weg gehen!

Kategorien
Services

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

Kategorien
Literatur

Buch – Software as a Service Inflection Point: Using Cloud Computing to Achieve Business Agility

Titel: Software as a Service Inflection Point: Using Cloud Computing to Achieve Business Agility

Autor: Melvin B. Greer Jr

Beschreibung:
„“True to form, Melvin Greer’s futurist thinking provides new applicability to Software as a Service that identifies ways of reducing costs, creating greater efficiencies, and ultimately providing significant long-term value through business transformation. He continues to be on the cutting edge of merging business function evolution and technology innovation to increase customer satisfaction and return on investments. „-Kevin Manuel-Scott, chairman and CEO, RONIN IT Services, LLC „Melvin Greer provides an excellent guide to the Cloud computing IT model with a solid overview of concepts, business aspects, technical implications, benefits, challenges, and trends. Definitely a ‚must read‘ for IT managers and enterprise architects considering adoption of this flexible, beneficial business model within their organization. „-John Magnuson, senior staff engineer, Lockheed Martin „This book offers the most comprehensive view of Cloud computing and SaaS on the market today. The author skillfully lays out a game plan for government and commercial entities alike looking to stay relevant in this burgeoning business paradigm. „-Ken Brown, program account executive, IBM FederalAlmost every business reaches a time when the fundamentals change. This time is referred to as a strategic inflection point. Adopting new technology or fighting the competition may not be enough when these critical moments arise. That’s because inflection points build up force so quickly that organizations may have a hard time even putting a finger on what has changed. The way a firm responds could propel it to new heights or lead to its demise. Over the last few years, industry has begun developing a model of information technology known as Cloud computing, which includes Software as a Service. This new model has reached an inflection point and will give users the choice to purchase IT as a service, as a complement to, or as a replacement of the traditio.“

Bestellmöglichkeit: Amazon

Cover: