banana 发表于 2018-11-18 15:47:57

程序猿成长日记之独自修炼“六脉神剑”--Devops篇

本帖最后由 adminlily 于 2018-11-18 15:50 编辑


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

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

第一脉

混合模式核心经

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

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

总体架构如下图所示:



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

第二脉

基础设施管理经

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




第三脉

环境隔离经

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

第四脉

应用版本管理经

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



第五脉

应用发布经

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




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

第六脉

一体化监管经

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

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



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




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

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


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

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

原创: 王雪晴
页: [1]
查看完整版本: 程序猿成长日记之独自修炼“六脉神剑”--Devops篇