云计算的私有与公有
云计算大致分两种:一个是私有云,一个是公有云,还有人把私有云和公有云连接起来称为混合云,这里暂且不说这个。
私有云:把虚拟化和云化的这套软件部署在别人的数据中心里面。使用私有云的用户往往很有钱,自己买地建机房、自己买服务器,然后让云厂商部署在自己这里。
VMware 后来除了虚拟化,也推出了云计算的产品,并且在私有云市场赚的盆满钵满。
公有云:把虚拟化和云化软件部署在云厂商自己数据中心里面的,用户不需要很大的投入,只要注册一个账号,就能在一个网页上点一下创建一台虚拟电脑。
例如 AWS 即亚马逊的公有云;国内的阿里云、腾讯云、网易云等。
亚马逊为什么要做公有云呢?我们知道亚马逊原来是国外比较大的一个电商,它做电商时也肯定会遇到类似双十一的场景:在某一个时刻大家都冲上来买东西。
当大家都冲上买东西时,就特别需要云的时间灵活性和空间灵活性。因为它不能时刻准备好所有的资源,那样太浪费了。但也不能什么都不准备,看着双十一这么多用户想买东西登不上去。
所以需要双十一时,就创建一大批虚拟电脑来支撑电商应用,过了双十一再把这些资源都释放掉去干别的。因此亚马逊是需要一个云平台的。
然而商用的虚拟化软件实在是太贵了,亚马逊总不能把自己在电商赚的钱全部给了虚拟化厂商。
于是亚马逊基于开源的虚拟化技术,如上所述的 Xen 或者 KVM,开发了一套自己的云化软件。没想到亚马逊后来电商越做越牛,云平台也越做越牛。
由于它的云平台需要支撑自己的电商应用;而传统的云计算厂商多为 IT 厂商出身,几乎没有自己的应用,所以亚马逊的云平台对应用更加友好,迅速发展成为云计算的第一品牌,赚了很多钱。
在亚马逊公布其云计算平台财报之前,人们都猜测,亚马逊电商赚钱,云也赚钱吗?后来一公布财报,发现不是一般的赚钱。仅仅去年,亚马逊 AWS 年营收达 122 亿美元,运营利润 31 亿美元。
云计算的赚钱与情怀
公有云的第一名亚马逊过得很爽,第二名 Rackspace 过得就一般了。没办法,这就是互联网行业的残酷性,多是赢者通吃的模式。所以第二名如果不是云计算行业的,很多人可能都没听过了。
第二名就想,我干不过老大怎么办呢?开源吧。如上所述,亚马逊虽然使用了开源的虚拟化技术,但云化的代码是闭源的。
很多想做又做不了云化平台的公司,只能眼巴巴的看着亚马逊挣大钱。Rackspace 把源代码一公开,整个行业就可以一起把这个平台越做越好,兄弟们大家一起上,和老大拼了。
于是 Rackspace 和美国航空航天局合作创办了开源软件 OpenStack,如上图所示 OpenStack 的架构图,不是云计算行业的不用弄懂这个图。
但能够看到三个关键字:Compute 计算、Networking 网络、Storage 存储。还是一个计算、网络、存储的云化管理平台。
当然第二名的技术也是非常棒的,有了 OpenStack 之后,果真像 Rackspace 想的一样,所有想做云的大企业都疯了,你能想象到的所有如雷贯耳的大型 IT 企业:IBM、惠普、戴尔、华为、联想等都疯了。
原来云平台大家都想做,看着亚马逊和 VMware 赚了这么多钱,眼巴巴看着没办法,想自己做一个好像难度还挺大。
现在好了,有了这样一个开源的云平台 OpenStack,所有的 IT 厂商都加入到这个社区中来,对这个云平台进行贡献,包装成自己的产品,连同自己的硬件设备一起卖。
有的做了私有云,有的做了公有云,OpenStack 已经成为开源云平台的事实标准。
IaaS,资源层面的灵活性
随着 OpenStack 的技术越来越成熟,可以管理的规模也越来越大,并且可以有多个 OpenStack 集群部署多套。
比如北京部署一套、杭州部署两套、广州部署一套,然后进行统一的管理。这样整个规模就更大了。
在这个规模下,对于普通用户的感知来讲,基本能够做到想什么时候要就什么时候要,想要多少就要多少。
还是拿云盘举例子,每个用户云盘都分配了 5T 甚至更大的空间,如果有 1 亿人,那加起来空间多大啊。
其实背后的机制是这样的:分配你的空间,你可能只用了其中很少一点,比如说它分配给你了 5 个 T,这么大的空间仅仅是你看到的,而不是真的就给你了。你其实只用了 50 个 G,则真实给你的就是 50 个 G,随着你文件的不断上传,分给你的空间会越来越多。当大家都上传,云平台发现快满了的时候(例如用了 70%),会采购更多的服务器,扩充背后的资源,这个对用户是不透明的、看不到的。
从感觉上来讲,就实现了云计算的弹性。其实有点像银行,给储户的感觉是什么时候取钱都有,只要不同时挤兑,银行就不会垮。
总结
到了这个阶段,云计算基本上实现了时间灵活性和空间灵活性;实现了计算、网络、存储资源的弹性。
计算、网络、存储我们常称为基础设施 Infranstracture, 因而这个阶段的弹性称为资源层面的弹性。
管理资源的云平台,我们称为基础设施服务,也就是我们常听到的 IaaS(Infranstracture As A Service)。