写点什么

将 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:422324

评论

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

在AI技术唾手可得的时代,挖掘新需求成为制胜关键——某知名Linux命令学习框架需求探索

qife122

开源项目 需求分析 linux命令 技术文档

如何构建基于YashanDB数据库的高效数据模型

数据库砖家

如何结合YashanDB数据库构建智能供应链平台

数据库砖家

如何解读YashanDB数据分析能力

数据库砖家

游戏启动错误代码分析与解决方案

qife122

游戏故障排除 Windows系统修复

谷歌Chrome多重漏洞可导致任意代码执行

qife122

网络安全 漏洞分析

如何管理YashanDB中的数据访问权限

数据库砖家

如何建立基于YashanDB的统一数据平台

数据库砖家

如何解决YashanDB使用中的常见问题

数据库砖家

如何在Mikrotik路由器上配置DHCP-PD客户端实现IPv6前缀委派

qife122

网络配置 ipv6 DHCP-PD Mikrotik

搭建基于 YashanDB 的企业级数据架构

数据库砖家

如何构建基于YashanDB数据库的实时分析平台

数据库砖家

如何构建基于YashanDB数据库的数据仓库

数据库砖家

基于YashanDB数据库构建智能客服系统的技术指南

数据库砖家

在AI技术唾手可得的时代,挖掘新需求成为创新关键——某知名AI创作工具需求洞察

qife122

需求分析 AI创作

设备点检 设备维护经验总结(8)

万里无云万里天

工业 设备维护 工厂运维 设备点检

大数据-113 Flink 源算子详解:非并行源(Non-Parallel Source)的原理与应用场景

武子康

Java 大数据 flink spark 分布式

修复不安全软件生命周期——将安全融入现有开发流程的实用技巧

qife122

DevSecOps 安全开发 软件安全

ZoneAlarm防火墙强制更新引发用户不满

qife122

网络安全 防火墙 软件更新

AI出海第一步省下200刀! 亲测Stripe Atlas注册美国公司

阿星AI工作室

产品 AI 独立开发 出海

工业数字化 信息化经验总结(10)

万里无云万里天

数字化 信息化 工业 工厂运维

构建基于 YashanDB 数据库的弹性数据服务架构

数据库砖家

告别相机!OpenAI用Sora2重新发明了短视频!

阿星AI工作室

人工智能 AI AIGC aid ai短视频

绕过Cloudflare IP白名单限制的两种实用方法

qife122

网络安全 IP白名单

Snagit for mac(最强大的屏幕截图软件)v2025

春天的风暖暖的

Noir – Dark Mode for Safari:Safari浏览器的智能暗色模式扩展

春天的风暖暖的

构建一个高效的 YashanDB 环境

数据库砖家

如何结合YashanDB数据库塑造数据驱动型企业

数据库砖家

在Incus容器中运行Docker的完整指南

qife122

容器技术 Incus

Scrivener for Mac:专业写作者的全能创作工具

春天的风暖暖的

DMG Canvas for Mac:专业级DMG磁盘映像定制工具

春天的风暖暖的

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