一句话:本文报告 Varidesk 通过容器化、基础设施即代码与编排重建 CI/CD 流水线,将构建/发布耗时加速 330–1110 倍并支持多云。
持续集成与持续交付(CI/CD)被广泛视为软件开发最佳实践,但实践中常遇到构建时间过长、工作流支持不足、配置困难等障碍。Varidesk 在将主 Web 应用从单体架构迁移到微服务并改进开发实践时,也遇到构建/发布排队与完成等待久、跨云工具支持缺乏两大挑战。作者重新思考适配自身的 DevOps 实践,采用容器化、基础设施即代码和编排等方法重建 CI/CD 流水线。基于该工业案例的评估显示,重新设计的流水线使总构建/发布时间提升 330 倍至 1110 倍,并让应用无需架构改动即可从单云平滑迁移到多云环境。
Continuous Integration (CI) and Continuous Delivery (CD) are widely considered to be best practices in software development. Studies have shown however, that adopting these practices can be challenging and there are many barriers that engineers may face, such as – overly long build times, lack of support for desired workflows, issues with configuration, etc. At Varidesk, we recently began shifting our primary web application (from a monolithic) to a micro-services-based architecture and also adapted our software development practices to aim for more effective CI/CD. In doing so, we also ran into some of the same afore-mentioned barriers. In this paper we focus on two specific challenges that we faced – long wait times for builds/releases to be queued and completed, and the lack of support for tooling, especially from a cross-cloud perspective. We then present the solutions that we came up with, which involved re-thinking DevOps as it applied to us, and re-building our own CI/CD pipelines based on DevOps-supporting approaches such as containerization, infrastructure-as-code, and orchestration. Our re-designed pipelines have led us to see speed increases, in terms of total build/release time, in the range of 330x-1110x and have enabled us to seamlessly move from a single-cloud to a multi- cloud environment, with no architectural changes to any apps.
DOI 原文 ·
@inproceedings{paperbot4683,
title = {Building lean continuous integration and delivery pipelines by applying DevOps principles: a case study at Varidesk},
author = {Vidroha Debroy and Senecca Miller and Lance Brimble},
booktitle = {FSE},
year = {2018},
doi = {10.1145/3236024.3275528}
}