Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

HTW Softwarearchitektur: Grid- und Cloudcomputing

Ähnliche Präsentationen


Präsentation zum Thema: "HTW Softwarearchitektur: Grid- und Cloudcomputing"—  Präsentation transkript:

1 HTW Softwarearchitektur: Grid- und Cloudcomputing
GIS Praktische Informatik Master 1. Semester an der HTW des Saarlandes Kim Meiser, Victor Mitskanets Softwarearchitektur Grid- und Cloudcomputing Betreut durch Prof. Dr. Reiner Güttler HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

2 HTW Softwarearchitektur: Grid- und Cloudcomputing
„ Ein Platz auf der Wolke: Was Cloud Computing genau ist, ist noch nicht ganz klar. Dass es sich allerdings um die Computer-Technik der Zukunft handelt, scheint sicher (…) Längst liefern sich Google, Amazon, Adobe und Microsoft einen Kampf um die Vorherrschaft im Geschäft mit den zentralisierten Diensten.“ „Pioneer will Millionen Fernsehgeräte mit P2P-Grid vernetzen“ „CERN startet das Peta-Grid (…) ein Netzwerk aus 140 Rechenzentren“ Quelle: heise.de Newsticker Grid- und Cloudcomputing ist ein Hype-Thema in der Computerwelt. Durchschnittlich täglich erscheint eine neue Newsmeldung zu Grid- bzw. Cloud-Computing auf heise.de und anderen IT-spezifischen Newsdiensten. Nicht nur Wissenschaftliche Anwendungsbereiche, sondern vermehrt auch Geschäfts- und Webanwendungen und Anbieter entdecken das Grid- und Cloudcomputing für Ihre Zwecke. Auch an Privatpersonen wird dieser Hype nicht vorbeiziehen. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

3 Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen
Agenda Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen Anbieter Beispiel: Verwendung eines Webgrids Fazit Alle Facetten von Grid- und Cloud-Computing können in 30 Minuten nicht betrachtet werden. Wir werden Ihnen daher einen Überblick über die Idee hinter Grid- und Cloudcomputing geben. Wir werden uns gemeinsam einige Strukturen ansehen, wie Grid‘s realisiert sein können, und welche Angebote es zur Zeit gibt. Und wir werden an einem kleinen Beispiel zeigen, wie man ein bestimmtes Grid, in diesem Fall für eine Webanwendung, einsetzen kann, und wie einfach das Mittlerweile ist. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

4 Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen
Agenda Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen Anbieter Beispiel: Verwendung eines Webgrids Fazit Was versteckt sich hinter dem Hype? Was versteckt sich hinter den Buzz-Words Grid- und Cloudcomputing? Und warum ist das seit etwa 10 Jahren ein Thema, jeder redet darüber, aber fast „niemand“ nutzt es? HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

5 Was ist Grid- und Cloudcomputing: Einleitung
Vor etwa 30 Jahren: Beginnende Vernetzung von Computern mit dem Ziel, Informationen zu teilen Der Durchbruch des Internets kam erst Jahre später Etablierung von Standards, Protokolle, Sicherheit braucht Zeit Aufbau Infrastruktur, Änderung Geschäftsprozesse langwierig Nutzen des Internets ist erst seit wenigen Jahren für den Anwender sichtbar und erlebbar In den letzten 3 Jahrzehnten: Vernetzung von Computern, zum Austausch von Informationen => INTERNET. Sich dadurch ergebende Potentiale, werden erst jetzt von der « breiten Bevölkerung » langsam erkannt. Warum hat das 30 Jahre lang gedauert? Die Definition von Standards, Aufbau von Infrastruktur, und die Änderung in den Köpfen der Menschen braucht eben Zeit. INNOVATION kommt nicht über Nacht! HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

6 Was ist Grid- und Cloudcomputing: Einleitung
Nächste Stufe der Vernetzung: Neben Bereitstellung von Daten auch Bereitstellung von Rechenkapazität Vorhandene Rechenleistung „mieten“ Zugriff einfach, standardisiert und sicher Jeder kann diese Rechenleistung verwenden, wenn nötig Denkt man die Grundidee des Internets weiter, sich Daten gegenseitig verfügbar zu machen, liegt eins nahe: Neben Daten auch Rechenkapazität austauschen. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

7 Was ist Grid- und Cloudcomputing: Einleitung
Idee: Zusammenschluss der Rechenleistung zu einem „Supercomputer“, einem Grid Vergleichbar mit Strom-Grid und Steckdose Wie beim Stromnetz kann jeder einspeisen: Rechenzentren (Kraftwerke), Privatleute (Solar-Anlage) Große, meist ungenutzte Kapazitäten weltweit (Computer, Handys, Spielkonsolen, Embedded Systems…) Ziel: Vorhandene Ressourcen zugänglich machen HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

8 Was ist Grid- und Cloudcomputing: Einleitung
Beispiel: In jedem Handy, Computer, Fernseher, Playstation, Aufzug, Kühlschrank, … steckt eine zur Zeit ungenutzte CPU Bereitstellung der ungenutzten Ressourcen für andere Nutzung fremder Ressourcen bei Bedarf Effizientere Auslastung Geringere, nutzungsorientierte Kosten Unterschiedliche Ressourcen, also auch Speicherplatz usw. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

9 Was ist Grid- und Cloudcomputing: Die 5 Ideen
Resource Sharing: Beinahe „endlose“ Kapazitäten Secure access: Wer wann auf welche Ressourcen zugreifen darf, muss klar geregelt sein Resource use: Das Grid „verteilt“ die Aufgabe möglichst automatisch, um effiziente (schnelle) Lösungen zu liefern Death of Distance: Entfernung sollte keinen Unterschied machen Open Standards: Interoperabilität zwischen verschiedenen Grids Resource Sharing: Wie viele CPUs sind hier im Raum? Welche sind realistisch in den nächsten 10 Jahren ans Internet anbindbar? Jede Menge! Secure Access: Nicht jeder sollte die Anwendung seines Nachbarn manipulieren können, auch wenn deren Anwendung auf meiner Kaffeemaschine läuft! Resource use: Der Auftrag wird schneller fertig, weil tausende CPUs gleichzeitig daran arbeiten. Death of Distance: Das Netz muss natürlich ausreichend dimensioniert sein! S. Kalifornien: Marodes Stromnetz, dauernd Stromausfälle. Trotz ausreichender Kraftwerkskapazität. Open Standards: Auch im Internet trägt das Standardisierte Protokoll TCP/IP zum Erfolg bei. Der Datenaustausch zwischen verschiedenen Netzen ist mit offenen Standards leichter. Nächste Folie: Buzzword-Bingo! HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

10 Was ist Grid- und Cloudcomputing: Buzzword-Bingo
Farm Gleichartige, vernetzte Hosts, die zu einem logischen System verbunden sind. Cluster Vernetzte Computer, zur Steigerung von Verfügbarkeit, Load-Balancing oder High-Performance. Bei gleichartiger Ausstattung wird auch der Begriff Farm verwendet. Grid „Virtueller Supercomputer“, der aus einem Cluster lose gekoppelter Computer erzeugt wird. Lose bedeutet, während des Betriebes dynamisch hinzufügen und entfernen. Cloud Die Idee oder das Konzept, Ressourcen auf einer „pay-per-use“-Basis aus einer „Wolke“ zu beziehen. In unterschiedlichen Quellen wird Grid- und Cloudcomputing synonym verwendet. Quellen: Foster, Kesselmann. GridCafé. Wikipedia. IBM. Amazon. Wir spielen eine Runde Buzzword-Bingo!!! Die Begriffe werden noch unterschiedlich verwendet, eine exakte Abgrenzung ist nicht möglich. Server-Farm: Interne Prozesse werden durch Verteilung der Auslastung optimiert. Verteilung wird über entsprechende Software realisiert. Cluster: Vernetzte Computer, die zur Hochverfügbarkeit, Load-Balancing oder High-Performance zusammengeschaltet werden. Ist die Hard-/Softwareausstattung der Hosts gleichartig, sagt man auch Farm. Grid: Zusammenschluss von Computern „on Demand“. Bei manchen Herstellern synonym für das Konzept. Cloud: meint eher das Konzept. Aber Achtung: Wenn z. B. Amazon von Cloud Computing spricht, ist deren eigenes Grid EC2 (Elastic Compute Cloud) gemeint! HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

11 Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen
Agenda Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen Anbieter Beispiel: Verwendung eines Webgrids Fazit Wir haben nun genug über die Idee gesprochen. Jetzt sehen wir uns an, wozu ein Grid geeignet ist und sinnvoll eingesetzt werden kann. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

12 Anwendungsbereiche Was können tausende vernetze Computer im Gegensatz zu einzelnen leisten? Simulationen, wie z. B. Klimavorhersagen, sind extrem aufwendig und benötigen gigantische Rechenkapazitäten. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

13 Rechenintensive Aufgaben
Anwendungsbereiche Rechenintensive Aufgaben Mathematische Berechnungen, Simulationen (Medizin, Geologie, Klimawandel, Astronomie, …) Speicherintensive Aufgaben Messdaten, Datenbanken, Web-Kopien (Suchmaschinen) Hochleistungs-Grids Forschungszentren, Simulation, Wetter Grid-Computing kann in den unterschiedlichesten Bereichen eingesetzt werden. Rechenintensive Aufgaben werden durch die parallelisierte Abarbeitung in spürbar kürzerer Zeit erledigt, als das ein Großrechner alleine könnte. Speicherintensive Aufgaben können gut durch ein Grid erledigt werden: Googles Infrastruktur besteht aus handelsüblichen Rechnern, die nicht mehr als 40 GB bzw. 80 GB Festplatte haben. Trotzdem werden enorme Kapaziäten abgelegt. Forschungezentren, Klima-Prognosen, Simulationen in der Luft- und Raumfahrt, Crash-Tests, Atombomben-Tests, all das wird zur Zeit auf Hochleistungsrechnern bzw. Grids aus Hochleistungsrechnern gerechnet. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

14 Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen
Agenda Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen Anbieter Beispiel: Verwendung eines Webgrids Fazit HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

15 Grid-Strukturen: Ein Grid zum Selberbasteln
Software/Middleware für Aufbau und Verwaltung von Grids OGSA (Open Grid Service Architecture) UNICORE (Uniform Interface to Computing Resources) GridGain (Entwicklungs- und Runtime-Umgebung für Java) Globus Toolkit (Implementierung von OGSA) Sun Open Cloud Platform Ein Grid kann man selbst betreiben, falls man die Infrastruktur dazu aufbauen möchte. OGSA ist eine Service Achritektur für Grids. OSGA stammt Jan Foster, der den Begriff Grid-Computing recht früh prägte. Mit Unicore kann man lokal sog. „Jobs“ konfigurieren, die an einen Gateway-Server gesendet werden. Dieser verwaltet die Jobs und leitet diese an ein Rechengrid weiter, welches die Abarbeitung vornimmt. Nur geeignet für Unix/Linux Systeme. Unicore wird Deutschlandweit eingesetzt, wurde auch vom Bildungsministerium gefördert, gibt’s schon seit 1997. GlobusToolkit ist eine der meist eingesetzten Middleware für Grid-Computing, und wird u.a von der Deutsche Grid-Initiative (D-Grid ) eingesetzt. Windows Azure Service Platform ist eine Initiative von Microsoft, MS-Server zu einer „Cloud“ zusammenzuschließen. MS bietet die Azure Services zur Miete an. Ubuntu, vgl. auch Meldung aus der „PC Welt“ vom HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

16 Grid-Strukturen: Betriebssystem-Ebene
Windows Azure Service Platform Ubuntu „Karmic Koala“ mit EC2-Unterstützung Linux-Distribution XtreemOS uvm. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

17 Grid-Strukturen: Volunteer-Computing
BOINC - Berkley Open Infrastructure for Network Computing BOINC bietet die Infrastruktur, um die Rechenkapazität vieler Geräte nutzbar zu machen. BOINC Client kann zu Hause installiert werden, Rechenkapazität wird zur Zeit „gespendet“. Anerkennung nur in Form von Credit-Punkten, Ruhm und Ehre. Wissenschaftliche Themen nutzen BOINC, z. B. (Früher Proteinfaltung) (Suche nach Extraterrestrischen Signalen) (Suche nach Pulsaren) Auswertung der enormen Datenmengen, die am Large Hadron Collider am CERN entstehen. u.v.m. 1.400 TERA-FLOPS!!!!! Erwähnenswert: Gerade bei 3-Dimensionalen Simulationen, wie wird die GPU von NVIDIA-Karten durch BOINC genutzt (CUDA). => Bis zu 60x höhere Kapazität auf PS3-Grafikchip, als auf einem „normalen“ PC-CPU. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

18 Grid-Strukturen: Hochleistungs-Grids
Zusammenschaltung von Hochleistungsrechnern D-Grid: Deutschland-Grid Worldwide LHC Computing Grid (WLCG) vernetzt 140 Rechenzentren in 33 Ländern Beispiel: LHC produziert 15 Millionen Gigabytes Daten jedes Jahr, die ausgewertet werden müssen. Für einzelne Hochleistungsrechner unmöglich. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

19 Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen
Agenda Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen Anbieter Beispiel: Verwendung eines Webgrids Fazit HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

20 Anbieter für Webgrids bzw. SaaS
Amazon EC2 (Elastic Compute Cloud) SimpleDB S3 (Simple Storage Service) Cloud Front SQS (Simple Queue Services) Google AppEngine Global Player wie IBM, Sun, etc. mit eigenen Angeboten Kleinere, Spezialisierte Anbieter (Dr. GoGrid u.a.) HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

21 Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen
Agenda Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen Anbieter Beispiel: Verwendung eines Webgrids Fazit HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

22 Beispiel: Verwendung eines Webgrids
Umgebung für Webanwendungen Ersetzt klassischen Webserver und Datenbank bei Webanwendungen Läuft auf Googles Infrastruktur Skalierung der Ressourcen und load-balancing übernimmt App Engine Software Google APIs als Ressourcen verfügbar Google App Engine Ich möchte euch Google App Engine vorstellen Was ist Google App Engine... …Google App Engine ist eine Laufzeitumgebung für Webanwendungen Als Programmierer musste man sich bisher um Webserver, Datenbank, die Kommunikation zwischen Servern usw. kümmern. Ein Grid wie die Google App Engine ersetzt also die bisher bekannten Webserver. Googles Infrastruktur besteht aus tausenden von Servern, genaue Anzahl ist unbekannt Die Konfiguration der Laufzeitumgebung, Serversoftware, Betriebssystem, Datenbank, Sicherheit wird automatisch von Google bereitgestellt. Abhängig vom Bedarf werden die benötigten Ressourcen durch die Google App Engine zur Verfügung gestellt. Google Anwendungen wie Benutzerverwaltung, Mail, Karten, Kalender, Suche und viele andere stehen über APIs einfach zur Verfügung. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

23 Beispiel: Verwendung eines Webgrids
Beispielanwendung Gästebuch Übersichtliches Beispiel Benutzt die Datenbank Beliebig viele Benutzer gleichzeitig möglich Wegen Benutzeroberfläche geeignet zur Vorführung Als Beispielanwendung möchte ich eine einfache Gästebuchanwendung vorführen. Damit kann man sehr schön zeigen, wie man die Persistenzschicht von Google App Engine nutzen kann. Außerdem hat diese Anwendung eine GUI, so dass mehrere User die Anwendung sehr bequem gleichzeitig bedienen können. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

24 Beispiel: Verwendung eines Webgrids
Anwendung während Entwicklung lokal ausführbar Automatischer Rollout per Script möglich Einfacher Rollback, falls im Betrieb Fehler auftreten Test und Rollout Google App Engine unterstützt einen Test Driven Development, Dass heißt die Anwendung lässt sich sehr bequem lokal ausführen und testen. Google liefert dafür eine lokale Testumgebung. Die lokal getestete Applikation kann automatisiert ausgerollt werden. Falls doch die Fehler bei Ausführung im Grid auftreten, besteht die Möglichkeit aktuell ausgerollte Applikationsversion zurückzurollen HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

25 Beispiel: Verwendung eines Webgrids
Erläuterung Programmaufbau Deployment-Prozess Testlauf Vorführung An diesem Beispiel möchte ich zeigen, wie man Applikations-und Persistenzschicht von Google App Engine verwendet. Das Programm besteht im wesentlichen aus 4 Teilen. 1. Einbindung von Persistenz und Applicationsschicht 2. Definition von einen Entity: Gästebucheintrag 3. MainPage-Klasse – liest die Gästebucheinträge mit GQL aus Persistenzschicht und stellt das Gästebuch dar. 4. NeuerGaestebuchbeitrag-Klasse – fügt einen neuen Gästebucheintrag hinzu Nachdem wir uns das Programm angeschaut haben, testen wir die Anwendung zu erst lokal => dev_appserver.py gridapp7 Jetzt kann die lokal getestete Anwendung zu Google App Engine Grid ausrollen werden => appcfg.py update gridapp7 Die Anwendung ist jetzt ausgerollt und ist sofort online verfügbar. So einfach kann eine Grid-Anwendung geschrieben und ausgerollt sein. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

26 Google App Engine Grid: Pro/Contra
Vorteile Sehr einfache Projekt Veröffentlichung Genug CPU und RAM kostenlos Nachteile zur Zeit nur mit Python Die Projekte müssen öffentlichen sein. Begrenzt auf 5 Mio. Seitenzugriffe pro Monat in der kostenlosen Version. max. 10 Applikationen pro Google-Account möglich Wie man bereits gesehen hat ist die Veröffentlichung der Applikation sehr bequem und kann automatisiert werden. Die Vorteile von Google App Engine… Google App Engine bietet unbegrenzte CPU Zeit (allerdings in der kostenloser Version begrenzt) Aber für ein Pilot-Projekt optimal, da keine Kosten für Webserver entstehen. Neben Vorteilen gibt es auch die Nachteile von Google App Engine - Zur Zeit wird nur die Script-Sprache Python unterstützt, es wird aber daran gearbeitet die Unterstützung für weitere Programmiersprachen zu ermöglichen -Da die Projekte nach dem Rollout sofort online sind und in GoogleAppKatalog auffindbar sind, kann man es vielleicht als Nachteil sehen -In der kostenloser Version gibt es ein Paar Einschränkungen, wie z.B.: die Limitierung von Seitenzugriffen pro Monat. Damit übergebe ich Präsentation an meinen Kollegen weiter, Vielen Dank HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

27 Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen
Agenda Was ist Grid- und Cloudcomputing Anwendungsbereiche Grid-Strukturen Anbieter Beispiel: Verwendung eines Webgrids Fazit HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

28 Grid- und Cloudcomputing ist die nächste Innovation im Netz
Fazit Grid- und Cloudcomputing ist die nächste Innovation im Netz Potentiale sind unvorstellbar groß Nach und nach wird auch der Anwender die Vorteile erleben Innovationen brauchen Zeit Stabile, leistungsstarke Netze erforderlich Architekturkonzepte müssen gefunden werden Abrechnung, Sicherheit und Integrität der Daten ist noch nicht gewährleistet HTWdS, Softwarearchitektur: Grid- und Cloudcomputing

29 Vielen Dank für Ihre Aufmerksamkeit.
Ihre Fragen bitte! Vielen Dank für Ihre Aufmerksamkeit. HTWdS, Softwarearchitektur: Grid- und Cloudcomputing


Herunterladen ppt "HTW Softwarearchitektur: Grid- und Cloudcomputing"

Ähnliche Präsentationen


Google-Anzeigen