这里做一个简单的总结,到了这个阶段,云盘算根本上实现了时间机动性和空间机动性,实现了盘算,网络,存储资源的弹性。盘算,网络,存储我们常称为底子设施Infranstracture, 因而这个阶段的弹性称为资源层面的弹性,管理资源的云平台,我们称为底子设施服务,就是我们常听到的IaaS,Infranstracture As A Service。 二、云盘算不光管资源,也要管应用
有了IaaS,实现了资源层面的弹性就够了吗?显然不是。尚有应用层面的弹性。这里举个例子,比如说实现一个电商的应用,平常十台机器就够了,双十一需要一百台。你大概觉得很好办啊,有了IaaS,新创建九十台机器就可以了啊。但是90台机器创建出来是空的啊,电商应用并没有放上去啊,只能你公司的运维职员一台一台的弄,还是需要很长时间才能安装好的。虽然资源层面实现了弹性,但是没有应用层的弹性,依然机动性是不敷的。
有没有方法办理这个问题呢?于是人们在IaaS平台之上又加了一层,用于管理资源以上的应用弹性的问题,这一层通常称为PaaS(Platform As A Service)。这一层往往比较难明白,实在大抵分两部分,一部分我称为你本身的应用自动安装,一部分我称为通用的应用不用安装。
我们先来说第一部分,本身的应用自动安装。比如电商应用是你本身开发的,除了你本身,其他人是不知道怎么安装的,比如电商应用,安装的时候需要配置支付宝或者微信的账号,才能别人在你的电商上买东西的时候,付的钱是打到你的账户内里的,除了你,谁也不知道,以是安装的过程平台帮不了忙,但是能够帮你做的自动化,你需要做一些工作,将本身的配置信息融入到自动化的安装过程中方可。比如上面的例子,双十一新创建出来的90台机器是空的,如果能够提供一个工具,能够自动在这新的90台机器大将电商应用安装好,就能够实现应用层面的真正弹性。例如Puppet, Chef, Ansible, Cloud Foundary都可以干这件事情,最新的容器技能Docker能更好的干这件事情,不做技能的可以不用管这些词。
第二部分,通用的应用不用安装。所谓通用的应用,一般指一些复杂性比较高,但是各人都在用的,例如数据库。几乎所有的应用都会用数据库,但是数据库软件是标准的,虽然安装和维护比较复杂,但是无论谁安装都是一样。如许的应用可以酿成标准的PaaS层的应用放在云平台的界面上。当用户需要一个数据库的时候,一点就出来了,用户就可以直接用了。有人问,既然谁安装都一个样,那我本身来好了,不需要费钱在云平台上买。固然不是,数据库是一个非常难的东西,光Oracle这家公司,靠数据库就能赚这么多钱。买Oracle也是要花很多很多钱的。然而大多数云平台会提供Mysql如许的开源数据库,又是开源,钱不需要花这么多了,但是维护这个数据库,却需要专门招一个很大的团队,如果这个数据库能够优化到能够支持双十一,也不是一年两年能够搞定的。比如您是一个做单车的,固然没必要招一个非常大的数据库团队来干这件事情,成本太高了,应该交给云平台来做这件事情,专业的事情专业的人来自,云平台专门养了几百人维护这套系统,您只要专注于您的单车应用就可以了。
要么是自动摆设,要么是不用摆设,总的来说就是应用层你也要少费心,这就是PaaS层的紧张作用。