Ivan在与DevOps相关的部门的大型组织中工作。 每天,成千上万的员工使用DevOps工具来创建,测试和实施他们的软件。
每天有成千上万的分配流水线是正常情况。
但是,在有强大力量的地方,也有重大责任。 团队不可避免的困难导致每天数百次技术支持电话。
自然,许多人不喜欢DevOps工具。 有人说他们太越野了,而其他人则认为根本不用它们就可以做,而且速度会更快。
公司管理层了解到,所有100%的团队都不会对DevOps感到满意,但是,没有确切的数据。 很高兴看到装配线上的问题,但即使每天通常经过的分发数量也不知道。 对于严肃的指标我们能说些什么。
关于DevOps指标的问题不断提出-每个人都非常需要它们。
作为一名了解指标并了解DevOps技术的员工,Ivan密切参与了该项目的准备工作。
他与DevOps管理员一起,制定了可能的解决方案体系结构,还研究了有关DevOps指标的大量文献。 互联网上没有一篇文章,也没有一本他不会读的书。
结果,一个完整的技术解决方案诞生了,Ivan向管理层提出了该解决方案。
一切都消失了
管理层的反应是出乎意料的-尚未就实施做出决定。
“这真是惨败,兄弟,”好同事咧嘴一笑,把伊万从会议上甩了出去。
尽管具有讽刺意味,但他是对的。 如果没有做出决定,那么伊万就不会看到也没有考虑到某种威慑力。
管理层确信实施DevOps指标的技术可行性,但仍对此表示怀疑。
这是由一个非常简单的原因造成的:技术解决方案表明,实施虽然可能,但仍需要大量的人力和技术资源,即 会亲爱的。 但是,这是否会产生任何真正有用的结果是一个很大的问题。
当涉及到一个昂贵的项目时,那么:
- 演讲效果不佳
- 屏幕布局令人印象深刻
- 这些例子并不令人印象深刻。
通常,该项目的开始被无限期地推迟。 在伊万看来,这项任务是完全无法解决的。
重大案件
一切都是偶然决定的。 一次,有一封信到达邮局,说有两个学生被带到该部门进行实习。 其中一名学生准备做一些小工作。
伊万(Ivan)认为,至少可以按指标做一些事情-并向学生发送了一部分项目的技术任务,该项目被归为不可能。
所有这些都以最简单的方式从Jenkins和Nexus提取数据。
想象一下,只有两天后,一个学生邀请了Ivan看看他的工作系统,这让Ivan感到惊讶。 对于“我如何获得如此高的优先级?”这个问题 然后回答:“您只有正常的传统知识。”
尽其所能,但是系统正常运行。 她从Jenkins和Nexus提取数据,并将其放入自己的数据库中。
伊万意识到他需要尽快完成剩下的工作。 他使用免费版本的QlikView从原始数据生成报告,并在晚上准备好第一个版本的DevOps指标。
接下来的星期一是一个突破。 Ivan负责人看到工作指标后大声说道:“这是我最近看到的最有用的数据!”
资源问题立即得到解决,在接下来的几天中,带有指标的项目已全面启动。
伊万(Ivan)采取了正确的行动,却没有意识到它给出了“快速结果”-一种功能最短的工作系统,可以带来真正的好处。
“快速结果”是可行的,因为当涉及到大型的昂贵系统时,不可避免地会产生很多歧义。 由于成本高昂,结果并不总是显而易见的。
因此,工作开始经常被延迟或系统被完全放弃。
快速的结果有助于以最小的手段检验假设。 最主要的是尝试在不吸引其他资源的情况下制作原型,从而使其同时具有价值和收益。
Ivan从该项目中获得了一些见解:
首先想象一下您需要什么最终结果
Ivan确切地知道他需要什么指标,直到屏幕布局。 这使他能够迅速丢弃不必要的功能,而仅留下那些功能,而这些度量则完全失去了意义。
在提议实施的十个DevOps指标中,Ivan仅留下了一个,并将其限制在一个立场和一个团队中。 实际上,一方面是最集中的压缩,另一方面是实际的实际数据。
这种截短的版本可以解决一个完全实际的问题-分析真正的团队并了解其上的度量标准是否会给他们期望的结果。
一个简单的架构图使事情变得容易得多
具有信息流和数据的最简单的部署方案很好地帮助了Ivan理解了什么在哪里以及获得它的难易程度。
詹金斯:乔布斯。 作业中的指标需要什么? 如何将其拔出? 什么协议,来自哪个地址?
Nexus:发行版。 Nexus需要什么指标? 如何获得?
帮助系统:掉线是因为 度量不需要它们。
如何合并数据? 在哪里尽可能快地这样做最容易?
如果可能,请不要进行编码。 挺好的
如果您可以将现成的内容上传到XLS或CSV,则最好这样做,而不要完全编码。
有时您可能需要编码,但仍然需要选择最简单的选项。
例如,Jenkins使用RSS和JSON来馈送数据。 选择更易于实现的选项。
Nexus仅返回XML? 好吧,没有什么可做的,您必须编写代码。
不要挂得太多。 清洁一切
不需要超级自动化即可获得快速结果。 您可以使用命令代码代替其名称。 您不应仅为了丰富数据而连接其他系统。 这些只是鲜花和美容指南-最好不用它们并节省时间。
如果速度更快,可以写入常规文本文件或csv,而不是写入数据库。
您可以手动开始的地方-开始,不要在Sheduler上浪费时间。
如果使用诸如Python或PHP之类的简单脚本语言编写代码更容易,请编写代码。 无论如何,您都做了最低限度的工作,因此您无需重写太多内容。
使用可让您快速获得结果的工具,例如免费的QlikView或Tablue作为度量标准-它们使加载和合并数据以及构建所有必要的图形变得容易。
Ivan将“快速的结果”投入了服务,在以下项目中,他始终试图首先制作一个最低限度的工作系统,以提供有用性,然后再处理其余工作。 而且它始终有效。
如果Ivan的故事对您有用,那么我将非常高兴。
快速取得成效后,请在评论中写下您的情况。