Optimizing Over Time
There are a number of different approaches to optimize cost over time; some of these include:
- Measure, Monitor, and Improve
- Staying evergreen, moving to the newest services, features, and versions
Measure, Monitor and Improve
When users and applications are measured and monitored, this data, combined with the data collected with data from platform monitoring, makes it possible to perform a gap analysis that tells how closely aligned the cloud system utilization is to the requirements. Working continually to minimize this utilization gap ensures that the systems are cost-effective.
There are four key ways to set this up:
- Establish a cost optimization function
- Establish goals and metrics
- Gather insight and perform analysis
- Report and validate
Establish a Cost Optimization Function
Consider establishing a function within the organization with the responsibility and accountability of cost optimization for the entire organization. An existing team like a Cloud Center of Excellence is perfect for this function, or create a new team of key stakeholders from business units across the organization. This function will coordinate and manage all aspects of cost optimization, from technical systems to people and processes.
Investing in suitable tools and services further provides assistance with the execution of this function. Cloud cost optimization tools specialize in improving utilization and reduction of waste in cloud architecture. These tools have the technical depth and provide tailored reporting and analysis.
Establish Goals and Metrics
Establish goals and metrics that the organization is using to measure its progress. The measures focus on cost as well as on the business output of the cloud systems. Use this measure to understand the gains made from increasing output and reducing cost. These will be at both the macro and micro levels and must be aligned to the end-users of the platforms and systems. At a macro level, the goals will be across accounts and organizational units. At the micro-level, they will be more aligned with individual systems.
The following are some examples of goals for organizations:
Reduce the cost per transaction or output of a system by X% every 6 or 12 months. This ensures that systems are improved over their lifetime.
On-Demand compute elasticity: The percentage of On-Demand compute instances that are turned on and off every day. Make it as close to 100% as is feasible and be in the range of 80%-100%. To measure, take the number of instances started during the day and divide it by the maximum number of instances running at any time.
Overall Elasticity: The percentage of On-Demand and Reserved Instances that are turned on and off every day. Match customer usage as closely as possible. However, if some systems operate 24 hours a day, 7 days a week, the range will be broader. If systems peak from 20% to 100% of usage during the day, elasticity needs to be driving towards 80%.
Baseline Reserved Instance coverage: The number of “always-on” instances that are running as reserved capacity. Aim for 80%-90% coverage.
This list is used as a guide to develop goals for other resources, compute storage volumes utilization, database storage utilization, or cache memory utilization.
Gather Insight and Perform Analysis
Tooling allows users to measure and monitor platform usage and provides insight and analysis into the business. The most suitable tools will be those that tell the most about what actual customers are doing, and how cloud system components respond to that usage.
Report and Validate
Reports using the tooling and analysis need to be reviewed regularly to ensure alignment with and progress toward the defined goals. It is also essential to validate any implemented cost measures - for example, savings due to reserved capacity - and adjust them if required.
As new services, tools and features are released, it is a best practice to review existing architectural decisions to ensure that they remain cost-effective and stay evergreen. As requirements change, be aggressive in decommissioning resources, components, and workloads that are no longer required.
Managed services from software-as-a-service (SaaS) providers often significantly optimize a solution, so it’s good to be aware of new managed services as they become available. For example, the total cost of ownership for running a managed database is cheaper than running a self-managed database on a server or a cloud virtual machine.
Join Devek in reducing Cloud complexity
Looking to reduce complexity of cloud infrastructure? Look no further, we are here to make it happen!
Please leave some details and we will get back to you when Devek is available for trying out.