Docker Swarm负责人谈Docker 1.12为何内置编排

Docker Swarm负责人陈东洛将在9月11日的中美企业级容器应用高峰论坛中,带来Docker官方对微服务最新的探索,介绍“企业利用Docker构建微服务的一些模式”。会前我们邀请陈东洛分享了他对于Docker Swarm和微服务的一些认识,包括Docker 1.12中内置编排的原因,以及Docker在企业实践微服务架构的历程中充当的角色等,以下为主要内容:

1.首先请您介绍下自己

20160831201527

我是Docker开源部门软件工程师,是swarmkit,swarm,docker engine-api项目的管理员。加入Docker前为微软高级开发经理,负责开发微软全球数据中心管理系统,实现硬件软件自动化部署,开发网络管理,域名解释,时间同步,负载均衡等系统。此前任职法国电信和俄亥俄州立大学,研究IPv6和下一代通讯网络。主要兴趣在分布式系统,数据中心和网络协议。Docker 1.12引入服务(service)概念,切合微服务的具体需求,鼓励用户创建”低耦合高内聚“的微服务,服务可以通过DNS进行服务发现,内置负载均衡。未来Swarmkit会进一步支持各种微服务的各种需求,比如滚动更新,回滚等等。

2.在Docker 1.12中,将Swarm内置在了Docker Engine中,这样的设计是出于什么考虑?Swarm目前或未来的设计中有没有针对微服务的特性或优化?

Docker的Vision是创建(build),分发(ship)和运行(run)容器,Docker在成立的前三年解决了网络、存储、安全等诸多问题后,越来越多的用户接受Docker并开始大规模部署,但是在部署中遇到不少问题。一些系统缺乏对微服务的全面支持,即便复杂系统也往往割裂Docker的功能和可移植性。Docker公司通过Swarmkit来提供一个简单的用户界面来实现集群和编排功能,能够充分使用Docker提供的丰富特性,并且能够嵌入外部驱动,给开发者和运维人员提供统一的测试和生产环境。

Docker 1.12引入服务(service)概念,切合微服务的具体需求,鼓励用户创建”低耦合高内聚“的微服务,服务可以通过DNS进行服务发现,内置负载均衡。未来Swarmkit会进一步支持各种微服务的各种需求,比如滚动更新,回滚等等。

 3.您认为Docker技术在企业的微服务架构中充当什么样的角色?是不可或缺的吗?

Docker的发展是顺应了微服务架构的潮流,Docker通过满足开源社区的要求而逐渐壮大,越来越多的企业和个人用户加入到Docker社区中。Docker的前身DotCloud 就是微服务提供商,Docker在一步步的支持微服务。Docker努力成为微服务架构的流行实现方式,并且成为微服务发展的推动力。从当前的发展来看,大量企业和用户通过Docker来实现微服务。Docker也一直密切的关注业界的发展,以开放的态度来支持用户的需求

 4.现在很多企业对微服务都是跃跃欲试,对于他们您有什么建议?您认为微服务架构适合哪些企业?

微服务架构的要旨在于构建“高内聚低耦合”的系统,在新的业务中尤其是App开发里非常流行,有不少现成的功能模块和模式可以借用。微服务同时也是企业组织方式的变化:

“Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.”– Melvyn Conway, 1967。

企业转向微服务架构时需要按照服务的通讯方式调整开发队伍结构。微服务强调持续集成和继续交付,往往是一种更快的开发周期,企业开发方法也要与之适应,工具链要做相应的调整。很多企业可以选择新业务或者独立业务开始试验微服务架构,然后进行推广。

当前互联网企业基本采用微服务架构,微服务架构不是目标而是手段,企业可以根据自己的实际情况来决定如何推进。

5.在实现微服务架构的方式上,有两种观点:一种是从头开始就按照微服务的理念去设计系统,另一种是先走单体架构的模式,等到系统规模够大,遇到问题再向微服务迁移。您更建议哪种方式?

一般而言,如果目标是微服务架构,一开始就按照微服务理念设计更合理,会节省很多重构的任务。微服务定义好各个服务的边界,减少系统模块之间的复杂依赖关系,有利于敏捷开发。如果只是开发原型系统,可以用单体架构以实现简单(往往是单机)版本,进入生产环节后还是按照微服务架构来进行。当然不是服务越小越好,根据具体业务环境来决定。

6.请简要介绍下您在本次会议中会分享的话题

本次的话题是“企业利用Docker构建微服务的一些模式”,我会讨论微服务的开发模式,如何利用Docker来实现高内聚低耦合的服务,如何利用Docker部署微服务。Docker最近的版本支持集群和容器编排,是支持微服务的重大更新,我们会剖析系统的实现及其目标,并讨论今后的发展方向。

 

7.您认为哪些听众最应该来听这个话题?您希望帮助他们解决哪些问题?

目标听众是对Docker有一定了解,希望了解如何利用Docker特性开发微服务,和对Docker编排感兴趣的开发者和运维。

2016年9月11日,中美企业级容器应用高峰论坛将在北京(鼎好电子大厦A座3层 · 太库)召开。届时美国Docker生态重量级选手Docker、CoreOS、Netflix的主要技术负责人,国内一线互联网公司及灵雀云技术负责人将齐聚一堂,共同探讨生态演变及发展趋势,为CTO/IT主管们提供决策参考。

峰会议程

13:30-15:30 容器生态演变和趋势

  • 企业利用Docker构建微服务的一些模式  Docker Swarm负责人 陈东洛
  • 容器服务的服务发现和微服务应用的指导原则  CoreOS技术负责人 李响

Panel主题:

  • 编排之争:Docker未来的发展方向以及生态企业在这个领域的挑战和机会

嘉宾

  • Netflix资深架构师 徐振中
  • Docker Swarm负责人 陈东洛
  • CoreOS技术负责人 李响
  • 灵雀云CTO 陈恺

16:00-18:00 中美企业的容器服务

  • 容器服务在美国企业落地的现状和案例分析  Netflix资深架构师 徐振中
  • 容器服务在国内大型企业中的应用   灵雀云CEO 左玥
  • Panel主题:企业级容器服务落地的阻碍以及解决方法,成熟企业决策者的心路历程
  • 嘉宾
  • 灵雀云CEO 左玥
  • Netflix资深架构师 徐振中
  • 途家网高级副总裁 庄海
  • 奥鹏教育技术总结 王雪松
分享到:更多 ()