云计算

云计算是什么 ? 【科普】

[日期:2014-04-16]

来源:中国云计算  作者:中国云计算

[字体:  ]

  老叟发现,即使是一些搞计算机的人,也不了解 是什么。于是,俺卖车之余就写了一篇科普:
   到底什么是云 (云计算)
  有很多关于云的介绍。然而,大都是用比喻的形式来介绍云的属性。比较有名的比喻是餐馆、和电网。但是,云毕竟不是餐馆、或电网,如果只有这些比喻,仍然不清楚到底什么是云。
  本文试图不用任何比喻,直接从普通的PC电脑入手,逐步递进,来介绍云的构成。你只需要具有初中文化,并对CPU、内存、硬盘等计算资源有些基本的概念,就可以了。
   一、传统的电脑
  当你启动一台个人电脑 (PC ) 时,电脑所做的事,就是把硬盘上的操作系统 (OS ,本文以微软的 Windows 8 为例,但也可以是 Unix Linux 等等 ) 的一些基本的控制程序调入到电脑的内存中去。一旦这个过程完成,这台电脑就完全由 Windows 控制了。你所谓的电脑,其实就是你在上面工作的 Windows
  对 Windows 而言,它所赖以运行的,只有电脑的处理器 (CPU) 、内存、和存储设备 ( 硬盘 ) 这三个要素 ( 或者说三项资源 ) 。电脑还有机箱,但那只是起着封装、固定、再加供电的作用 ; 电脑还有主板,但那只是起着电脑内各主要部件通信连接的作用。当然,你可能还需要网络连接, 但那只是一项外在资源,不是 Windows 本身所必需的。作为 PC 机,你还需要键盘和显示器等外部设备来直接在机器上工作。如果是服务器,则不需要键盘和显示器,一切都可以是远程登录访问。
  所以,一台电脑实质上就是在 CPU 、内存、和硬盘上运行的 Windows 。当打开 Windows 的任务管理器,你就会发现, CPU 和内存大部分是闲置的。特别是 CPU ,其利用率通常不到 10% Windows 在硬盘占有的空间一般就是几个 GB 也就是说,一个 Windows 独占了电脑的全部资源,而大部分资源又都是闲置的。
  那么,有没有这种可能:不让一个 Windows 单独控制一台机器,而是在一台机器上安装多个操作系统,并且让它们同时地运行 ?
  有,最好的方案就是虚拟化 --
                                                 
   二、虚拟化
  当安装一台电脑的时候,你不再是安装普通的 Windows ,而是安装一个资源调度程序,也叫 监控程序 ” (Hypervisor) 。这个监控程序很小。取决于哪个厂家的产品,小的只有 100 多兆字节, 大的也只有几个 G 的字节。 监控程序安装完成之后,会得到一个工作界面,你通过这个界面设置一个网络连接 (IP 地址 ) 。这个界面很简单,多数情况下你可以通过浏览器从别的机器上访问这个界面。
  前面说了,一个 Windows 机器,实质上就是一个由 CPU 、内存、和硬盘组成的一个组合体。通过监控程序的界面,你可以建立多个组合体。每个这种组合体,就是一台仿真的电脑。当监控程序创建一个仿真的电脑时,它实际上只是创建了两个文件:一个是关于这个组合体的配置信息 ( 被分配了多少 CPU 、多大内存、多大的硬盘 ); 另外一个文件,这个仿真电脑的 硬盘 ,这个仿真的 硬盘 实际上就是一个封装的文件 ( 在有些情况下,也可以是几个文件 )
  当你点击 开机 来启动这个仿真的电脑的时候,监控程序开始实际为它分配 CPU 和内存、并且启动它。当然,这 仿真的电脑在第一次启动的时候,是没有安装任何操作系统的 裸机 ,那个封装的文件也是空的,这时你可以进行正常的系统安装 ( 比如 安装 Windows)
  对 Windows 而言,它不知道真假,它反正能够得到所需要的 CPU 、内存、和硬盘就可以正常运行了,一切都和真的机器一样。对监控程序而言,这个 Windows 不是直接和硬件打交道的,一切资源都需要监控程序来调度和分配,所以这 ”Windows 机器 ( 组合体 ) 就是一台虚拟的机器,简称 VM
  这种通过监控程序把硬件的机器、同操作系统分开的过程,就是虚拟化。
  当监控程序创建一个VM时,它就给VM配置资源的大小,比如2个1GHz的CPU、2GB内存、和100GB硬盘。这样,这个VM(Windows)就以为自己拥有了双核的1GHz CPU、2GB内存、和100GB 硬盘。但这只是Windows所能使用资源的上限。Windows在实际运行中并不需要消耗那么多,监控程序只是给它按需分配实际消耗的资源,比如 0.1GHz CPU、0.5GB 内存、和20GB 硬盘。表现在实际的硬件消耗上,这20GB的存储量,就是实际硬盘上的那个20GB大小的封装文件。
  一台电脑,可以通过监控程序创建几个、几十个、甚至上百个 VMs 。比如,一台拥有 16GB 内存的 PC 机,你可以创建 10 VMs ,给每个 VM 分配 4GB 内存。看似总共分配出了 40GB 的内存,但 PC 机的实际内存只有 16GB
  通过虚拟化,一个单台的硬件机器可以同时运行多个虚拟的机器 (VMs); 更重要的是,虽然一个虚拟的 Windows 的系统盘 (C ) 上有成千上万个系统文件,但它表现在硬件的存储设备 ( 硬盘 ) 上,只是一个或几个打包的大文件。当你把这一个或几个大文件移到别的地方,整个 VM 就移走了。

                                                  


   三、配载调配和平衡
  如果虚拟化的不只是一台机器,而是 A B 两台,并且两台机器都共享一个大的存储设备 ( 硬盘阵列、或硬盘库 ) ,那会怎样 ?
  前面说了,一个 VM 就是一个 ( 或几个 ) 大文件。如果这个大文件放在共享的存储设备上, A B 两台机器上的监控程序都能看到这个 VM 。那么,这个 VM 既可以在 A 机器上运行、也可以在 B 机器上运行。所谓在哪台机器上运行,就是通过那台机器上的监控程序,把 Windows 启动到其分配的虚拟内存就是了。
  假设 VM1 VM10 10 VMs A 上运行, VM11 VM20 10 VMs B 上运行。现在要对 A 进行关机维护,那么它上面的 10 VMs 就可以在线移动到 B 上,而且所有 10 Windows 都保持不间断,用户根本意识不到变化,因为所移动的东西,只不过是内存中的数据而已。
  这个移动不是由 A 、或 B 指挥的,而是由装在另外一个 C 机器上的专门的数据中心管理软件指挥的。
  这个数据中心管理服务器 C 可以监控 A B 的运行状态,一旦出现资源紧张,它可以自动触发在线迁移,把一个或多个 VM 移到对方的机器上运行。当然,这里需要一个事先设定的阈值标准。
  如果是创建新的 VM C 可以自动决定把新的 VM 放在哪台机器上。
  这里只是假设 A B 两台机器。实际上, C 可以管理几十、几百、上千台机器。共享的存储设备也不止一套,可以是多套 (VMs 也可以在不同的存储设备间移动,只是移动的时间较长而已 )
C 通过各机器上的监控程序,间接管理所有的资源。
  至此,云的雏形出现了,但还不是云。因为,所有的这些管理和控制,都还是数据中心自己的职责。用户还无法对所需要的资源进行自主管理。

                                              
   四、云的最后形成
  数据中心服务器 C 可以不止一个,可以有多个。它们创建和管理的一些 VMs 也许可以供外界的用户访问 ( 比如网站 ) ,但用户无法直接管理 VMs ,更无法管理 C 提供的服务、或资源。
1. 资源池:
  现在,再加一个更上层的服务器 D -- 由它来管理一个或多个 C! 这个 D ,就是云服务器了 :
C 把各自管理的资源提交给 D ,比如,一个或几个 C 总共向 D 提供了 5000GHz CPU 3TB 内存、 3PB 存储空间。 D 再把所有资源组成一个大池子,叫做 资源池
  这个池子的大小是可以动态变化的。当 C 控制的资源增加了、升级了, C 可以动态向这个池子贡献资源,这个庞大的资源池也就随之增长得更大。
2. 二次虚拟:
  为了便于分配和管理, D 把庞大的资源池划分成多个子集 ( 小组 ) ,这每个子集就相当一个虚拟的数据中心 ( 或叫 计算中心 ”)
D 再从各个 计算中心 里提取计算资源,创建一个个用户环境。每个用户环境就相当于一个 机房 ,这个 机房 包括 CPU 、内存、存储等资源。
D 同时还给用户提供登陆访问的接口。用户通常用浏览器来登录这个接口。
  作为用户,当你用浏览器连接到 D 提供的访问界面,就可以建立一个账户,并且输入你的信用卡号。这时,云服务器 D 就可以根据你的要求,提供所需要的 机房
  这个 机房 的大小,完全根据用户的需求而定,比如可以包括 50GHz CPU 100GB 内存、和 2TB 硬盘。这些 机房 的资源,都是由云服务器 D 从它的那些虚拟的 计算中心 里抓给你的。
  通过层层抽象和虚拟,在每个 机房 里,你看不到、也不用去关心每个计算资源实际来自哪里。
3. 用户的自主管理:
  当你作为用户拥有了一个 机房 ,你就可以随意干你所需要的的事:
  建立多台虚拟的机器 (VMs) 。云商在你的机房里已经提供了很多现成的 VM 模板,有各种 Windows 、有各种 Linux 、等等,你可以随意拷贝过来、定制自己的配置、启动,就可以了。当然,你也可以自己从初始安装。
4. 连接到网络:
  在本文开头提到, 网络也是计算资源。在谈及单个 VM 的时候可以暂不谈网络,但是在连接 VM 的时候就需要了。云在给你提供一个 机房 的时候,它已经就按需求给你提供了虚拟的交换机、路由器、 IP 地址池等等。这些网络资源,同样也是由数据中心服务器 C 提供给云服务器 D ;C 则是从所管理的各个监控程序得到 ; 各监控程序管理着实际的硬件网卡。
  从用户的角度,各个 机房 是完全独立的,彼此是不可见的。你在自己的 机房 里干任何事都干扰不了别人的 机房 ,别的 机房 也干扰不了你。
  这就是云。下面还要介绍一些分类。
  这里再回溯一下这个云“机房”的来源:
机房 ”<-- 云服务器 D 管理的虚拟的 计算中心 ”<-- 数据中心服务器 C 提供给 D 的资源池 <-- C 动态管理 A B 两台 ( 或多台 ) 机器所连接的计算资源 <-- A B 两台 ( 或多台 ) 电脑通过监控程序的虚拟化 <-- PC
  在实际配置中, PC 机一般为企业级的服务器所取代,比如联想的 System X 服务器。但这些服务器和 PC 机没有本质区别,性能和可靠性不同而已。
   五、云的种类
  这里描述的云的建立过程和结构,只是一种比较普通和容易理解的形式。由于技术的不同、实现方式的不同,各家云的实现方式和结构会有很大的不同。但是,一些基本的概念是相同的,其共同的核心要点包括:
  一定要有资源池。把分散的计算资源集中到大的资源池里,以方便统一管理和分配。例如前面讲的D所管理的资源池。
  按需分配、自助服务。用户实际消耗多少资源,就被分配多少资源 ; 用户对自己得到的资源能够自助管理。例如前面讲的 机房
  灵活的资源变化。随便撤掉一台硬件的电脑,其上面的信息和活动会自动转移到别处去 ; 随便增加一台电脑,其资源会随时添加到资源池里去。所有这些增减,用户根本意识不到。例如前面讲的 配载调配和平衡
  一定要有记账系统。用户消耗了多少资源,如何给这些资源计费,系统有详尽的信息采集和报告,以便对用户收费 ( 即使是免费,也得有详细的记账 ) 。例如前面提到用户输入信用卡,就是以记账为前提。
  在组建云的技术上,说到底,就是用软件产品 ( 如前面提到的 C D ,并通过监控程序 ) 来管理、组织、和分配经过抽象或虚拟的硬件计算资源。除了个别企业用自己的技术建设、和服务外,现在常见的云技术提供者主要有: VMware 、微软、 Citrix 、和 OpenStack 等。前两者是完全的商业产品 ;Citrix 公司在监控程序上采用的是开源的 Xen;OpenStack 则完全是开源免费的,它的监控程序主要采用开源的 KVM Xen ,也可以是其它的开源软件。
  按照服务的对象和范围,云可以分为三类:
  私有云:建一个云,如果只是为了单位(企业或机构)自己使用,就是私有云。就前面提到的“机房”而言,每个“机房”只是为本单位的不同部门、或不同用途而设立的。
  公众云:如果云的服务对象是社会上的客户,就是公众云。前面提到的 机房 可以是任何社会上的企业、单位、或个人。 Amazon 公司的 AWS 是现在世界上最大的公众云。其它公众云提供商还有 Google Salesforce 、苹果的 iCloud 等等。
  混合云:如果一个云,既是为单位自己使用,也对外开放资源服务,就是混合云。有时,把两个或多个私有云的联合,也叫混合云。
  按照服务的模式,云又分为如下几类:
  基础设施即服务(IaaS):作为一个用户,如果得到了前面的“机房”,那你就拥有了信息系统的基础设施,你可以安装多个服务器,你可以配置自己的网络。由于这个基础设施完全是云所提供的服务,所以叫“基础设施即服务”。
  平台即服务 (PaaS) :你不一定需要 机房 里的所有服务,比如说你只需要 机房 里的一个服务器作为公司软件开发的平台,那么,你得到的这个平台也是以服务的形式出现的。
  软件即服务 (SaaS) :你甚至都不需要管理一整个服务器,你不关心什么服务器、也不关心服务器是怎么工作的,你只需要一种软件的功能。比如,你只想管理公司的客户信息 (CRM) ,你就从云商那里得到完备的 CRM 软件功能。所以,软件也是服务。
  其它 (XaaS) :很多人使用 iCloud ,实际上就用 iTunes 机房 里开了一个用户帐号,这个账号给你提供 5GB 的免费存储空间,如果还需要更大一点,你就需要输入信用卡号了。这是 存储即服务 。你还可以把 PC 机放在云上 ( 当然,你需要有一个小盒子能连到云上,这个小盒子还能连接显示器、键盘、鼠标等 ) ,这就是 桌面即服务 桌面即服务 有另外一个时髦的叫法,即 云桌面 。。。总之,都是 XaaS ,你可以试着把 X 换成任何东西。
  你只要理解了前面说的 机房 ,就可以理解它能提供的各式的服务 (XaaS) ,大到综合性的基础设施,小到单一的云存储,你就不怕别人说一个什么时髦的新服务,都只不过是 机房 里的不同服务花样而已 !
   六、云的诱惑
  试想,有了云上的 机房 ,你如果是中小企业的 IT 部经理或 CIO ,你还会在建设机房上操心供电、空调、消防、设备故障等等琐事吗 ? 你还会去调研购买何种服务器设备吗 ? 你只需要一个帐号、一个信用卡,你就可以在云上 机房 里随意创建任何服务器,喜欢就启动,不喜欢就删除。你可以安装所需要的操作系统、配置任何数据库。你甚至不需要为员工购置 PC 电脑,有 云桌面 就可以了。
  英国政府用不到一年的时间,迅速建起了统一的 政府云 ”( 简称 “G ”) ,目的是把国家各个政府部门的 IT 系统都逐步转移到 G 云上去。自 2012 年正式启用之日起,政府各个部门一律禁止购买硬件的服务器,所有新增内容都必须是从 G 云上创建。

  不管是企业、政府、还是个人,如果想避开云,看来是很困难了。这就是为什么要多少了解一下到底什么是云

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值