In theory, organizations can grow and shrink their public cloud footprint on demand. But, the reality is that most don’t, they only scale one-way, up. The typical process is that IT provisions a set of resources for a given workload and those resources remain provisioned even after the need for those resources has diminished or ceases to exist. The only direction most organizations scale cloud resources are up, they seldom scale down and only occasionally off. The effect of one-way cloud scaling is inefficient cloud utilization and higher than expected cloud costs.
Controlling Scale Where it Matters Most
The ironic aspect of not taking full advantage of multi-directional cloud scale is the cloud is the one place where the payback on managing scale is immediate. In the on-premises data center, managing resource utilization may slow down the purchase of additional resources but current resources are already bought and paid for, they can’t be returned. In the cloud, they can. Organizations should be going out of their way to make sure they are “returning” resources the moment they are no longer needed.
Most cloud resources, with the exception of used storage capacity, should be able to be de-allocated or re-allocated on the fly without impacting the application or workload. The problem is the time it would take for IT administrators to identify potential areas to downsize use of a resource would be immeasurable. There is also the associated risk of downsizing a workload’s resources, then it suddenly needing more and IT taking hours to identify and respond to the demand.
Dynamic Resource Optimization
Dynamic Resource Optimization (DRO) is a process that exploits cloud elasticity and makes the cloud live up to its full potential. DRO solutions should transparently monitor cloud resources provisioned versus cloud resources actually needed. It should then adjust provisioned resources down (or up) based on real-time need. DRO obviously needs to operate continuously, running transparently behind the scenes. The moment an opportunity to reduce resource allocation or the demand to increase resource allocation occurs, the DRO jumps into action, either allocating or deallocating the correct resources.
FittedCloud is a DRO solution designed specifically to work in the public cloud, initially focusing on Amazon Web Services (AWS). Based on patented technology, it provides visibility into current resource utilization and spend as well as insights into where resources should decrease or increase and automation to execute decisions based on those insights.
The visibility component of the FittedCloud solution provides complete cost visibility into the cloud environment; including up to the minute cloud spend (no more wondering what the organization’s bill will be). It provides cost optimization analysis using machine learning to derive usage insights and identify areas to reduce costs. It also provides real-time anomaly detection to protect from malicious spend attacks.
The optimization component, provides actionable advisories to IT staff indicating resource imbalances and clickable actions for optimization across most AWS resources.
The final component, automation, provides completely automated optimization of EBS, EC2, DynamoDB and RDS resources. These resources can be adjusted based on insights generated by the machine learning algorithms, or user specified policies. For EBS and DynamoDB, capacity/performance re-provisioning is completely automated and transparent – no user action is required and applications are not disrupted. For EC2 and RDS, the automation function schedules and switches instance types as well as performs right sizing.
The promise of the cloud is to improve operational efficiency and reduce data center infrastructure costs. The problem is that the public cloud provides limited means to detect opportunities for optimization. As a result, IT acts as it always has and provisions more than enough resources for a given workload, so they don’t have to babysit how the workload consumes those resources. FittedCloud provides a means for IT to create a holistic view of resource utilization and then automatically or through clickable actions adjust resource allocation.