第一章 原理篇
一、云计算之OpenStack
1.1 什么是云
云计算(Cloud Computing):
一种基于因特网的超级计算模式,在远程的数据中心里,成千上万台电脑和服务器连接成一片电脑云。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。
也可以这样理解为:
云计算(Cloud Computing)是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(ParallelComputing)、效用计算(UtilityComputing) 、网络存储(Network Storage Technologies)、虚拟化(Virtualization) 、负载均衡(Load Balanc)等传统计算机技术和网络技术发展融合的产物。
1.1.1 云计算模型:
公用云(Public Cloud)
私有云(Private Cloud)
社区云(Community cloud)
混合云(Hybrid Cloud)
1.1.2 云计算服务形式
**IaaS(Infrastructure-as-a- Service)**:基础设施即服务。消费者通过Internet可以从完善的计算机基础设施获得服务。
PaaS(Platform-as-a- Service):平台即服务。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。
SaaS(Software-as-a- Service):软件即服务。它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。
1.1.3 云计算的优势
1. 对于社会
1)降低全社会的IT能耗,减少排放,真正做到“绿色计算”。
2)提高全社会的IT设备使用率,并降低电子产品的数量,从而减少因设备淘汰而产生的电子产品垃圾,对于保护环境大有裨益。
3)信息技术产业进一步合理分工——由资金雄厚、技术过硬、专业人士众多的机构负责建设并管理云端,从而提高了整个社会信息技术处理环境的可靠性。换言之,也就降低了因天灾人祸导致的生命财产损失。
4)形成新的云计算产业。
5)有利于全社会共享数据信息,打破信息孤岛。尤其是涉及公民的身份信息、档案信息、信用信息、健康信息及教育工作信息等的全国性公共云平台,带来的社会效益更是巨大的。
2. 对于云计算消费者
1)降低了信息技术成本:前期投入和日常使用成本得到大幅度降低,同时也降低了因各种IT事故导致的损失。
2)提高了数据的安全性,具体介绍见后续章节。
3)提高了应用系统的可靠性,具体介绍见后续章节。
4)提高了用户体验:当今网络无处不在,云计算消费者可以随时随地采用任何云终端接入云端并使用云中的计算资源,真正实现移动办公。
5)大型昂贵软件平民化:诸如可靠性工程软件、ERP 系统、CRM 系统、商业智能系统等云化之后以 SaaS 模式出租,这些以前只有大型企业使用的软件系统,现在广大中小型企业和个人都能用得起。
6)从复杂的 IT 技术泥潭中摆脱出来,专注于自己的核心业务和市场。
7)能快速响应消费者对计算资源的弹性需求,从而能及时满足企业的业务变化。在传统 IT 系统下,一项新业务对 IT 资源的扩容要求,往往在数月或者一年后才能得到满足,这使得市场人员和管理层往往难以接受,因为市场是瞬息万变的。
8)有利于企业之间或者个人之间共享信息,打破信息孤岛。
9)个人、中小企业和机构也用得起高性能计算。
1.1.4 云厂商
- 亚马逊AWS.
- 微软Azure.
- 阿里云
- UCloud.
- 腾讯云
1.2 OpenStack 发展历史
Openstack 是在2010年由拖管服务器及云计算提供商RackSpace 和美国航天航空局NASA共同发起的开源项目,愿景是为了数据中心建立一套云操作系统,大幅提升数据中心的运营效率。
1.2.1 什么是 OpenStack
OpenStack 是一种云操作系统,可控制整个数据中心内的大量计算、存储和网络资源池,所有这些资源都通过一个仪表板进行管理,该仪表板为管理员提供控制权,同时授权其用户通过 Web 界面配置资源。
1.3 OpenStack 概念设计
OpenStack 是一个开源的云计算平台,由来自全世界的开发者创造了OpenStack开源项目,社区活跃度和代码贡献量非常高,主要特点是易实施、大规模弹性扩展和功能丰富。
各服务组件的功能如下:
- Keystone: 为各服务组件提供用户认证和权限验证功能;
- Ceilometer: 为各服务组件提供监控、检索和计量功能;
- Horizon: 为用户操作 OpenStack 项目中的各服务提供基于Web形式的图形界面;
- Glance: 为虚拟机实例提供镜像服务,Glance服务中的镜像介质存放在Swift中;
- Neutron: 为虚拟机实例提供网络连接服务,同时也为lronic 提供PXE网络;
- lronic: 提供物理机的添加、删除、电源管理和安装部署等功能;
- Nova: 为虚拟机实例提供计算资源;
- Trove: 为虚拟机镜像提供注册服务;使用Nova 启动数据库实例;依附虚拟实例,提供数据存储、操作和管理;可以备份数据库实例到Swift 中;
- inder: 为虚拟机实例提供块设备,同时备份设备数据到Swift 中;
- Sahara: 通过Heat编排集群配置;在Swift 中保存或二进制文件;将任务分派给虚拟机实例处理;通过Nova 运行数据处理实例;在Glance 中注册Hadoop 镜像;
- Heat: 可以编排Cinder Neutron Glance和 Nova 各种资源;
1.4 逻辑架构
1.4 Openstack 服务组件
Openstack 项目通过一系列相互关联的内部服务组件提供了基础设施即服务(Infrastructure as a Service laaS)的解决方案,每个内部服务组件都提供了有利于集成的应用程序接口(API)根据实际需要,可以选择安装某几个或全部安装服务组件:
- Dashboard (仪表盘)
- Compute (计算)
- Networking (网络)
- ObjectStorage(对象存储)
- Block Storage (块存储)
- Identify (认证)
- Image (镜像)
- Telemetry (计量)
- Orchestration (编排)
- Database (数据库)
- Data Processing Service (数据分析)