今天,我们又卷完了另一个系列:玩转企业云计算平台 OpenStack 服务。
狭义的理解,云计算是分布式计算的集中,可以将一个复杂的计算任务分解后分配给“云”上的多台设备上。目前,在广义上讲,云计算是一种全新的概念,而不是一种全新的技术。所谓“云计算”,就是把计算资源、存储资源、网络资源等抽象为一个“云”,并且能够对外提供服务。之所以说云计算不是全新的技术,就是因为这种“云”的实现没有使用全新的技术,而是将之前的技术进行了整合,最终退出的一项互联网网络服务。
按照云计算提供的服务不同进行分类,云计算可以分为以下三类:
所谓IaaS,即Infrastructure as a Service,基础设置即服务,云计算提供者向用户提供的是虚拟化的资源,比如计算资源、存储资源、网络资源等等。用户所能够使用的也是这些虚拟化的资源。阿里云、腾讯云、亚马逊云等云服务提供商的虚拟机服务即属于这种。
所谓PaaS,即Platform as a Service,平台即服务,云计算提供者向用户提供的是一个平台,比如一个开发编译环境,PaaS主要面向的是开发者。在各大云服务提供上的基础上,有些服务提供上会在提供虚拟机的基础上,帮助我们来安装一系列的环境,在这种情况下勉强可以算是PaaS。
所谓SaaS,即Software as a Service,软件即服务,云计算提供者向用户提供的是应用软件或者是应用服务。我们常见的百度网盘就可以算作这种。
云计算上述三种服务提供方式的区别如下图所示:
在上图中,黑色部分为云服务提供上需要部署的设备或应用,红色部分为购买云服务的企业或者个人需要部署的设备或应用。
云计算具有以下特点:
云计算使用虚拟化技术,突破了应用底层架构与上层服务之间的联系,因此支持动态扩展集群。
借助虚拟化技术,云计算可以按照用户需求给用户提供不同的服务,提供不同级别的运算、存储、网络等资源。
云计算集群通常兼容性比较好,可以支持大部分的硬件、操作系统。
因为云计算服务的提供依靠的是服务器集群,因此避免了服务器单点故障。一台服务器一旦出现故障,那么该服务器上的应用可以在管理控制平台的操作下转移至其他的服务器,从而不会影响服务的正常提供。
云计算可以将运算、存储和网络等资源统一管理、统一分配、按需供给,用户只需要购买相应的服务即可,而不需要购买昂贵的大型服务器。
OpenStack是由一系列具有RESTful接口的Web服务所实现的,是一系列组件服务集合。Openstack 是一个云平台管理的项目,我们可以使用Openstack来构建一个私有云架构,并提供IaaS的云服务。Openstack包含三大项:计算、网络和存储。其主要目标是简化资源的配置和管理,把计算、网络和存储资源抽象成虚拟资源池,并根据需要对外提供服务。
Openstack官网网址为:https://www.openstack.org/,其首页如下所示:
模块松耦合:与其他开源软件相比,OpenStack模块分明。添加独立功能的组件非常简单。有时候,不需要通读整个OpenStack的代码,只需要了解其接口规范及API使用,就可以轻松地添加一个新的模块
组件配置较为灵活:OpenStack也需要不同的组件。但是OpenStack的组件安装异常灵活。可以全部都装在一台物理机上,也可以分散至多个物理机中,甚至可以把所有的结点都装在虚拟机中。
二次开发容易:OpenStack发布的OpenStack API是Rest-full API。其他所有组件也是采种这种统一的规范。因此,基于OpenStack做二次开发,较为简单。而其他3个开源软件则由于耦合性太强,导致添加功能较为困难。
兼容性:OpenStack兼容其他公有云,方便用户进行数据迁移。
可扩展性:模块化设计,可以通过横向扩展,增加节点、添加资源