专访技术达人Patrick Chanezon:如冲浪一般随时代而行,容器创造了截然不同的软件构件模式

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在刚刚结束的DockerCon EU 2017上,Docker公司宣布全面支持Kuberentes和Swarm双套编排系统。而10月12日杭州•云栖大会的容器技术专场上,Docker公司的首席开发布道师 Patrick Chanezon则进行了《The Docker Way: Modernize Traditional Applications without Action and Create New Cloud Native Micro-services Application with Naturalness》的主题分享。

在刚刚结束的DockerCon EU 2017上,Docker公司宣布全面支持Kuberentes和Swarm双套编排系统。而10月12日杭州•云栖大会的容器技术专场上,Docker公司的首席开发布道师 Patrick Chanezon则进行了《The Docker Way: Modernize Traditional Applications without Action and Create New Cloud Native Micro-services Application with Naturalness》的主题分享。(容器技术专场视频回放地址)

2013年Docker公司开源的容器项目令技术人们眼前一亮,在GitHub开源项目排行榜中迅速窜升;四年后,容器技术生态不断发展壮大,虽然如何在企业生产环境使用还是一个挑战,但是技术人始终坚信着容器会带来的变革和产生的影响。

在Patrick Chanezon的杭州之行中,我们非常荣幸对他进行了采访。

Patrick

Q1:在加入Docker公司之前,您曾经在先后在Accenture、Netscape、AOL、Sun、Google、Microsoft等很多公司工作过,为什么这样选择您的职业路线?似乎您每一次选择的都是当时的IT热门趋势?

Patrick: 我很喜欢冲浪运动,冲浪时你需要预知下一个浪的到来;在互联网领域中冲浪也是如此。在Accenture的时候,我感受到web的浪潮,于是我加入了NetScape,因为那里可以创建web应用;后来加入Sun,是因为Java越来越普及也很强大,它的应用可以跑在任何地方;再后来,我看到Google的搜索和广告API很好,我就加入了Google先后做了搜索、社交和云计算方面的内容。

当我接触到Docker的时候,我发现这是一个截然不同的软件构建方式,在和Solomon沟通之后,我就决定开启这个巧妙的旅程。

Docker是一项可以让开发者们效率更高的新技术;在我看来,我们不应该过度沉浸于工作细节和具体操作中,而是要站在更高层去抽象化思考,这一点很重要并且令人受益,而Docker恰恰是可以帮助我们做到这一点的一项技术。

Q2:2015年加入Docker时,比起应用软件,您说您感兴趣的是基础设施软件?请问这两种软件有什么不同?在提供企业级服务的过程中,有哪些困难?

Patrick: 在企业场景使用,你需要考虑角色控制,需要考虑安全,需要深入了解企业不同架构的详情。2015年,我们开始做企业版,我们在中国和阿里巴巴一同售卖Docker企业版。

Docker属于基础设施软件的范畴,你需要用一个工具搭建起来一个平台,这个平台是要给开发人员和运维人员共同使用的,为了实现这一点,我们公司进行了相当大量的工作,并提供了Docker for mac和Docker for windows,Docker for mac深度定制并绑定了网络等插件。接下来,还会有更多的功能置入。

那么企业级平台都要考虑哪些呢?从开发角度来看,要考虑是否可以支持代码的快速更迭、测试是否可以简捷高效。由于企业级平台涉及软件的生产化,这就需要考虑整个的软件供应链,即从开发角度到运维角度。企业级基础设施软件需要可将公司整个的软件生产流程自动化。

那么容器的作用是什么呢?首先从开发角度可以将应用镜像打包,并使用签名加签之后放入镜像仓库。而对于运维而言,则涉及到很多不同的架构(大型机、windows系、Linux系等),这些Docker都考虑到了,会搜索后端架构然后进行配套支持,用户需要在这之上加入一个控制层,让团队成员看到需要的信息,然后共同协作,即开发和运维在一起。同时,根据开发组、测试组、运维组的不同工作内容,可以看到不同的镜像。

Q3: 2015年的时候Mesos势头很强,但是现在却没有那么频繁地被提及了,您怎么看待呢?

Patrick: Docker要比Mesos范围更大,Mesos是专门用来做大数据、流处理的编排系统。

Docker是从容器技术开始,然后添加更多的功能以实现DevOps。最重要的是与用户的需求共进,比如我们的一个举措就是将Docker模块化、分散化。

Docker发展的前两年,我们增加的是功能;最近两年,我们是Moby化,我们重构了docker项目,然后把containerd捐赠给CNCF。Moby现在就有很多分散的模块,可以用小的模块化去拼接。这对于使用不同系统(different type of system)的用户而言很重要,除了需要构建云原生架构的,比如IoT可以直接用组件,containerd、LinuxKit去以他们自己的方式集成。期望Moby可以越来越好,可以帮助大家用Moby的工具组件去创造将来他们需要的工具。

Q4: 但是您怎样看待Moby发布之后,社区中的误解和抱怨?
Patrick: Moby面向的是完全不同的群体——系统的构建者,他们可以选用Moby组件按照各自特定的需求去建设不同容器平台。社区之所以会有抱怨,在我看来,可能是因为大家当时都是期望听到都是Docker项目的新功能新特性,也就是Docker CE和Docker EE的相关平台类的内容。

虽然目前Docker大多数的开发者都是使用Docker EE或者Docker CE,可能他们不是很关心Moby项目;但是对于开源项目而言,这是一个重大的变革,我们必须把这个消息在DockerCon上发布。

Q5: Kubernetes最近发展迅速,从Kubernetes身上我们能学到什么?
Patrick: Kubernetes是一个非常优秀的项目,由Google开发并捐赠给了CNCF基金会。值得一提的是Docker也是CNCF的创始成员,Kubernetes实际上是在DockerCon2014发布的。

我们双方已经在很多领域都进行合作:一个例子是containerd,最小化的runtime,这是已经赠给OCI的标准,已经被Kubernetes、Swarm采用;另外一个例子是大家都知道Docker的网络规范是CNM,而Kubernetes则是CNI,但是在刚刚结束的北美Moby Summit,我们演示了一个CNI插件的使用。

在10月17日的丹麦DockerCon上,Docker公司宣布Docker平台可以支持Kubernetes、Swarm双编排系统。Docker认为用户们有选择编排系统的自由,Swarm是我们专门为企业设计的产品,而早期的Kubernetes并不满足企业级别的安全需求(不过现在情况有所好转)。

Q6:Docker公司的特色是什么?你们怎么样能做到与众不同呢?
Patrick: Docker可以适用所有的环境,大型机、windows、linux系列,物理机、虚机、各种编排系统和云等,这是目前唯一一个可以做到这点的容器平台。

Docker的另外一个特点是Modernize Traditional Apps(MTA),除了微服务架构之外,Docker还适用于传统型架构的容器化改造。

Q7:你怎么展望未来呢?二年、五年和十年?
Patrick: 未来两年,我希望Docker在更多的企业中被应用,帮助他们现代化。

未来五年,在云原生和企业架构之外,我希望可以看到Docker累积更多的客户实践用例。尤其是IoT、无人机、机器人。自改造成Moby项目,我们和很多的有特定需求的IoT厂商、开发者进行了密切的沟通,不过现在还尚不能公开的使用案例。

至于未来十年,这对于IT领域,真的很难猜测。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
1天前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【5月更文挑战第28天】在当今快速迭代的软件发布周期中,传统的运维模式已难以满足敏捷开发和市场的需求。本文将探讨如何通过容器技术实现高效的自动化运维体系,重点介绍基于Docker和Kubernetes的持续集成(CI)与持续部署(CD)的最佳实践。文章不仅涵盖技术实施细节,还包括如何优化流程、确保系统稳定性以及提高团队协作效率的策略。
|
1天前
|
运维 Kubernetes jenkins
构建高效自动化运维系统:基于容器技术的持续集成与持续部署实践
【5月更文挑战第28天】 在现代软件工程实践中,持续集成(CI)和持续部署(CD)已成为提升开发效率、确保产品质量的关键环节。本文旨在探讨如何利用容器技术构建一套高效、可靠的自动化运维系统,以支持敏捷开发流程和微服务架构。通过对Docker容器及Kubernetes集群管理工具的深入分析,我们提出了一种结合Jenkins实现自动化测试、构建与部署的完整解决方案,并讨论了其在现实业务中的应用效果和面临的挑战。
|
1天前
|
运维 监控 安全
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【5月更文挑战第28天】在现代IT基础设施管理中,自动化运维已成为提升效率、确保稳定性的关键手段。本文将探讨如何利用容器技术实现软件的持续集成(CI)与持续部署(CD),从而构建一套高效的自动化运维体系。通过分析容器化的优势和挑战,结合DevOps文化,我们提出一个实用的框架,以帮助企业快速响应市场变化,缩短产品上市时间,同时保障服务的高可用性。
|
2天前
|
运维 Kubernetes PHP
构建高效自动化运维体系:基于容器技术的CI/CD实践深入理解PHP中的命名空间
【5月更文挑战第27天】在现代软件交付过程中,持续集成(CI)与持续部署(CD)已成为提升开发效率、保障产品质量的重要手段。本文旨在探讨如何利用容器技术实现CI/CD的自动化流程,从而构建一个高效的自动化运维体系。通过分析容器技术的核心优势和CI/CD流程的关键要素,我们提出了一种结合Docker、Kubernetes等工具的实践方案,并详细阐述了从代码提交到最终部署的全过程自动化实现方法。 【5月更文挑战第27天】在现代PHP开发中,命名空间是一个不可或缺的功能,它解决了代码库增长时可能出现的类名和函数名冲突问题。本文将深入探讨PHP命名空间的核心概念、实现原理及其在实际项目中的应用,帮助
|
2天前
|
运维 监控 Kubernetes
构建高效自动化运维体系:基于容器技术的持续部署策略
【5月更文挑战第27天】 在现代IT基础设施的管理中,自动化运维已成为提升效率、保障稳定性的关键因素。本文将探讨如何利用容器技术实现服务的快速部署和可靠运行,以及构建一个高效的自动化运维体系。通过深入分析容器化的优势与挑战,并提出一个切实可行的持续部署策略,旨在帮助运维团队优化现有流程,应对快速变化的业务需求。
|
3天前
|
弹性计算 安全 微服务
【阿里云云原生专栏】容器网络技术前沿:阿里云Terway网络方案详解
【5月更文挑战第26天】阿里云Terway是高性能的容器网络方案,基于ECS的ENI实现,提供低延迟高吞吐的网络服务。它简化网络管理,实现安全隔离,并与阿里云服务无缝集成。Terway由CNI、Node和Controller组成,适用于微服务、混合云和多租户环境,为企业数字化转型中的复杂网络需求提供强大支持。
150 1
|
4天前
|
运维 Kubernetes Devops
构建高效自动化运维体系:DevOps与容器技术融合实践
【5月更文挑战第25天】 在当今快速迭代的软件开发周期中,传统的IT运维模式已难以满足高效率、低成本和敏捷响应的业务需求。本文将探讨如何通过整合DevOps理念和容器技术来构建一个高效的自动化运维体系。我们将详细剖析持续集成/持续部署(CI/CD)流程的实施,容器化技术的运用,以及这些策略如何帮助企业实现运维效率的显著提升和服务稳定性的保障。文章还将提供一些实用的工具选择建议,并讨论在实施过程中可能遇到的挑战及相应的解决策略。
|
6天前
|
运维 Kubernetes 监控
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【5月更文挑战第23天】 在现代IT基础设施管理中,自动化运维是提升效率、减少人为错误和加快产品上市速度的关键。本文将探讨如何利用容器技术来构建一个高效的自动化运维体系,特别关注于持续集成(CI)与持续部署(CD)的实施。文章首先概述了容器技术和CI/CD的基本概念及其相互关系,接着详细阐述了如何通过Docker和Kubernetes等工具来实现自动化的构建、测试和部署流程。此外,文章还讨论了监控、日志管理和安全性策略的重要性,以确保自动化运维体系的稳定运行。最后,分享了实际案例分析以及未来发展趋势,为读者提供深入理解并实施自动化运维的参考。
|
6天前
|
运维 监控 测试技术
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
在数字化转型的浪潮中,企业对软件交付速度和质量的要求日益提高。传统的运维模式已难以满足快速迭代和高可靠性的双重需求。本文将探讨如何利用容器技术构建一个高效的自动化运维体系,实现软件开发过程中的持续集成(CI)与持续部署(CD)。通过分析容器化的优势、CI/CD流程的关键组件以及实际落地策略,为读者提供一种提升运维效率、降低人为错误并加速产品上市时间的解决方案。
|
6天前
|
存储 Linux 调度
Ubantu docker学习笔记(五)容器底层技术
Ubantu docker学习笔记(五)容器底层技术