Context: The popularity of cloud computing as the primary platform for developing, deploying, and delivering software is largely driven by the promise of cost savings. Therefore, it is surprising that no empirical evidence has been collected to determine whether cost awareness permeates the development process and how it manifests in practice. Objective: This study aims to provide empirical evidence of cost awareness by mining open source repositories of cloud-based applications. The focus is on Infrastructure as Code artifacts that automate software (re)deployment on the cloud. Methods: A systematic search through 152,735 repositories resulted in the selection of 2,010 relevant ones. We then analyzed 538 relevant commits and 208 relevant issues using a combination of inductive and deductive coding. Results: The findings indicate that developers are not only concerned with the cost of their application deployments but also take actions to reduce these costs beyond selecting cheaper cloud services. We also identify research areas for future consideration. Conclusion: Although we focus on a particular Infrastructure as Code technology (Terraform), the findings can be applicable to cloud-based application development in general. The provided empirical grounding can serve developers seeking to reduce costs through service selection, resource allocation, deployment optimization, and other techniques.
翻译:背景:云计算作为开发、部署和交付软件的主要平台,其普及很大程度上得益于成本节约的承诺。因此,令人惊讶的是,目前尚无实证证据表明成本意识是否贯穿开发过程,以及它如何在实践中体现。目标:本研究旨在通过挖掘基于云应用的开源仓库,提供成本意识的实证证据。重点在于基础设施即代码制品,这些制品自动化了软件在云平台上的(重新)部署。方法:通过对152,735个仓库的系统性搜索,筛选出2,010个相关仓库。随后,我们结合归纳编码和演绎编码的方法,分析了538个相关提交和208个相关问题。结果:研究结果表明,开发人员不仅关注其应用部署的成本,还采取了超出选择更廉价云服务以外的措施来降低成本。我们还指出了未来值得关注的研究领域。结论:尽管本研究聚焦于特定的基础设施即代码技术(Terraform),但研究结果可普遍适用于基于云应用的开发。所提供的实证依据可为开发人员通过服务选择、资源分配、部署优化及其他技术降低成本的尝试提供支持。