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),但研究结果对云应用程序开发普遍适用。提供的实证基础可为寻求通过服务选择、资源分配、部署优化和其他技术降低成本的开发人员提供帮助。