上周我参加了在亚特兰大举行的OpenStack峰会,这是一个非常好的机会去进一步了解Cloud Foundry 和OpenStack ecosystem之间的关系。
在OpenStack阵营里,在讨论PaaS时,“Could Foundry 是不是 OpenStack” ,这个看起来像是一个有争议的问题. 是否应该将PaaS全面的整合到一个明确的IaaS 或者 是否应该将IaaS和PaaS明确的分离?
Cloud Foundry明确的规定并提供PaaS,可以在任何OpenStack部署下良好运行。Stackato 表明Cloud Foundry将在任何基础设施下运行良好,如亚马逊的EC2,CloudStack,vSphere 或 KVM.
Solum
我参加过一些关于OpenStack应用部署项目Solum及其相关技术的会议。架构上它不同于Cloud Foundry,它高度利用现有的OpenStack技术。例如,它使用Heat来管理分段应用的图片。它使用Murano来索引分段应用,然后使用这个索引目录为其他应用提供服务。
在一次设计会议中关于怎样集成应用和它们的服务存在一些争议。比如,如果我部署Wordpress,那么我能把它和MySQL或者PostgreSQL集成在一起吗?这些应用和服务如何结合与匹配的限制在哪?应用的部署者应该来做出这些决定吗?又或者由实际上知道这个应用兼容性的开发者来约束?我认为Juju(见下文)解决了这个问题。
因为Solum把自己空间定义在了OpenStack的生态系统里,所以它得小心别影响到其他的组件。我常听到这样的话“X不是已经那样做了吗?”。这导致OpenStack的架构保持了DRY(“不重复自己”)的风格,但它也意味着PaaS解决方案会高度依赖其他OpenStack组件。PaaS在IaaS上变得越来越不像一个单独分层,反而与IaaS集成如此之深以至于与之难分彼此。我们想要OpenStack成为IaaS+PaaS还是“一切都是私有云”?
Solum未来会加上Murano加上Heat?我认为无论Cloud Foundry被如何广泛的采用,Solum和Murano都不太可能消失。这些组件可能仍将会在OpenStack环境中有意义。只要这些组件保持其功能卓越,他们将可能以不同的方式被赋予新的用途。他们将来甚至可能被用来补充OpenStack+Cloud Foundry部署方案。OpenStack这种容纳组件的性质是它的优势之一。
但当谈到它被采用时,我得考虑当Cloud Foundry已如此超前并发展迅速时行业中的大玩家为什么会投资和冒险拿Solum作为一个PaaS解决方案。
HP Helion
来自HP的Nick Walker在他的演说"Cloud Foundry, OpenStack, and the Enterprise Developer"里向我们介绍了怎样将PaaS纳入他们新的HP Helion解决方案。
HP承诺了十亿美元以确保HP Helion的成功。
虽然实现细节方面讲述简短,但后面Nick详述了选择Cloud Foundry而舍弃Solum这样的解决方案的理由。成熟度和采纳度还有他们的现有知识及在Cloud Foundry上的投入是主要因素。
通过集成OpenStack的Keystone身份验证和高级授权系统,HP Helion将着眼于OpenStack和Cloud Foundry间(在选择使用方面的)差距上的弥补。
HP也将在部署了Cloud Foundry的应用上集成他们的一些其他数据服务来用。新的Cloud Foundry v2服务架构可简化这样的集成,通过这个服务API的每一点我们也看到了这方面的改进。
Juju
OpenStack峰会期间,在Canonical的Ubuntu OpenStack的晚会上,我看到了一个Ubuntu Juju的demo,我想其成品问世大大有望。用户图形界面展示了由简单图线连接各组件而成的整体架构。每个组件定义了它提供什么和需要什么,从而结合在一起来部署复杂的系统。
举一个部署是怎样可能构建起来的例子,Wordpress需要"mysql"和一个文件系统,而MariaDB提供"mysql",所以MariaDB随时可以代替MySQL。Juju则来处理它们的结合,网络化和基础设施分配。
Juju可以让你直接在使用MaaS的硬件上部署Ubuntu OpenStack。使用Juju也将能部署Cloud Foundry,尽管这还在开发中。我对Canonical正在进行的Cloud Foundry部署的工作怀有极大兴趣。
在线例子jujucharms.com。
结束语
现在,在私有IaaS 和私有PaaS领域都有清晰翘楚:分别是OpenStack和Cloud Foundry。你肯定可以不用IaaS来运行Cloud Foundry并且运行OpenStack时也不必运行PaaS。但是如果你想要你个全栈式动态云架构来部署应用,那么OpenStack和Cloud Foundry是一个很好的选择。这不是我的个人观点;这是行业发展的方向。
HP正用HP Helion致力于这一对技术的发展。Canonical也正在用包含在Ubuntu OpenStack中的Juju的魅力来致力于Cloud Foundry。我们同样也看到了许多OpenStack阵营中的大玩家,像IBM和RackSpace注册了Cloud Foundry基金以及投入诸多资源来确保有所成效。
因此在OpenStack上运行Cloud Foundry的最快方式是什么?你可以下载 the Stackato virtual appliance for OpenStack or deploy或者部署 Stackato on HP Cloud.