写点什么

将 DevOps 纳入企业环境引发的思考

  • 2015-09-30
  • 本文字数:2216 字

    阅读完需:约 7 分钟

虽然 DevOps 可以算是相对新鲜的概念,不过在我看来、其本质思路很早之前就已经出现。从这个角度看,目前很多企业已经广泛接纳这一概念并将其作为文化性产物看待,具体而言就是将大量原本孤立的团队融合起来,从而实现速度更快、频率更高且更为可靠的工作成果。

我个人非常幸运地早在 DevOps 文化进入主流视野之前就在自己的职业生涯当中对其有所了解。2001 年,当时我在彭博公司担任开发人员,那时候彭博方面就已经凭借着其对于快速上市、压缩迭代开发周期以及由开发人员自行负责所交付系统的运营工作而享有盛誉。作为其中的一员,我这位开发新手很快就体会到了凌晨四点对系统进行故障排查的感受(那个时段伦敦证券交易所才刚刚开放)。我发现这些熬夜工作的经历反过来成为一种动力,敦促自己尽可能提升系统稳定性,从而避免这类夜不能寐的状况再次发生。

DevOps 文化对于规模较小的初创企业而言往往比较直观,而且这类受众也会将结构调整作为相对简单的任务来看待。不过对于规模更大的组织机构,其中包含的大量技术债务、整体架构惯性乃至尽可能避免风险的固有业务实践思路则让 DevOps 所宣扬的颠覆性看起来有些难以接受。

不过好消息是上述顾虑不一定真有必要,而且在未来几周内我会就 DevOps 在企业环境中的实现这一议题从多个特定角度及其发展战略着手加以探讨。我个人倾向于鼓励企业在 DevOps 的风潮当中向这一新型文化形式进行逐步转移——先从小型项目、迭代、学习以及改进起步。我建议大家考虑首先采取一些组织内部普遍能够接受的战略性实践尝试,并以此为切入点推广相关思维,从而最终让大多数团队能够在处理日常工作时对这类高自动化程度且以连续性运营为基础的文化趋势抱以信任的态度。

当初在担任道琼斯公司 CIO 时,我们针对一支小型团队建立起了自己的一套 DevOps 实践方案——该团队只有四到五名成员,但这已经足以推进实际项目了。不过我们的目标并非创建一个新的团队,而是要借此对企业的整体文化带来影响。通过实现及发明各类框架、最佳实践以及治理手段,并以自动化方式处理种种日常工作,DevOps 最终成为我们驱动创新与加快产品开发的有力杠杆。我们从小规模项目入手,并将成果作为示例向其他同事证明我们能够利用同样的模式在更多项目当中取得成功。整个过程进展不快但却步伐坚定,其间我们不断推出新型功能并改进流程当中的产品上市时间。随着时间推移,原本常常因出现大量错误而令开发团队叫苦不迭的周二及周四版本发布日最终呈现出更具分散性的趋势——开发人员每周都会连续不断地推出数十项发布成果。

对于那些希望在 DevOps 领域作出尝试、但又对原有技术债务抱有疑虑的朋友,我建议大家将以下三项基本原则作为指导思想:

1.将面向客户的服务思路贯彻到企业的每个角落。如今的企业应当将内部利益相关者作为客户来看待。这类客户可以是企业中的任何成员,包括市场推广人员、产品经理或者是开发人员。每位员工或者职能部门都需要对应的技术方案来完成自己的日常工作。而将这类需求作为优先事务处理的团队则能够满足客户的需求,从而避免其另外寻求解决方案(甚至是不合法的解决方案,例如影子 IT),并最终带来理想的成果(例如速度更快、效果更好、成本更低)以及令人满意的客户反馈。相比之下,缺乏优质的服务则可能导致客户希望避开我们,而非与我们开展协作。

2. 尽可能推广自动化机制。根据目前的主流理解,提升自动化水平的真正含义就是最大程度发挥云技术的固有优势,这意味着大家需要利用代码以可靠性为前提对系统进行重构。这一点在规模自动伸缩方面(也就是弹性)表现得尤为明显。自动化机制还能够帮助企业以更为积极的方式推进变更:如果我们犯了错误,则可以快速回滚至之前的状态,并重新开始系统构建。推广自动化机制的其它优势还包括更理想的执行效率、安全性以及可审计性。

3.谁构建,谁运行。根据我的实际观察,这一点是最令传统 IT 部门感到不安的因素。在传统 IT 模式当中,应用程序或者服务的运维工作往往是由那些与资产创建毫不相干的人员来负责的。虽然这种处理方式并非毫无道理(例如选择成本更低的外包服务或者尽可能提高专业集中程度等),但我个人的观点是,这些优势目前已然不复存在了。云技术的出现如今已经接管了与 IT 运维工作相关的大部分高强度任务,而且其中多数运维工作也能够通过软件以自动化方式实现。开发人员显然对软件更为熟悉,这意味着如今已经没有理由将运维职责同任意给定任务进行硬性划分——而这也正是 DevOps 文化的根基所在。而且在自动化机制的帮助下,我们能够更加有条不紊地处理变更情况,并在问题影响到客户之前对其加以解决或者实现系统回滚。我建议大家建立起专门的 DevOps 团队,从而尽可能保证开发团队独立存在,而非将后者作为持续性运维 / 发布流程中的关键性环节。

对于有意愿在 DevOps 方面进行试水的朋友,我的观点是当下正是最理想的入手时机。先从小处出发,并通过增量化改进提升其它团队的满意度并赢得支持。文化层面的转变绝非一朝一夕之功,而我们也应当利用新型与传统等不同类型的方式实现此类改进。随着经验的持续积累,大家将一步步学习到足以指导下一步尝试的知识,同时运用日趋完善的自动化机制实现更为理想的工作成果。


感谢刘羽飞对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-09-30 10:422173

评论

发布
暂无评论
发现更多内容

大模型叙事下的百度智能云:比创新更重要的,是创新的扩散

Alter

一文看懂!大模型、超大模型和 Foundation Model 有何区别?

Techinsight

#大模型

ChatGPT 与 AGI:人工智能的当下与未来走向全解析

Techinsight

.NET Core 中如何实现缓存的预热?

不在线第一只蜗牛

.net spring 缓存

日志易SPL高效进阶:语法编辑器的妙用

日志易

编辑器 日志易SPL

人工智能引发就业变革:热门职业面临淘汰危机!

Techinsight

人工智能

SpringBoot + 微服务开发太难?AI 工具自动生成脚手架代码!

飞算JavaAI开发助手

SelectDB 实时分析性能突出,宝舵成本锐减与性能显著提升的双赢之旅

SelectDB

大数据 数据仓库 数据分析 电商 实时分析

网易伏羲人工智能实验室技术创新再突破!前馈捏脸等3篇论文入选CVPR 2025

网易伏羲

人工智能 论文 网易伏羲

SD-WAN:为企业打造低成本高性能组网

Ogcloud

SD-WAN 企业组网 SD-WAN组网 sd-wan专线 SD-WAN厂家

[大厂实践] Pinterest 基于 Ray 的机器学习数据处理

俞凡

人工智能 大厂实践

AI 时代必备技能:如何巧用大模型实现工作效率与质量的双重飞跃?

Techinsight

流程自动化 #大模型 RPA Agent Agent智能体

ETL与ELT核心技术解析:如何选择最优数据集成方案

RestCloud

数字化转型 ETL ELT 数据集成工具

【技术实战】会员商城任务成就系统:从需求分析到代码实现的完整指南

飞算JavaAI开发助手

故障测试——微软工程手册

FunTester

场景题:线上接口响应慢,应该如何排查问题?

卷福同学

Java 面试 接口 场景题

95后程序员靠飞算JavaAI副业月入过万:他的接单秘籍全公开

飞算JavaAI开发助手

【限时福利】参与炫技赛,免费解锁AI工具高级版!速领→

飞算JavaAI开发助手

Cartesia 升级 TTS 模型,可在音频中无缝填充内容;索尼 AI 游戏角色原型:结合语音与动画,与玩家实时对话丨日报

声网

Java 开发者必备工具清单:提升效率的 10 款神器

飞算JavaAI开发助手

AI搜索,难分胜负

趣解商业

百度 科技 AI搜索 腾讯元宝

[大厂实践] Pinterest Ray 基础设施实践

俞凡

人工智能 大厂实践

Vue3组合式API终极指南:从原理到实战,彻底掌握高效开发!

不在线第一只蜗牛

vue.js 前端

NocoBase vs OutSystems:低代码平台,开源还是闭源?

NocoBase

开源 开发者 低代码 开发工具 无代码

区块链资产交易所开发:从零到一构建币币交易平台

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

Solr 可观测性最佳实践

观测云

solr

macOS Sequoia 15.3.2 (24D81) Boot ISO 原版可引导镜像下载

sysin

macos

使用Langflow和AstraDB构建AI助手:从架构设计到与NocoBase的集成

NocoBase

开源 AI 低代码 #LangChain AI 助手

将DevOps纳入企业环境引发的思考_亚马逊云科技_Stephen Orban_InfoQ精选文章