close
当前位置: 物联网在线 > IT技术 > 云计算 >

基于Docker持续交付平台建设的实践

  中国五矿和阿里巴巴联手打造的钢铁服务专业平台五阿哥,通过集结阿里巴巴在大数据、电商平台和互联网产品技术上的优势,为终端用户带来一站式采购体验。本文是五阿哥运维技术团队针对Docker容器技术在如何在持续交付过程中探索和实践,目前已经将发布部署权限开放给应用开发的owner,实现7*24小时“一站式”的持续交付,整体提高了公司研发过程的交付能力。

 

  前言

 

  作为创业公司和推行DevOps工程师们来说,都遇到过这样的问题:

 

  硬件资源利用率的问题,造成部分成本的浪费

 

  在网站功能中不同的业务场景有计算型的、有IO读写型的、有网络型、有内存型的,集中部署应用就会导致资源利用率不合理的问题。比如,一个机器上部署的服务都是内存密集型,那么CPU资源就都很容易浪费了。

 

  单物理机多应用无法对无法进行有效的隔离,导致应用对资源的抢占和相互影响

 

  一个物理机器跑多个应用,无法进行所使用的CPU、内存、进程进行限制,如果一个应用出现对资源的抢占问题,就会引起连锁反应,最终导致网站部分功能不可用。

 

  环境、版本管理复杂,上线部署流程缺乏,增加问题排查的复杂度

 

  由于内部开发流程的不规范,代码在测试或者上线过程中,对一些配置项和系统参数进行随意的调整,在发布时进行增量发布,一旦出现问题,就会导致测试的代码和线上运行的代码是不一致的,增加了服务上线的风险,也增加了线上服务故障排查的难度。

 

  环境不稳定,迁移成本高,增加上线风险

 

  在开发过程中存在多个项目并行开发和服务的依赖问题,由于环境和版本的复杂性很高,不能快速搭建和迁移一个环境,导致无法在测试环境中无法模拟出线上的流程进行测试,很多同学在线上环境进行测试,这里有很高的潜在风险,同时导致开发效率降低。

 

  传统虚拟机和物理机占用空间大,启动慢,管理复杂等问题

 

  传统虚拟机和物理机在启动过程进行加载内核,执行内核和init进行,导致在启动过程占用很长时间,而且在管理过程中会遇到各种各样的管理问题。

 

  基于Docker容器技术,运维技术团队开发了五阿哥网站的容器云平台。通过容器云平台95%的应用服务已经实现容器化部署。这些应用支持业务按需拓展,秒级伸缩,提供与用户友好的交互过程,规范了测试和生产的发布流程,让开发和测试同学从基础的环境配置和发布解放出来,使其更聚焦自己的项目开发和测试。

 

  

\

  图1 五阿哥容器云整体架构

 

  结合五阿哥容器云平台和Docker容器技术的实践,本文先介绍如何实现7*24小时“一站式”的持续交付,实现产品的上线。关于容器云平台的介绍,请关注:https://zhuanlan.zhihu.com/idevops

 

  Docker镜像标准化

 

  众所周知,Docker的镜像是分层的。对镜像分层进行约定:

 

  第一层是操作系统层,由CentOS/Alpine等基础镜像构成,安装一些通用的基础组件;

 

  第二层是中间件层,根据不同的应用程序,安装它们运行时需要使用到的各种中间件和依赖软件包,如,nginx、tomcat等;

 

  第三层是应用层,这层仅包含已经打好包的各应用程序代码。

 

  

\

  图2:Docker镜像分层约定

 

  经验总结:如何让自己的镜像变的更小,PUSH的更快?

 

  

\

  图3 优化前后对比

 

  dockerfile构建应用镜像,在中间件层遇到一些需要安装的软件包时,尽可能的使用包管理工具(如yum)或以git clone方式下载源码包进行安装,目的是将软件包的copy和安装控制在同一层,软件部署成功后清除一些无用的rpm包或源码包,让基础镜像的尺寸更小。

 

  Java应用镜像中并没有将jdk软件包打入镜像,将jdk部署在每台宿主上,在运行镜像时,通过挂载目录的方式将宿主机上的java家目录挂载至容器指定目录下。因为它会把基础镜像撑得非常大;

 


(责任编辑:ioter)

用户喜欢...

Edico Genome推出基于AWS EC2 F1实例的基因组分析应用

Edico Genome公司之前就曾开发出了基因组分析算法,为了实现算法加速,该公司原本打算开发一个ASIC(精简指令集)处理器,但是这种方案灵活性太差,尤其是随着算法的更新,计算性能需求...


AdaBox003 ESP8266 基于 Feather 平台的物联网套件

AdaBox003 ESP8266 基于 Feather 平台的物联网套件 Adafruit 的物联网世界由 Digi-Key 策划 ADABOX003 是特别针对喜爱制作电子产品,尤其对物联网 (IoT) 世界感兴趣的初学者而推出的。Adafruit与 Digi-Key 合作,...


基于台达PLC嵌入型变频器汽车空调

汽车空调系统是实现对车厢内空气进行制冷、加热、换气和空气净化的舒适性装备。它可以为乘车人员提供舒适的乘...


贸泽开售Murata基于nRF52的WSM-BL241 蓝牙 5 模块

低功耗和高处理能力让物联网设计再上一个台阶 最新半导体和电子元件的全球授权分销商贸泽电子(Mouser Electronics) 即日起备货Murata的WSM-BL241 蓝牙®低功耗模块。WSM-BL241基于Nordic nRF52832片上系...


恒扬数据携手OpenPOWER多家成员共同推进基于CAPI SNAP框架的FPGA加速应用开发

日前,以“智慧链接新智能 创新加速助中国” 为主题2017年OpenPOWER 中国高峰论坛在京隆重召开,包括IBM、赛灵思、英伟达、浪潮、中太服务器、恒扬数据等在内的联盟成员出席了此次盛会并...


让技术加码智慧课堂,英特尔携手东方中原推出基于OPS电子白板一体机

今日,英特尔携手合作伙伴东方中原在第73届中国教育装备展示会上召开新闻发布会,共同推出基于OPS产品形态下的新...


基于AT89S52单片机的智能数字电子时钟设计

(1)数字钟实现对年、月、日、时、分、秒、星期显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带...


NI推出基于Xilinx Kintex UltraScale 技术的全新PXI FlexRIO架构

全新的PXI FlexRIO示波器与PXI FlexRIO协处理器模块相结合,无需通过自定义设计, 即可提供自定义硬件解决方案。 NI(美国国家仪器公司,National Instruments,简称NI) 作为致力于为工程师和科学家提...


基于Zedboard的开源软件定义无线电(SDR)设备:Panoradio!

软件定义无线电(Software Defined Radio, SDR)是一种现代无线电广播通信技术,它采用软件定义的无线通信协议而非“纯硬件电路”实现各种通信和信号采集功能,这种方式打破了有史以来设备...


2018年OLED、生物识别、传感器产业热度将持续升温

2017年下半年,电子行业继承了上半年的热度,行业景气度持续提升,并将持续到明年。 国外方面,费城半导体指数继续增长,达到了2011年以来的最高水平。我国半导体行业更是增长迅速,...