DevOps不能说的秘密

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

我已经读了几十个DevOps的成功案例,以及牛X的IT大佬们如何业务转型,并引领企业走向美好未来的故事。(在信息大爆炸的时代),很难避免所有这些关于“DevOps转型”“的故事,以及那些CTO通常都叫Jim的屌丝(貌似每个公司都有叫Jim的)是如何把IT部门从石器时代带至当下的。不管是交易,博客或是各种会议你都可以看到“Jim”的身影(真是,I'm everywhere的存在)。


因此,没有人会谈到失败(DevOps),而且很少有人会说出他们在实施DevOps的痛苦或挣扎。DevOps的世界,总是充满阳光和彩虹,这TM就是童话世界,人们总是宣传着与此相关的成功与掌声,但这种漠视事实的倾向实在令人无法接受。


DevOps的这种“成功”教会我们除了对幸存者的偏见以及对我们还没有取得的成就感到不好以外,无他。DevOps的失败和困难才是我们应该关注和学习的地方。那才是值得我们认真思考的东西。 


综上,让我们来聊一聊DevOps那些不能说的秘密。


大多数公司都说他们是“做DevOps”,其实不是

640?wx_fmt=png&wxfrom=5&wx_lazy=1

由于所有这些DevOps的成功故事(真实的或杜撰的)已经潜移默化的植入CXOs(公司高层领导们)的思想并不断固化,让“我们应该做DevOps”渐渐成为一个“不切实际”的公司指令(就像传销洗脑一样,他们却不自知),激励了成千上万的高管开始称他们的IT基础架构组为“高大上”的“DevOps”来取代以往的“基础设施”(矮)或“系统”(矬)或“操作”(穷)。


不幸的是,这种思想似乎正逐渐演变为“我们已经重命名了基础设施组,所以我们就屌了,那还要那么多团队干嘛?都走吧。因为我们现在可以运营所有的东西,而且更精益。另外,开发人员还是一个单独的小组,他们会把更多皮球踢给你。”


所以可以预见的结局是,那些过度劳累的传统Ops人员试图以一种将车轮保留在公共汽车上而不做任何修改的方式来管理工作,或者管理IT团队的日常运作。不幸的是,当可怜的Ops团队试图将存储网络(SAN)安装,服务器加载等“奇巧淫技”转化为一个看起来像一坨“翔”的代码版本时,他们的经理正在大厅里自我陶醉般的大声呼喊“哦,自动化,come on,baby”。


在这种情况下改善的唯一指标其实只有“员工成本”,而且这也只是暂时性的因为工作消极和人员流失,导致员工成本下降了几个季度。但是这几个季度的时间,足以久到让一些"Jim"们飘飘然,不信你听,有人就会说“看到没,我们做到了真正的DevOps!”,并且说话的时候有种“我很屌”的自我陶醉感。


即使你获得了“IT folks”的标签,也可以将DevOps的实践带入业务,从而使其他组受益匪浅,而总体底线都源于自我挑战。


解决这些问题需要很多技巧来处理。通常情况下,尝试改变未必值和继续前进或更好。不过,因人而异吧。


实现DevOps是真TMD难™

640?wx_fmt=png


DevOps是关于人和过程,让每个人一起工作,少做傻事,而以更聪明的方式做事。


从古至今,让人们一起工作,而不彼此冲突一直都是一个挑战。当人们精诚合作时,人类会创造令人惊叹的成就(如飞船和激光),但我们通常在一起工作都表现的很差。正因为如此,当我遇到一个优秀的人,一个可以激励不同团队努力实现共同目标而不互相排挤时,我总是感动不已(这简直不像真的)。


问题是,在这个星球上面,有五个人他们可以选择不为你的公司工作。你可能会幸运,有一到二个人在人们争吵和保持平和时,都表现的很好,但是大多数企业(特别是大公司)似乎在三秒钟左右,就会把办公室变成一个“战场”——血雨腥风,刀光剑影。


假设你可以让人们在一起工作,但你现在仍然面临着一个挑战——实现流程。你的团队中可能有一个人喜欢这个过程。但是很可能其他每个人都讨厌这个过程和那个人。


你从来没有完成过

640?wx_fmt=png


“我们实现了DevOps”这样的事情是没有的。这是一种实践就像健康生活或佛教。你的团队必须有一个忠粉,每天都会推动事情使其变得更好。


当有人谈论DevOps的成功时,他们真正在谈论的是实现流程,有一个功能性的工作流程不断被测量和改进。这是一个轮回(ouroboros)价值管道。


0?wx_fmt=png


这不是你可以达到并停止的东西。没有持续的关心和照料,你们努力实施的过程将开始消失。


无忠粉,不DevOps。


终上所述……

640?wx_fmt=png

这不意味着DevOps不值得做,只是你需要对你将面临的挑战做实际的判断。因为现实是在中间的某个地方,我倾尽全力摆脱那阳光和彩虹。


当开发和Ops(和安全)一起走下大厅,开始互相挥中指,给1)一起工作,2)实施和坚持DevOps过程的同事,在你的职业生涯中可能是你遇到过的最困难的事情之一。 你必须付出很多努力才能使正确的事情变得容易,减少摩擦。设定任务或纠缠不起作用,你就必须体现自己的价值了。


实现真正DevOps /敏捷实践的自上而下(并且理解!)是很难的。这需要对所有参与者进行重组和持续培训(洗脑)。一旦业务和IT人员开始看到价值,这种需求就会减少一些,但是你要明白这需要长期投入和持续努力的。当我听到“我们在三个月内改变了IT”的时候总是有些疑惑,要么这个小组真的“屎”在一起,要么就有人在说谎,又或者我们没有使用相同的字典。


对于从业者和传道者来说,这些是我们需要更多讨论的事情。在DevOps的讨论中,有一种华而不实的对话氛围,掩盖了实际和规范。太多的对话都集中在关注于“高层次”的what-to-dos问题,而对具体的how-tos和context视而不见,尤其在以人为中心的问题上。


原文链接:https://chrisdodds.net/dirty-secrets-of-devops/


深入学习Kubernetes

640?wx_fmt=png


本次培训内容包含:Kubernetes架构、Kubernetes安装、Kubernetes功能导览、监控解决方案、Kubernetes高阶——设计和实现、Kubernetes落地实践等,点击识别下方二维码加微信好友了解具体培训内容


640?wx_fmt=jpeg

点击阅读原文链接即可报名。