资讯 > 行业资讯

程序猿成长日记 | 独自修炼“六脉神剑”--Devops篇
2017/3/24 14:44:38

  作者:王雪晴 BoCloud博云 测试工程师

  欲练此剑,
  挥手自练,
  如若不挥,
  早晚吃亏。

  武林前辈练就此功以克西毒蛤蟆功,小辈独自修行Devops六脉神剑,只为在互联网圈求得一席之地,时而克制开发人员的挖坑综合征。

  此处的Devops六脉神剑就是鄙人自己理解的、我们自行研发一个具备物理部署和容器发布应用的双模式平台。从管理配置底层基础设施、到环境配置隔离、经过应用版本管理达到应用正常发布,到一体化监控整个系统正常运作。

  第一脉 混合模式核心经

  此乃神剑之核心思想,打通开发工程师任督二脉,有一个清晰轮廓,方便规划时间,制定开发工作计划。

  此脉起于物理机群,出属于一线运维,向上出发,到达我们的双模式应用管理平台管理领域。

  总体架构如下图所示:

  在容器版本的基础之上基于Docker Build-Ship-Run的核心模型实现向物理部署模型映射,实现容器和物理的双模式管理。

  第二脉 基础设施管理经

  从核心经出发,了解底层物理主机的配置,做好环境准备工作。从双模式出发,将容器和物理部署通过分支实现过滤选择。如下图整体流向处理。容器模式则选择容器方式处理;物理方式即为物理部署模式。

  第三脉 环境隔离经

  无规矩不成方圆,环境隔离可以理解为不同生产之间都需要一个安静的空间自己运转。此脉可以引用博云公众号中“环境定义下,软件的生命在哪里?”来解释,一种独立物理(逻辑)分离。此处不是懒得写明,可以理解为另一种方式的宣传,这就是团队,从文章宣传做起。

  第四脉 应用版本管理经

  定义完物理和容器仓库之后,在应用版本管理时也按照两种部署方式来管理应用版本。不同模式下,使用不同的仓库来进行版本发布。

  第五脉 应用发布经

  前面基础部分做完之后,需要为应用做准备,这也是底层准备的终极目标——应用发布万无一失。混合模式下,如何将应用发布做到准确无误呢?依旧采用示意图的方式来做个说明。

  正如上图所示,容器和物理模式下的发布要根据各自特色走不同的发布路线。

  第六脉 一体化监管经

  前五脉打通之后,对整个系统进行监控这就是第六脉的精髓所在——zabbix。

  Zabbix是一款规则驱动,具有数据过滤能力的开源企业级监控方案,此处主要围绕数据采集优化和Zabbix性能优化配置展开。

  优化配置操作系统和Zabbix参数可支撑不少于百台物理节点、万条级别监测项。其中,数据合并自主研发,采用Agent主动向Zabbix Server发送机制。

  Zabbix可监控物理机、容器、分布式系统和应用。其中,对容器、分布式系统(Redis、Zookeeper、ActiveMQ)监控采用数据合并优化策略。平台web界面监测显示通过后台获取zabbix监控数据来显示给用户。

  下图为Zabbix监控整体结构图:

  到此,六脉神剑讲解完毕,从最初的功能完成,通过测试,到最后和客户沟通,检验是否达到了DevOps的设计目标,才能算是完成“六脉神剑”的一轮修炼,而经过一轮轮的修炼,才能练就一套能够经受住实战考验的神功。

  此六脉只是个人疏浅的理解,还请各位IT大神赐教。另外,尤其感谢吴恒师兄的指导。

版权所有:苏州博纳讯动软件有限公司     苏ICP备13004761号      声明:本站使用字体为北大方正授权许可正版字体