什么是DevOps? 怎样实施?面临什么问题?如何解决?

什么是DevOps? 怎样实施?面临什么问题?如何解决?

什么是DevOps?

首先DevOps 不是一个产品,其次软件工程方法论也不准确。

在 DevOps 模式下,产品,设计,开发,测试和运维团队更紧密地结合在一起,贯穿应用程序的整个生命周期。通过自动化工具替代手工操作,实现快速,高效,安全的测试,构建,部署项目。

  1. 可用的软件胜过完备的文档
  2. 团队合作胜过需求文档
  3. 响应变化胜过遵循流程与计划

为什么会诞生DevOps?

传统软件企业,以软件开发为主,开发部是最大的部门,根据项目分组,下设许多项目组,需求,开发,测试等等组别。运维显得不那么重要。这个模式已经不适合互联网企业。互联网企业通常是设置开发部,测试部,运维部,产品部,运营部,客服等等部门,但这样的组织架构带来了新的问题。

产品部关注用户体验,不考虑性能与开发合理性。开发部门的驱动力通常是“频繁交付新特性”,完成产品部提出的需求,测试部关注的是开发部是否按照需求完成所有的功能,运维部更关注7*24小时无故障运行。从产品->开发->测试->运维过程看似完美,但他们目标不匹配,就在这些部门之间造成了鸿沟,从而减慢了交付业务的速度。

随着管理学的不断完善,例如工商管理,被分成很多纵深领域,行政管理,人事管理,财务管理,营销管理,项目管理……等等。

而软件管理又被细分为:时间管理,范围管理,需求管理,质量管理,风险管理,成本管理......

由于组织架构的需要,又把人分成很多岗位,每个岗位上紧紧需要一种知识体系。企业按照自身的需要招聘某个领域的人才。

同时我们学校也按照知识体系划分院系,本科教育程专科趋势,不重视通识教育,最终学生紧紧掌握了微观的知识。

如果说哲学是科学的科学,那么 DevOps 就是管理的管理。所以我认为 DevOps 是多维度宏观管理学。

DevOps 虽好,为什么难以普及呢?

实施DevOps 第一个遇到的问题就是人才,DevOps 需要经验丰富的跨界人才。第二个问题就是没有案例可循,无法借鉴和参考。

实施DevOps需要具备管理,开发,测试,运维等等背景的人才。每个领域至少也需要三年的积累,至少需要 3+3+3+3 = 12 年工作经验,多少公司员工都比较年轻,普遍在 3~5年。 一般员工工作10年以上,遍开始转向管理岗位,或者寻找其他出路。即使转管理岗的员工紧紧负责开发管理或者测试管理…… 不太可能10年的开发,转运维部重头开始。

我上面说过我们教育模式有问题,本科教育应该培养 “T” 型人才,专科教育培养 “I” 型人才,本科教育呈专科化。学校只教会学生一项技能(如Java 开发),而没有教会学生如何学习。

在中国企业的年龄歧视 “T” 型人才流失严重。“I”人才只能掌握一项技能解决一个领域的问题,无法完成DevOps 的实施。

DevOps 不是产品,是一种管理思想,每个企业根据自身特点,制定自己的DevOps规范,所以第二个难点就是,没有案例可循,无法参考。

软件工程的历史与进化

传统软件工程学出现的年代互联网还不普及,主要是单机运行的软件,或者C/S结构的软件,其特点是开发周期长,迭代慢,每半年或者一年交付一次。流程主张:

需求->设计->开发->测试->交付

进入互联网时代,已B/S为主的软件,交付周期缩短到一个月,在传统软件工程做了改进,放弃了瀑布开发模式,提出了快速迭代,螺旋上升,管理上也逐步完善。出现了软件项目管理,CMM5软件开发成熟度模型。

互联网快速发展,使传统软件企业面临挑战,理论上互联网应用程序没有稳定版,新的特性源源不断加入,如果出现稳定版就意味着企业停滞。

互联网企业面临的问题是

  1. 需求频繁变更,一天一个想法,需求尚未成熟就开始投入开发软件生命周期短,以各种活动为例,很多功能是一次性的,软件生命周期可能是几周,几个月。
  2. 频繁交付新特性,不能像传统软件一样几个月甚至几年升级一次,我们需要应对互联网快速变化,可能需要每周升级一次,甚至每天升级数次。
  3. 随时可能回撤,随时做好回撤准备,要支持版本的任意切换
  4. 多项目并行开发
  • 17
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

netkiller-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值