程序员改变世界,DockerCon 2015 直播现场
六月的San Francisco 居然异常的凉爽。而与之相反的确是DockerCon 2015的如火如荼。2000人的参与的大会使这个不太热的初夏平添了几分热度。美国时间6月22日,DockerCon 2015在旧金山举行。作为本次DockerCon的赞助商之一,云雀科技也为大会增添了不少中国特色,CTO陈恺以及战略及市场负责人于历濛,出席了本次DockerCon,他们会在灵雀云微博直播本次盛会,并为未能到现场的Docker爱好者们带来第一手的报道。
8:45 当我步入会场,夺我眼球的并不是业界大佬们齐聚此间的盛况亦或是会场本身的恢宏与喧嚣,而是舞台之上一位艺术家正在安静的现场作画。作为参加了无数会议的我,也觉得此处创意非常特别,给会议本身平添了几分轻松诙谐的氛围。
9:00 DockerCon 2015 大会正式开场。不得不说一下,大会的开场播放一部视频漫画,与灵雀云本月初的发布会有 异曲同工之妙。 漫画回顾了”The dark days before docker”,以及我们已经习以为常的那句话: “It’s not working in prod”, “But it was working on my machine!”. 真的是这样,如果没有Docker, DevOps的世界又将灰暗成什么样哪? 由衷感谢Docker为世界带来的改变!
9:15 Docker CEO Ben Golub 正式上台。Ben 自述Docker是他工作过的第五家startup。他认为Docker 已经具备全球影响力,并且已经改变了人们对IT世界的认识和工作习惯。他也同时感谢了两年以来,对Docker和Docker社区做出巨大贡献的公司和个 人,即包括诸多大公司比如IBM,,Google,Redhat等,也包括Docker项目的贡献者和Docker Meetups 的组织者。之后,他展现了一组数据以证明这一年来Docker使用的突飞猛进。这组数据中,让我尤为惊讶的是, 相比于去年同期,Container 的下载数量增长了近两万倍,由接近三百万次到达了五亿次!
之 后,他从应用架构的发展的角度陈述了Docker存在和蓬勃发展的必然性。他说到, 在云时代,应用程序的架构已经从根本上发生改变,从构建大型单体应用和使用巨型服务器的模式已经演进为构建由微服务(Microservices)组成的 应用和使用小型服务器模式。而使用Docker, 是这种演进的必由之路。
最后,他回顾了在去年DockerCon 14’ 提到的“The Future of Distributed Application in 5 steps”, 他认为Docker已经完成了五步中的前两步,”Create lightweight containers”和“make container standard, easy to use”, 而下一步,Docker将更加专注于怎么增加其生态系统和让Docker变得更开放。
“给Docker一个支点,我们可以用它撬起地球“ 他最后的结束语。
9:35 Docker 的灵魂人物Docker的联合创始人 以及 CTO Solomon Hykes上台!我个人认为他要讲的东西是DockerCon的真正看点。
9:40 Solomon 并没有直切主题,而是希望听众能关注“Big picture”, 能了解自己未来能在这个“Big Picture”中做哪些贡献。他认为编程是创新最好的途径,而互联网是让众多程序员发挥其编程天赋最好的介质。程序员可以通过互联网整合和控制大多数资 源,而现在的问题是如何让程序员更好的和互联网沟通。为了解决这个问题,他宣布了Docker未来五年的宏伟计划:Doocker将构建新的软件层,让整 个互联网可编程化(For the next 5 years, we’re going to build a software layer to make the internet programmable.)
9: 50 为 了实现这个宏大的计划,Solomon认为首先要实现四大目标。第一大目标:重新发明程序员的工具箱(Reinvent the programmer’s toolbox)。他认为当前构建分布式应用的体验不佳,原因是当前构建分布式应用的工具是在“分布式”这个概念之前产生的,并不能有效的用来构建分布式 应用。程序员应该有更好的工具!而如何做到reinvent哪?Solomon提出了Incremental Revolution的概念,其核心意义就是每次专注于解决一个核心的问题,然后重复这个过程。就我个人而言,这个概念和Lean的概念不谋而合,看来 coding和做Startup也是殊途同归啊。使用这个方法,在过去的两年里,Docker已经解决了runtime (Docker Container), packaging and distribution(Docker Registry), service composition (Docker Compose), machine management (Docker Machine),clustering (Docker Swarm)等问题。而Docker 关注的下一个核心问题,就是networking。Solomon 强调“网络应该是应用的一部分(The network should be part of the application not the other way around)”。
之 后,Solomon正式发布了Docker Network,一个和Docker无缝整合的全新network stack 产品。该产品支持multi-host networking, micro-segmentation,standardized service discovery。而所有的这些feature都建立在现有网络标准之上,无需用户重写代码或者改变现有基础架构。
10:00 Demo 时间, Ben Firshman ,Docker产品总监,上台做Demo。他演示的重点是程序员如何在不用关心network和底层架构的情况下,通过Docker Compose将本地的应用部署到Production。首先他演示了如何用Docker compose 在本机启动包含多个service的服务,之后展示了如何在CLI中通过Docker compose 在Docker Swarm支持的Production 环境中部署和启动应用,最后演示通过Docker compose 扩展多个应用以应对增长的Web traffic。
10:05 Solomon 回到台上, 阐述他关注的另外一个核心问题:Extensibility (可延展性)-如何让程序员整合既有工具和Docker提供的新工具箱。为此,Solomon宣布了另外一个新产品:Docker Plugins。Docker Plugins 定义了四类扩展点:Networks,Volume,Scheduler Point 和Service Discovery。用户可以通过扩展点定制化Docker的产品。Docker Plugins 还有三大特性,第一)Dynamic loading,用户无需重启就可以使用新部署的Plugins。第二)Multi-tenant, 用户可以”Use different plugins for different applications”。第三)No Lock in。
10:15 Solomon开始强调Ecosystem。 紧接着,AWS的代表上台demo。看来今年的嘉宾同样重磅啊。
10:22 Solomon 再次回到舞台上,揭示了他的第二大目标:Build better plumbing。他定义的plumbing包含众多底层软件模块,例如security tools, storage,login,networking,isolation等。Docker既复用了也新构建了很多底层软件,Solomon告诉我们,在现 有的Docker代码中,有至少50%的代码是和Plumbing相关的!以此为引子,他宣布了关于plumbing未来的发展计划:创建The Docker Plumbing Project,将plumbing相关的工作从Docker的主流项目中分离出去,使Docker更加模块化。
10:34 Solomon 紧接着拿出了两个Plumbing的例子。第一个就是Security。看来之前业界关于Docker 安全问题的顾虑让Docker把Security作为头等问题讨论啊。 他宣布了Notary (A trusted publishing system for any content),一个在Docker项目之外的安全模块。另外一个是OS Containers。Solomon指出,Docker 已经不再仅仅是container了,Container的代码只占Docker代码的百分之五左右。在未来OS Container部分也将被从Docker的代码中剥离出去,这个动作的结果就是RunC - A universal runtime for OS container。 RunC可以独立运行,与其他的Docker组件没有依赖关系。同时RunC也将成为第一个既支持Windows平台也支持Linux平台的 Container runtime。
10:50 Solomon 开始讨论他的第三个目标:标准。他认为Docker真正的价值不在于技术而是让人们共同认可一件事情。他提到了近期发生的标准之争(比如和CoreOS) 并认为人们不应该关注如何定义“集装箱”的尺寸和形状而应该取得对事情的共同认可而进一步获取更大的成就。Docker作为行业的领军公司,应该责无旁贷 的来定义标准,进而把行业团结在一个标准之下。当然正确的标准会包含几个元素:第一,标准的容器格式,Solomon在此公布了OCF,一个标准的容器格 式。第二,独立管理:Open Container Project(OCP)会成为Linux Foundation项目一员,由委员会管理。第三,中立的参考实现:为此Docker贡献出Docker所基于的runC代码。第四,受广泛认同、支 持:超过20家业界巨头共同参与、支持Open Container Project。第五,广泛接受新的意见和建议:由CoreOS主导的Application Container(appc)标准将与OCP整合,成为OCP项目的一员。
Docker的Solomon和CoreOS 的Alex最终握手的一幕让人动容。我在今天keynotes上最大的感受就是Docker将变得更开放,将拥抱更多的厂商共建生态系统。对行业而言,这是一件幸事,未来,让我们拭目以待吧。
作者:于历濛,云雀科技战略及市场负责人。持有美国密歇根大学(University of Michigan)罗斯商学院 (Ross School of Business)工商管理硕士学位(MBA)。就读商学院前,于历濛历任惠普公司高级咨询经理和软通动力实施总监等职位。