Docker成熟了?-阿里云开发者社区

开发者社区> 开发与运维> 正文

Docker成熟了?

简介:

平时,我们可能都看惯了IDC、Gartner或其他第三方市场分析公司给出的各种类型的预测和统计报告,这些报告中透露出的关于技术发展、企业的市场地位等信息经常成为IT人的谈资。一家专门从事高端客户软件外包开发的企业Thoughtworks搞了一份很“另类”的技术调查报告——技术雷达,通过Thoughtworks的专家与第一线开发者的直接接触,归纳出许多时髦技术在企业中落地的情况。

2016年4月公布的最新一期技术雷达报告显示,在平台类产品中,Docker位于“采用”象限,而历史更悠久、在企业级应用中更为知名的Pivotal Cloud Foundry只位于“试验”象限,这多少让人有点“跌眼镜”。

这里有必要先解释一下技术雷达报告中给出的软件应用不同阶段的评级。评级分成四类:由浅入深分别是暂缓、评估、试验、采用四个阶段。Docker被归为“采用”阶段,意为在适合的项目中,强烈建议采用此技术。Pivotal Cloud Foundry所处的“试验”阶段,意为值得追求的技术,企业可以在风险可控的项目中尝试采用此技术。

PaaS还在进化

Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎。从2013年开始,Docker迅速成了开源界的“网红”,其风头一度盖过了OpenStack。技术雷达报告对Docker的评估也表明,万事俱备,Docker可以满足企业级用户的应用需求。

大家也都清楚,虽然Docker与Cloud Foundry这两类平台之间有千丝万缕的联系,但毕竟是不同的产品,不适宜直接进行比较,技术雷达给出Docker、Cloud Foundry不同的评级,其初衷也不是比较这两类产品的优劣,而是根据目前一线用户对这些技术的认可度、使用情况给出审慎的建议而已。观者也不必对号入座。

对于为什么只给了Cloud Foundry“试验”的评级,Thoughtworks中国区首席技术专家徐昊解释说:“技术雷达报告主要是从实践者的角度,对某一技术的成熟度,以及与企业业务的相关性等维度上进行评估。我们接触的一线使用者反馈,他们感觉Cloud Foundry的安装和部署有些麻烦,在与研发流程对接时,还有一些‘坑’(不完善的地方)要填补。”

本期的技术雷达对当前PaaS的进展也给出了中肯的评价。现在,很多大型机构将云计算和PaaS看作一种标准化基础设施、简化部署和运营、提高开发人员生产力的显而易见的方法。但是技术雷达却认为,上述企业的这一看法显然过于激进,目前PaaS的定义仍然模糊不清,很多PaaS方法并不完整,或受到不成熟的框架和工具影响,导致有些PaaS解决方案让原来在IaaS上很容易实现的事变得更加复杂。虽然,很多公司采用现成的PaaS或自己构建PaaS,取得了不同程度的成功,但是PaaS并不是最终态,它只是进化之路上的一个阶段而已。

技术雷达认为,虽然企业用户在向云和PaaS迁移的过程中获得了很多益处,但仍面临许多困难和挑战,特别是在整体流水线的设计和工具的使用方面。

徐昊对于PaaS的一些理解让记者耳目一新。徐昊认为,PaaS对于企业业务的发展来说是友好的,而对于工程师来说则不够友好。为什么这么说呢?一些高级程序员,他们的兴趣点在技术上,所以他们宁愿作PaaS的构建者,而不愿意只作PaaS的使用者。但是现在的企业,更希望通过PaaS消除技术“周边环境”的不利因素,让程序员将更多的精力放在与业务直接相关的开发上,而不必关注业务以外更多的技术因素。这样做显然更有利于企业业务的开发、测试和应用,给企业带来直接的效益,但能否让程序员拥有最大程度的满足感呢?“PaaS的出现屏蔽了技术上的复杂度,允许程序员只要具备一部分的技术能力便可以在PaaS上进行开发,这实际上降低了对程序员在技术方面的要求。”徐昊表示,“PaaS技术人员其实可以分成两类:一类是PaaS的使用者,另一类是PaaS的构建者。现在,企业内大多数的PaaS技术人员只是PaaS的使用者。”

一家第三方市场分析公司所做的调查显示:目前39.1%企业已经采用了PaaS,另有20.3%的企业计划在未来一年内采用PaaS。PaaS虽然可以给企业带来显而易见的价值,但在实际使用过程中,企业用户仍要仔细评估,认真对待。

Docker进入生产系统

互联网公司与企业级用户在技术选型上有很大不同。对待一项新技术,互联网公司的通常做法是,只要感觉好,就马上拿来应用,如果在实际应用过程中出现问题或失败,再进行调整,或换用其他技术。技术雷达为什么将软件的采用过程分成“暂缓、评估、试验、采用”四个阶段,就是因为企业级用户在对待新技术时非常小心谨慎,通常要经过长时间的评估和测试,在技术比较成熟时才投入生产系统。

正因为技术雷达面向的是企业用户群体,所以一些与Docker一样风头正劲的技术可能早就在互联网公司那里成了“香饽饽”,而在技术雷达的评估中,大多数仍处于“试验”、“评估”等阶段,远未达到可以在企业生产系统中广泛“采用”的程度,这其中包括处于“试验”阶段的Kubernetes,以及处于“评估”阶段的开源存储Ceph、Mesosphere DCOS等。

话说回来,对于Docker,技术雷达还是比较推崇的。技术雷达中是这样描述容器技术发展的:容器技术,特别是Docker,已经被证实是一种有效的应用管理技术,它方便了不同环境的应用程序部署,解决了“在这里正常工作,但在别的环境不行”这类问题。Docker的应用已经超越了开发、测试环境,进入了生产环境。

Thoughtworks的技术专家归纳了Docker的几大优势:一次构建,随处可用;性能好,秒级启动,完胜VM(虚拟机);可以实现基础设施即代码……Docker是一种全新的高效的交付方式,可以将应用分发到任意的环境中。

在2016年4月公布的最新一期技术雷达报告中,Docker之所以被强烈推荐,是因为Docker的整个生态环境比较完善,已经可以满足企业级用户生产系统所需。Thoughtworks技术专家进一步解释说,Docker已具备服务发现、服务编排、分布式存储、滚动升级、快速灾难恢复、横向动态扩展、集群资源统一调度、健康检查、负载均衡、多级监控和中心日志收集、安全等企业级用户所需的功能和特性,可以放心采用。

对于目前比较流行的Mesosphere DCOS、Kubernetes,以及后起之秀Rancher,Thoughtworks的技术专家也谈了自己的看法。从技术的角度看,Mesosphere DCOS目前已经很成熟。Mesosphere公司不久前刚刚获得了惠普等公司7350万美元的战略性投资,估值超过10亿美元,成了令人艳羡“独角兽”公司。国内与Mesosphere对标的数人云公司也完成了A轮融资,目前正致力于将DCOS推广到企业级用户中。技术雷达给Mesosphere DCOS的评及是“评估”,意为为了确认它可能给企业带来的影响,值得作一番研究。

Kubernetes是Google的开源容器集群管理系统,也受到了业界的热捧。技术雷达显示,Kubernetes目前已经到了“试验”阶段。Thoughtworks的技术专家认为,Kubernetes与Mesosphere DCOS比较类似,在部署和运维方面已做得十分精细,可以用于企业级应用。目前,Kubernetes最大可以支持1000个节点、3万个容器。

与Mesosphere DCOS背后有微软、惠普等大公司撑腰,Kubernetes背靠Google、红帽等大树相比,Rancher并不起眼。不过,Rancher一开始的定位就是企业级的容器,是一个大而全的系统,不仅有自己的核心调度系统,也可以支持其他厂商的调度系统。Rancher当前最大的问题就是如何吸引更多企业用户的注意。

以上不同的容器系统,各有所长,但也有不足之处。企业应持续关注,并进行仔细评估,选择能够给自己带来最大价值的产品。

Thoughtworks的技术专家提醒企业用户,在进行软件升级的过程中要注意以下几个问题:在升级的准备过程中,以及维护各种环境时,可能会浪费大量时间;升级软件的流程通常比较复杂,环境管理工作也比较繁琐;企业历史遗留系统的升级和应用迁移工作十分困难;基础设施的维护和扩展可能存在不安全、低效等问题。

开源软件进入良性循环

现在,开源技术的地位相较以前已经有了很大提升。对于很多企业来说,开源软件已经不是可选项,而是必选项。技术雷达认为,开源软件已经进入了良性发展的循环。软件开发生态系统正在发生巨变,开源软件的作用不容忽视。

徐昊以自己的亲身经历说明:“以前,企业用户采购软件时,商业软件一直是默认选项,如果哪个企业考虑开源软件,会受到各方面的质疑。现在,情况正好相反,绝大多数企业都会优先选择开源软件,如果哪个企业要选择商业软件,会被要求解释原因,为什么不能用开源软件解决问题。实践证明,开源软件更高效,企业在使用开源软件时也比以前更放心。”

本文转自d1net(转载)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章