很多人听说过云计算,这已经不算新名词了。还有一个词叫虚拟化,它是云计算的奠基了。本文尝试用通俗易懂的方式,讲述OpenStack是什么。
OpenStack是云计算管理的工具,就像k8s之于Docker。OpenStack对服务器的虚拟化依然是调用底层操作系统的虚拟化接口(hypervisor),其重点在于管理,关注的是对虚拟机的管理。
可以说,OpenStack是一款开源的虚拟机管理软件,既然对虚拟机管理,那么虚拟机需要的资源,比如CPU/内存/磁盘/网络/镜像等都在其功能范围内,还有为了保障虚机的安全做的鉴权/快照/迁移等服务(组件)。
1. 云计算的趋势
云计算的一个本质就是把物理设备虚拟化,通俗的讲就是在物理机上部署虚拟机。为什么要使用虚拟机?首先,现在的服务器CPU内存多得不行,比如一台服务器就128核1T的RAM,每个业务都使用物理机简直是浪费。其次,机房的建设周期长,成本高,比如你公司今天要建个网站,你就要下订单买服务器、找机房托管、机房给你施工布线、服务器初始化。。。简直把人烦死。最后,虚拟机容易定制化,想要多少内存要多少台鼠标点一点就出来了。既然虚拟机这么重要,那么就要有管理软件吧。
2. 方便对虚拟机的管理
我们自己在PC上折腾的虚拟机,一般都是用虚拟机软件,比如VirtualBox/VMware,甚至有用Hyper-V, 从而能够在windows体验linux操作系统甚至macOS操作系统。回忆一下,你创建虚拟机是不是一台一台的创建,还需要规划分配多少CPU多少内存多少硬盘的。那么想象一下,在一个数据中心,一次要创建100台虚拟机,你怎么办?这时候虚拟机管理软件应运而生。批量生成虚拟机的软件统称MANO,即操作维护平台。后续有机会将展示如何使用MANO创建虚机。有兴趣可以关注我。
3. 开源、免费
我们也知道市面上云平台管理软件应该很多,但是为什么要使用OpenStack呢?因为“免费”,是真的免费。任何人可以从网上下载到OpenStack的软件,然后安装使用,比如我前面一篇文章写的。实际上,国内的大部分云计算平台都是使用OpenStack为基础改造优化的,比如华为的FusionSphere 、腾讯的TStack云平台、华三的云操作系统等,国内的涉及云计算的大厂,大都是OpenStack的基金会的会员。我这里说大厂使用开源的东西,并不代表这些云厂家不厉害,实际上,OpenStack从开源版本到可商用的稳定版本,需要花费企业大量的人力去改造,包括代码、架构、逻辑和UI的优化,我们现在使用公有云业务的时候,看不到界面上有太多OpenStack的风格,这是UI经过了重构。毕竟OpenStack的Dashboard(就是OpenStack管理界面)还是有很多可优化的地方。
华为FusionSphere官网
4. 和AWS兼容
OpenStack可以说一直是AWS的追随者。AWS就是亚马逊云平台。AWS的设计思路、功能都极大促进的OpenStack的发展(说得好听的叫借鉴,不好听的叫抄,软件设计上毕竟idea想法最重要)。因为追随AWS,很多开发者有意兼容AWS的API接口。所以很多组件可以直接对接AWS,