O014、云计算与OpenStack
云计算 基本概念
所有的新事物都不是突然冒出来的,都有前世和今生。云计算也是IT技术不断发展的产物。要理解云计算,需要对IT系统架构的发展过程有所认识,请看下图
IT 系统架构发展到目前为止大概分为三个阶段:
1、物理机架构这一阶段,应用部署和运行在物理机上。比如企业要上一个ERP系统,如果规模不大,可以买3台物理机,分别部署 web 、application 、 db 。如果规模大一点,各种服务器采用集群架构,但每个集群成员也还是直接部署在物理机上。这种架构一套应用一套服务器,通常系统的资源使用率都很低,达到 20% 的都是好的。
2、虚拟化架构摩尔定律决定了物理服务器计算能力越来越强,虚拟化技术的发展大大提高了物理服务器的资源使用率。这个阶段,物理机上运行若干虚拟机,应用系统直接部署到虚拟机上。虚拟化的好处还体现在物理机的数量减少了,节省了机柜位置,同时也节省了维护成本。
3、云计算架构虚拟化提高了单台物理机的资源使用率,随着虚拟化技术的应用,IT环境中越来越多的虚拟机,这时新的需求产生了:如何对IT环境中的虚拟机进行统一和高效的管理。有需求就有供给,云计算登上了历史舞台
计算(CPU/内存)、存储和网络是IT系统的三类资源。通过云计算平台,这三类资源变成了三个池子。当需要虚机的的时候,只需要向平台提供虚机的规格,平台会迅速从三个资源池充分配相应的资源,部署出这样一个满足规格的虚机。虚机的使用者不在需要关系虚机运行在哪里,存储空间从哪里来,IP是如何分配的,这些云平台都搞定了
云平台是一个面向服务的架构,按照提供服务的不同分为 IaaS 、PaaS 、 SaaS,请看下图
IaaS(infrastructure as a Service )
提供的服务是虚拟机。IaaS 负责管理虚机的生命周期,包括创建、修改、备份、启停、销毁等。使用者从云平台得到的是一个已经安装好的镜像(操作系统+预装软件比如lamp环境)的虚拟机。使用者需要关系的是虚拟机的类型(OS)和配置(CPU、内存、磁盘),并且自己负责部署上层的中间件和应用。IaaS 的使用者通常是数据中心的系统管理员。典型的IaaS 例子有 AWS 、阿里云等
PaaS(Platform as a Service)
提供的服务是应用的运行环境和一系列中间件服务(比如数据库、消息队列等)。使用者只需专注应用的开发,并将自己的应用和数据部署到PaaS环境中。PaaS 负责保证这些服务的可用性和性能。PaaS 的使用者通常是应用的开发人员。典型的PaaS 有 Heroku、Google App Engine、IBM BlueMix 等
SaaS (Software as a Service)
提供的是应用服务。使用者只需要登录并使用应用,无需关心应用使用的是什么技术,也不需要关系应用部署在哪里。SaaS 的使用者通常是应用的最终用户。典型的SaaS 有 Google Gmail、 Salesforce 等
云计算和OpenStack
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
以上是官网对OpenStack的定义,OpenStack对数据中心的计算、存储和网络资源进行统一管理。由此可见,OpenStack针对的是IT基础设施,是 IaaS这个层次的云操作系统。