OpsDev是什么?

OpsDev指的是在应用程序正式开发之前,必须首先理解和模型化不同组件的依赖。此外,还必须事先重点考虑基础服务稳定性、环境建模、安全性和审计/合规措施。应用程序组件是存根的,他们不必处于最终形式。其次,对生产中部署组件的环境必须进行建模。再者,不同组件部署到目标环境的流程必须尽可能自动化。通过上述方式,设计和开发团队可以在开发和测试阶段以一致的方式复制应用程序和环境模型以及自动化部署过程。在开发和测试阶段,通过简单地复制生产环境及部署过程,设计、开发和测试团队可以尽早知道生产环境的限制和参数,这样他们在开发应用程序时可以充分考虑这些约束和参数。而使用传统的模型,大量的时间将浪费在排除由质量保证部门在模拟环境(译者注:Staging,在正式进入生产环境前模拟生产环境的阶段)或生产环境找到的问题。很多时候部署会被取消,因为环境因素略有不同,验证通过的应用程序将无法部署到生产环境中。

此外,借助OpsDev可以使用版本发行管道工具在开发、测试、模拟和生产环境编排应用程序的部署,这样不仅能够通过自动化和并行化加快不同环境的整体部署流程,还能够减少易出错的手动任务从而提高整体质量。版本发行管道工具由多种提交管道(commit pipeline)组成,一个提交管道是一个独立的应用程序管道,用于编排持续集成和持续测试。一个发行版可能包括多个由不同工程团队开发的应用程序,每一个工程团队可以拥有他们自己的提交管道。将不同团队的不同应用程序提交管道集成在一起就构成了一个版本发行管道工具。版本发行管道工具知道应用程序的相互依赖性并且能够将应用程序整理到模拟和生产环境中。版本发行管道工具使用手动和自动两种批准方式确保发行版已被批准以及确保部署流程的正确性。

使用OpsDev,版本发布管道工具能够集成ITSM(Information Technology Service Management,IT服务管理)和APM(application performance monitoring,应用性能监控)解决方案。版本发布管道工具通过往ITSM服务台发送一份即将部署应用程序的电子清单来寻求批准,并且开启一个变更请求。IT服务主管在ITSM服务页面上就会看到即将部署应用程序的通知,然后进行评审以及相应的批准流程。当IT服务主管审核通过后,ITSM就会发送信号给版本发行管道工具让其进行部署。部署成功后,版本发布管道工具会通过更新变更请求状态告知ITSM应用程序已经成功部署。

版本发布管道工具也可以集成APM解决方案,版本发布管道工具将应用程序部署在模拟环境中,然后通知APM监控性能和负载测试。APM会报告应用程序是否到达SLA,如果是,应用程序可以继续部署到生产环境。否则,版本发布管道工具就会终止部署,并且报警说应用程序未到达目标SLA。在生产环境中,APM能够监控事物、性能和负载。当到达一定的阀值时,APM就会通知版本发布管道工具在数据中心部署更多的应用程序来增加服务能力。当收到APM的请求时,版本发布管道工具会往ITSM上创建一个变更请求,当ITSM批准后,它就会部署更多的应用程序来提供更多的服务能力。当服务能力过盛时,APM就会通知版本发布管道工具关闭一些服务,将资源留给其他服务使用。

正如大家所了解,IoT以及基于手机应用用户体验的不断扩张,企业不能再使用传统的开发模式开发产品,因为SaaS服务和应用程序组件(设备软件、数据中心软件、手机应用和Web应用)相互依赖性的增强组成了单一且密切相关的用户体验。苹果公司,通过鼓励开发者首先考虑用户体验以及提供完整的苹果个性化服务这种变革使我们的生活变得更加效率,这也将加快DevOps到OpsDev思想的转变。