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),但研究发现可普遍适用于基于云的应用程序开发。所提供的实证基础能够帮助开发者通过服务选择、资源分配、部署优化及其他技术来降低成本。