Compute costs is a significant expenditure for many companies, whether they are in the cloud or on-premise. Managing these costs is an important function for many companies, frequently with dedicated employees to do so. There are two main goals:
Driving increases in efficiency, to save money Attribute costs to individual projects, then groups
GitLab is well positioned to provide a comprehensive solution here:
We know the performance characteristics of each pod and node through our Prometheus integration. We know the resources requested by each pod We know which pods correspond to which projects. This is important for shared clusters, which offer the greatest opportunities for efficiency gains due to scale. We can even track changes in usage to individual deploys.
There are a few iterations we could go through here:
Flag deployments/projects that overprovisioned resource requests, wasting resources Recommend node changes to increase efficiency (use larger nodes, nodes with more RAM, etc.) Estimate costs utilized by each project Automatically implement the changes to right-size pod resource requests
This feature could pay for the GitLab Ultimate license by itself pretty quickly, if we do it well, for companies at certain scale.
Interested in joining the conversation for this category? Please join us in our public epic where we discuss this topic and can answer any questions you may have. Your contributions are more than welcome.
Flag over-provisioned kubernetes deployments, as we have the required data sources to provide this information.