7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim



Ähnliche Dokumente
Private Cloud mit Eucalyptus am SCC

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim

6.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim

Cloud-Plattform: Appscale Hochschule Mannheim

Aufbau und Betrieb einer Private Cloud mit Open Source Software

Cloud-Provider im Vergleich. Markus

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

3 System Center Virtual Machine Manager 2012

3 System Center Virtual Machine Manager 2012

Calogero Fontana Fachseminar WS09/10. Virtualisierung

Private IaaS Cloud mit OpenStack. Sebastian Zielenski Linux/Unix Consultant & Trainer B1 Systems GmbH zielenski@b1-systems.de

Hochverfügbare Virtualisierung mit Open Source

Virtual System Cluster: Freie Wahl mit Open Source

Leitfaden für die Installation der Videoüberwachung C-MOR

Installation SQL- Server 2012 Single Node

Virtual Desktop Infrasstructure - VDI

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Aufbau von Cloud-Infrastrukturen mit Eucalyptus

Themen des Kapitels. 2 Übersicht XenDesktop

Ontrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Intergraph Geospatial 2014 Download, Installation und Lizenzierung

Ralf Simon, DV-Orga - Kreisverwaltung Birkenfeld

Step by Step Webserver unter Windows Server von Christian Bartl

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus

Public und Private Cloud-Dienste mit KOALA komfortabel steuern

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Windows 8 Lizenzierung in Szenarien

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

SSH Authentifizierung über Public Key

Kleines Handbuch zur Fotogalerie der Pixel AG

Installation der SAS Foundation Software auf Windows

Formular»Fragenkatalog BIM-Server«

Virtuelle Maschinen. Serbest Hammade / Resh. Do, 13. Dezember 2012

FlexiScale - Web Hosting mit Cloud-Computing Hochschule Mannheim

Lizenzierung von Windows Server 2012

WINDOWS 8 WINDOWS SERVER 2012

Windows Server 2012 R2 Essentials & Hyper-V

Dynamische Änderung von Ressourcen in OpenStack

Microsoft Azure Fundamentals MOC 10979

Virtual Elastic Services

Manage The Cloud! Installation, Administration, Migration und Automation über eine einzige Konsole: Azure Citrix Hyper-V RDS VMware...

RL

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Cloud-Computing - Überblick

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

EIDAMO Webshop-Lösung - White Paper

OSL Storage Cluster und RSIO unter Linux Storage-Attachment und Hochverfügbarkeit in 5 Minuten

Internet Explorer Version 6

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Effizient, sicher und flexibel: Desktop-Virtualisierung mit Citrix XenDesktop

Cloud Computing mit OpenStack

MetaQuotes Empfehlungen zum Gebrauch von

Virtualisierung Linux-Kurs der Unix-AG

Collaboration Manager

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Flash, Network und Facebook. Steven Mohr

System Center Essentials 2010

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Dateisysteme und Datenverwaltung in der Cloud

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

JIRA-Speicher erhoehen

Test mit lokaler XAMPP Oxid Installation

:: Anleitung Hosting Server 1cloud.ch ::

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

Mein eigener Homeserver mit Ubuntu LTS

Was ist Amazon RDS? Datenbank Typen DB Instanzen Features. Live Demo Fazit. Amazon RDS - Till Ganzert

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

ANYWHERE Zugriff von externen Arbeitsplätzen

Proxmox VE - mit OpenSource Virtualisierung leicht gemacht

Anleitung zum Prüfen von WebDAV

SolarWinds Engineer s Toolset

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

TYPO3 CMS 6.2 LTS. Die neue TYPO3- Version mit Langzeit- Support

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

HANDBUCH LSM GRUNDLAGEN LSM

Windows Server 2008 (R2): Anwendungsplattform

Prototypvortrag. Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning. Projektseminar WS 2009/10

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Das Handbuch zu Simond. Peter H. Grasch

Lokale Installation von DotNetNuke 4 ohne IIS

Von heiter bis wolkig Hosting am RRZE Physikalisch Virtuell in der Cloud Daniel Götz

Kooperationsprojekte RRZ - Universitätskolleg

Systemvoraussetzungen

Anton Ochsenkühn OS X. amac BUCH VE R LAG. Mountain Lion. Alle News auf einen Blick, kompakt und kompetent. amac-buch Verlag. inkl.

Installationsanleitung WibuKey Treiber

Transkript:

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 1/50 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim Christian Baun wolkenrechnen@gmail.com 9.11.2011

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 2/50 Wiederholung vom letzten Mal Google App Engine Google App Engine APIs Notwendige Software Mit der Google App Engine arbeiten Einfaches Beispiel mit der Google App Engine Gästebuch mit der Google App Engine realisieren Mengenbeschränkungen (Quotas) AWS Elastic Beanstalk Beispiele für größere Projekte mit der Google App Engine

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 3/50 Heute Lösungen zum Betrieb von Infrastrukturdiensten Schwerpunkte: Eucalyptus und OpenNebula Lösungen zum Betrieb von Plattformdiensten Schwerpunkte: AppScale und typhoonae

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 4/50 Lösungen für Infrastrukturdienste Es existieren mehrere freie Lösungen, um selbst Infrastrukturdienste zu betreiben abicloud OpenNebula OpenStack Nimbus Enomaly ECP OpenECP Tashi Eucalyptus http://www.abicloud.org http://www.opennebula.org http://www.openstack.org http://www.nimbusproject.org http://src.enomaly.com http://www.openecp.org http://www.pittsburgh.intel-research.net/projects/tashi/ http://open.eucalyptus.com Diese Lösungen werden primär für den Aufbau privater Clouds verwendet Teilweise ist auch der Aufbau einer öffentlichen Cloud (= Public Cloud) mit diesen Lösungen möglich

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 5/50 abicloud und OpenNebula abicloud Unterstützt VMware, KVM, Xen und Virtual Box Freie Software (GNU Lesser General Public License v3) Version 1.0.0 seit 23.2.2010 EC2-Schnittstelle wird nicht unterstützt Kein Speicherdienst enthalten OpenNebula (Aktueller Artikel: i X 05/2011, Seite 48) Unterstützt VMware, KVM und Xen Bietet Migration von Instanzen Möglichkeit zum Aufbau einer hybriden Cloud mit EC2 Ein Teil der EC2-Schnittstelle wird unterstützt upload, register und describe images run, describe und terminate instances Kein Speicherdienst enthalten Freie Software (Apache License v2.0)

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 6/50 OpenNebula Details Architektur Front-End-Knoten steuert die einzelen Rechenknoten Netzwerkmanagement erfolgt durch die Einrichtung von Netzwerkbrücken auf den Rechenknoten Schnittstellen Virtualisierungslayer wird über die API libvirt gesteuert Kommunikation findet über SSH und XML-RPC statt Administration/Management üblicherweise via Kommandozeile

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 7/50 OpenNebula Deployment Nutzung eines gemeinsamen Dateisystems für die VM Images Migration während der Laufzeit möglich Für größere Installation wird typischerweise SAN benutzt VM Images werden je nach bedarf über ein SCP-Kommando zu den Rechenknoten hinkopiert Keine Live Migration möglich aber auch keine Notwendigkeit für ein teueres Speichersystem

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 8/50 OpenNebula Sunstone Seit der Version 2.2 liegt eine graphische webbasierte Oberfläche für die Verwaltung und Administration einer OpenNebula Instanz vor:

Hybride Clouds mit OpenNebula und EC2 aufbauen Quelle: http://opennebula.org/documentation:uc3 Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 9/50

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 10/50 Aktuelle Entwicklungen um OpenNebula Das CERN betreibt einen virtuellen Cluster auf Basis von OpenNebula Der Cluster wird mit bis zu 16.000 virtuellen Maschinen dynamisch erweitert Bis zu 400.000 Rechenjobs können in annehmbarer Zeit vom LSF-Scheduler verarbeitet werden Verteilung der Images und Daten im Cluster am besten via BitTorrent

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 11/50 Nimbus Nimbus Alter Name: Virtual Workspace Service (VWS) Unterstützt KVM und Xen Baut auf der Grid-Middleware Globus 4 auf Ein Teil der EC2-Schnittstelle wird unterstützt describe images describe, run, reboot und terminate instances add und delete keypair EC2-kompatible Ressourcen können gesteuert werden Enthält den S3-kompatiblen Speicherdienst Cumulus Freie Software (Apache License v2.0)

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 12/50 Enomaly ECP und OpenECP Elastic Computing Platform (ECP) von Enomaly Unterstützt VMware, KVM, Xen, Virtual Box und OpenVZ Freie Software (Affero General Public License v3) Kaum Dokumentation EC2-Schnittstelle wird nicht unterstützt Eingeschränkte API zur Administration Skaliert nur bis < 10 Knoten Seit Herbst 2009 ist Enomaly ECP nicht mehr offiziell verfügbar Abkehr des Unternehmens von der Open Source Strategie OpenECP (Open Elastic Computing Platform) Fork von Enomaly ECP Freie Software (Affero General Public License v3) Projektstart: Februar 2010 Kein Speicherdienst enthalten EC2-Schnittstelle wird nicht unterstützt

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 13/50 Tashi Tashi ist eine Entwicklung der Intel Labs in Pittsburgh Spielt eine große Rolle im Projekt Open Cirrus Open Cirrus hat zum Ziel, eine offene Entwicklungsplattform für das Cloud Computing zu schaffen Tashi versucht das Problem besonders großer Datenmengen (Big Data) anzugehen, wie sie in wissenschaftlichen Projekten zunehmend anfallen Solche Datenmengen sind aufgrund technischer Limitierungen sehr schlecht beweglich Mehrere TB oder PB Daten verschieben, bedeutet einen großen Aufwand und kann sogar innerhalb eines LAN mehrere Tage dauern Tashi implementiert eine neuartige Form von Datenorientierung Virtuelle Instanzen werden in einem Cluster so platziert, dass sie sich physisch immer möglichst nahe bei den benötigten Daten befinden Tashi ist wenig verbreitet und befindet sich in einem frühen Entwicklungsstadium

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 14/50 Eucalyptus Open-Source, um Cloud-IaaS (Private Cloud) auf Clustern aufzubauen Entwickelt an der UC Santa Barbara Weiterentwicklung durch Eucalyptus Systems, Inc. EUCALYPTUS - Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems Infrastrukturdienst. Ermöglicht Ausführung und Kontrolle virtueller Instanzen (Xen oder KVM) auf verschiedenen physischen Ressourcen Schnittstelle kompatibel zu AWS (EC2, S3 und EBS) Nutzung bekannter Tools für Amazon EC2, S3 und EBS möglich: z.b: S3 Curl, Elasticfox, s3cmd,... Schritt hin zur Etablierung eines Standards für Cloud-Infrastrukturen Freie Software (GNU General Public License v3)

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 15/50 Komponenten von Eucalyptus Eucalyptus besteht aus mehreren Komponenten Die Komponenten laufen als UNIX-Dienste Die Kommunikation zwischen den Komponenten geschieht via Web-Services (SOAP) Bei den Komponenten handelt es sich in erster Linie um: Cloud Controller (CLC) Cluster Controller (CC) Node Controller (NC) Walrus Storage Controller (SC) Eine Eucalyptus-Infrastruktur besteht aus einem oder mehr Standorten

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 16/50 Aufbau von Eucalyptus

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 17/50 Node Controller (NC) Läuft auf jedem Knoten, auf dem später Instanzen laufen sollen Steuert den Xen-Hypervisor oder KVM Bis v1.5 unterstützte Eucalyptus ebenso wie EC2 ausschließlich Xen Seit v1.5.1 wird zusätzlich KVM unterstützt Eine Virtualisierungslösung muss installiert sein In der Eucalyptus Enterprise Edition unterstützt der NC auch VMware vsphere, ESX und ESXi Jeder NC sendet Informationen über die Auslastung der eigenen Ressourcen an den CC des Standorts Anzahl virtueller Prozessoren Freier Hauptspeicher Freier Festplattenspeicher

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 18/50 Cluster Controller (CC) Pro Standort ist exakt ein CC notwendig Regelt die Verteilung der virtuellen Maschinen auf die NCs Sammelt Informationen über freie Ressourcen von den NCs In kleineren Eucalyptus-Infrastrukturen liegen CLC und CC meistens auf einem physischen Rechner In jedem Standort kommunizieren die NCs mit dem CC über ein privates virtuelles Netzwerk Das Netzwerk wird mit Virtual Distributed Ethernet (VDE) erzeugt Auf den Eucalyptus-Komponenten läuft hierfür ein virtueller VDE-Switch Die Verbindungen zwischen den Switches realisieren virtuelle VDE-Kabel Das Netzwerk garantiert, dass den Instanzen innerhalb eines Standorts ein einheitliches Subnetz zur Verfügung steht

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 19/50 Cloud Controller (CLC) Pro Eucalyptus-Infrastruktur ist exakt ein CLC nötig Agiert als Meta-Scheduler in der Cloud-Infrastruktur Sammelt Ressourcen-Informationen von den CCs Läuft standardmäßig auf der gleichen physischen Maschine wie die Speicherdienste Walrus und Storage Controller

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 20/50 Walrus und Storage Controller Walrus Speicherdienst für persistenten Speicher mit zu S3 kompatibler Schnittstelle In einer Eucalyptus-Infrastruktur sind die Images in Walrus gespeichert Kann seit Version 1.6 vom CLC ausgelagert werden Liegt aber meistens nach wie vor auf dem Rechner mit dem CLC/CC Storage Controller Speicherdienst für persistenten Speicher mit zu EBS kompatibler Schnittstelle Liegt bei Infrastrukturen mit einem Standort meistens auf dem Rechner mit dem CLC/CC Kann seit Version 1.6 ausgelagert werden Wenn die Infrastruktur mehrere Standorte hat, läuft in jedem Standort bzw. CC ein eigener Storage Controller

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 21/50 Start einer Instanz in Eucalyptus Sollen Instanzen gestartet werden gibt der Kunde oder dessen Anwendung beim CLC folgende Parameter an: Image, Instanztyp und Anzahl der Instanzen Der CLC wählt einen CC mit ausreichend freien Ressourcen in dessen Cluster aus Der CC legt einen (oder eine Gruppe) NC(s) mit ausreichend freien Ressourcen im lokalen Cluster fest und weist den Start der Instanz(en) an Ist das nötige Image auf dem NC nicht verfügbar, fragt der NC das Image beim CLC nach Der CLC überträgt das Image aus Walrus über eine verschlüsselte Übertragung via Secure Copy (SCP) an den NC Die Dauer der Übertragung der Images von Walrus zu den NCs ist abhängig von der verwendeten Netzwerktechnologie, von der Anzahl der notwendigen Übertragungen und der Größe des Images

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 22/50 Fakten zu Eucalyptus Installation von Eucalyptus ist schwieriger als kommuniziert Installationsanleitungen lesen sich einfach Deutliche Verbesserung der Situation seit Ubuntu 9.10 Server (Karmic Koala) Aber: Noch viel Raum für Verbesserungen (noch viele kleine Fehler/Bugs) Stabiler Betrieb einer Eucalyptus-Infrastruktur ist möglich Einrichtung ist aber schwierig Einzelne Dienste brauchen gelegentlich einen Neustart Hilfe der Entwickler nicht immer hilfreich Kommerzieller Support verfügbar Teilweise scheinen kommerzielle Interessen dem Community-Gedanken entgegen zu stehen (u.a. Unterstützung von VMware) Erweiterungen und Änderungen am Quellcode sind schwierig Quellcode und Komponenten erscheinen undurchsichtig Von Seiten der Entwickler ist hier keine Hilfe zu erwarten

Meinung der NASA zu Eucalyptus Quelle: http://www.theregister.co.uk/2010/07/20/why_nasa_is_dropping_eucalyptus_from_its_nebula_cloud/ Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 23/50

Initiiert von der NASA und Rackspace Cloud Unterstützt u.a. von AMD, Intel und Dell Freie Software (Apache License v2.0) OpenStack besteht aus 3 Komponenten Compute (Nova) Infrastrukturdienst EC2-kompatible Schnittstelle Hochskalierbar (bis mehrere zehntausend Knoten) Object Storage (Swift) Redundanter, hochskalierbarer (Petabyte-Bereich), Objekt-basierter Speicherdienst Objekte werden auf mehreren Hardwaregeräten gespeichert Automatische Replikation beim Ausfall bzw. Hinzufügen von Knoten S3-kompatible Schnittstelle Image Service (Glance) Dienst zum suchen, registrieren und anfordern von Images REST-Schnittstelle Unterstützte Image-Formate: Raw, AMI, VHD (Hyper-V), VDI (VirtualBox), qcow2 (Qemu/KVM), VMDK und OVF (VMWare) Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 24/50 OpenStack

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 25/50 Infrastrukturdienste und deren Kompatibilität zu den AWS AWS APIs implementiert Name EC2 S3 EBS abicloud (Abiquo) CloudStack (Citrix) teilweise Enomaly ECP Eucalyptus vollständig vollständig (Walrus) vollständig (SC) Nimbus teilweise teilweise (Cumulus) OpenECP OpenNebula teilweise OpenStack teilweise (Nova) teilweise (Swift) Tashi

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 26/50 Lösungen für Plattformdienste Es existieren nur wenige freie Lösungen, um selbst Plattformdienste zu betreiben 10gen OpenShift Reasonably Smart AppScale typhoonae http://www.10gen.com http://www.redhat.com/solutions/ cloud/openshift/ http://reasonablysmart.com http://appscale.cs.ucsb.edu http://code.google.com/p/typhoonae/ Diese Lösungen werden primär für den Aufbau privater Clouds verwendet Teilweise ist auch der Aufbau einer öffentlichen Cloud (Public Cloud) mit diesen Lösungen möglich

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 27/50 10gen Stichpunkte 10gen ist eine Java-basierte Plattform zum Ablauf von Webanwendungen Enthält einen Applicationserver mit dem Namen Hedley JavaScript und Ruby werden als Sprachen für Webanwendungen unterstützt Zur Anwendungsentwicklung steht das Web-Framework Django10 zur Verfügung, das sich am Python Web-Framework Django orientiert Daten werden in der objektorientierten Datenbank MongoDB gespeichert Die Software wird nicht mehr weiterentwickelt Heute beschäftigt sich 10gen nur noch mit der Weiterentwicklung und dem kommerziellen Support der Datenbank MongoDB

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 28/50 10gen

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 29/50 Reasonably Smart Nutzt die freie Versionsverwaltung Git und JavaScript Wurde im Januar 2009 von Joyent gekauft Quellcode ist nicht mehr verfügbar

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 30/50 OpenShift Verfügbar seit Mai 2011 4 Sprachen stehen zur Verfügung Java, Python, PHP und Ruby Datenspeicherung ist mit MySQL, SQLite und MongoDB möglich Varianten: Express, Flex und Power Express unterstützt Ruby, PHP und Python und nutzt Git, um Anwendungen hochzuladen Maximal 128 MB Speicherplatz und 256 MB Hauptspeicher Express ist kostenfrei Zielgruppe von Flex sind Java- und PHP-Entwickler Enthält Apache und die Applikationenserver JBoss AS und Tomcat Power unterstützt auch in C geschriebene Linux-Anwendungen

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 31/50 AppScale Freie Reimplementierung der Google App Engine Ermöglicht den Betrieb eines Plattformdienstes, kompatibel zur GAE Entwickelt an der UC Santa Barbara GAE-kompatible Anwendungen können mit AppScale innerhalb einer privaten Cloud mit Eucalyptus und innerhalb EC2 betrieben und getestet werden AppScale kann auch direkt auf Xen laufen AppScale emuliert Google-Infrastrukturdienste wie Datastore, Memcache und die Authentifizierung AppScale 1.0 (7.3.2009) Aktuelle Version : AppScale 1.4 (7.9.2010)

Komponenten von AppScale Appscale besteht aus 3 Komponenten AppLoadBalancer AppServer Datenbank Quelle: http://code.google.com/p/appscale/ Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 32/50

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 33/50 AppLoadBalancer und AppServer AppLoadBalancer Kennt alle in der Cloud beteiligten Instanzen Ist in Ruby on Rails geschrieben Verwendet den Webserver nginx (http://nginx.org) Verwendet den Lastverteiler HAProx (http://haproxy.1wt.eu) Verwaltet die Benutzerkonten der Anwender Ein Anwender, der sich zum ersten Mal mit der Cloud zum ersten Mal verbindet, meldet sich über den AppLoadBalancer an Kennt die Auslastung aller beteiligten Instanzen Leitet den Anwender zu der Instanz mit der geringsten Auslastung AppServer Die Anwendungen werden auf AppServern ausgeführt Typischerweise existieren mehrere AppServer innerhalb einer Cloud Die Anwender bekommen vom AppLoadBalancer die AppServer zugewiesen Basiert auf dem Entwicklungs-Server dev appserver.py aus dem Google App Engine SDK

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 34/50 Datenbank Der persistente Speicher des Plattformdienstes kann über verschiedene Datenbanken realisiert werden Es können Datenbanken nach dem Prinzip Master/Slave oder Peer-to-Peer verwendet werden Master/Slave: HBase Hypertable MySQL MongoDB MemcacheDB P2P: Cassandra Voldemort Scalaris

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 35/50 AppScale steuern Die AppScale-Tools sind eine Sammlung von Ruby-Skripten Mit diesen werden AppScale-Plattformdienste administriert appscale-add-keypair appscale-describe-instances appscale-remove-app appscale-reset-pwd appscale-run-instances appscale-terminate-instances appscale-upload-app SSH-Schlüssel für die Instanzen erstellen Status aller Instanzen Anwendung von den Instanzen löschen Administrator-Passwort setzen Instanzen starten Instanzen stoppen Anwendung auf die Instanzen hochladen

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 36/50 AppScale mit einer Anwendung starten (1) $ /usr/local/appscale-tools-1.2/bin/appscale-run-instances --file /usr/local/appscale-tools-1.2/sample_apps/guestbook.tar.gz --table voldemort --max 2 --machine ami-7136d618 -v --keyname appscale GROUP appscale appscale Reported Public IPs: [] Reported Private IPs: [] ec2-run-instances ami-7136d618 -k appscale -n 1 --instance-type m1.large --group appscale run_instances: [RESERVATION r-94e0bcfc 178412210831 appscale INSTANCE i-bbd276d0 ami-7136d618 pending appscale 0 m1.large 2010-03-12T10:28:59+0000 us-east-1c aki-b51cf9dc ari-b31cf9da monitoring-disabled ] Run instances message sent successfully. Waiting for the image to start up. [Fri Mar 12 11:29:04 +0100 2010] 3599.999978 seconds left until timeout...

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 37/50 AppScale mit einer Anwendung starten (2) Reported Public IPs: [ec2-204-236-253-255.compute-1.amazonaws.com] Reported Private IPs: [domu-12-31-39-0b-7c-d1.compute-1.internal] Please wait for your instance to complete the bootup process. New secret key is cviqawgf2uuyabc2i1muphor6mxuyqub {"machine"=>"ami-7136d618", "keyname"=>"appscale", "ips"=>"using_tools", "voldemortw"=>"1", "replication"=>"1", "instance_type"=>"m1.large", "infrastructure"=>"ec2", "table"=>"voldemort", "min_images"=>"2", "ec2_url"=>"https://us-east-1.ec2.amazonaws.com", "voldemortr"=>"1", "keypath"=>"appscale.key", "hostname"=>"ec2-204-236-253-255.compute-1.amazonaws.com", "max_images"=>"2"} Head node successfully created at ec2-204-236-253-255.compute-1.amazonaws.com. It is now starting up voldemort via the command line arguments given.

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 38/50 AppScale mit einer Anwendung starten (3)... <Hier werden die Schlüssel hochgeladen> This AppScale instance is linked to an e-mail address giving it administrator privileges. Enter your desired administrator e-mail address: baun@kit.edu Please repeat your e-mail address to verify: baun@kit.edu The new administrator password must be at least six characters long and can include non-alphanumeric characters. Enter your new password: Enter again to verify: Please wait for AppScale to prepare your machines for use. Done starting up AppScale, now in heartbeat mode Run instances: UserAppServer is at ec2-204-236-253-255.compute-1.amazonaws.com

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 39/50 AppScale mit einer Anwendung starten (4) Your user account has been created successfully. Uploading guestbook... We have reserved the name guestbook for your application. guestbook was uploaded successfully. Please wait for your app to start up. Your app can be reached at the following URL: http://ec2-204-236-253-255.compute-1.amazonaws.com/apps/guestbook The status of your AppScale instance is at the following URL: http://ec2-204-236-253-255.compute-1.amazonaws.com/status

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 40/50 AppScale Status

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 41/50 AppScale Startseite

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 42/50 AppScale Login

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 43/50 Anwendung hochladen Anwendung in AppScale mit appscale-upload-app hochladen $ /usr/local/appscale-tools-1.2/bin/appscale-upload-app --file /usr/local/appscale-tools-1.2/sample_apps/petlog.tar.gz --keyname appscale This AppScale instance is linked to an e-mail address giving it administrator privileges. Enter your desired administrator e-mail address: baun@kit.edu Please repeat your e-mail address to verify: baun@kit.edu Uploading petlog... We have reserved the name petlog for your application. petlog was uploaded successfully. Please wait for your app to start up. Your app can be reached at the following URL: http://ec2-204-236-253-255.compute-1.amazonaws.com/apps/petlog

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 44/50 Ergebnis des Uploads

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 45/50 Status der Instanzen Den Status der Instanzen mit appscale-describe-instances abfragen $ /usr/local/appscale-tools-1.2/bin/appscale-describe-instances Status of node at ec2-204-236-253-255.compute-1.amazonaws.com: Currently using 0.9 Percent CPU and 9.98 Percent Memory Database is at ec2-204-236-253-255.compute-1.amazonaws.com Hosting the following apps: guestbook, petlog Current State: Done starting up AppScale, now in heartbeat mode Status of node at ec2-204-236-211-122.compute-1.amazonaws.com: Currently using 0.5 Percent CPU and 10.47 Percent Memory Database is at ec2-204-236-211-122.compute-1.amazonaws.com Hosting the following apps: guestbook, petlog Current State: Preparing to run AppEngine apps if needed

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 46/50 Anwendung entfernen und Instanzen beenden Anwendung aus AppScale mit appscale-remove-app entfernen $ /usr/local/appscale-tools-1.2/bin/appscale-remove-app --appname petlog We are about to attempt to remove your application, petlog. Are you sure you want to remove this application (Y/N)? Y Your application was successfully removed. Die Instanzen und damit AppScale selbst mit appscale-terminate-instances beenden $ /usr/local/appscale-tools-1.2/bin/appscale-terminate-instances --keyname appscale About to terminate instances spawned via ec2 with keyname appscale... INSTANCE i-63dc7808 running shutting-down INSTANCE i-bbd276d0 running shutting-down Terminated AppScale across 2 boxes.

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 47/50 typhoonae Weitere freie Reimplementierung der App Engine Kann im in beliebigen Linux oder MacOS X Umgebungen laufen Unterstützt ausschließlich Webanwendungen in Python Verwendet einen eigenen leichtgewichtigen AppServer, der via FastCGI mit dem HTTP Frontend-Server (NGINX oder Apache) kommuniziert Der Entwicklungsserver von Google wird nicht verwendet Das SDK wird unmodifiziert importiert, um die Schnittstelle der App Engine anbieten zu können typhoonae implementiert komplett eigenständige API-Proxy-Stubs, die die API der App Engine auf die zugrunde liegenden Dienste adaptiert Etablierte freie Komponenten wie MySQL, MongoDB, RabbitMQ memcached und ejabberd werden für die Emulation der Google-Infrastrukturdienste verwendet

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 48/50 Architektur von typhoonae

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 49/50 Fazit Die vorgestellten privaten Lösungen zum Aufbau von Infrastruktur- und Plattformdiensten haben Vor- und Nachteile Nachteile: Stabilität und Funktionsumfang meist schlechter als bei öffentlichen Dienstangeboten Vorteile: Unabhängigkeit vom Verhalten der öffentlichen Dienstanbieter Beispiele: Änderungen am Geschäftsmodell (Preiserhöhungen), Änderungen am Funktionsumfang der Dienste und deren Qualität Voraussetzung: Schnittstellen sind zu den öffentlichen Diensten kompatibel Freie Software = hohe Flexibilität Potentielle Möglichkeit zum Aufbau von hybriden Clouds Fazit: Auch wenn Stabilität und Funktionsumfang geringer sind, helfen private Dienste sich gegen ungewollte Veränderungen abzusichern

Christian Baun 7.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim WS1112 50/50 Nächste Vorlesung Nächste Vorlesung: 16.11.2011