Zwei Konzepte kommen sich näher (Teil 1)

Feature | 26. Juli 2006 von admin 0

In der Wirtschaft geht der Trend zunehmend zur Auslagerung von Geschäftsprozessen. Daher benötigen die Unternehmen Software-Lösungen, die ihren Partnern einen dezentralen und trotzdem sicheren Zugriff auf interne Anwendungen und Ressourcen ermöglichen. Dies erfordert verteilte Rechenleistung, aber auch die Möglichkeit, Anwendungsprozesse über Unternehmensgrenzen hinweg zu koppeln.
Angesichts der fortschreitenden Virtualisierung von Unternehmensfunktionen, beispielsweise durch das Outsourcing von Dienstleistungen oder Verwaltungstätigkeiten, erscheint es den meisten Firmen problematisch, sich ausschließlich auf die eigene, zentral betriebene IT-Infrastruktur zu stützen. Daher gehen sie vermehrt dazu über, Rechenkapazitäten und Dienste jeweils nach Bedarf zuzukaufen – nicht zuletzt auch wegen des steigenden Kostendrucks. Genau hier setzen serviceorientierte Architekturen (SOAs) für Grid-Computing an. Helfen Grid-Technologien dabei, den Zugriff auf verteilte IT-Ressourcen – Hardware, Software, Dienste und Daten – weltweit über die Organisationsgrenzen hinweg zu vereinheitlichen, so liefern die serviceorientierten Architekturen den methodischen Überbau wie auch den technischen Rahmen für die Implementierung.

Rechenleistung aus der Steckdose

Der Begriff “Grid” entstand in Analogie zum Stromnetz (“electric power grid”) und beschreibt die Vision, Rechenleistung und Dienste wie “aus der Steckdose” beziehen zu können, ohne sich um die technischen Details im Einzelnen kümmern zu müssen. Seinen Ursprung hat das Grid-Computing in der wissenschaftlichen Datenverarbeitung. Da hier die Leistung eines einzelnen Rechenclusters oder Supercomputers oft nicht ausreicht, werden mehrere Cluster oder Superrechner unterschiedlicher Organisationen zu einem großen Hardware-Grid zusammengeschlossen.
Inzwischen gewinnt jedoch die kommerzielle Nutzung von Grid-Computing an Bedeutung. Eine wichtige Rolle spielt dabei die Integration von Geschäftsprozessen und automatisierten Arbeitsabläufen (Workflows) im Grid auf Basis von Web-Services und serviceorientierten Architekturen.
Nach Ansicht führender Hardware-Anbieter wie IBM und Sun Microsystems werden “Computational Grids” künftig eine ebenso große Bedeutung erlangen wie heute das World Wide Web (WWW). Während das WWW dem Anwender den einfachen Zugriff auf weltweit verteilte Informationen ermöglicht, bieten Grids darüber hinaus einen einheitlichen und sicheren Zugang zu umfangreichen und komplexen Rechenressourcen, Daten und Diensten. Dieser Zugang ist so weit standardisiert, dass Auswahl und Komposition der Services sowie der Zugriff darauf auch ohne menschliches Eingreifen möglich sind, da sich diese Dienste automatisch initialisieren und konfigurieren lassen.

Grundsätzlich unterscheidet man drei typische Ausprägungen von Grid-Computing:

  • Hardware- beziehungsweise Ressourcen-Grids, die Urform des Grid-Computing, stellen umfangreiche Rechenleistung zur Verfügung, um große, häufig wissenschaftliche Rechenprobleme zu lösen, etwa Simulationsrechnungen oder Parameterstudien.
  • Daten- beziehungsweise Informations-Grids dienen dazu, große Datenmengen zu speichern und verteilte Datenbanken über Unternehmensgrenzen hinweg zu organisieren.
  • Software- beziehungsweise Service-Grids ermöglichen es, Software und Dienste organisationsübergreifend zu nutzen. Dabei liegt der Schwerpunkt auf gekoppelter und verteilter Datenverarbeitung.

Die größten Synergieeffekte serviceorientierter Architekturen lassen sich mit dienstorientierten Software-Grids erzielen. Aber auch Anfrageprozesse an verteilte Datenbanken, so genannte Daten-Grids, können als SOAs implementiert werden.

Services nach Bedarf

In einer serviceorientierten Architektur wird Anwendungsfunktionalität für bestimmte Prozesse in einzelne Komponenten gegliedert und jeweils als Web-Services zur Verfügung gestellt. Nach traditioneller Lehrmeinung sollten Web-Services, zum Beispiel zur Online-Abfrage von Aktienkursen, eigentlich zustandslos sein, das heißt, identische Aufrufe sollten immer die gleichen Antworten liefern. In der Praxis ist es jedoch üblich, dass Web-Services den Zustand etwa von Datenbanken nicht nur wiedergeben, sondern auch aktiv ändern. Genau genommen operieren derartige Web-Services-Anwendungen in einer Grauzone, die durch die zugrunde liegenden theoretischen Konzepte nicht abgesichert ist. Im Grid geht es nun zentral darum, den Zugriff auf vernetzte Softwarekomponenten zu organisieren, und die Tatsache, dass fast jede derartige Komponente eigene Zustandsinformationen verwaltet, kann nicht ignoriert werden. Dies war eine wesentliche Motivation für das – als Verallgemeinerung des Web-Service-Begriffs geschaffene – Konzept des Grid-Services. Dabei müssen die für die Ausführung des Dienstes notwendigen, zustandsbehafteten Ressourcen, wie Datenbanken, explizit referenziert, also “beim Namen genannt” werden.
Web-Services sind üblicherweise fest auf einem Rechner installiert. Das Web-Service-Konzept zieht nicht näher in Betracht, was geschieht, wenn beispielsweise ein Dienst von einem Computer zu einem anderen verlegt werden muss. Im Grid-Computing dagegen geht es gerade darum, Dienste dynamisch dort zu betreiben, wo geeignete Kapazitäten frei sind. Der Lebenszyklus eines Dienstes wird explizit betrachtet und auf einheitliche Weise organisiert: Bei Bedarf wird ein Grid-Service über einen so genannten “Factory Service” auf einem geeigneten freien Rechner für die Dauer der Nutzung erzeugt und vernichtet, wenn er nicht mehr benötigt wird. Dabei ist es durchaus möglich, dass eine Anfrage an einen Grid-Service über mehrere Wochen aktiv ist und auf umfangreiche Hardware-, Software- und Datenressourcen zugreift. Darüber hinaus bieten Grid-Services eine bessere Performance und Skalierbarkeit sowie eine größere Sicherheit. Neueste Entwicklungen zielen außerdem darauf ab, auch die Reservierung und das automatische Bereitstellen von geeigneten Ressourcen zu ermöglichen – damit rückt das Ziel einer vollständigen Ressourcenvirtualisierung im Grid in greifbare Nähe.
In Kombination mit einer SOA ermöglichen Grid-Services einerseits eine flexiblere Ressourcenausnutzung bei variierender Last, andererseits neue Strategien, um Sicherheits- und Verlässlichkeitsanforderungen zu erfüllen. So lassen sich kritische Dienste dynamisch replizieren oder an wechselnden Standorten betreiben.
Ein wichtiger Grid-Standard ist das “Web Service Resource Framework” (WSRF), das von der Organization for the Advancement of Structured Information Standards (OASIS) entwickelt wurde. Es spezifiziert die Realisierung von Grid-Services in einer SOA, indem es – wie oben beschrieben – Web-Services durch den Begriff der zustandsbehafteten Ressource erweitert. Die “Open Grid Services Architecture” (OGSA) ist ein Architekturmodell des Open Grid Forums (ehemals Global Grid Forum), das auf zustandsbehafteten Diensten basiert. Die bekannteste Implementierung von WSRF unter Berücksichtigung der OGSA ist das Globus Toolkit 4 (GT4). Es stellt die Grundlage für eine Vielzahl aktueller, insbesondere wissenschaftlicher Grid-Projekte dar, zum Beispiel für das europäische EGEE-Projekt (Enabling Grid for E-Science) oder das TeraGrid-Projekt in den USA.

Verhilft SOA dem Grid-Computing zum Durchbruch?

Am meisten profitiert das Grid in Bezug auf das Programmiermodell und das Architekturkonzept von der SOA. In der Vergangenheit wurden eine Vielzahl konkurrierender, nicht kompatibler Programmiermodelle und Architekturen verwendet, sodass die Vision eines einheitlichen, weltweiten Grids in weite Ferne rückte. Mit dem Aufkommen des SOA-Paradigmas und der globalen Verbreitung der damit verbundenen Web-Services-Standards ist mit WSRF erstmals eine international akzeptierte Norm zur Realisierung eines globalen Grids in Aussicht. Dies kann dem Grid-Computing mittelfristig zum Durchbruch verhelfen.
Umgekehrt lassen sich Grid-Technologien insbesondere bei der Virtualisierung und Komposition von Ressourcen in einer SOA nutzen. Die Anwender hantieren dann mit abstrakten Diensten, ohne sich um die technischen Details der Implementierung kümmern zu müssen. Ein weiterer Vorteil von Grid-Technologien in einer SOA liegt in den Mechanismen zur Komposition und Ausführung leistungsfähiger und sicherer Workflows. Dabei dient das Grid als Backend und Middleware der SOA.
Beispiele für das Zusammenspiel von Grid-Computing und SOA schildert der zweite Teil des Artikels.

Michael John

Michael John

Thilo  Ernst

Thilo Ernst

Andreas Hoheisel

Andreas Hoheisel

Tags:

Leave a Reply