DevOps的10个最佳实践

2015年6月,Gartner预测说,“到2017年年底,对移动应用开发服务的市场需求将比内部IT机构交付这些服务的能力快至少5倍。”事实上,企业上下已经看到他们的应用工作负载在飙升。因此,越来越多的企业机构正在采用DevOps——这种方法通过让应用开发者和运营专家在整个端到端应用开发和部署过程中的协作来加速应用开发和交付。以下是10个正在获得组织机构青睐的DevOps最佳实践。

1、打破IT孤岛

打破IT中各项职能间的功能性孤岛必须来自于上层管理,因为数十年来IT一直以约束性的孤岛组织构成的。在这种环境中,应用开发工作历来是采用一种组装线的方式,一个部门开发应用,之后被传送到运营部门,进行应用集成,之后这个应用又由QA部门进行测试,接下来应用返回到应用和运营部门,进行部署。

这种职能的孤立限制了积极的合作,造成可能延迟部署的应用问题。迫于更快交付应用的压力,IT经理们开始把IT重构为DevOps团队,这些团队涵盖了所有IT职责,每个团队都承担对特定应用类别的责任。

2、调整绩效评价

当IT文化需要“去孤岛”的时候,通过评估团队表现和个人在团队表现中的参与度评价来表明立场,这会起到很大的作用。把对开发者和运营人员更多的绩效评价置于他们团队满足应用开发和部署目标的能力之上。

3、创建实时项目可视性

现在项目管理软件现在已经拥有了内嵌的自动化特性,可以减少单调乏味的项目更新。项目管理工具可以提供对一款应用的时时刻实行,了解它现在处于从开发到部署的流程中的哪个位置。而且还可以显示谁、什么是当前工作的任务关键资源。项目管理软件可以作为跨职能IT团队的“事实统一版本”,让项目协调变得更加容易。

4、不管你在哪尽可能使用软件自动化

你可以通过选择一套与IT环境兼容的应用自动化工具集来缩短时间、减少错误和减低成本。这种自动化可以扩展到应用源代码开发、系统和中间件配置、甚至是数据库和网络变更方面。重要的生产前测试,例如先于部署的回滚测试和负载测试都是可以实现自动化的。这会节省开发者和运营人员的时间和精力。

5、选择彼此兼容的工具

利用DevOps工具和自动化另一个需要注意的是,工具所产生的关于应用和系统状态的信息并不冲突。通常选择来自一家厂商的多个工具是更有效的,因为这些工具已经是彼此紧密集成的了。这提升了应用开发者接收到关于应用健康状态与运营人员看到的应用情况相吻合的几率。

6、从小型的、能够保证成功的项目开始

那些致力于让IT文化远离孤岛的CIO们需要确保最新创建的DevOps团队能够快速取得成功。这树立起他们的信念和在新方法上的合作。

7、不要忘记用户!

你正在开发的应用是给最终业务开发的。如果没有业务利益相关者的关键支持,你的DevOps工作将处在危险之中。包括贯穿DevOps流程的最终用户,从你花时间坐下来和他们确定应用要求,贯穿原型开发、单元测试集成/回滚测试、培训和部署。

8、协同管理变革

当多放协作参与涉及原型和其他工具的快速开发,那么就会发生对一款应用的变更。这就是为什么有效的变更管理流程对于每个DevOps项目来说都是至关重要的原因。当要求应用发生变更的时候,请求应该让团队的每个人都知道,不管他们是哪个IT职责。这种沟通应该也一直延伸到最终用户的利益相关者那里。

9、持续部署应用

最好是在一种持续应用部署模式中采用DevOps,这种情况下各个部门不会等到有大量更新捆绑到了单独的软件上,而是选择持续改善应用和交付修订的应用。持续应用交付模式再加上强调的变更管理系统,这实现更快速地把新应用能力交付给企业。

10、在公司内部创建一个服务环境

IT“玻璃房子”的时代一去不复返了。为了保持相关性,IT必须把控企业用户需求的脉搏,交付满足或者超越功能性的应用以及投向市场的预期。如果其文化转向强调团队合作的价值、开放沟通以及承诺让客户满意——即使客户就在邻近的地方办公,都将实现这个目标。 

原文发布时间为:2015-7-14

 

本文作者:孙博

时间: 2024-12-28 12:19:33

DevOps的10个最佳实践的相关文章

Java中关于异常处理的10个最佳实践

Java 编程中异常处理的最佳实践 这里是我收集的10个Java编程中进行异常处理的10最佳实践.在Java编程中对于检查异常有褒有贬,强制处理异常是一门语言的功能.在本文中,我们将尽量减少使用检查型异常,同时学会在Java编程中使用检查型VS非检查型异常. 1.为可恢复的错误使用检查型异常,为编程错误使用非检查型错误 选择检查型还是非检查型异常,对于Java编程人员来说,总是让人感到困惑.检查型异常保证你对错误条件提供异常处理代码,这是一种从语言到强制你编写健壮的代码的一种方式,但同时会引入大

最重要的Java EE最佳实践

引言 在过去的几乎整整十年中,人们编写了很多有关 Java Platform, Enterprise Edition (Java EE) 最佳实践的内容.现在有十多本书籍 和数以百计(可能更多)的文章,提供了关于应该如何编写 Java EE 应用程序的 见解.事实上,这方面的参考资料如此之多,并且这些参考资料之间往往还存在 着一些矛盾的建议,以至于在这些混杂的内容中进行学习本身也成为了采用 Java EE 的障碍.因此,为了给刚进入这个领域的客户提供一些简单的指导,我们汇编 了这个最重要的最佳实

[译] 搜索结果页的最佳实践

本文讲的是[译] 搜索结果页的最佳实践, 原文地址:Best Practices for Search Results 原文作者:Nick Babich 译文出自:掘金翻译计划 译者:sunui 校对者:iloveivyxuan.Graning 搜索就像是用户和系统之间的一次对话:用户用一次查询来表达他们需要的信息,而系统用一组结果做为回应.搜索结果页恰恰是整个搜索体验中的一个关键部分:它提供了让用户参与对话的机会,来指导用户的信息需求. 这篇文章中,我愿意分享 10 个最佳实践,来帮助你提升搜

购物车邮件的十个最佳实践提示

购物车邮件的十个最佳实践提示 我想,大概如今每个人都在做挽回购物车的邮件(basket abandonment email).但刚被证明我错了. 依据我们的研究,英国前http://www.aliyun.com/zixun/aggregation/11629.html">100个电子商务网站(由Hitwise划定)中,只有不到10%目前做挽回购物车的邮件,所以我觉得还是贴一下这十年来我们积累的10个最佳实践所得. 1. 了解为什么有人放弃购物车的原因发生这种事情最大的三个原因,是过于复杂的

Jenkins管道最佳实践Top 10

本文讲的是Jenkins管道最佳实践Top 10[编者的话]Andy Pemberton领导CloudBees的解决方案架构团队.CloudBees是一家依赖Jenkins实现云化持续集成平台的创业公司,目前已经得到C轮融资.Andy拥有超过十年的软件交付经验,同时他也是经常发表演讲和撰写博客.本文是Andy做为Jenkins专家给出的10条Jenkins管道化使用的最佳实践. Jenkins的管道化插件对于其用户来说是个变局者.依赖于域领域语言(DSL)Groovy,管道化插件实现了脚本化.这

翻译-高效DevOps的10项实践

原文链接: http://www.drdobbs.com/architecture-and-design/top-10-practices-for-effective-devops/240149363?pgno=1, 作者Scott W. Ambler. 采用这些DevOps实践可以实现高效协作,平滑运营,更整洁的代码等目标. DevOps已经成为了我们行业最热门的流行语之一.然而出人意料的是,在更紧密的愿景和开发团队和运营团队更有效的协作之上,很少有共识DevOps到底意味着什么.不同组织对D

10 个项目文档最佳实践

在软件开发和维护过程中,文档是必不可少的资料,它可以提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导.帮助.解惑的作用.尤其在维护工作中,文档的重要性更是不言而喻.  本文整理了软件开发中10个最佳的文档编写实践,希望能对你的工作有所帮助.  1.  将编写文档作为开发工作中的一个重要环节(例如,占用总开发时间的10%).在软件开发中,不能没有文档,但如果编写文档占用了大部分的时间也不合适.可以根据需要制定代码文档.需求说明文档.设计文档.测试文档.用户手册等,在制定完成后,可以

你需要知道的10个最佳javascript开发实践小结_基础知识

尽管很多的开发人员都乐于颂扬javascript,但是仍旧有人看到它的阴暗面. 使用很多javascript代码的web页面会加载很慢,过多的使用javascript使得网页丑陋和拖沓.很快如何有效地使用javascript成为一个非常火热的话题. 这里让我们列出10个最佳javascript实践,帮助你有效地使用javascript. 1. 尽可能的保持代码简洁 可能大家都听到过了N遍这个代码简洁问题了.作为一个开发人员你可能在你的代码开发过程中使用了很多次,但千万不要在js开发中忘记这点.

《DevOps实战:VMware管理员运维方法、工具及最佳实践》——3.4 管理源代码

3.4 管理源代码 源代码管理(SCM,Source Code Management)是DevOps环境中必不可少的元素.想象一下:如果你要把基础设施转换为代码,重要的是有一种回顾任何更改.在新更改引入问题(例如,在最好的情况下是定期出现不稳定的情况,在最糟糕的情况下引起停机)时回到文件不同版本的手段.有些人可能认为"容易"的方法是建立文件的多个拷贝,每个都使用唯一的名称(Vagrantf?ile1.Vagrantf?ile2.Vagrantf?ile01012015等),但是接着当你