问题导读:
1.云计算市场趋势是怎样变化的?
2.OpenShift 3的主要特点有哪些? 3.OpenShift 与 CloudFoudry的区别?
Docker带来了容器的春天,但一直不瘟不火的PaaS能否因此获益?红帽副总裁、云与OpenShift业务部门总经理Ashesh Badani来华探讨容器管理、OpenShift以及PaaS的发展趋势,对此给出了肯定的答案。
Ashesh Badani首先表示,红帽一直坚信软件会颠覆各行各业,每一家公司最终都可能成为软件公司,不能参与到颠覆大潮的公司,就会被别人颠覆。 他认为,软件市场未来的盈利点在PaaS和SaaS层,PaaS的利润率将在40%到60%之间。而面向DevOps的PaaS,需要集成对SDN,以及Docker、Kubernetes等新兴技术的支持,把公有云的体验通过开源技术带到企业私有云环境里,同时兼容现有的技术架构,这是因为混合云同样是未来的一大趋势,应用是分布式应用,它既可以存在于传统环境中,也可以在异构环境中。红帽OpenShift的卖点,就是借助于容器技术,把应用开发速度和运营效率结合起来,充分体现DevOps模式的高效性。
Ashesh Badani还回答了OpenShift与CloudFoundry竞争的问题。他表示,CloudFoundry提出来了一套兼容Docker格式的技术,但并不是Docker,并且对传统有状态的应用程序的处理技术不是很清晰;最关键的,是目前OpenShift 3已经是GA,已经可以发行给企业客户使用,而CloudFoundry并没有GA。
云计算市场趋势Ashesh Badani分析了如下的云计算市场趋势:
- PaaS市场的竞争。高盛与Gartner共同进行的一项调查显示,IaaS和PaaS未来五年的复合增长率将会达到30%。但由于亚马逊、谷歌、微软的出现,传统软件行业面临着很多来自价格的压力,要向着份额更多、利润率更大的行业领域发展,比如PaaS和SaaS方向。根据行业分析,IaaS的利润率在5%到20%之间,而PaaS的利润率更是在40%到60%之间。
- 越来越多的工作负载向云迁移。在未来五年,会有更多的工作负载和流量向云端迁移。根据Gartner的预测,到2020年混合云结构会成型,其中一部分是我们传统的架构,此外还有私有云、公有云两大组成部分。
- 容器技术备受关注。因为容器技术具备高敏捷性、灵活性,并且它的效率非常高。
- 微服务架构。SaaS和服务提供商都非常关注微服务的概念,把过去一套服务分隔成微小的服务单元,这样能够大大增加服务的灵活性和灵敏度。
- CIO主要关注两个话题:1.关于价格成本的压力;2. 关于DevOps模式。DevOps模式可以使他们的操作更加灵活。
面向DevOps,红帽PaaS产品OpenShift的设计理念包括:
- OpenShift具有自助式特征,很多事情它都可以自动完成。
- OpenShift支持多语言、多框架,不管是Java,还是Ruby。
- 支持自动化和团队协调与协作能力,在运营方面可以达到较高的可靠性、安全性、可预测性以及可扩展性。
- 一切都是基于开源,都可以在开源社区中分享。同时尽量让它基于一种统一的标准,以免出现被锁定的现象。
OpenShift 3的主要特点
红帽公司在6月份发布了OpenShift 3,其首要目的就是保证平台上大量的功能模块和组件具备跨平台、跨环境的可迁移性。此外,作为一个轻量级操作系统,OpenShift 3也充分使用了容器技术。并希望该技术也能够应用在红帽其它产品上。在初始阶段就已经设计,让容器技术使用行业标准的编排和管理工具Kubernetes,从而得到一个很好的服务和生态系统。
OpenShift 3集成了Docker技术, Docker格式任何的镜像都可以在OpenShift 3上来运行,可以更快地对软件进行打包,然后在红帽的平台上运行。另外有一个Atomic部署模式,只有在Docker或者镜像里面发生了变化,它才会进行变动,在其它时候就不会浪费时间和资源。这也使平台有了一个更大的生态系统——Docker hub上面可以看到来自于很多软件公司的几百甚至几千个镜像。
Ashesh Badani强调了使用容器技术的主要好处:
- 减少基础设施的成本。一般而言,在一个VM上运行应用程序时,虚拟机容量被浪费掉。而当运用了容器技术,一个VM上可以运行几百个或者更多的容器,容量的使用率和效率也会大大的提高,而且这些容器是由我们自己进行管理的,可以有更多的主动权。
- 由于是轻量级的操作系统,所以对开发者来说体验是非常好的,因为它的开发速度加快了很多。
- 从运营的角度来说,也更安全,而且运营的效率和管理效率也会更高。
为保证公有云中的安全性,镜像的可信任,红帽已经在和几百个ISV软件提供商进行容器认证方面的合作,并为提供一些开发包,如红帽的容器开发包工具,使他们能够更容易的创建容器。此外,红帽的Kinect计划,在实际操作中能够帮助合作伙伴来分享他们在镜像或容器方面的一些最佳方法。他们可以列出镜像目录,或者直接到红帽注册器进行注册。
具体的方法,就是镜像的内容和元数据是分开的(镜像元数据包含谁创造了镜像、这些镜像之间是怎样进行互动等信息)。在搜索一个镜像的时候,它就会根据镜像元数据中包含的信息来你匹配搜索结果。然后再根据搜索结果把内容提出来,再和搜索结果的元数据进行匹配。
当有复杂应用的时候,就会需要多个容器,并且他们之间需要互相配合。所以对于一个运行复杂应用的平台来说,它会涉及到多个云环境。在这种情况下,我们就需要编配很多容器。红帽利用了谷歌的Kubernetes管理技术来编配和管理容器。它的管理方式主要是管理一些超大规模并且有多个容器的环境,尤其是在主机集群的环境下,能更好的发挥它的管理作用。比如其中一个容器要宕掉的话,很快其它的容器就会填补上,这种调配和编配能力非常强。它把这层抽象出来,而且是基于预先设定的规则进行处理的。
涉及混合云的环境还需要跨主机、跨平台、跨环境来管理这些容器。
- 在运行这些容器的时候,红帽还可以根据不同客户的不同规则和需求,把它分为不同的区域,在不同的区域之间进行容器的管理。
- 对于多个容器运行在多个主机的情况,还需要解决IP寻址和SDN的问题。红帽通过内置OpenShift OVS产品来支持SDN,接下来还会支持包括思科在内的新的虚拟网络技术。
- 存储扩展也涉及多种选择,比如说NFS的扩展方式,或者像亚马逊、谷歌所提供的其它一些云存储方式,以确保容器宕掉的时候不会因为没有持久化的存储而丢失数据。
不过,一个实际的问题,是如果现在企业使用的Git来管理它的代码,使用Jenkens来做CI,那么他们用OpenShift就会非常得心应手,很好迁移。但如果企业用的是其它的源代码库,迁移到OpenShift应该注意哪些方面的问题呢?
Ashesh Badani认为,这其实很简单,包括网络、存储和源代码管理,目前整个应用程序是一种框架型的,都是标准接口模式,要想支持新的东西,只要有人去实现就可以了。至于是不是红帽要去开发SVN、CVS的支持,就要看有没有这种诉求。他表示,绝大多数软件开发都是社区模式,只要有人对这个方向感兴趣,并且能够做出足够好的贡献,红帽就会把它们放到一起。
换言之,企业用户如果想支持自己内部传统的某些东西,只要遵循这个标准去开发就可以了。就Jenkens而言,Jenkens公司现在与红帽是技术合作伙伴关系,可以自己开发一个接口和红帽的平台进行对接。
OpenShift与Kubernetes
Ashesh Badani表示,整个容器技术是由三部分组成的,其中Cgroup和NameSpace这两部分技术是由谷歌提出的,但是谷歌并没有提出一个完整的容器解决方案。由谷歌提供的这两个基础技术跟红帽结合在一起成就了Linux Container技术。谷歌提供的是容器编排的技术,是构建在容器之上的,但是谷歌的解决方案只是到了容器编排这一层,在这个基础上红帽提供了PaaS的方案。可以说谷歌提供的是细节技术,红帽提供的是整体技术。
其实目前在中间编排这层上也还有其它的选择,但是目前在市场上最有影响力的是谷歌。所以红帽选择最成熟的技术。现在谷歌尝试解决问题的前提仍然是应用要运行在其数据中心里面,但是红帽已经把公有云的体验通过开源技术带到企业私有云环境里,这一点是红帽和谷歌的不同之处。
OpenShift 3案例
Ashesh Badani分享了一个OpenShift 3的客户案例——欧洲旅游订票业务公司——Amadeus(类似于中国的中航信+携程+去哪网),其在线机票订购量占全球总业务量的95%,还需要处理酒店预订、租车业务等。Amadeus会不断收到来自全球的数据更新需求,需要足够快的反应速度。另外还要保证高度的一致性,因为客户会从任何地方接入多种系统,比如航空系统、旅店系统、旅行社系统甚至保险系统。
因为它的处理量非常大,在高峰期每秒可能会接收21万个请求,同时可能需要处理的应用服务器达上千个。他们要如何应对呢?首先,Amadeus需要建立一个非常庞大的分布式系统,这当中承载着5000多个微服务。这些可能在传统数据中心来部署,也可能在私有云或者公有云的环境下部署。在目前的状态下,它要运行几千台X86服务器。现在针对具体的任务或者请求,Amadeus有事先设定好的配置,而且改变起来并没有那么灵活,这也是他们的挑战之一。Amadeus现在想要做的就是改变这样一种状态,也就是说把那些运行的数据和运行地点分开,把所有的服务器作为一个整体来进行管理,任何一个任务在任何服务器上都能运行,也可以在任何的集群来启动这个任务。
当红帽公布V3的时候,Amadeus也发布了基于OpenShift V3的云服务平台,并充分利用了容器技术和Kubernetes容器编排技术。Amadeus觉得Kubernetes容器编排技术非常强大,可以根据事先设定好的规则进行编排,而且具备非常强的自愈能力,一旦某一个容器宕掉,就可以自动进行另一种编排管理。有了容器技术,就非常容易在不同环境下进行部署。
从开发到上线再到最后的产品,他们的整个流程非常清晰,而且非常统一。从开发环境转变到不同的IaaS环境,像公有云、私有云等等,最终Amadeus生产环境是基于OpenStack或者其它。红帽和Amadeus已经进行了一年多的合作,双方的软件工程师交叉在双方的团队中工作。
OpenShift vs CloudFoudry
OpenShift与CloudFoudry是两大开源PaaS,后者在中国也有一些案例,红帽如何看待OpenShift与CloudFoudry的竞争?
Ashesh Badani从如下几点进行了比较,核心观点是说,红帽的一切都是基于最受认可的开源技术构建,生态支持更加强大,而CloudFoundry则趋于自成体系的专有软件,但以前自成体系的微软现在都已经拥抱开源。
- 技术方面:第一,OpenShift 3底层容器技术是Docker,CloudFoundry提出来了一套兼容Docker格式的技术,但并不是Docker,“是宝马”和“像宝马”是两回事。第二,到目前为止,CloudFoundry解决问题是云化的应用程序可以并行在它上面,但是对于传统的有状态的应用程序怎么处理, CloudFoundry并没有给出一个清晰的技术性方案,相比之下红帽是给出了解决方案的。
- 市场方面:CloudFoundry在国内有一些应用案例。但实际上CloudFoundry背后的Heroku公司,大概在去年12月份全球裁员80人左右。如果它发展足够好的话,肯定会扩大阵容(当然这也是和大数据相关的,它之前失败的大数据投资造成了这种损失,云计算是另外一个话题)。反观红帽,过去12年每一个季度都在持续增长,整体客户数量和市场份额增速也许不像友商发展的这么快,但是红帽非常清晰地知道每个项目内容及进程,以及红帽在其中所作出的努力和结果。包括OpenShift Online里面有多少个应用程序,有多少人注册,这些信息是可以公开并讨论的。对于CloudFoundry,目前很难详细的描述清楚,这些具体案例是怎么做的、具体做了哪些、做了多少。尽管确实在国内能够听到许多关于他们的市场声音,而且他们确实聚集了很多开发人员和社区人员在做这个事情。
- 社区基础:在Docker社区里面,除了Docker公司之外,红帽在企业里的贡献程度是位居第二的。这方面跟Heroku一点关系都没有。Pivotal还在做自己的那一套技术。大家都认为Docker是一个方向,也许Pivotal做的东西更好,但是这个技术没有被大家认可。另外CloudFoundry自己有一些编排技术,但是红帽用的是谷歌的编排技术,这个编排技术在整个社区里面被公认为是最好的。在Kubernetes社区,红帽是仅次于谷歌公司之后的第二大贡献者。
- 产品就绪:最关键一点,目前OpenShift 3已经是GA了,已经可以发行给企业客户来使用,但是CloudFoundry并没有GA。
- 路线选择:红帽是一家开源公司,是社区驱动的。而Pivotal在CloudFoundry产品上越来越趋向于传统的专有软件公司,就是说它所有的东西,从底层技术到中间技术,再到上层技术,都自成体系。其实传统公司有传统公司的优势,但开源公司有开源的优势,只不过红帽一直保持开源的思路,通过开源的方式,充分把企业客户提出的要求,在上游社区中得以体现。这样的社区可以保证例如OpenShift这样的应用服务,不仅来自于红帽,也有来自于其它社区的合作伙伴以及ISV的贡献。
原文链接:http://www.csdn.net/article/2015-09-28/2825811
|