上周看了O`Reilly的《OpenStack》,让人很失望,架构性的分析很少,大多是部署的内容,实用性也是有限,也怪不得没有人翻译它。OpenStack是一个开源的IaaS实现方案,是一套构建云的框架,有Nova这套比较成熟的虚拟机管理方案。趁着上周在上海的Openstack亚太技术大会,侃侃业界大小公司对公有云,私有云构建的情况。
云计算的几个as a Service
云计算之所以被称作在玩概念,主要在于他的SaaS。SaaS面向的对象是软件使用者,即普通百姓,任何一个web上的app都可以称作SaaS,所以SaaS被看作纯粹只是搞了个概念在玩儿。之外的PaaS和IaaS则不然,是真的提出了一种新的服务模式。先说PaaS,平台即服务,他面向的用户是开发人员。用户只考虑应用逻辑,操作对象是某个具体应用中的逻辑。他的特点是Auto-scaling。比如Tomcat/Apache Hosting业务,用户只要把你写的网站的代码,域名都丢给他,针对你的访问量和需求,他自动给你起虚拟机,在适合数目的虚拟机上起适合数目的Tomcat,你无需考虑之后的问题。公有PaaS的提供商有Google App Engine,EMC的Cloudfoundry以及Redhat开源的Openshift。PaaS的技术门槛是高的。再看IaaS,基础设施这块。国内的大公司,阿里和盛大都推出了自己的云,他们都是IaaS的公有云提供商。IaaS的用户是开发人员,用户接触到的是虚拟机,需要考虑应用部署,应用逻辑等问题。一般虚拟机上还会提供一些非结构化的KV云存储服务,以及Block Storage,load balance这样的业务,所以有人反对云计算等于虚拟机。相比auto-scaling的PaaS,再相比腾块地儿给你装东西玩的虚拟主机,我们可以看到IaaS的定位。Amazon上的web services以及微软的Azure,他们也属于公有云IaaS提供商。
公有云和私有云
在国内,想做公有云对于普通公司来说是不可能的。公有云需要机房,需要数据中心,只有具备一定实力的大公司才玩的起,而且也是向电信或者网通租的机房,国内也不允许你自己建机房,应该是违法的。除此之外,对公有云来说,三分研发,七分运维。一家公司的运维实力也决定了你是否玩的了它。公有云是多租户的,要解决数据隔离等问题。相比之下,私有云是可以让小公司或者个人实现得了的一种云。只要有局域网,只要一个你自己的机房,甚至可以是单租户的,反正你自己搞个私有云,给自己的应用提供些内部服务,怎么来都可以。
OpenStack的定位
只谈OpenStack的Nova和Swift。Nova较为成熟,是虚拟机管理方案。Swift比较简单,是一套KV存储方案。虽然Nova由开源社区投入了大量时间和精力维护开发,他的架构和计费模式却完全不能拿来做公有云。英特尔公司因此还向OpenStack社区的委员会申请重写它,被建议还是不要改写它为好。反倒是Swift,因为简单,却是可以用的。Swift的成熟应用有韩国电信,Rackspace的Cloudfiles。总之OpenStack离公有云还有很长一段路要走。国内的小公司,对于OpenStack的应用,仅停留在界面定制、部署工具、周边开发,他们依赖二级运营商,比如上海电信。Intel,HP这样的大公司是真正在捐献重要的代码,为性能做评测。国内确实还是有拿OpenStack来做公有云的,但是必定高度不足,比如常州公云: pubyun.com和上海VAS Cloud:try.cloud-open.cn。前者不知道为谁提供服务,或者常州政府之类?后者是为上海电信提供服务的。在云存储方面,EMC公司的Atomos更牛逼。
云计算硬件方面:OpenCompute
听说硬件方面各大大公司想一统江湖啊,要给云计算下的服务器硬件配置做一个可整机定制。Facebook宣布了OpenCompute项目,事无巨细地公开了自己的数据中心和服务器软硬件架构,甚至公布了服务器主板和数据中心配电系统等的硬件规格,兵提供了机械图纸,公布了如何改进数据中心能效的方法。也许不久的将来各大硬件生产商的产品都互相杂合在一起了。