首届阿里巴巴在线技术峰会(Alibaba Online Technology Summit),将于7月19日-21日 20:00-21:30 在线举办。本次峰会邀请到阿里集团9位技术大V,分享电商架构、安全、数据处理、数据库、多应用部署、互动技术、Docker持续交付与微服务等一线实战经验,解读***技术在阿里集团的应用实践。
阿里巴巴在线技术峰会专题,立即参与报名:https://yq.aliyun.com/activity/97
7月19日晚8点,阿里云资深专家易立将分享《云上应用Docker化持续交付与微服务实践》。为了让大家更好的了解Docker目前发展状况,我们对易立进行了采访,下面是采访整理。
2013 Docker出世:让人眼前一亮
2013年末,当时我是IBM PureApplication System的架构师,该系统的PaaS引擎是基于虚拟机技术的,我希望能利用容器技术来加速软件的部署和简化运维。虽然那时Docker出现不久,但是它友好的开发者体验和容器化软件分发运维能力让人眼前一亮。之后我负责设计并开发了PureApp的对Docker的支持,可以将企业软件以Docker镜像的方式提供出来,并让基于Docker和虚拟机提供的中间件服务可以无缝融合在一起。加入阿里以后,在从事数据中心自动化的过程中也引入Docker作为一种标准化的软件方式,来交付和运维大规模分布式应用。
对于Docker技术的学习,我的一些经验是:
1. “纸上得来终觉浅,绝知此事要躬行。”学习一个新技术一定要亲自动手去尝试,结合自己具体问题来思考和尝试如何用它来解决。这样学到的东西会更加深刻。
2. 用一个开放的心态去参与到开源社区中。Docker的成功很大程度和其开源社区的繁荣密不可分,和社区的互动能够帮助自己更加深入地思考一些问题,和更好地判断技术发展的趋势。现在我们团队也有近20个PR被合并到Docker Engine/Swarm等多个项目中。
阿里云Docker之路:拥抱开源
阿里云在2015年10月云栖大会上宣布将提供基于Docker的容器服务,同年12月推出了公测,2016年5月容器服务正式商用。
在此之前,阿里集团内部对容器技术的使用和积累已经有4年时间了,基于LXC的T4容器技术早在双十一等场景进行大规模应用,对提高系统利用率有很大帮助。随着Docker技术的成熟并成为容器技术的事实标准,阿里云推出容器服务是一件水到渠成的事情。
这件事从高层决策到执行过程中,大家都认同Docker所代表的容器技术发展趋势。同时希望能够拥抱开源社区和开放标准,让阿里云成为运行Docker技术一个***云端环境。
容器服务是近年来云计算领域的热点,国内外初创公司(包括Docker自己)和云计算巨头(Google,Amazon)都推出了容器服务。阿里云也是根据自身的优势和技术积淀推出了容器服务,希望能够连接阿里云和Docker生态。阿里云的容器服务优势有:
1. 充分拥抱开源标准,全兼容Docker镜像和Docker原生编排技术。降低用户迁云成本。
2. 提供针对阿里云优化Docker支持,提供更好的网络、存储解决方案,和高可靠、低成本的镜像存储管理方案。
3. 将Docker技术和微服务架构、DevOps、云服务等结合起来,提供支持完整软件生命周期中的应用平台。并提供了开放框架,允许合作伙伴来扩展平台中的功能,将容器服务集成到现有IT流程和环境中。
DockerCon2016 美国之行:中国生产环境使用比例仅10%
前阵子,我前往美国西雅图参加了DockerCon 2016,让我感受比较深的是,国内外对于Docker的关注点还是有所不同:
1. 国内外对Docker技术接受度不同
在今年6月,我们在云栖社区上发起了一个Docker用户调查,其中只有10%的用户已经在生产环境中使用Docker。这个结果和国外的同期相关调查差距非常大,例如在DockerCon2016上,由Docker公布的调查反馈中,国外60%的用户中已经将Docker使用在生产环境中。产生差距的主要原因在于国内企业的IT成熟度,以及在国内缺乏容器相关的文档、培训、成功案例等。这需要国内厂商和社区的一起努力来推广普及容器技术。
2. 国内外Docker生态的不同
在国外,传统IT巨头(微软、IBM、HPE、思科、Redhat)和云计算公司(亚马逊,微软、Google)对Docker技术的重视和投入令人印象深刻;同时大量的初创企业里在各个方面探索容器技术的技术边界和新商机,容器化DevOps、监控、安全、网络、存储等都是热点。
在DockerCon上 “Nobody cares about containers, it's the application that matters”,一句话深入人心,Docker在微服务架构、Serverless、企业应用等领域的深入应用也是重要发展趋势。
相比较而言,一方面国内公司的身影还比较少,另一方面涉及领域的多样性还有待提升。希望大家一起携手,在中国土壤也能培育出***的技术公司。同时,我也在会上简单介绍了中国云计算和Docker技术的现状,并重点讲了三个不同方向的案例来介绍阿里云对容器技术的探索:
1. 在公共云上,阿里云容器服务可以让用户关注自己应用自身而非基础设施。它提供了兼容Docker Compose/Docker Swarm编排模型,并对微服务、DevOps等场景做了增强和扩展,能够无缝地整合容器和云服务。
2. 熟悉云计算运维的同学都知道,专有云交付是一个很复杂的事情,而升级维护则更加繁琐。阿里云在今年4月推出的专有云产品Apsara Stack,它利用Docker技术大大简化和加速了专有云的交付过程。我们可以在短短几个人天之内,在用户自有数据中心部署一个全功能的云环境。
3. 在阿里集团内部,越来越多的部门逐渐开始采用容器方式进行软件的分发和运维。这里我们介绍了一个分布式、可伸缩的Docker镜像分发架构来应对全球化部署的挑战。
现场反馈还是不错,有不少国外的朋友之前不了解阿里云已经是一个全球化的云供应商,也不了解我们在容器方面的探索,会后有不少问题来咨询。大家有兴趣可以去下载相应的文档来了解具体内容(PDF下载)。
Docker落地:要有正确姿势
虽然Docker一直保持很高热度,也开始在一些公司进入生产环境,但在真正落地过程中,用户也会遇到一些实际问题。我赞同DockerCon第二天主题演讲上提出的概念,在采用Docker技术在企业中的实践过程中,应该采用演化而非革命的方式来进行。
首先找到契合自己具体情况的方向进行验证,比如利用Docker构建持续集成和交付流水线,或者利用Docker实现混合云环境部署等。通过这样的尝试来培养团队,并利用成功案例的进展来说服决策层,再逐步深化改善整个软件供应链。
在Docker落地的过程中,除了Docker运行环境外还有大量的问题需要解决,比如安全、网络、存储、调度等,而且Docker技术发展非常之快,这时要减少自己发明轮子,尽可能利用一些成熟、开放的技术方案,比如阿里云容器服务来解决容器基础架构,尽可能从业务视角,关注于如何Docker解决现有的问题,而不是把重点放到Docker自身的技术之上。
开发者时代:保持初心
现在开发者已经迎来发展的***时代,对开发者而言的成长而言,我只有两个建议:
1. 保持初心,让自己对技术充满热情。在我的职业生涯中很多资深的工程师给我留下了深刻的印象,虽然他们甚至已经是IBM的院士或者阿里的高级技术主管,但依然保持着高度的技术敏感度,会深入学习并亲自动手去解决技术问题。我希望能成为他们那样的人,我也很开心在阿里云能找到这样的环境和氛围,和志同道合的同学一起奋斗、成长。
2. 持续学习。现在技术变革的速度在持续加速,学习是对每个技术人的要求。这里包括对专业技能和软技能(Soft skill)的提升。
关于技术阅读,一般而言,我建议要同时培养自己的技术深度和宽度。这样可以更好地应对快速变化的市场和技术。技术书籍是作者的思考和总结,一般而言比网络文章质量要好不少,但是时效性要弱一些。学习的目的是建立自己的知识体系,多阅读、兼顾不同的类型,可能对技术同学更适合。对经典读物要反复阅读和思考Jolt大奖的图书绝对是一个有价值的书单,对一般书籍或网文要观其大要,结合实践来学习。
对Docker开发者而言,每周的新闻通讯邮件是一个了解Docker技术发展和社区动态的一个好机会。