9月23-24日,主题为“重新定义运维”的GOPS2016全球运维大会上海站隆重举行,金山云作为顶级赞助商受邀出席本次大会。在DevOps分论坛上,金山云架构师赵帅发表题为《Docker在DevOps中的应用》的主题演讲。
图为金山云架构师赵帅发表《Docker在DevOps中的应用》主题演讲
赵帅认为,Docker是近两年最具颠覆性的技术,正如集装箱的出现提高了货物运输的效率一般,Docker的出现改变了软件生产和软件交付的方式,而这必将对IT产业的变革产生深远的影响。在容器服务方面,金山云可为用户提供build、ship、run一站式解决方案,使用户更加专注于应用的开发,这是解放用户生产力的一大革命。
Docker为什么这么火?
根据2016年Docker官方公布数据显示,全球已有46万个应用Docker化,并且实现了两年增长3000%。这样的发展速度,是曾经的虚拟化等技术无法比拟的。
在高速增长的行业趋势下,Docker无疑是近两年最火的技术,甚至是最具颠覆性的技术。那么,Docker对云计算行业来说意味着什么?回顾云计算发展历程,从2006年AWS上线至今,已经走过了十个年头。十年中,以亚马逊为代表的云计算厂商,推出了一系列云服务,使得云计算从概念变为现实,进而推动了IT产业的变革。十年的发展,IaaS变得非常成熟,计算、存储、网络等基础资源像水和电一样随手可得。用户只需要点击鼠标,即可轻松获取主机、IP地址乃至数据库、缓存等资源。
从运维的角度,IaaS帮助用户解决了IDC运维的问题,把用户从租赁机房机柜、上架服务器、插拔网线等繁琐的事项中解放出来。但是云计算发展到今天,用户仍然需要投入大量精力去做应用运维。
应用的部署、变更、扩容、缩容、监控……工作繁多,如何将用户从应用运维中解放出来?Docker的出现,为这个问题提供了答案。Docker定义了云计算环境下应用的标准封装形式和操作接口,使得云厂商能够以统一的视角去托管用户的应用,用户只需要关注应用的开发,应用的运维统统由云厂商完成。
经常有人拿Docker和“集装箱”来类比。集装箱的出现,提高了货物运输的效率,为经济全球化做出了重要贡献。Docker的出现,改变了软件生产和软件交付的方式,必将对IT产业的变革产生深远的影响。
Docker是实践DevOps的最佳方式
DevOps是近年来软件工程领域流行的趋势和文化,它提倡开发(Development)和运维(Operations)的紧密配合以实现更快、更高质量的交付软件产品。DevOps更多的是一种理念,实践DevOps需要工具和系统的支持,Docker是实现DevOps的理想工具。
Docker的出现,为DevOps的实践方式带来突破,也为企业运维及开发团队的工作带来便利:
► 开发人员可以更专注于他们的代码,而不用担心如何在生产环境中运行它们; ► 运维团队在部署的时候,可以视容器为一个独立的完整的模块;
► Docker分层的文件系统,使环境配置易于管理、维护;
► 像Git工作流一样,通过Dockerfile,即便是复杂、异构的开发、测试环境,仍然可以高效的管理;
► 即便在同一个VM中,多个容器仍能运行多种不同的环境。
正如上文所说,Docker在容器技术上的突破有目共睹。那么, Docker技术是如何得以实现的呢?赵帅介绍到,Build、ship、run是Docker提出的响亮口号,也是实践DevOps的最佳方式。
以金山云的实践为例,一个完整的基于Docker的工作流程如下:
图为金山云容器服务架构图
1. 开发人员提交代码;
2. Webhook触发自动构建,将代码打包成Docker镜像;
3. CI(持续集成)平台对Docker镜像运行测试case,测试通过后将Docker镜像推动到镜像仓库;
4. CD(持续交付)平台或者运维将镜像部署到线上环境;以上流程为我们构建了一条完整的软件生产、测试、发布的流水线,提高了软件生产的自动化程度;开发人员和运维人员分工简单明确,配合顺畅,很好地践行了DevOps的理念。
专注容器技术 为用户解放生产力
作为全球领先的云计算服务提供商,金山云以技术立本,多年来在业内保持着技术领先优势。
2016年8月,在视频压缩界享有盛誉的视频编码器大赛上, 金山云H.265编码器拔得编码软件头筹,先进的编码技术获国际认可。
而在容器服务研究方面,金山云始终关注并积极实践容器相关技术。在2014年,金山云使用LXC(Linux Container)技术研发RDS、KCS等产品,成为较早将容器技术落地的云计算厂商。目前,金山云积极研发Docker容器服务,依托于自身强大的计算、网络、存储等IaaS资源,同时整合数据库、缓存等PaaS资源,金山云容器服务将为用户提供build、ship、run一站式解决方案,帮助用户解决开发、测试、运维中的各种难题,使得用户专注于应用的开发,进而解放用户的生产力。