Problem
Cloud optimization efforts generally fall into two categories, rate optimization and usage optimization. Rate optimization refers to paying no more than necessary for the resources you use, while usage optimization involves using less of those resources. ProsperOps Scheduler makes resource scheduling, a simple usage optimization technique, available to customers of Autonomous Discount Management.
Though most FinOps practitioners are aware of both rate and usage optimization techniques, it is common to deliberate over the question "usage or rate optimization first?", only to arrive at the conclusion that both should be done simultaneously. In practice, different teams and individuals often own each practice, and closely coordinating rate and usage optimization actions is a challenge. Consider the following scenarios:
- The FinOps team commits to a set of reservations, only to find that the engineering team has begun scheduling resources that benefit from purchased discounts. Reservations go partially utilized, resulting in waste, until the finance team modifies the commitment portfolio to suit the new usage patterns.
- The engineering team disables schedules on development and test environments to make resources available to an overseas team. On-demand costs increase due to insufficient discount coverage, resulting in missed savings, until the finance team sees sustained usage and expands the discount portfolio accordingly.
In each situation, adaptation is responsive in nature, and incurs a cost. Cloud usage is dynamic in nature, and continuously changing. ProsperOps Scheduler allows you to make your rate optimization implementation in ADM aware of projected engineering usage changes instantaneously, eliminating latency in commitment reallocation. Integrated control of rate and usage optimizations is now possible with ProsperOps.
Scheduling Concept
Resource scheduling refers to the practice of automating state changes of cloud resources. In the same way that you should turn the lights off when leaving a room in your house so electricity does not go untilized, cloud resources should be stopped while they are not in use. Organizations with weekly cyclical workloads often start a subset of resources at the beginning of business days, and stop them after hours and on weekends.
Resource scheduling is a simple but effective way to begin optimizing cloud usage. While reservations and savings plans can provide significant cost savings on running resources, the lowest cost of cloud resources is $0, which can be achieved by scheduling them to stop when they are not in use. While most production workloads require 24x7 uptime, scheduling is often a useful tactic in non-production environments.
ProsperOps Scheduler
ProsperOps Scheduler allows engineering teams to automate power state changes of cloud resources, so they are on during periods of utilization, and off during idle times. Schedules are defined by resource owners to maintain engineering control, while resource, schedule, and impact visibility is available to the whole FinOps team through the ProsperOps Console.
Schedules are assigned through resource tags. Resource owners do not require access to the ProsperOps Console to use Scheduler, but only need rights to write tags on their resources. The ProsperOps Scheduler Assistant sheet can be used to define schedule tag key/value pairs. After a schedule is created, it can be applied to any number of resources using the cloud console, IaC solutions, custom scripts, or whatever tag management solution is used by your team.
After enablement, ProsperOps Scheduler continuously inventories resource schedules, and takes action to execute them.
Resources
The Resources view in the ProsperOps Console allows the FinOps team to view scheduled resources, and surfaces resource IDs, display names, account, state, notification receiver, and schedule. Resources provides a point-in-time view of the state of each resource.
Event Log
The ProsperOps Console also provides an Event Log view. Event Log surfaces all state changes made by, or external to, ProsperOps Scheduler, and schedule updates in temporal order. You can filter Event Log by timespan, and resource ID, name, account, region, event type, and event status.
Costs Avoided
Similar to the Savings dashboard in Autonomous Discount Management, the Costs Avoided dashboard surfaces outcomes produced by ProsperOps Scheduler. In addition to the number of state changes made by ProsperOps, Costs Avoided represents the sum of Resource Hours, and On-Demand Costs, avoided. Costs Avoided quantifies the impact of ProsperOps Scheduler.
Why use ProsperOps Scheduler?
- Distributed Control: Engineering owners maintain control of their resources
- Centralized Visibility: FinOps practitioners have visibility into resource states, scheduling activity in the cloud environment, and the impact of scheduling efforts
- 1 + 1 = 3: ProsperOps Scheduler feeds directly into Autonomous Discount Management, enabling commitment portfolio reallocation based on projected usage patterns. This integration allows rate and usage optimization automation to work in lockstep, eliminating latency.