1.7 云——考虑NRT和物联网
“云”不过是一个术语,用来识别互联网上可以获得的计算能力。大部分人都熟悉物理机器、服务器和数据中心。云的出现把我们带到了一个虚拟化的世界,在那里我们正在向虚拟节点、虚拟化集群甚至虚拟数据中心转移。现在,使用硬件虚拟化手段在几台物理机上就可以搭建一个虚拟机集群。这就像是让软件运行在硬件上一样。下一步是实现云服务,我们在其上托管了所有虚拟主机上的计算资源,并且可以通过互联网获取。
云服务包括基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)和软件即服务(Software as a Service,SaaS)这3种类型。
●基础设施即服务:它基本上是基于物理计算机的云变体。实际上它通过在网络上运行的虚拟化层取代了实际机器、服务器和硬件存储以及网络。IaaS允许读者构建整个虚拟基础设施,其实质是模拟实际硬件的软件。
●平台即服务:一旦解决了硬件虚拟化部分,下一个显而易见的步骤是考虑在原始计算机硬件上操作的下一层。这是一个将程序和组件绑定在一起的组件,如数据库、服务器、文件存储等。例如,在这里,如果数据库作为PaaS公开,那么程序员可以将其用作服务,而不必担心存储容量、数据保护、加密、复制等较低级的细节。PaaS的著名例子是Google App引擎和Heroku。
●软件即服务:这一层是云计算栈中的最上层,实际上是提供解决方案作为服务的层。这些服务是按每个用户或每月来收费的,这种模式确保最终用户可以灵活地注册和使用服务,而无须支付任何许可证费用或锁定时间。一些广为人知的典型例子是Salesforce Customer 360平台和Google App。
现在我们已经了解并熟悉了云,接下来需要理解的是云计算究竟意味着什么,为什么说“云的出现正在拉下传统数据中心时代的帷幕”。再来了解一下云计算的一些关键优点——这实际上使这个平台成为NRT和物联网应用程序的核心。
云服务是按需的。用户可以根据需要和负载提供计算组件/资源。在未来的若干年里,我们没有必要在基础设施上进行巨额投资,也没有必要进行规模化投资,而是可以提供一个足以满足当前需求的集群,然后在需要时通过请求更多的随需应变实例来扩展集群。因此,人作为用户所得到的保证是,在需要一个实例时,会得到一个相同的实例。
云服务允许构建真正有弹性的应用程序。这意味着根据负载和需求,部署可以扩容和降容。这是一个巨大的优势,而且基于云的方式有着很高的成本效益。如果用户有一个应用程序在每个月的第一天流量出现偶发性激增,那么,在云环境下,用户就不需要在30天内都提供满足第一天流量激增需求所要配备的硬件。相反,用户可以提供平均一天所需的资源,并构建一种机制来扩展自己的集群,以满足第一天的激增,然后在每月的第二天自动缩至平均大小。
这就是回报。这是云最有趣的特点,它击败了传统硬件供应系统——建立一个数据中心时,必须预先规划金额巨大的投资。在云数据中心环境下,用户不需要这样的成本,只为正在运行的实例付费就够了,而这种付费通常是按小时计算的。