Core Concepts
Developers are not only concerned with the cost of their cloud-based application deployments, but also take actions to reduce these costs beyond just selecting cheaper cloud services.
Abstract
The study explores the extent to which software developers are aware of the cost of deploying and operating cloud-based software, and what kind of concerns and action initiatives they have about it. The researchers conducted a systematic examination of 152,735 GitHub repositories and analyzed 538 relevant commits and 208 relevant issues using inductive and deductive coding. 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. The key highlights and insights from the analysis are:
The most prevalent cost-related actions mentioned in commit messages are related to "saving" costs, such as removing unnecessary monitoring or using cheaper instance types. This suggests developers' awareness of the cost implications of their decisions.
Issues provide more insights into the decision-making process around cost management, with discussions around the current configuration, alternative options, and rationale for changes.
Developers consider various properties of the cloud deployment when managing costs, such as instances, storage, networking, and billing mode. They take actions like changing, testing, or upgrading these properties to reduce costs.
Developers also express concerns about cost increases due to changes in the deployment, and the need for cost-related alerts and policies to prevent excessive charges.
The analysis reveals a knowledge graph that organizes the key concepts around cost awareness, including the effects on cost, the actions taken, and the properties of the deployment considered.
The findings provide empirical grounding on how developers seek to reduce costs through service selection, resource allocation, deployment optimization, and other techniques. This can inform future research and development efforts to better support cost management in cloud-based application development.
Stats
Terraform is a popular cloud orchestration tool that provides an abstraction layer over cloud service providers' APIs. The study focused on Terraform artifacts in open-source GitHub repositories.
The dataset includes:
538 relevant commits from 434 distinct repositories
208 relevant issues from 89 distinct repositories
Quotes
"Removed the default use of detailed monitoring. (#17) * Reduces CloudWatch costs for metrics by 80%"
"nat gateway is verry [sic] expensive"
"Pods for some core services have migrated over to high-memory nodes, which have a much higher cost that the general nodes."