专栏名称: 高效运维
高效运维公众号由萧田国及朋友们维护,经常发布各种广为传播的优秀原创技术文章,关注运维转型,陪伴您的运维职业生涯,一起愉快滴发展。
目录
相关文章推荐
51好读  ›  专栏  ›  高效运维

指标驱动开发(MDD)

高效运维  · 公众号  · 运维  · 2017-03-02 07:15

正文

请到「今天看啥」查看全文


Drucker 说的,我们就先不去追究了 ... ...)


所以,也可以说 MDD 是这句管理学中的名言在软件开发领域的一个实践。



还是给 MDD 一个定义

什么是 MDD 呢?这也是一种开发理念,或者叫做哲学,即 通过实时指标来驱动快速、精确和细粒度的软件迭代


The use of real-time metrics to drive rapid, precise, and granular software iterations.

MDD 的创新之处在于将应用程序(服务)的监控( Metrics )提高到系统整体这一层次,在设计初期就开始将 Metrics 设计也包括进来,就如同写代码之前,先写测试用来一样。也就是说,未雨绸缪,在系统出问题之前,在系统设计之初,就设计一套规则来评价系统的稳定性、健康状态以及其他各种的考核目标(即服务本身的 KPI)。


一言以概之, MDD 可以帮助我们更早地 发现问题 明确目标 。从一定意义上来说, MDD 也是大数据。


我们都知道,监控的主要目的是为了发现问题。但是除了能及时、没有遗漏地帮我们发现问题之外,  MDD 带来的另一个好处是通过对现状的可视化和具体化,来帮助我们对未来进行规划和预测,进而实现业务改善。


比如可以根据当前服务器内存使用率、网络带宽这些基础设施因素及趋势,预测未来一段时间的容量规划。


相对于传统上通过制定各种复杂、严格的研发规定,以及无数的评审、研讨会议来确保软件安全发布、稳定运行, MDD 理念的特别之处在于在应用程序本身中,采集必要的监控信息,通过持续交付方式,进行快速迭代并进行反馈和修正(请参考一下 PDCA 环或者 OODA 环的相关知识),所有决定都是基于对不断变化的情况的观察。


总之呢,毕竟要穿几尺腰的裤子,拦腰虎抱不准,目测不灵,还是得量量才知道。


图片来自: http://www.jituwang.com/tuku/201305/295805.html



运行中的代码才有价值

程序运行起来才能为用户提供服务,才能为用户提供价值,为公司赚取收入;躺在 Git 仓库中的代码,编码风格再好,注释再详细,如果没有运行,并没有一毛钱的用处。


对于静态代码我们有各种工具和原则来进行管理,对于运行中的代码, Metrics 能为我们提供整个系统的详细情况,哪些代码执行过,执行过多少次,哪里有错误,有多少错误,都能让我们一目了然。







请到「今天看啥」查看全文