一年一度的Docker盛会终于在西雅图的华盛顿州国际会议正式开幕。分别来自北京、杭州、圣马特奥的几位阿里巴巴小伙伴齐聚雨城西雅图。在DockerCon,无论是西雅图的风景,还是国内外的热情伙伴,还是Docker的最新进展和社区动态,都让人兴奋。
Bump up
一行人来到会议中心的三楼,即使本次会议注册是根据参会者的姓名首字母分队伍排队,每个队伍已经排起一字长龙(据说本次参加DockerCon有4000多人)。每个参会者除了能领到一个带有Docker标识的包和T恤以外,还有一个白色的蓝牙LED腕表(PixMob 出品)。通过两个人的腕表碰撞,可以非常方便的交换双方的联系方式,并可以参加Docker的积分项目获取奖品,极大了促进了参会者的交流和碰撞,不得不赞。希望国内的会议也能学习这一点。
生态厂商齐聚一堂
Docker生态相关的公司来的非常全,有云厂商如Amazon(AWS ECS)、Google(GCE)、Microsft(Azure Container Service)、IBM(BlueMix Container)和我们阿里云(Alibaba Cloud Conainer Service)等,有垂直领域解决方案公司,如容器存储厂商ClusterHQ(Flocker)、Portworx、Vituozzo等,如容器安全厂商Aqua、TwistLock等,如容器监控厂商New Relic、Dynatrace、Sysdig等。每家公司按照对DockerCon的不同赞助情况有不同规模的展台。由于DockerCon的会议安排中有多次的中餐、下午茶和晚餐休息,而休息的地方就是展区,使得展区的曝光度非常好。
准备中的阿里云展台
准备中的HPE展台,真正的“Docker”
Docker社区爆发增长
上午的General Session,Docker 的CEO Ben Golub讲了最近的Docker 发展:
- 容器化应用增长3100%
- Docker相关项目增长1300%
- 拉取请求增长720%
- 镜像下载增长145%
- 项目贡献者增长530%
Docker演进滚滚向前
接下来由Docker的CTO Solomon Hykes 介绍了Docker的技术发展。
内置了编排(orchestration)能力
1. 提供了Swarm模式
- 提供了命令行工具,可以将一组Docker Engine构成一个集群
- 集群环境内置 Raft 一致性协议,避免单点故障问题,也无需额外的类似于 ETCD/Consul 的外部存储
- 自动选举出leader进行集群管理
2. 节点身份加密 (Cryptographic node identity)
- Docker节点加入集群时自动完成相应的安全配置
- node之间点对点通信通过TLS证书认证,同时TLS证书定时刷新
NOTE:之前乌云爆出的关于Docker Swarm 2375端口的远程访问漏洞很大的原因是Docker的安全配置复杂难用,导致大家图省事而忽略了安全性。在Docker Engine的Swarm模式支持之后,通过简单的命令就可以构建出一个高度安全的Docker集群,这也让之前的问题也彻底成为了过去时。
3. 提供Service概念支持
- 提供服务状态的持续逼近
- 支持服务的不中断更新(rolling update)和其他发布策略
- 自定义服务的健康检查规则
- 当节点失效时,服务自动重新调度
4. 内置路由机制(Routing Mesh)
通过 IPVS 实现内核空间的4层路由,实现可靠的负载均衡。可以从任意节点访问集群中服务暴露出的服务端口。
我们可以看到Docker提供了越来越完整的容器编排和集群管理解决方案,留给其他编排技术的空间在缩小。这件事一方面抑制了竞争,另一方面提升了Docker的能力,简化了对技术栈的外部依赖,进一步提升用户体验。
进一步提升易用性,降低了开发和运维过程中的摩擦力
- Docker for Mac & Windows进一步提升了在桌面系统的Docker体验,将大大简化开发人员利用Docker
- Docker for AWS & Azure进一步简化了公共云部署运维Docker环境的复杂性。现在AWS上可以用CloudFormation模板来部署Swarm 群集。可以利用SLB自动配置服务的负载均衡端口。会后和Docker的工程师沟通,他们觉得之后也应该把IaaS集成的的能力作为plugin提供出来,其他云厂商可以提供自己的集成手段。
- Docker应用交付的简化:新的DAB(分布式应用打包, Distributed Application Bundles,www.docker.com/dab)草案发布提供了可移植多容器应用打包格式。让开发和运维团队更容易工作在一起的方案。
十二因素不会永远成立
在下午的生态系统分会场,EMC Code的Joshua Bernstein讲到,十二因素不是在所有创建下都能做到。如“Execute the app as one or more stateless processes”,实际上如果完全享受到Docker的威力,我们需要将有状态的应用也进行Docker化。EMC提供了其存储解决方案,阿里云容器服务也提供了基于Docker Volume plugin的存储集成方案(包括支持云盘、OSSFS、NAS等)。
期盼明天
一天下来,除了DockerCon的内容非常丰富外,也和国内外不同的参会者学习了很多的经验。在会场,我们遇到了来自华为、DaoCloud、Hyper等公司的小伙伴,也遇到了在Sony Playstaion部门和EA部门的中国同胞,大家都在不同的领域大规模应用起Docker来。Sony的兄弟提到他刚通过看我们的网络介绍文章 解决了他的一个问题,真的很巧。我忍住了问他,买PS4还是xbox one好。。。
非常期待明天中午在Commuity Theater的一场分享-阿里云上的容器实践 ,欢迎大家前往。