首页 > 代码库 > 云计算初探
云计算初探
0x00 前言
从几年前第一次听说云计算来,到现在云计算、云服务已经充斥着我们的网络生活,比如百度的网盘、阿里巴巴的云主机,各大公司都将这个炒得很热的概念拿来吸引用户的眼球。今天花点时间对云计算做一个初步的了解,对自己做一个扫盲处理。
0x01 什么是云计算
NIST信息技术实验室2009年对云计算的定义如下:云计算是一种模型,能支持便捷地按需通过网络访问一个可配置的共享计算资源池(包括网络、服务器、存储、应用程序、服务),共享池中的资源能以最少的用户管理或最少的服务提供商实现快速供给和回收。---[Effectively and Securely Using the Cloud Computing Paradigm]
对于认为云计算不是新概念的人来说它就是20世纪60年代分时模型的现代版本,不管是分时系统还是NIST给出的定义都还不太直观,浪潮之巅 一书中对云计算的描述倒是比较浅显易懂。采用高速光纤网络连接的数万台服务器级别的大型数据中心的出现,使得计算资源和能力有了共享的可能,这样全世界的计算能力就如天上飘着的一朵朵云,它们之间通过互联网连接。云计算能保证用户在无需自己购置设备的情况下可以随时地访问和处理信息,并且可以与他人方便地共享信息。为了能将成千上万台服务器组织到一起,让终端用户觉得使用云计算的资源就如同使用自家的计算机,需要能做到将一个巨型任务分解为无数小任务,分派到不同服务器中,然后把每一台服务器上完成的小任务合并起来,达到最终完成大任务的目的。另外,还需要能将跨越几个数据中心的服务器资源作为整体完整保存,然后根据用户需求动态分配这些资源。因此,云计算本身是一个很复杂的工程,离不开大型数据中心和高速主干网,所谓的云,本质上就是大型数据中心提供针对终端用户的服务。
云模型由5个基本特征、3个服务模型和4个部署模型。其中5个特征包括:
1. 按需自助服务 2. 普适网络连接 3. 资源池 4. 快速伸缩能力 5. 可被测量的服务
3个服务模型包括:
1. SaaS (Software as a Servie): 通过网络使用提供商的应用程序.
2. PaaS (Platform as a Service): 将用户创建的应用部署到云中.
3. IaaS (infrastructure as a Service): 租赁处理能力、存储能力、网络带宽、及其他基础计算资源
4个部署模型为:
1. 私有云:企业建立或租用的云
2. 社区云: 为某个社区建立的共享基础设施
3. 公共云: 面向大众的超大规模基础设施
4. 混合云: 两个以上的云组合
开放云宣言中,云计算被赋予以下几个特征:(1) 按需扩展 (2) 精简数据中心 (3) 改善业务流程 (4) 最大程度降低创业成本
还可以从不同角度阐述云计算的五个界定特征:
1. 动态计算基础设施 -> 具有标准化的、可扩展的、动态的、虚拟化的、安全的物理基础设施
2. 以IT服务为中心 -> 可以给应用程序或服务提供一个易于访问的专有实例
3. 基于自助服务 -> 针对业务服务提供按需上传、构建、部署、调度、管理和报告的能力
4. 自主管理平台 -> 供给引擎、调度与保留资源的机制、资源访问控制机制
5. 按使用量计费 -> 用户根据使用的资源量支付费用
云计算起源中有如下一些重要因素:
公用计算:将计算资源打包并交付给用户使用,用户以按需付费方式使用资源
网格计算:将多个网络化计算资源的处理能力集中起来解决某个特定问题,是一种基于计算机网络的并行处理方式
自治计算:不受外部控制,计算机在无人干扰的情况下执行关键和复杂的操作
平台虚拟化:将物理计算资源在逻辑上划分为多个运行环境,包括服务器、应用程序和操作系统,在物理计算平台上运行虚拟机,由虚拟机监控器控制
软件即服务:将应用程序作为服务向用户提供,SaaS可提供有效的补丁管理机制
面向服务架构:由一组相互交互的服务组成,这些服务接口对外开放且有文档说明,功能上松耦合,可以被不同组织协调使用
上述几条是用计算的重要组成部分,但它们并不等同于云计算
0x02 云计算的基本特征
按需自助服务:用户可以在无需与云服务提供商联络的情况下根据自己的需求使用云计算资源,可以提高效率并节约成本
普适网络连接:通过低成本的高带宽网络连接到搞利用率的大型IT资源池
位置无关资源池:资源可以在物理上分布于多个位置,当计算需要时作为虚拟组件分配
快速伸缩能力:服务之间为松耦合,对所分配资源可以进行快速、有效增加或缩减,服务的伸缩性彼此之间相互独立
可被测量的服务:用户使用的云计算资源的数量能动态、自动地分配和监控
0x03 云计算的影响
架构方面:云计算需要有高性能、自治的计算,还需要能将服务进行有效的整合,最后具有高度可扩展性的云平台可以使性能根据相应负载的增加而增加
技术方面:(1) 云计算的普及使得厂商之间的竞争加剧,计算成本的降低最终会引发云计算的商品化
(2) 云计算服务提供商需要满足间歇性的峰值需求,还要组织利用过剩的服务器、存储和数据库资源通过云计算服务获取收益
(3) 和普通软件有开源社区一样,也有开源的云计算平台:Globus Nimbus、Eucalyptus、RESERVOIR、Enomalism、Abicloud、Xen等
运维方面:(1) 通过虚拟化和集群进行资源整合,使得多个应用程序可以运行在一台服务器上,当资源过载时,可以将应用程序迁移到其他服务器
(2) 可以通过外包节省成本、提高效率和灵活性并采用弹性的付费方式