什么才是企业向DevOps转型的正确姿势?看过来

目前,DevOps正在成为软件交付的最佳模式,但是很多企业在向DevOps转型时却不知道该怎么做。今天我们就来聊一聊企业该如何向DevOps转型,希望对正在向DevOps转型的企业有所帮助。

一、市场调查和预测

云软件是商业模式的变革,未来10年,80%企业应用将会迁移到SaaS云上,100%的Dev/Test将运行在云上,绝大部份企业数据存储在云上。

根据Garter2015i&oAutomation报告显示,DevOps正处于技术发展的最高点,其应用实践已经受到高度关注。

根据PuppetLabs领导的年度DevOps发展报告显示,企业的IT服务绩效和DevOps推崇的普遍实践有明显正相关,Devops一经推崇实践,企业部署效率明显快30倍,变更失败率低于50%。

驱动DevOps不断发展并付诸于实践的因素,分为以下几个方面:

1. 业务负责人要求加快产品交付的诉求。

2. 开发团队大规模使用敏捷软件开发过程与方法。

3. 虚拟化和云计算基础设施日益普遍。

4. 数据中心自动化技术和配置管理工具的普及。

二、如何具体实现DevOps?

首先DevOps并不是真正的框架,而是一种文化上的转变,它关注于如何增强前线员工的力量。DevOps解决方案旨在创建由所有利益相关者组成的跨职能团队并鼓励整个周期内的沟通。

DevOps的1个主要目标是快速部署那些能为客户提供附加值的应用程序,企业在采用DevOps时,开发周期和发布周期是通过自动化缩短的,尤其是进行测试时。由于小块代码的测试自动化了,部署流水线能够一直保持满载。

在整个项目流程中人们的工作方式和相互联系的方式都需要改变。DevOps要求管理层允许员工从失败和实验中学习经验。DevOps并不提供“包治百病的方法”,这是因为DevOps框架只是将一些松散的原则集合到一起,也是按照企业的需求集成的。每家企业需要按照其需求确定恰当的方法。

所以企业在实施DevOps时,需要具体做以下几项工作:

• 提升软件部署质量

• 更频繁的软件发布

• 提升IT过程和需求的可视化程度

• 改变合作协同文化

• 响应更多的业务需求

• 开发更敏捷

• 管理过程更敏捷

• 提升代码质量

而这些工作具体实践过程分为以下几个方面:

1. 人员方面

在人员方面需要组建一个自治的团队,每个团队成员需要对项目有全局的了解,这就要求开发人员向全栈工程师发展。另外需要融合不同团队,比如开发和运维在同一个部门,基于同一个领导汇报,比如要求开发和业务人员在整个项目开发期间必须天天在一起工作。

最后团队需要一个服务式管理者。管理者需要建立激励体制和反省体制(团队每隔一定时间在如何才能更有效的工作方面进行反省,然后相对应的对自己的行为进行调整)。

2. 流程方面

开发整体流程需要遵守相应的原则来保证相应进度。软件进度的唯一标准就是工作的软件。我们优先要做的事通过尽早的持续的交付有价值的软件来使客户满意。为了这个目的我们在开发过程中需要遵守以下几个方面开发过程中最小化可执行产品(MVP)、持续集成/持续交付、持续 部署(CI/CD)、测试驱动开发(TDD)。

其中持续交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好,使用户经常看到软件效果。其中测试驱动开发可以优化代码设计提高代码测试性,建立和代码同步增长的自动化测试用例。在项目整体流程中还有一个重要的原则是聚焦客户价值,消除浪费。我们需要标示和消除软件中的浪费、交付刚刚好的系统、随时构建,不容忍缺陷、及时消除技术债务、持续保持快速响应。变化无法预测,一开始制作大而全的计划容易造成浪费,应该根据迭代积累的经验和需求变化的情况对计划不断调整和细化。

3. 技术方面

技术方面有以下合格要求:

1) 学习敏捷开发理念:软件更像是一个活着的植物,软件开发是自底向上有序生长的过程,类似于植物自然生长;

2) 团队需要不断关注优秀的技能和好的设计会增强敏捷能力;

3) 持续保持良好的软件架构(软件的特点是庞大、复杂、生命周期长,优秀的架构使软件处于松耦合状态);

4) 利用多层次反馈不断调整以逼近目标(高度重视反馈 建立反馈机制,团队在反馈中提高成长);

5) 集成工具链,搭建自动化工作流。

4. 文化方面

首先我们需要一个完整的团队,然后通过以下方面构建团队文化:

1)实行激励机制

2)举行每日站立会议:高效会议、记录问题跟踪问题解决

3)进行可视化管理:可视化管理让所有的团队成员直观的获取当前项目进度信息,及时暴漏问题信息同源利于团队理解一致。

4)适应变化:团队需要一定敏捷理念认清客户是逐步发现真正的需求,欢迎客户改变需求,敏捷过程就是利用变化来为客户创造竞争优势。

其实这些工作都贯穿在DevOps整个生命周期过程中,下图是DevOps生命周期过程。

什么才是企业向DevOps转型的正确姿势?看过来

DevOps实践能够使企业以更加精简、高效的方式运作,企业在具体实践DevOps时,有许多的障碍,比如不同部门的思维不同,对开发团队的要求较高等等,所以任重而道远。

以上是关于企业转型的一些经验,希望对大家有所帮助。


分享到:


相關文章: