“云计算”是一个笼统的术语,旨在做两件事:首先,将客户-服务器模型的所有可能用法抽象为一个术语,而不是像“文件服务器”,“数据库服务器”, “ Web服务器”,“应用程序服务器”等;第二,从硬件,拓扑,位置甚至所有权方面抽象服务器体系结构本身。
在今天肯定仍然普遍使用的传统客户端-服务器模型中,客户端连接到执行特定工作的服务器。该服务器可以托管数据库或一系列文件共享或网页。当客户端连接到该服务器时,将对两台计算机之间的通信和数据传输类型有一个隐含的理解。客户端或最终用户可能还了解服务器硬件的功能及其限制。客户端计算机与其服务器之间的这种相对“紧密的耦合”会给需要拆卸服务器进行维护的系统管理员带来麻烦。所有依赖于此服务器提供的资源的应用程序都必须指向另一台服务器,
在云模型中,硬件,拓扑,工作分工,甚至所涉及的实际计算机数量都在单个端点后抽象出来。可以比喻为现代的“ Web应用程序”,而不是更老的“网站”。我们可能会猜测幕后有一个应用程序服务器和一个数据库服务器,但是我们真的不必在意;Web服务器作为向“边缘”以外的用户提供完整应用程序的工作的一部分,提供了一个统一的端点,该端点允许以受控方式访问前门后面其他机器提供的所有数据和服务。
结果是,只有一个端点可以提供应用程序的功能,这才是该应用程序的客户消费者所关心的所有事情,而不是在何处获取其数据,在何处调用此类远程应用程序流程等;这意味着该云中服务提供商的管理员和架构师或多或少可以自由地更改此“云服务”的机器,拓扑和其他特定的实现细节,而无需使客户更明智。如果认为明智的话,Facebook可以使用不同的DBMS和所有新服务器从头开始重建整个数据存储系统,而且只要站点在过渡期间保持可用,就没有人会明智。实际上,Facebook只是这样做了很多次,