
DevOps的目的是为企业服务的,说具体点是为企业的业务部门服务的,是为了业务部门能够更快、更稳的将业务创新,用户需求交付给用户,交付给市场。如果从绩效和成本来说,企业内部的DevOps建设是不会直接创造效益的,承担DevOps建设的信息中心一般也会被归为成本中心。
DevOps通过加速业务创新,保证业务系统稳定运行,进而带来业绩和用户增长。从这一点来看,DevOps扮演的已经是基础设施的角色,已经和业务系统的开发过程紧密结合在一起。就像水和电一样,已经和我们的生活紧密结合在一起,我们已经习惯于『一拧水龙头,自来水就哗哗流出,一开开关,白炽灯就照亮房间』,水和电对我们无感知的满足使得我们生活井然有序的进行着。
DevOps最终的目标是像水和电一样,为企业业务系统的开发提供『无感知』的服务。业务产品经理、开发人员、测试人员和运维人员都不应该感知到DevOps的存在,整个软件开发过程的流转,都是无缝集成到各个环节中,只需要提供像『水龙头』『电灯开关』一样的交互窗口,每个相关的角色人员就可以自由的使用DevOps提供的服务,为此,DevOps需要提供的特性是:
第一、自动化
DevOps中的流程流转、数据收集、代码检查、编译、发布、自动化测试、自动化部署等都是根据上一个环节的输入按照既定的规则自动进行,不需要用户参与,用户也不需要知道内部的处理逻辑是什么,就像在使用电时不需要知道电是怎么产生的一样,只要能用就行。
第二、实时反馈
就像打开开关,白炽灯就会照亮房间,能够立即给用户提供反馈。用户在使用DevOps服务时,实时反馈机制也是必须的,当用户新建需求,并将需求拆分给开发人员时,开发人员对任务的状态变更,要对产品负责人有实时反馈。当开发人员提交代码后,编译结果要实时反馈。代码检查工具的结果要实时反馈。自动化测试的测试结果要实时反馈。这些通知类、事件触发类或统计类的反馈能够通过消息、短信、邮件等形式实时或定时发出,用户基于这些反馈进行再改进。
第三、交互简单
DevOps是为了提高开发人员的开发效率,如果使用DevOps服务交互复杂,给开发人员增加了额外的工作量,这样的DevOps落地和推广效果就不会太好。就像『拧水龙头』一样,一个简单的操作就能享受到DevOps服务带来的便利,这点在企业内部实施过程中深有体会。
『无感知』是DevOps的终极目标。目前大多数企业提供的DevOps服务都是需要多方参与,而且各个企业内部的需求和流程千差万别,因此,一个通用的,灵活的,可信赖的DevOps服务才能够达到无感知的目标,让我们朝着这个目标努力吧,随着科技的发展,这一天终将会到来!
网友评论