NIST的Peter Mell和Tim Grance在2009年4月提出了一个云计算的定义,这可能是目前唯一一个得到广泛认同和支持的定义。
在参考文献1里,NIST对云计算定义如下:
云计算是一种能够通过网络以便利的、按需付费的方式获取计算资源(包括网络、服务器、存储、应用和服务等)并提高其可用性的模式,这些资源来自一个共享的、可配置的资源池,并能够以最省力和无人干预的方式获取和释放。这种模式具有5个关键功能,还包括3种服务模式和4种部署方式。
5大核心特点
NIST提出了云计算系统需提供的五大核心特点。
1. 按需自助服务(On Demand Self-Service):
供应商的资源保持高可用和高就绪的状态,用户可以按需方便地自助地获得资源。
2. 泛在的网络访问(Broad Network Access):
可以通过各种网络渠道,以统一标准的机制(如浏览器,相同的API等)获取服务,但是客户端可以是多种多样的瘦客户端或富客户端(例如移动电话、笔记本电脑、PDA等)。
3. 动态的资源池(Resource Pooling):
供应商的计算资源可以被整合为一个动态资源池,以多租户模式服务所有客户,不同的物理和虚拟资源可根据客户需求动态分配。服务商需实现资源的位置无关性,客户一般不需要知道所使用的资源的确切地理位置,但在需要的时候客户可以指定资源位置(如哪个国家,哪个数据中心等)的要求。
4. 快速弹性(Rapid Elasticity):
可以迅速、弹性地提供服务,能快速扩展,也可以快速释放实现快速缩小。对客户来说,可以租用的资源看起来似乎是无限的,可在任何时间购买任何数量的资源。
5. 可计量的服务(Measured Service):
服务的收费可以是基于计量的一次一付,或基于广告的收费模式。系统以针对不同服务需求(例如,CPU时间、存储空间、带宽、甚至按用户账号的使用率高低)来计量资源的使用情况和定价,以提高资源的管控能力和促进优化利用。整个系统资源可以通过监控和报表的方式对服务提供者和使用者透明化。
3种服务模式
按NIST的定义,云计算的三个服务模式(Delivery Models)是:SaaS、PaaS和IaaS。
SaaS:提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过瘦客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储,等等。
PaaS:提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java、python、.Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上。客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置。
IaaS: 提供给消费者的服务是对所有设施的利用,包括处理、存储、网络和其他基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、储存空间、部署的应用,也有可能获得有限制的网络组件(例如,防火墙、负载均衡器等)的控制。
2种部署方式
NIST把云计算系统的部署方式或存在实体分为四大类:
l 私有云(Private Cloud):
云基础设施被某单一组织拥有或租用,可以坐落在本地(on Premise)或(防火墙外的)异地,该基础设施只为该组织服务。
l 社区云(Community Cloud):
或称机构云,云基础设施被一些组织共享,并为一个有共同关注点的社区或大机构服务(例如,任务、安全要求、政策和准则等),社区云可以被该社区拥有和租用,也可以坐落在本地、(防火墙外的)异地或多地。笔者认为,社区云可能是一组私有云通过VPN(Virtual Private Network)连接到一起的VPC(Virtual Private Cloud),是混合云的一种。
l 私有云(Private Cloud):
云基础设施被某单一组织拥有或租用,可以坐落在本地(on Premise)或(防火墙外的)异地,该基础设施只为该组织服务。
l 社区云(Community Cloud):
或称机构云,云基础设施被一些组织共享,并为一个有共同关注点的社区或大机构服务(例如,任务、安全要求、政策和准则等),社区云可以被该社区拥有和租用,也可以坐落在本地、(防火墙外的)异地或多地。笔者认为,社区云可能是一组私有云通过VPN(Virtual Private Network)连接到一起的VPC(Virtual Private Cloud),是混合云的一种。