"Cloud Computing" ist ein umfassender Begriff, der zwei Aufgaben erfüllt: Erstens, um alle möglichen Verwendungen eines Client-Server-Modells hinter einem einzigen Begriff zu abstrahieren, im Gegensatz zu spezifischeren Anwendungsfällen wie "Dateiserver", "Datenbankserver", "Webserver", "Anwendungsserver" usw .; und zweitens, um die Serverarchitektur selbst in Bezug auf Hardware, Topologie, Standort und sogar Besitz zu abstrahieren.
In einem traditionellen Client-Server-Modell, das heute definitiv noch gebräuchlich ist, stellt ein Client eine Verbindung zu einem Server her, der einen bestimmten Job ausführt. Dieser Server kann eine Datenbank, eine Reihe von Dateifreigaben oder eine Webseite hosten. Wenn der Client eine Verbindung zu diesem Server herstellt, besteht ein implizites Verständnis für die Art der Kommunikation und Datenübertragung, die zwischen den beiden Computern stattfinden wird. Der Client oder der Endbenutzer hat möglicherweise auch Verständnis für die Funktionen der Serverhardware und deren Einschränkungen. Diese relativ "enge Kopplung" zwischen dem Clientcomputer und seinem Server kann für einen Systemadministrator, der einen Server zur Wartung ausschalten muss, Probleme bereiten. Alle Anwendungen, die von Ressourcen abhängen, die von diesem Server bereitgestellt werden, müssen auf einen anderen Server verweisen.
In einem Cloud-Modell werden die Hardware, die Topologie, die Arbeitsteilung und die gerade Anzahl der beteiligten Maschinen hinter einem einzelnen Endpunkt abstrahiert. Die Analogie könnte zu einer modernen "Webanwendung" gezogen werden, im Gegensatz zu älteren Generationen von "Websites", die statischer waren. Wir könnten vermuten, dass sich hinter den Kulissen ein Anwendungsserver und ein DB-Server befinden, aber das muss uns wirklich nichts ausmachen. Der Webserver stellt als Teil seiner Aufgabe, die vollständige Anwendung für Benutzer über den "Rand" hinaus bereitzustellen, einen einheitlichen Endpunkt bereit, der den kontrollierten Zugriff auf alle Daten und Dienste ermöglicht, die von anderen Computern hinter dieser Eingangstür bereitgestellt werden.
Das Ergebnis ist, dass mit einem einzelnen Endpunkt, der für die Bereitstellung der Funktionalität der Anwendung verfügbar ist, sich ein Client-Benutzer der Anwendung nur darum kümmern muss, wo er seine Daten erhält, wo er einen solchen und einen solchen Remote-Anwendungsprozess aufrufen kann , etc; Dies bedeutet, dass die Administratoren und Architekten des Dienstanbieters in dieser Cloud mehr oder weniger die Möglichkeit haben, die Maschinen, die Topologie und andere spezifische Implementierungsdetails dieses "Cloud-Dienstes" zu ändern, ohne dass die Kunden dies wissen. Wenn Facebook es für sinnvoll hält, kann es sein gesamtes Datenspeichersystem mit einem anderen DBMS und allen neuen Servern von Grund auf neu erstellen. Solange die Website während des Übergangs verfügbar bleibt, wird niemand klüger sein. in der Tat tat Facebook genau das, viele Male,