2018年3月21-22日,由中国信息通信研究院主办、中国通信标准化协会支持的”OSCAR云计算开源产业大会”在国家会议中心举行。
混合云论坛作为”OSCAR云计算开源产业大会”的分论坛之一,于3月21日下午召开。论坛邀请到了中国信息通信研究院、华云数据、中国电信北京研究院、华为、云星数据、广东电信、云霁科技等单位的专家,与大家一起开启一场深度的混合云之旅。
以下为演讲实录:
高原:我想分享社区在做哪些事情能够解决混合云的问题。我的这个题目实际上就是想介绍一下现在基于OpenStack,我们如何构建应用工具链。
OpenStack大家都很熟悉了,是开源领域的老大,它现在在开源领域实际上是私有云毫无正义的王者的地位,它现在生态怎么样呢?大家可能都有自己心中的一个答案。但是,这边我说一下自己的理解。实际上OpenStack现在整个的发展还是非常稳定和健康的,大家可能会看OpenStack现在对社区的贡献、投入可能有一些下滑。因为在美国云市场竞争条件下,惠普等企业的退出实际上对OpenStack社区整体的贡献值看起来是有些下降的。但是大家如果观察一下OpenStack的整个项目,大家会发现其实OpenStack现在的项目它的发展还是有条不紊的在进行,而且现在越来越聚焦,聚焦在I层的这种能力跟P层的K8,以及其他的一些开源社区项目形成一个良性的合作的关系,而OpenStack自己也在进行一个迭代和演化的过程,现在把自己定位成一个社区胶水。可以说现在OpenStack的发展其实还是非常好的。
我们看到即便在刚刚发布的Q版本我们也能看到OpenStack里面的创新者仍然还在持续的进行创新,包括一些HA的项目,包括利用容器来快速部署OpenStack的项目实际也还是有发展,所以总体来说OpenStack越来越成熟,而且它的创新在持续,重新修改自己的定位之后,也写入了一种虚拟化容器的技术,可以说OpenStack其实是发展非常不错的。有报告也说明OpenStack实际说也一直保持年化35%的这样一个复合增长率。
根据最新一版的OpenStack的用户调查报告我们可以看到,实际上OpenStack现在的用户分布可以说北美占1/3,欧洲占1/3,亚洲占1/3.北美大家都比较了解了,AWS、Google等都非常之强势,所以OpenStack能够在那里有一席之地实属不宜。在亚洲OpenStack是大量部署,无论在各个行业都是大量部署,在亚洲其实中国的OpenStack的部署量是飞速飙升的,大家也知道在过去的一两年,我们中国的腾讯,包括中国移动都拿到OpenStack的大奖,而且中国铁路,中国银联也都入围过这个大奖的侯选。所以,中国的发展是有目共睹的,而且生产环境的部署也是逐年提高的。
腾讯私有云也在广泛使用OpenStack,腾讯也部署了大量的OpenStack.实际上我们看到除了信息化领域,实际上在电信、学术各个方面的部署都非常的广泛。特别是在金融领域,因为银联也知道了OpenStack社区的金融工作组。还有在政府的部署方面也是非常多。涉及到的领域方方面面,这个大家也都比较熟悉。
刚刚介绍OpenStack能做的东西想说什么问题呢?是想说OpenStack现在发展到今天有没有问题?问题是什么?大家都知道,我们为什么要用OpenStack?是因为两点:第一,用开源可以避免厂商锁定。第二,它的API的开放性,获取它更好的生态。OpenStack生态我觉得应该分两个方面,一方面是这条API下面,南向就是各种虚拟化,各种设备,网络设备、存储设备。从现在来看,其实OpenStack南向生态是没有问题的,因为OpenStack作为私有云的老大大家都认。但是,OpenStack的北向生态貌似是个问题,而且这个问题好像很严重。首先,从客户视角,客户怎么用OpenStack,因为社区开发有一个很根深蒂固的问题就是开发者只关注技术本身,只关注最新、最好的一些技术的趋势。但是,实际上并不关心客户真正需要什么。我们可以看这张图其实很清楚,OpenStack的API是它的核心价值,但是在这API之上,实际上用户真要用这个东西,这张图怎么用,其实用的是SDK,SDK很多,是否真正解决了问题,答案是没有,这块社区做的非常不好。再往上是什么?大家怎么用OpenStack呢?怎么构建混合云,怎么从私有云迁移到公有云,怎么从公有云迁移到私有云,其实大量客户用自动化的社区工具,利用自动化的工具完成应用和上云的迁移工作。再往上也是混合云的这部分内容就是自动化的P层,用户能用你的I层可能就想用其他公司的P层服务,用其他公司商业版的大数据,不一定需要用你的东西。所以,用户视角的这一层就是第三方的平台应用。上面才是五花八门的用户需求。
所以,从用户的视角来看,实际上有这么三层问题,而这三层问题是彼此依赖的。因为没有底下的CLA SDK,何谈跨云工具对它进行使能和部署呢?而现在这一块整个北向应用生态的问题现在看似很严重,这也是我们希望能够采取一些方法能解决这个问题。
我们先看一看,就是说SDK行不行?答案很明确,就是SDK现在不行,就是说,用户用SDK有这么几种场景。首先,很多的用户他会直接调一些I层资源,紧绑定那些I层资源,就会调社区的SDK,一般现在用的最多的就是Java,而这块是最强烈的,但是社区的SDK并不选。就是核心服务7个,可能只有5个,新扩展出来的API也没有及时跟进,新出来的服务,以及新更新的版本也不能做到及时同步。所以,这一块的问题现在是很严重了。同样,刚才也提到了,很多用户需要用第三方的大数据,你给他提供吗?如果你要给他提供,这个大数据平台下面仍然依赖的是平台的SDK,要不然用不了你的I层,用不了你的虚机,用不了你的存储,怎么做大数据?第三个方面就是第三方的部署工具,这个可能是跟议题更相关的就是混合云,要形成混合云,必须让用户上云,用户怎么上云?用户有大量的遗留应用,必须使用第三方的平台工具。
我们把刚才的生态工具这块再展开一层看一下,现在用户有哪些场景,解决的怎么样?首先,一个配置方面,客户会使用这些配置工具对云资源的接口进行一些配置。然后,会对他的应用上云进行这种资源的编排,自动化的管理,以及批量的上云的这样一些操作。现在对于这一块的场景,实际上需要支持的服务的种类是非常多的。现在这个社区里面有大量的这样的生态工具在广泛应用。刚才我提到了,Terraform、juju等。
第二个场景就是多云管理,如果用户用的不是你们家的私有云和公有云,可能用很多家的私有云,很多家的公有云,在一起搞多云,他可能需要一个统一管理多云的portal进行。业界也有一些,做的也不好。
第三个场景就是PaaS场景,而且现在很多商业版的方式都是基于开源版的构建的,还有openshift,如果解决不了K8s,OpenStack的问题也没有办法解决。
现在客户用的最多的生态工具就是Terraform,Terraform现在能支持哪些服务呢?OpenStack Big10的项目使用率比较高的项目大概有13个左右,Terraform官方提供的这些服务大概就六七种,现在日益增长的这种Bare Metal裸机管理他无法支持,包括很多很多还是必备的服务都没有支持,这是什么原因呢?就是因为OpenStack北向生态这个地方是一个三不管地带,OpenStack的人觉得我应该去搞底下的技术,设备厂商和OS提供商认为我只要搞好对接就可以了,但是上面的北向生态没人管。所以,我们希望能够成立这样的一种社区组织,能够借大家共同的力量去完善OpenStack的北向应用生态,把OpenStack的应用生态真正的做起来,而不是只是在底层做一些补丁式的创新,那样的工作其实也不是很有意义。
我们看一下,是不是一开始把这个问题想错了,搞SDK这件事,搞工具生态对接这件事到底应该谁来参与。其实我们的朋友应该有很多人在乎这件事,也可以把很多人卷入进来。真正做到众人拾柴火焰高,而不是众人拾柴各走各的路。
我们可以看一下,首先有大量的用户,他们要提供足够的需求,就是我现在喜欢用什么东西。其次,这些现在已经利用OpenStack做公有云的这些Providers,以及想在OpenStack上面构建应用的这些ISV们,还有大量开源项目,可能跑几个版本还可以,真正能够解决客户问题,真正能够在生产环境去使用,实际上还差的很远。我们应该一起努力把这件事情做好。
我们OpenLab的使命和职责,就是现在对于OpenStack北向的SDK的验证方面社区一片空白,这个事情没人管,我们做。还有无论生态工具,还是SDK,跟OpenStack的集成它的代码的质量参差不齐。就是据我们了解,就很多生态工具的OpenStack的Providers,就是某一个开发者在自己本子上装一个OpenStack的某一个版本,然后开发几个接口运行就完了,就直接放到网上了。但是,大量的客户以为那就是OpenStack官方的驱动,以为那个东西就能够解决它的应用迁移的问题,实际上差的很远,根本解决不了,这块也是现在生态里的一个问题。
针对这两个问题,实际上我们看到2017年的时候OpenStack基金会在悉尼峰会的时候就启动了OpenStack跟其他云企业之间做集成的这样一个组织,叫OpenLab,就是对常见的生态工具进行开发和测试,包括主流的北向的SDK各种版本的java等,还有刚刚提到的生态工具。它的主要目标就是弥补刚才我提到的北向生态的这个GAP,与此同时真正的去联合OpenStack、Kubernetes、CloudFoundry等这些社区,它们真正之间的配合实际上是他们无缝的集成,这样才能真正的利用社区打开局面,也能让我们的厂商受益。
我现在简单介绍一下OpenLab整个的组织和运作状态,OpenLab现在主要的参与者主要是OpenStack基金会、华为公司,以及Intel.然后,整个运营的方式,运作的方式实际上是恪守OpenStack基金会的管理方式,大家知道OpenStack基金会管理的非常好,非常规范,也遵从他的四个Open的原则,开放的代码、开放的设计、开放的开发,以及开放的社区,所有人都可以参与。整个的OpenLab是怎么工作的呢?实际上也跟OpenStack社区的玩法是一致的。由这些参与公司提供一些基础资源,等于赞助一些资源出来,包括德电,包括华为等等,构建了一套CSD系统,这个系统24小时不间断的工作,可以支持定时业务,也可以支持每次代码提交启动的测试任务,然后进行这种不间断的测试。
它的输出,它能给我们带来什么价值呢?举一个SDK的例子,这是主业上,大家可以登录OpenLab的网站可以看到。以SDK为例,它能够输出当前CI集成的一个状态,单元测试的一个状态,包括用户的活跃度,包括一些版本的问题,包括一个SDK认证方面的问题。SDK认证后面我还会再提到。比如说现在社区就在集中解决,因为大家知道现在Go语言非常好,现在在利用社区的力量解决Go语言的SDK.
这是2018年初步的一个OpenLab社区的一个目标,我们可以看到,首先下面是要做SDK的,上面这个生态工具我们希望能够在上半年支持K8和Terraform,说到K8也是无德而称,大家知道OpenStack on K8,或者K8 on OpenStack在炒了好几年了,其实不管哪种方式,客户能够很便利的把K8部署到OpenStack上,这个是最关键的。但是,各自推各自的方案,也没有很好的从客户角度解决这个问题。所以我们就希望通过底层很轻易的把K8部署到OpenStack上面。在Rocky里面,我们希望Bosh可以部署JuJu,我们希望OpenStack有更多的有志向的ISV愿意做生态的合作伙伴一起加入进来。
这个其实刚才也说的差不多了,我们希望能够把我们的OpenLab真正的去联合,这肯定不是一家、两家的事,因为这个事情一家两家也搞不定,必须有应用的厂商,必须有云厂商,必须有我们的客户,有相关的开源社区的组织一起加入和投入进来,然后提供这些工具,包括提供测试的样例,包括做这种集成。
我们OpenLab能做什么?我们就是完善OpenStack的SDK,然后不断的做测试,产生测试报告,并且最后把测试报告得到的GAP公布出来之后,然后由社区的开发人员去补齐这个GAP.
刚才提到的SDK认证,实际上这件事情社区也在做。因为社区在去年的时候也发布了一个OpenStack Public Cloud Passport,现在全球有60多家公有云都采用了OpenStack,而且基金会也启动了这个项目,这个项目一是能够拿到一个OpenStack的官方认证,与此同时这些公司会把自己的公有云开放一部分出来,让用户在上面体验公有云,并且把自己的应用朝公有云上进行迁移,然后发现这里面有那些问题。这个工作组现在做很重要的工作就是拟定SDK的规范。有了这个SDK的规范,我们就有了一个边界,有了一个边界,我们就好进行下一步的测试,然后反馈,然后再开发,然后再迭代这样一个过程。
最后就是一个招募,希望有更多的ISV的厂商愿意投入到OpenStack生态里面,你们可以去贡献一些你们的工具,贡献一些测试样例和代码,可以在OpenLab上进行测试,会有相关的开发人员进行开发。我们希望有更多的开发者能够投入一些开发时间在这个项目里面,然后跟大家一起去不断的完善这个生态,也希望有一些这种厂商可以贡献你们的云资源出来,提供这样的资源能力,让我们的社区开发者可以把这个事情真正的做起来。
我总结一下今天介绍的内容,就是OpenStack生态现在有没有问题?总体平稳,但是问题是存在的。它的问题是它的北向生态,无法满足客户的需求。第二,我们的一个解决方案是我们在利用OpenStack基金会成立了OpenLab,我们希望有更多开发者能够加入OpenLab,有更多的ISV厂商能够加入OpenLab,有更多其他社区的开发者能够加入OpenLab,共同完善OpenStack北向应用的生态。当然,这里最后再多补一句,实际上OpenLab没有OpenStack这么小,我们希望将来把OpenLab做的更大,不但是做OpenStack上面的本项生态,我们还希望能够做K8等,因为我们其实在中国现在无论是哪个开源社区,实际上都有很多核心的开发者,包括有很多社区里面的技术专家,实际上都不缺这样的人才。我们希望真正把云的应用生态做起来,这可能是开源能够对抗AWS、Google等,我们真正能够做的一些事。