去哪儿网核心领域DevOps落地实践( 七 )


去哪儿网核心领域DevOps落地实践
文章图片

  • 基本属性是身份 , Appcode就是它的唯一标识 。
这里强调一下等级 , 之前也有人问我等级有什么用 , 等级是非常有用的 , 我举个例子 , 有了等级 , 你才知道你这个服务的重要程度 , 你在运维的时候你才能知道优先把资源倾斜给哪些应用 , 先去运维哪些 。
  • 环境属性 , 包括应用要运行的软硬件环境配置等 。
  • 发布参数 , 包括编译参数、打包参数、发布策略等 。
  • 依赖信息 , 包括我有哪些网络依赖 , 例如我们的域名owner , 数据库依赖 , 以及服务之间的调用关系 。
② 发布流程
只有真正拆分出来我们管理的最小的单元是什么 , 我们才可以对它进行运维 , 进行发布 , 所以我们基于应用画像拆分出应用 。 下图是我们的一个发布流程 。
去哪儿网核心领域DevOps落地实践
文章图片

首先是应用确定了自己的应用画像 , 然后使应用画像存在一个配置系统中 , 然后调度系统去从配置系统拿到一些配置 , 完了出发到我们Jenkins , 部署到各种的调度资源中 。
这里要强调的是我们这个地方有一些自定义的阶段 , 通过这些自定义我们可以把那些非标准的过程纳入进来 , 业务线就可以在这里去做自己的适配 。
③ 运维流程
运维也是基于一个应用的 , 当一个应用的某些指标报警 , 我就可以去快速地找到应用对应的Trace链路、日志、事件系统 。
去哪儿网核心领域DevOps落地实践
文章图片

根据这三板斧 , 我就可以去定位到我的问题 , 最后对应我们的运维系统去做对应的运维操作 。
3)效果
去哪儿网核心领域DevOps落地实践
文章图片

这是我们的应用画像效果 。 其中有应用形式配置 , 包括它的一些服务依赖属性 , 服务调用属性 。
上述是我们发布的过程 , 可以看到在发布过程中我们可以知道当前的发布进度 , 还会对接我们的异常日志 , 以及报警信息 。 还有我们的监控 , 变更的事件 , Trace链路 , 这三板斧实现了我们对应用的可运维 。
去哪儿网核心领域DevOps落地实践
文章图片

4、流水线助力持续交付
最后是流水线 。 我们刚才说的是对单应用的管理 , 但是其实真正项目的时候是多应用的发布 , 多应用的交付 , 所以我们拆分了两种类型的流水线 , 第一个就是单应用的流水线 , 包括拆开发、测试、集成和线上 。
去哪儿网核心领域DevOps落地实践
文章图片

去哪儿网核心领域DevOps落地实践
文章图片

流水线的好处我想大家应该都知道 , 我这边总结两点:
  • 使整个流程更加的自动化;
  • 使一些上游的数据向下游传递 。
我举个例子 , 我们开发测试的流水线在这个过程中会产生一些数据 , 例如DB变更 , DB的配置变更 , 定时任务监控等 , 这些都可以自动的识别出来 , 这样的话就可以在线上的时候自动把这些信息拿到 , 然后业务线只需要改一下Beta和线上的一些不同配置以及具体的值即可 , 这样我就可以不用人工地去各个地方信息搬运 , 线上也可以快速地交付 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。