"Computación en la nube" es un término general destinado a hacer dos cosas: primero, abstraer todos los usos posibles de un modelo cliente-servidor detrás de un solo término, en oposición a casos de uso más específicos como "servidores de archivos", "servidores de bases de datos", "servidores web", "servidores de aplicaciones", etc .; y segundo, abstraer la arquitectura del servidor en sí, en términos de hardware, topología, ubicación e incluso propiedad.
En un modelo tradicional de cliente-servidor, que definitivamente todavía es de uso común en la actualidad, un cliente se conecta a un servidor que realiza un trabajo en particular. Este servidor puede alojar una base de datos, o una serie de archivos compartidos, o una página web. Cuando el cliente se conecta a ese servidor, existe una comprensión implícita del tipo de comunicación y transmisión de datos que se producirá entre las dos computadoras. También puede haber una comprensión por parte del cliente, o del usuario final, de las capacidades del hardware del servidor y sus limitaciones. Este relativamente "acoplamiento estrecho" entre la máquina del cliente y su servidor puede plantear problemas a un administrador de sistemas que necesita eliminar un servidor para su mantenimiento; todas las aplicaciones que dependen de los recursos proporcionados por este servidor deben apuntar a otro servidor,
En un modelo de nube, el hardware, la topología, la división del trabajo e incluso el número de máquinas reales involucradas se abstraen detrás de un único punto final. La analogía podría extraerse de una "aplicación web" moderna, a diferencia de las generaciones anteriores de "sitio web" que eran más estáticas. Podríamos adivinar que hay un servidor de aplicaciones y un servidor de base de datos detrás de escena, pero realmente no tenemos que preocuparnos; El servidor web, como parte de su trabajo para servir la aplicación completa a los usuarios más allá del "borde", proporciona un punto final unificado que permite el acceso controlado a todos los datos y servicios proporcionados por otras máquinas detrás de esta puerta principal.
El resultado es que, con un único punto final expuesto para proporcionar la funcionalidad de la aplicación, eso es todo lo que un cliente consumidor de la aplicación tiene que preocuparse, en lugar de dónde obtener sus datos, dónde llamar a tal o cual proceso de aplicación remota etc. eso significa que los administradores y arquitectos del proveedor de servicios dentro de esta nube son más o menos libres de cambiar las máquinas, la topología y otros detalles de implementación específicos de este "servicio en la nube" sin que los clientes sean más sabios. Facebook podría, si lo considerara conveniente, reconstruir todo su sistema de almacenamiento de datos desde cero utilizando un DBMS diferente y todos los servidores nuevos, y mientras el sitio permaneciera disponible durante la transición, nadie sería más sabio; de hecho, Facebook hizo exactamente eso, muchas veces,