云原生架构:从技术演进到最佳实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第3章 云计算

3.1 云计算概述

说起云计算及其诞生,必须要说的一个问题就是虚拟化的不足,正是因为虚拟化存在不足之处,计算机科学家们才希望通过一种更加先进的技术来解决各类技术问题,而这种技术就是云计算。

3.1.1 虚拟化的不足

虚拟化软件解决了硬件资源利用率的问题。虚拟化软件可以用于创建虚拟机,但需要事先人工指定将虚拟机放在哪台物理服务器上。虚拟化技术缺乏以下三大灵活性。

时间灵活性:虚拟化服务并非随时可用,服务商无法随时确保服务的可用性。同时虚拟化的过程还需要比较复杂的人工配置,随着集群规模的扩大,人工配置愈加复杂、耗时。所以,仅通过虚拟化软件管理的物理服务器规模并不是特别大,一般是几十台至百台的规模。

空间灵活性:缺乏分布式部署,无法实现资源弹性扩展。当用户数量增多时,虚拟化软件所能管理的集群规模远未达到理想的程度,很可能造成资源不够。所以,随着对集群规模的需求越来越大,必须采取自动化的流程来实现资源弹性扩展。

操作灵活性:缺乏统一的自动化管理。虽然创建一台虚拟机的过程相对较为基础,但是操作的灵活性意味着用户可以更方便、迅速地对资源进行更进一步的管理操作,所有操作都可以通过自动化脚本来实现。而云计算的目标,就是解决这三大灵活性的问题。云控制平台通过调度器(Scheduler)来管理由几千台物理服务器抽象而来的虚拟资源池,无论用户需要多少CPU、内存、硬盘资源的虚拟机,调度器都会自动在资源池中匹配到最合适的资源,通过虚拟机的形式供给资源,并做好配置。这个阶段我们称为“池化”或者“云化”。虚拟化的能力和灵活性到了这个阶段,才可以被称为“云计算”,在这之前都只能叫作“虚拟化”。

3.1.2 云计算的特点

云计算指IT基础设施的交付和使用模式,用户可以通过网络,以按需、易扩展的方式获得所需资源。从广义上讲,云计算指服务的交付和使用模式,用户可以通过网络,以按需、易扩展的方式获得所需服务。具体来说,云计算的特点如图3-1所示。

图 3-1

按需自助:用户无须与服务提供商交互,就可以自动地得到自助的计算资源能力,如服务器的时间、网络存储等(资源的自助服务)。

访问无边界:借助不同的客户端,通过标准的应用对网络访问的可用能力。

资源池化:根据用户的需求动态地划分或释放不同的物理资源和虚拟资源,这些池化的计算资源以多租户的模式来提供服务。用户通常不需要控制或了解这些资源池的准确划分,但是需要知道这些资源池在哪个行政区域或数据中心,例如包括存储、计算处理、内存、网络带宽以及虚拟机数量等。

极速伸缩:一种对资源快速和弹性提供的能力以及释放的能力。对用户来讲,这种能力是无限的(随需的、大规模的计算机资源),并且可在任何时间以任何量化方式购买。

量化服务:云系统通过计量的方法来自动控制服务的类型,优化资源的使用,例如存储、带宽以及活动用户数。监测和控制资源的使用,为供应商和用户提供透明的报告(即付即用的模式)。

云连接着网络的另一端,为用户提供了可以按需获取的弹性资源和架构。用户按需付费,从云上获得所需的计算资源,包括存储、数据库、服务器、应用软件及网络等资源,大大降低了使用成本。云计算的本质是从资源到架构的全面弹性,这种具有创新性和灵活性的资源使用降低了运营成本,更加契合变化的业务需求。云计算把一台台服务器连接起来构成一个庞大的资源池,以获得超级计算机的性能,同时又保证了较低的成本。云计算的出现使高性能并行计算走近普通用户,让计算资源像用水和用电一样方便,从而大大提高了计算资源的利用率和用户的工作效率。云计算模式可以被简单地理解为,不论是服务的类型,还是执行服务的信息架构,依托互联网向用户提供应用服务,使其不需要了解服务器在哪里、内部如何运作,通过浏览器即可使用。