One of the foundational value propositions of Kubernetes was the increase in autonomy and flexibility afforded to developers in deploying their applications. This freedom has proven to be very useful in some instances, but additional burden is placed on developers to make decisions around lower-level concepts like resource management.
And as it turns out, the same resource management challenges that have previously impacted physical and virtual environments have become entrenched in the container platforms that now reside further up the stack. Except this time, software people instead of infrastructure people are at the controls. It makes for an interesting dynamic.
The fundamental issues are similar, though. Over-provisioning leads to waste. Under-provisioning leads to performance degradation and instability. Avoiding these outcomes requires either understanding the workload before deployment, or, in the absence of that understanding, the ability to adapt to changes in resource requirements as they emerge.
This was one of the topics of discussion with StormForge during Day 3 of Cloud Field Day 13. Their solution started out as a platform that facilitated experimentation with various resource values, with the goal of better educating teams about their workloads requirements. The solution has since evolved to focus on observation of existing deployments, correction recommendations and automated remediation. This evolution was driven by customer demand.
This is a telling transition – understanding the workload is still an intensive process during the design phase. And there are arguments about whether infrastructure level details like resource management are really a developer’s responsibility. However, based on current trends, it’s looking like automatic remediation via an “easy button” approach is currently preferred by many.
But the question remains, how much design work are we comfortable delegating to artificial intelligence?
Thanks to the team at Gestalt IT for another great Cloud Field Day experience! I hope to see everyone in person next time. Until then!