Aktuelle Weitverkehrsnetze erreichen mit 1 bis 10 GBit/s ähnliche Bandbreiten wie gängiges Ethernet. Ein Client erreicht somit einen Server im Internet ähnlich gut wie den im Serverraum nebenan. Ist die topologisch weiter entfernte Rechenressource nun potenter als die leichter zugängliche, kann es darum durchaus Sinn ergeben, mindestens einzelne Aufgaben in die Internetwolke auszulagern. Alle paar Jahre wird diese eigentlich einleuchtende Idee zum Kern einer neuen Entwicklung:
- Server-based Computing (SBC) und Thin Clients
-
Application Service Provision oder Application Solution
Providing(ASP), später Software-as-a-Service (SaaS)
- Grid Computing
- Utility Computing
- Service-oriented Architectures (SOA) und Webservices
- Meta-Computing
- Enterprise Application Integration
- Infrastructure-as-a-Service (IaaS)
- Platform-as-a-Service (PaaS)
- Storage-as-a-Service
- HPC-as-a-Service ...
- Cloud-Computing
Selbst Human-as-a-Service soll es geben. Man ahnt es: Nicht alles ist neu.
Gemeinsam ist den meisten der Wunsch, organisations- oder weltweit verteilte Ressourcen den verteilt agierenden Nutzern transparent zugänglich zu machen: Im Idealfall kann der User nicht unterscheiden, ob gerade sein eigener Computer für ihn arbeitet oder ein entfernter.
An einer Schwierigkeit laborieren alle Entwicklungen auch. So reicht zwar meist sogar eine DSL-Verbindung, um entfernte Dienste interaktiv zu nutzen. Wegen Netzwerk-Latenzen dauert es andererseits schon mal eine drittel Sekunde, bis eine Antwort aus Australien in Mitteleuropa ankommt - die Verarbeitungszeit für die Anfrage nicht mitgerechnet.
Für ein Flugbuchungssystem, das ein Mensch tippend bedient, spielt das keine Rolle. Für verteilte umfangreiche Berechnungen, die viel Kommunikation zwischen den Rechenknoten erfordern, ist eine drittel Sekunde aber eine halbe Ewigkeit. Hier steuern Cloud-Anbieter gegen, etwa mit regionalen Frontends zur flotteren Ausliefen der Daten [2].
Vorläufer SOA
Der Begriff Service-orientierte Architektur bezeichnet das Abbilden von Geschäftsprozessen auf Webservices niedrigerer Ebene. Als Service gilt eine Applikation, die standardisiert über eine XML-Schnittstelle ansprechbar ist. Zur Kommunikation kommt meist SOAP (Simple Object Access Protocol) zum Einsatz, in älteren Anwendungen auch XML-RPC (XML Remote Procedure Call). WSDL (Web Services Description Language) beschreibt die vom Webservice unterstützten Methoden einschließlich ihrer Datentypen.
Durch das Zusammensetzen von Diensten aus elementaren Angeboten lassen sich wieder verwendbare und in mehreren Umgebungen nutzbare, an Services orientierte Architekturen aufbauen - so die Theorie. Die einzelnen Webservices dürfen natürlich weltweit verteilt laufen. Um SOA entstand zu seiner Zeit ein Hype, aus dessen Abebben sich aber nicht schließen lässt, dass die dahinter stehende Idee obsolet ist (Abbildung 1).
Abbildung 1: Das stetige Neuerfinden von Begriffen für verteiltes Rechnen spiegelt sich sogar in Cartoons wieder. Im Webcomics „From hype to hype“ betrachten zwei Personen ein totes SOA-Pferd [1]. Einer sagt: „Lass es uns in der Cloud verstecken.“
Vorläufer Grid
Einen ähnlichen Weg hat das Grid Computing, die "Rechenzeit aus der Steckdose", seit 1998 hinter sich. In der Tat leitet sich der Begriff vom englischen "Electical Power Grid" (Stromnetz) ab [3]. Heute, zwölf Jahre später, betreibt das Projekt Enabling Grids for E-Science (EGEE, [4]) die vermutlich größte real existierende Grid-Infrastruktur.
Mit Rechenzeit aus der Steckdose hat das aus einem EU-Projekt hervorgegangene Grid allerdings nur wenig zu tun. Hinter einer einheitlichen Schnittstelle sind 150 000 CPU-Kerne in 260 Rechenzentren so zusammengeschaltet, dass sie wie eine einzige Rechenressource aussehen. Ähnlich wie in einem Hotel leitet ein Broker täglich 330 000 Programme - meist wissenschaftlicher Provenienz - zu solchen Zentren, die sowohl freie Kapazitäten haben, als auch über die für die Applikation notwendigen Datensätze verfügen. Dort schleust sie ein lokales Batch-Submission-System an die lokalen Rechenknoten. Eines der 13 Herzen des EGEE-Grid steht übrigens in Deutschland, das Gridka-Rechenzentrum im Karlsruhe Institute of Technology [5].
Open Source spielt bei Grids eine tragende Rolle. Praktisch überall auf dem EGEE-Grid läuft Scientific Linux, ein Fedora-Abkömmling. Als Middleware kommt oft die Open-Source-Software G-Lite zum Einsatz, auch Unicore oder Globus sind vertreten. Der anfängliche Grid-Hype ist wie bei SOA der Ernüchterung gewichen. So überschrieb Sun 2001 seinen Stand auf Supercomputing-Messen mit "Sun powers the Grid". Heute werben große Hersteller nur noch für das neue Neue: Cloud Computing.