发布时间:2020年06月19日
重新设计DevSecOps,优化治理、提高成本效率、缩短部署时间
在DevSecOps应用开发周期中,需要注意速度和效率问题,同时确保将安全性嵌入到流程中的每个部分。一家政府机构客户发现,现有的DevSecOps规划管道存在低效、难以维护的挑战。
这家组织计划对应用进行一些更改,寄希望于DevSecOps工具快速高效地完成工作。在他们的设想中,DevSecOps将在开发人员和产品负责人之间创建一个高度协作的环境,从而可以用Agile Sprints在两到三个月内完成应用的开发。
但是,最终他们得到的却是难以管理的流程和高昂的经费。究其原因,其实是网络环境的限制使得持续集成(CI)和持续部署(CD)流程相互隔绝,这与DevOps设计的原理和实践相违背,同时在管道管理方面造成了问题。另一方面,管理和可追溯性不足,部署到生产环境中的代码版本的可见性很低。
应用恩士迅(NCS)DevSecOps,实现更高的成本效率和敏捷性
这家组织邀请恩士迅(NCS)帮助其重新设计DevSecOps流程,同时设法利用目前对工具的投资,召集应用和发布管理团队,参与软件发布流程,并予以审查。
在审视组织中的DevSecOps的状态后,恩士迅(NCS)建议建立协作环境,实现开发人员和用户多点协同工作以降低成本,同时方便信息交流。恩士迅(NCS)还提出,DevSecOps工具用于概念验证和应用开发时,其方式和方法可做优化。
例如,运用“管道即代码”的方式对Jenkins CI / CD管道重新设计,提高其可维护性,并使用DevOps生命周期工具GitLab维护管道代码以保持合理的版本控制;应用“多分支管道”方法进行自动发现、管理和执行分支的管道,并提供有关每个源代码分支状态的即时反馈。
恩士迅(NCS)还建议采用“左移”实践,在项目生命周期的较早阶段执行测试,以保证代码和可交付成果的质量。
通过协作平台缩短部署时间、优化治理
恩士迅(NCS)建议设立的协作平台可以让产品所有者和开发人员协同工作,更有效地记录应用开发过程,缩短项目迭代时间和项目批准到“上线”的时间,同时确保最终产品对客户而言是可接受的。
此外,恩士迅(NCS)还对修订、版本和发行版持续反馈,增强其可追溯性,加强治理,并通过使用CI / CD流程来管理产品的增量构建,减少了管理开销。
同时,消除不必要的插件和实例有助于降低运营成本,而使用AWS Relational Database Service可以提高DevOps工具(包括GitLab,SonarQube,Jira和Confluence)所需数据库的可用性和可靠性。