Client/Server 2.0 – oder doch schon 3.0?

In der Geschichte der IT wechseln sich die unterschiedlichen Konzepte für die Technik in munterer Reihenfolge ab. Zuerst kamen die großen Mainframes, dann wurde die Technik kleiner und kompakter, so dass auch einzelne Arbeitsplatzrechner möglich wurden. Später wurde das Konzept der Mainframes wieder aufgegriffen – als Kombination von Client und Server, wobei der Server Dienste bereitstellt, die von den Clients genutzt werden. Dadurch konnte ein leistungsfähiger Server mit vielen kostengünstigen Clients verbunden werden, was unterm Strich günstiger war, als entsprechend viele besser ausgerüstete Einzelrechner anzuschaffen.

Mit wachsender Leistungsfähigkeit wurde dieses Konzept dann immer weiter aufgeweicht, immer mehr Aufgaben wurden wieder direkt auf den Clients erledigt und der Server konnte dadurch noch wesentlich mehr Clients gleichzeitig bedienen. In dieser Phase entstanden auch die ersten komplett webbasierten Anwendungen, bei denen der Client nur noch einen Browser auszuführen braucht. Daraus entstanden Thin Clients, die sehr preisgünstig zu erstehen waren, dafür allerdings auch für wenig außer der Terminalarbeit am Server taugten.

Mit der wachsenden Leistungsfähigkeit der IT-Systeme wird die Rollenverteilung nun ein weiteres Mal aufgeweicht: Immer häufiger kommen verteilte Systeme zum Einsatz, bei denen ein Teilnehmer, auch Node genannt, keine festgelegte Rolle mehr hat, sondern gleichzeitig Client und Server sein kann. Daraus ergibt sich ein Netz gleichberechtigter Nodes, was zur Formung des Begriffes Peer2Peer (Peer = Ebenbürtiger, Kollege) führte. Obwohl viele webbasierte Anwendungen noch immer klassisches Webhosting nutzen, geht die starre Rollenverteilung zunehmend verloren. Für Anbieter von Dienstleistungen im Bereich Profi Webhosting bedeutet dies eine große Herausforderung, da die neuen Techniken auch einen veränderten Anspruch an die Systeme haben, auf denen sie laufen.

Ein gutes Beispiel dafür ist etwa git – ein verteiltes System zur Sourcecode-Verwaltung und Versionierung. Bei typischen „Billighostern“ kann schnell die Leistungsgrenze erreicht sein – mit allen unerwünschten Folgen. Empfehlenswerter ist ein Blick in das Marktsegment Profi Webhosting, dort finden sich routinierte, erfahrene Dienstleister, denen man seinen hart erarbeiteten Programmcode getrost anvertrauen kann.
Dabei hat git noch den Vorteil, dass das Repository verteilt ist, d.h. jeder Projektteilnehmer hält auf seiner Festplatte eine vollständige Kopie des ganzen Repositories vor. Und eben hieraus ergibt sich der Leistungsbedarf bei git: Bei jedem Abgleich mit dem Repository müssen alle Änderungen auf beiden Seiten miteinander abgeglichen werden, etwaige Konflikte müssen vom Entwickler überprüft und manuell behoben werden.

Eines ist klar: Die Entwicklung des Internets hat gerade erst begonnen und hält noch viele spannende Wendungen für uns bereit. In zwanzig Jahren wird der durchschnittliche Computernutzer in den Archiven browsen und sich über die ganz offensichtlich vorsintflutlichen Methoden von damals amüsieren – genauso wie wir uns heute schon über den Stand der Informationstechnik in den frühen 90ern amüsieren.