业务运维部门的岗位价值与DCOS
岗位价值有:
- 权限缩小
- 提供操作安全的保险服务
- 提供操作的可扩展性
- 提供业务和资源能见度
- 屏蔽资源的部署细节
- 静态资源调平
- 动态资源调平
- 故障处理和善后
权限缩小
通过配置文件修改一个后台参数需要登录权限,文件修改权限,甚至进程起停权限。这些运营环境的权限需要尽可能的收归到很少的人的手里以控制风险。业务运维初期以人工接口的方式提供服务,后期以web应用的方式提供自助服务。如果后台开发人员做得比较完善可以直接提供web应用提供自助服务。但是很多时候业务开发部门的主要 KPI 不是提供运维的方便性,所以使得业务运维部门需要自己去开发这些管理性质的 web 应用。
常规的新服务器上架版本发布都需要登录权限,文件修改权限等几乎不受限制的权限。运维提供人工接口或者web应用的方式把权限缩小之后对外提供服务。
提供操作安全的保险服务
操作安全可以量化为操作次数与操作引起的故障的比例关系。运维部门初期以认真仔细的工作态度提供高标准的操作服务。后期以高可重复性高一致性的自动化系统提供安全保险,把每一次都不大一样的人工操作变成每次执行相同的脚本由计算机执行。业务运维售卖的是一种保险服务,其实质和保险公司一样是以风险来核算成本的。
传统的操作安全也存在两点问题:
- 即便是自动化的脚本并不能带来一致性的保障。因为每次执行自动化脚本都可能对现网状态产生影响,人工的手工操作会使之雪上加霜。实际上每次自动化执行之前的现网状态都可能不同,结果是一台服务器使用的时间越久运维风险越高。
- 版本交付方式的多样化,操作现网环境的多样化极大地提高了风险系数。通过标准化版本交付方式,标准化进程和服务起停与依赖管理方式可以用一套自动化系统对接各种差异化的应用,减少中间的胶水脚本带来的操作安全隐患。携程出的运维事故说明了其操作安全是没有保障的。当我们把一个数据中心上的硬盘整体格式化之后,其上的应用多久可以恢复很好的度量了操作方面的水平。
低风险的操作是频繁变更的前提,也是提高业务敏捷性的前提。
提供操作的可扩展性
可以迅速地完成跨数据中心海量 IP 的操作变更
操作的完成速度是频繁变更的前提,也是提高业务敏捷性的前提。
提供业务和资源的能见度
与权限收归性质的后台 web 应用类似。理论上来说后台开发会提供一些管理类的界面去查看业务的运营指标,以及程序和资源效率方面的监控指标。但是因为业务部门的 KPI 是以收入为导向的。很多运营决策用的指标,性能调优性质的指标,故障判别类的指标都需要由业务运维部门来采集展示和告警。
屏蔽资源的部署细节
从 IDC 选址,专线规划到给进程配置文件配置 IP 地址。让开发人员关心逻辑与逻辑拓扑,屏蔽了部署细节,减少了开发的工作量。让昂贵的专业开发人员专注于更有价值的事情上。
静态资源调平
利用虚拟机,container,同机部署多个进程等各种手段提高主机的利用率。合理规划机架和出口分布,提高网络的利用率。
静态资源调平主要靠优化部署来完成。两次调平之间一般需要调用比较慢的重部署流程(比如ssh执行脚本起停进程等),甚至可能包含人工操作环节。
静态资源调平的颗粒度是 IP。
动态资源调平
动态资源调平一般说法是动态扩所容。和静态资源调平的主要的区别是一般不以部署流程去调平资源,而是以更快的调整负载均衡,起停进程的方式完成,完全不能包含人工操作环节。
动态资源调平要求运维必须从 IP 级别的管理水平提高的到进程和服务级别。
故障处理和善后
大部分时候业务都会提供高可用的系统。运维仅需要在故障之后,对故障机做重启或者下架替换等善后操作。有的时候,运维需要以冷备和自动切换的方式提供等级弱一个级别的可用性保障。
故障处理时,运维需要进程初步的故障定位。进程和服务的依赖管理可以帮助运维定位到问题。
数据中心操作系统(DCOS)
以 mesosphere 和 hashicorp 等新一代创业公司为代表,开始提出数据中心操作系统(DCOS)的概念。实质上是复制了 google/twitter 等大公司的标准化运维系统。
数据中心操作系统(DCOS) 提供方的愿景是提供一个通用的标准化运维系统高效率可靠安全地管理数据中心。直接与开发方对接,以 docker 容器等标准化的方式交付版本,以进程和服务描述的方式标准化搭建进程和服务。数据中心操作系统与开发方有一个非常清晰和低成本的接入接口,完全省去了运维这个角色写胶水脚本的必要性,从而彻底颠覆这个岗位。
运维目前需要开发的操作和监控类的 web 应用不再需要定制开发,数据中心操作系统(DCOS)提供可定制的操作和监控模块,只需要配置就可以接入,形成 web 应用,不需要代码开发。
当一家DCOS的产品公司可以低成本的与各种中小开发商对接之后,中小开发商可以大幅裁剪运维部门。而DCOS公司可以获得可观的经济收益,从而进一步地开发更完善的产品。DCOS实现的技术关键在于,docker的标准化版本交付技术,smartstack为代表的路由托管技术使得不标准业务改造为标准业务的成本急剧降低。
puppet/chef 是让运维写脚本编程写cookbook。而DCOS则可能直接让写脚本地这个胶水岗位消亡。DCOS显然比 puppet/chef 等公司更具有颠覆性。