Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从电子游戏到DevOps

从电子游戏到DevOps

原创
作者头像
笑看
修改于 2019-07-01 10:42:04
修改于 2019-07-01 10:42:04
6130
举报
文章被收录于专栏:敏捷敏捷

从电子游戏到DevOps

在一个项目团队中,开发与运维之间的关系像极了知名大型游戏《刺客信条》里的故事:开发就是追求自由的刺客联盟——我喜欢用各种新颖技术手段去满足用户爸爸那些花里胡哨的需求,你别管那技术好不好用,总之它实现了需求;运维就是那支持秩序的圣殿骑士——我要的是稳定运行!稳定运行!稳定运行啊!

于是,产品与运维之间形成了一道墙。

开发部门夜以继日地打造出自己的“杰作”,并怀着今晚就能开庆功会的心情把自己的“杰作”交给了运维部门,殊不知墙那面的运维们对开发的抱怨才刚刚开始:

l 这款优秀的产品在目前的底层平台上无法运行,因为这个平台太古老了,因为这个平台空间不足,因为这个平台不支持某某版本……

l 这款产品的体系结构跟我们的{存储,网络,部署,安全}模型不匹配。

l 这款产品的报告、安全、监视、备份balabalabala 我们搞不懂 ,所以没法把它做成实际可用的产品。

当运维将问题源源不断地反馈给开发后,开发的回复一定是:

l 这不是我们的错,我们的代码非常完美,是(运维部门的)部署做的太差劲了。

l 运维部门比较笨,他们不懂新技术,为什么他们没法实现最新的技术呢?为什么他们这么落伍呢?

l 在我的机器上运行的没问题啊……

刺客联盟与圣殿骑士互掐了几百年,但事实上他俩都不过是想维护人类文明;开发与运维互看不顺眼,但他们的初心都是想这个项目能顺利验收。

虽然开发和运维这样相爱相杀的关系看上去和游戏很像,但其对项目的危害性可不是游戏,开发与运维陷入一场暴风骤雨,客户则成了蒙受损失的一方,最终团队失去了客户,失去了金钱,失去了项目。

DevOps就是为了让开发和运维告别这样的悲剧而被提出的。它是一种框架,包含了很多优秀想法和原则,它重视开发部门和运维部门打破隔墙,通力合作。

DevOps希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。专家们总结出了下面这个DevOps能力图,良好的闭环可以大大增加整体的产出。

在DevOps环境中,开发人员和系统管理员会构建一些关系、流程和工具,从而更好的与客户互动,最终提供更好的服务。

DevOps的三大原则

基础设施即代码

DeveOps的基础是将重复的事情使用自动化脚本或软件来实现,例如Docker(容器化)、Jenkins(持续集成)、Puppet(基础架构构建)、Vagrant(虚拟化平台)等;

持续交付

持续交付是在生产环境发布可靠的软件并交付给用户使用。而持续部署则不一定交付给用户使用。涉及到2个时间,TTR(Time to Repair)修复时间,TTM(Time To Marketing)产品上线时间。要做到高效交付可靠的软件,需要尽可能的减少这2个时间。部署可以有多种方式,比如蓝绿部署、金丝雀部署等;

协同工作

开发者和运维人员必须定期进行密切的合作。开发应该把运维角色理解成软件的另一个用户群体。协作有几个的建议:a、自动化(减少不必要的协作);b、小范围(每次修改的内容不宜过多,减少发布的风险);c、统一信息集散地(如wiki,让双方能够共享信息);d、标准化协作工具(比如jenkins)。

DevOps的影响

交付

使用DevOps有多爽?有调查报告发现,在2016年,根据全球4600位各IT公司的技术工作者的提交数据统计,得出使用DevOps的公司团队平均每年可以完成1460次部署。与传统组织相比,DevOps组织的部署频繁200倍,产品投入使用速度快2555倍,服务恢复速度快24倍。

协调合作

强有力的发布协调人弥合了开发与运营之间的技能鸿沟和沟通鸿沟,采用电子数据表、电话会议、即时消息、企业门户(wiki、sharepoint)等协作工具来确保所有相关人员理解变更的内容并全力合作。

自动化

强大的部署自动化手段确保部署任务的可重复性、减少部署出错的可能性。

如今,IT行业已经越来越与市场的经济发展紧密挂钩,能否让公司的IT配套方案及时跟上市场需求的步伐,在今天显得至关重要,DevOps或许就是给与公司和团队的一剂良方。

最后推荐几个在实现DevOps上已很成熟的项目管理工具:CORNERSTONE、Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker。

要说这些工具各有什么特色,改天我们再聊吧。话说不知道刺客信条故事的最后结局会不会也和运维与开发一样,最终两个派系握手言和共同进退呢……

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
DevOps理念
12.2 DevOps理念 DevOps(Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到,为了按时交付软件产品和服务,开发和运营工作必须紧密合作。 12.2.1 Development和Operations的组合 可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。 传统的软件组织将开发、IT运营和质量保障设为各
大数据和云计算技术
2018/03/08
2.3K0
【DEVOPS】 Devops原则
1.价值流的三个度量:前置时间、完成准确率,流程时间。为了满足需求而按顺序排好的一些列活动,成为价值流。
心跳包
2020/08/31
1.9K0
DevOps改变IT部门运作方式的8种优势
企业IT部门试图通过实施DevOps来实现技术创新,随着DevOps趋势的持续流行,敏捷开发以及诸多容器编排平台工具已经屡见不鲜。
增强现实核心技术产业联盟
2020/04/10
1.5K0
DevOps改变IT部门运作方式的8种优势
DevOps研发模式下CI/CD实践详解指南
借着公司今年新组建的中台研发部东风,我作为其中的主要负责人,在研发中心主导推行DevOps研发管理模式转变及质量管理创新建设,本篇文章摘取自今年9月底,笔者在公司内部针对全体研发人员的一次DevOps培训PPT中的部分内容,涉及公司敏感信息和部分章节内容顺序已经作过处理。
测试开发技术
2019/12/09
1.3K0
DevOps研发模式下CI/CD实践详解指南
目前最流行的开发模式DevOps究竟是什么鬼?
随着业务复杂化和人员的增加,开发人员和运维人员逐渐演化成两个独立的部门,他们工作地点分离,工具链不同,业务目标也有差异,这使得他们之间出现一条鸿沟。而发布软件就是将一个软件想从鸿沟的这边送去那边,这之中困难重重。
Java后端技术
2018/08/09
2K0
目前最流行的开发模式DevOps究竟是什么鬼?
字节跳动裁撤游戏部门,DevOps如何推动游戏项目走向成功
近日,字节跳动裁撤游戏部门的消息引起了广泛关注。这一事件让人不禁思考,游戏项目和互联网项目之间到底有何区别?为什么游戏项目有时候会推出即结项,而互联网项目却能够不断累积功能越来越强大?
DevOps持续交付
2023/12/15
2580
字节跳动裁撤游戏部门,DevOps如何推动游戏项目走向成功
企业实施DevOps的七大挑战|洞见
DevOps这个词在近年来可谓大火。从2014年底我开始给一些企业做持续交付/DevOps相关的评估和咨询,似乎每个企业都表示想要推行DevOps,或者说他们正在做DevOps。这把火蔓延的速度远远超过当年敏捷在IT行业的传播。然而有些企业管理者对DevOps的认知让我们意识到,由于各种有意或无意的因素,这个概念不幸地成为了一个让人困惑的buzz word…… 什么是DevOps? 这里我想列出四种我们在市场上、企业咨询以及社区交流过程中接触到的认知: 一些企业的运维部门找我们,说要搞DevOps。我请他们
ThoughtWorks
2018/04/17
7750
企业实施DevOps的七大挑战|洞见
DevOps是云计算时代的开发与运营
DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。[1] 它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。 以下几方面因素可能促使一个组织引入DevOps: 使用敏捷或其他软件开发过程与方法 业务负责人要求加快产品交付的速率 虚拟化和云计算基础设施(可能来自内部或外部供应商)日益普遍 数据中心自动化技术和配置管理工具的普及
张善友
2018/01/29
1.5K0
探索DevOps文化
采用DevOps文化需要在企业层面改变思维方式、流程和文化。许多人认为采用DevOps只是在不同的团队之间划分任务,并为团队成员分配特定的角色。然而,恰恰相反,它需要在实施最佳实践的同时,致力于更长远的事业。因此,转向DevOps不是一个瞬间的转变,而是一个组织必须共同迈向的持续旅程。
FunTester
2023/11/30
2480
探索DevOps文化
一个 DevOps 面试小宝典
DevOps 是敏捷开发的产物,也越来越受到谷歌、Facebook 或亚马逊等大型企业的关注。因此,当你要申请 DevOps 工程师岗位时,除了所需的专业技能外,准备充分的 DevOps 工作面试,对于成功拿到 Offer 也至关重要。
我是阳明
2022/12/29
7360
一个 DevOps 面试小宝典
DevOps文化落地,如何构建高效协作的团队?
DevOps文化的核心是通过提高开发(Dev)和运维(Ops)团队之间的协作,促进软件开发和交付的高效性、质量和稳定性。要成功地将DevOps文化落地并构建高效协作的团队,可以从以下几个方面入手:
天创项目管理分享
2024/11/20
1360
DevOps文化落地,如何构建高效协作的团队?
持续集成和DevOps基础
  持续集成(Continuous integration,简称CI),简单来说持续集成就是频繁地(一天多次)将代码集成到主干。
iTesting
2020/10/26
8940
持续集成和DevOps基础
荷兰 ING 银行从敏捷到 DevOps 的进阶之路
一、ING 介绍 ING 是一个总部位于欧洲荷兰的银行。我们有450多个运维开发的团队,全面服务于银行业。 在 ING,IT 的角色从服务转向到战略上,不仅仅做传统的银行。 战略驱动的四个支撑点: 清
DevOps时代
2018/02/02
1.6K0
荷兰 ING 银行从敏捷到 DevOps 的进阶之路
敏捷开发,持续集成/交付(CI/CD)、DevOps
敏捷开发和DevOps都是一种理念。他们的理念相似,都是为了更好更快的发布产品,但又不完全相同。
PM吃瓜
2020/08/17
1.8K0
敏捷开发,持续集成/交付(CI/CD)、DevOps
终于有人把DevOps讲明白了
导读:DevOps中的Dev指的是Development(开发),Ops指的是Operations(运维),用一句话来说,DevOps就是打通开发运维的壁垒,实现开发运维一体化。
IT阅读排行榜
2021/10/14
6870
DevOps 解决什么痛点
其实DevOps在实践中并无统一准确的定义,不断的讨论不断的研究才能深刻理解。在软件工程领域一个非常有效的理念就是“提前把最痛苦的事情频繁得做、反复得做,直到它变成一个不痛苦的事情”。
PM吃瓜
2023/03/02
3660
DevOps 解决什么痛点
IT入门知识第三部分《软件开发》(3/10)
在当今数字化时代,软件开发已成为推动创新和企业发展的核心动力。本文将深入探讨软件开发的生命周期、方法论以及版本控制系统,为读者提供全面的软件开发知识。
正在走向自律
2024/12/18
2160
IT入门知识第三部分《软件开发》(3/10)
什么是DevOps?为什么我们需要DevOps?
传统IT技术团队中通常都有多个独立的组织-开发团队、测试团队和运维团队。开发团队进行软件开发、测试团队进行软件测试,运维团队致力于部署,负载平衡和发布管理。 他们之间的职能有时重叠、有时依赖、有时候会冲突。
字母哥博客
2020/09/23
8460
什么是DevOps?为什么我们需要DevOps?
DevOps在传统企业的落地实践及案例分享
摘要 在传统支撑模式无法满足业务价值快速交付要求的情况下,传统企业应该如何引入DevOps能力进行突破创新,本次分享将从以下几个方面具体探讨DevOps如何与传统融合进而落地: 1.DevOps的整体
IT大咖说
2018/04/04
1.2K0
DevOps在传统企业的落地实践及案例分享
TW洞见 |建设DevOps能力到底有多重要?典型问题+对症方法
当软件行业进入互联网时代,市场对软件产品和服务的交付提出了更高的要求:不仅要快速实现需求,而且要快速发布上线,并且必须保证业务可靠、高效运行。为了满足这些要求,IT组织需要强有力的流程、技术和人员作为保障。 ThoughtWorks很早就认识到发布与运营对于成功交付的重要性。我们的创始人Roy Singham在《走完业务软件的“最后一公里”》一文中指出: 所谓[软件开发的]“最后一公里”,是指软件满足了功能需求之后,尚未投入实际运行并创造业务价值的阶段。软件开发者──尤其是面对交付压力的软件开发者──
ThoughtWorks
2018/04/16
8520
TW洞见 |建设DevOps能力到底有多重要?典型问题+对症方法
推荐阅读
相关推荐
DevOps理念
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档