DevOps并不只是一个时髦的概念,而是已成为软件是否高质量交付的衡量标准。借助DevOps,企业可以更快速地交付软件,更灵活地进行IT部署,最大化实现业务价值,这也是为什么在过去几年里,DevOps一直被热捧的原因。
另外,DevOps能够快速发展,跟数字化时代的变革也有关系。在以云计算、大数据、人工智能等为主导的数字化时代,只有采用更完备的技术支撑体系,才能满足企业更高速发展和灵活性需求。从某种意义上来说,DevOps已成为企业在数字化竞争中能否获胜的最关键一环。
那么,到底什么才是DevOps的关键点?DevOps的未来发展有哪些新趋势?本文总结了五个关键点!
一、DevSecOps
“DevSecOps”由DevOps演变而来,强调的是一种安全理念和模式。核心理念是,从软件规划、开发时,就要考虑安全因素,而不是软件交付之后,才考虑安全问题。维护软件安全,是整个IT团队的责任,包括开发、运维及安全团队中的每个人,贯穿软件生命周期的每一个环节。
虽然DevSecOps与小型初创企业的关系不大,但对于安全以及合规性有着严格要求的企业来说,比如:金融服务、医疗机构和政府行业,DevSecOps就显得尤为重要。这些行业在过去都有同一个挑战,那就是开发和安全团队是分离模式,负责安全的人通常在软件开发结束时,才发现安全问题,没有达到标准,只能推倒重来,反反复复浪费开发人员的时间。
DevSecOps理念可以改变这一现象,通过固化流程、加强跨部门协作,以及通过工具、技术手段,让安全属性嵌入到整条流水线。DevSecOps把重复性的安全工作融入到研发体系内,并进行自动化,进而把安全测试中存在的孤立性、滞后性、随机性、覆盖性、变更一致性等问题及早解决。
二、持续交付
如今,持续交付和持续部署已成为开发团队的标准操作流程,传统软件那种软件包的交付模式已成为过去式。
过去,软件开发的效率非常低,开发人员在完成一个开发任务后,就会把代码封装,待所有任务完成后,被打包到一个版本中。而在持续交付与持续部署模式下,对代码进行更改、集成和构建时,会更简单、高效。代码被自动推送到非生产环境中,以运行一系列用于生产部署的连续测试。简单理解,持续交付不用等待大型版本发布,IT团队需要推出更小、更频繁的版本。这样,软件可以更快地进入用户的手中,并允许团队更快地收集反馈,最终导致更快的上市时间,实现更大的业务价值。
三、云
我们可以看到,越来越多的企业开始把工作负载迁移到云环境,这已不是什么稀奇事。DevOps也从云应用中获益,通过云的模式,提高开发团队的工作效率。比如,开发人员只需通过一张卡或者一个按钮,就可以从云中获取资源。另外,通过云部署测试环境,让用户拥有更大的灵活性。
四、危机意识
现在,熟悉DevOps概念的IT经理或工程总监,已经随处可见。但在五年前,情况并非如此。
网络为人类的发展带来了太多的便捷,也让DevOps降低了门槛,人们通过网络就能轻而易举地获得DevOps方法和最佳实践。但是,这为企业应用带来了风险,竞争对手也可以通过开发者社区的模式,获得同样的方法和实践经验。换句话说,当满大街都是DevOps,DevOps也就不再是什么竞争优势了。
五、自动化
自动化是DevOps的核心内容。为了提高开发人员的效率,减少手动操作,一些可重复的流程必须要自动化。
为了实现持续交付,代码会自动推送到连续的测试环境中,进行自动测试。一些兼容性测试、功能测试、性能测试等,都以自动化的方式执行,而不需要占用开发人员的时间。随着多云环境的增强,未来我们可能会看到更多跨云部署的可互操作的测试环境。