2018 · 22 citations · 4 references
ComputingComputer SystemsCloud ArchitectureContainerizationSoftware EngineeringInfrastructure As CodeIntegration ArchitectureBarriersDevopsPipelinesSoftware Development LifecycleSoftware Development Methodology
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.
4
Usage, costs, and benefits of continuous integration in open-source projects
Michael Hilton, Timothy Tunnell, Kai Huang et al. · 2016 · 289 citations · Full text
Trade-offs in continuous integration: assurance, security, and flexibility
Michael Hilton, Nicholas Nelson, Timothy Tunnell et al. · 2017 · 202 citations
Continuous deployment of mobile software at facebook (showcase)
Chuck Rossi, Elisa Shibley, Kent Beck et al. · 2016 · 34 citations