云端运算(cloud computing,中国大陆译作云计算,台湾译作云端运算),是一种互联网上的资源利用新方式,可为大众用户依托互联网上异构、自治的服务进行按需即取的计算。由于资源是在互联网上,而在电脑流程图中,网际网路常以一个云状图案来表示,因此可以形象地类比为云运算,‘云端’同时也是对底层基础设施的一种抽象概念。
概念
云端运算简单的说就是将目前个人电脑中的储存,以及运算功能,透过网路全部放进超级电脑,就是所谓的“云”里面。只要进入云端,就可以连接这些超级电脑处理资料。借用趋势科技创办人张明正的比喻,一百年前每个工厂都要自备发电机供电,但是自从发电厂出现,二十年后大家都改用电厂的电,不必再自己发电。因此,云端就好比是发电厂。
云端运算的资源是动态易扩展而且虚拟化的,通过互联网提供。终端用户不需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制,只关注自己真正需要什么样的资源以及如何通过网络来得到相应的服务。
云计算可以认为包括以下几个层次的服务:
基础设施级服务(IaaS)
平台级服务(PaaS)
软件级服务(SaaS)。
云计算服务通常提供通用的通过浏览器访问的在线商业应用,软件和数据可存储在数据中心。
云计算的基本特征
互联网上的云计算服务特征具有和自然界的云、水循环具有一定的相似性,因此,云是一个相当贴切的比喻。通常云计算服务应该具备以下几条特征:
基于虚拟化技术快速部署资源或获得服务
实现动态的、可伸缩的扩展
按需提供资源、按使用量付费
通过互联网提供、面向海量信息处理
用户可以方便地参与
基础设施级服务(IaaS)
图 1. IaaS 的高级视图
图 2. OpenStack 解决方案的核心和附加组件
如图 2 所示,OpenStack 是一个项目集合,整体提供了一个完整的 IaaS 解决方案。表 1 展示了这些项目及其起作用的方面。
表 1. OpenStack 项目和组件
项目 组件 描述
Horizon Dashboard 用户和管理员仪表盘
Nova Compute/block device 虚拟服务器和卷
Glance Image service VM 磁盘映像
Swift Storage as a Service 对象存储
Quantum/Melange Networks 安全虚拟网络
其他重要的方面还包括 Keystone,它实现了对企业私有云十分关键的身份识别服务(对计算服务器、Glance 内的映像以及 Swift 对象存储区的访问方面的管理)。
OpenStack 架构
OpenStack 用三个核心开源项目(如 图 2 所示)来表示:Nova(计算)、Swift(对象存储)和 Glance(VM 存储库)。Nova(或 OpenStack Compute),提供了跨服务器网络的 VM 实例的管理。它的应用程序编程接口 (API) 为试图无知物理硬件和系统管理程序提供了一种计算编排方法。请注意,Nova 不仅提供了用于管理的 OpenStack API,还为那些习惯该界面的人提供了一种 Amazon EC2-兼容 API。Nova 支持组织所使用的专有系统管理程序,但更为重要的是,它支持像 Xen 和 Kernel Virtual Machine (KVM) 这样的系统管理程序,也支持像 Linux Container 这样的操作系统虚拟化。出于开发的目的,还可以使用 QEMU 这样的仿真解决方案。
Swift(或 OpenStack Object Storage)项目可通过配置了普通硬盘的标准服务器提供可伸缩的冗余存储集群。Swift 并不代表一个文件系统,它实现的是一个更为传统的对象存储系统,可用于主要是静态数据(一种关键的使用模型是静态 VM 映像)的长期存储。Swift 不具备集中式控制器,它能改善整体的可伸缩性。它在内部管理跨集群的复制(无需独立磁盘冗余阵列)来提高可靠性。
Glance(或 OpenStack Image Service)为 Nova 能够使用(此选项存储在 Swift 内)的虚拟磁盘映像提供了一个存储库。Glance 提供了一个 API 来注册磁盘映像,此外还提供了通过一个简单的 Representational State Transfer (REST) 界面的发现和交付。Glance 很大程度上对虚拟磁盘映像格式不可知,支持各种标准,包括 VDI (VirtualBox)、VHD (Microsoft Hyper-V)、QCOW2 (QEMU/KVM)、VMDK/OVF (VMware) 以及原始格式。Glance 还提供了磁盘映像校验和、版本控制(和其他元数据)以及虚拟磁盘验证和审计/调试日志。
此核心 OpenStack 项目(Nova、Swift 和 Glance)是使用 Python 开发的,它们都可以在 Apache License 下使用。