中国IDC圈9月7日报道,8月28日-29日,全球容器技术大会在京举行,京东作为目前拥有超大规模Docker应用的厂商应邀参加本次会议。会上,京东云平台首席架构师、系统技术部负责人刘海锋发表主题演讲《京东弹性计算云:软件定义数据中心与容器集群调度》,对京东弹性计算云的诞生、目前的应用情况及未来发展前景进行了详细阐述。在互联网+时代,随着非结构化数据、缓存容量、消息传递、在线服务、机器数量等需求的暴增,弹性计算云技术受到业内的极高关注。京东作为这一技术的成功实践者,通过刘海锋的演讲为其他企业和厂商提供了非常有价值的参考。
大发展带来技术挑战
京东近年来业务高速发展,呈现出多元化态势,除了京东商城之外,金融、京东到家、智能、拍拍、海外等业务也都齐头并进,这些业务都具有自己特殊的业务流程,对底层的技术架构提出了越来越高的要求。搜索、图片、广告、订单、Hadoop、Spark、MPI等都占据了不同的机器资源,造成服务器规模呈指数级增长。越来越多的硬件设备,通过传统的人工方式难以有效分配和管理服务器资源,协同工作效率低且资源浪费很大。
面对这些挑战,京东于2014年8月开始部署弹性计算云技术。弹性计算云是京东公司级别战略项目,它基于Docker简化了应用的部署和扩容,提高了系统的伸缩能力。系统架构可以这样简洁定义:弹性计算云 = 软件定义数据中心 + 容器集群调度。整个项目分成两层架构,底层为基础平台,系统名JDOS,通过“OpenStack married with Docker”来实现基础设施资源的软件管理,Docker取代VM成为一等公民,但这个系统目标是统一生产物理机、虚拟机与轻量容器;上层为应用平台,系统名CAP,集成部署监控日志等工具链,实现“无需申请服务器,直接上线”,并进行业务特定的、数据驱动的容器集群调度与弹性伸缩。
弹性计算云经过一年的部署和实践,已经成功地为618、11.11、12.12等大型电商促销节日承担了技术保证,成功展示了这一技术的系统扩展性、稳定性、容灾能力、运维能力、紧急故障处理能力。举例来说,像618这样的大型促销,为了应对流量的急剧变化,需要提前增容。之前的方式需要提前审批、部署界面选择、打包、机器分配……不仅流程长,而且节日过后,也很少有人还会想到去减少硬件设备,无形中造成极大浪费。现在借助弹性计算云,业务与硬件解耦,可进行全自动化维护,直接部署,平台实现统一控制,随流量自动扩容,自动缩减,中间环节全部取消,资源利用率大幅提升,而成本却明显降低。
弹性计算云的整体发展及未来
自2014年8月份开始Docker的应用以来,京东弹性计算云项目经过一年的发展,逐渐做到了一定规模。在2015年的618,京东线上共运行了超过了11000个Docker实例以及几百个KVM虚拟机。弹性计算云项目作为今年618的扩容与灾备资源池,是国内甚至世界上最大规模的Docker应用之一。随着业务的发展以及IDC的增加,今年预计京东的Docker实例数目将达到十万级数量,大部分应用程序都会通过容器技术来发布和管理。刘海锋透露,技术团队目前正在开发测试线上全流程、平台化服务,实现在线离线业务的统一调度。
目前,弹性计算云已经成为京东基础云服务的核心。京东主要的一些核心应用比如商品详情页、图片展现、秒杀、配送员订单详情等等都部署在弹性云中。目前大家在浏览京东网站时看到的图片与商品详情,其实都是有弹性预测的,而京东弹性云在里面承担了大约90%的访问量。换句话来说,目前用户在京东上的每一次浏览,背后都有着京东弹性云项目的支撑。
刘海锋在会议上还透露,京东弹性计算云将全面落地并不断推动基础架构的演进,实现应用与物理资源的完全解耦。技术解放生产力,通过弹性计算云实现全自动维护,管理所有的硬件设备,成为业务的基石,保证流畅可靠的用户体验。
关于京东(JD.com):
京东(JD.com)是中国领先的自营式电商企业,在《财富》中文版公布的“2015中国企业500强”中,京东是中国收入规模最大的互联网企业。京东为消费者提供愉悦的在线购物体验。通过内容丰富、人性化的网站(www.jd.com)和移动客户端,京东以富有竞争力的价格,提供具有丰富品类及卓越品质的商品和服务,并且以快速可靠的方式送达消费者。京东拥有庞大的仓储设施,其规模在全国电商行业中处于领先地位。截至2015年6月30日,京东在全国范围内拥有7大物流中心,在44座城市运营了166个大型仓库,拥有4142个配送站和自提点,覆盖全国范围内的2043个区县。2015年,京东很骄傲入选纳斯达克100指数。