In Part 3 of our blog series, we defined a comprehensive cost management framework for enterprise clouds and took a deep dive into initial planning processes and operational visibility. In this final part of our series, we explore how to optimize costs, infrastructures, and billing by effectively combinin two approaches: manual action by app teams (with in-depth operational visibility) and automatic resource cleanup (when no manual action is taken).
Stakeholders should be given multiple opportunities to take action or register exceptions for their apps. If no stakeholder action is taken on dev/test environments, then recommendations can be automatically actioned. These two approaches, used in combination, will lead to better awareness and accountability.
This section discusses various opportunities to optimize the cloud infrastructure landscape to fit the given utilization. This follows the cloud’s tenet on provisioning only what you need, and paying for only what you use.
Upsize or downsize the instances based on actual utilization trends, so that the peak average utilization hovers around the optimal (70%-80%) range.
Cleanup of Unused Resources
Remove any orphaned resources that are no longer being used. Some of these include:
Cleanup of Underutilized Resources
Identify and recommend clean up of resources that have been provisioned but are not being actively used. A common example is dev environments that were not deleted after testing. Metrics that can be used to identify these type of resources are:
Turn resources on and off based on when they are needed, rather than running them all the time. Considerations include:
Cloud providers regularly release new versions of their instance families. These are based on the latest hardware and are often faster and cheaper than the older instance families. Modernizing instance families to the latest versions can optimize both performance and costs.
Cleanup of Other Cloud Services
For managed services provided by the cloud provider, metrics can be used to identify if services are being used, and released if they are not needed.
To optimize billing processes, (1) leverage reserved/committed use discounts in the production environment and (2) enable committed use and spot/pre-emptible instances in the dev/test environment. This allows users to fully utilize the usage discounts provided by cloud platforms. Some of these discount categories make sense for specific application environments. Details are below:
If automation tools are not available, then you should build them in-house. Start small and grow the automation catalogue. Remember, no single tool will solve all cost management problems — build and integrate tools as services. Below are areas in which you can apply automation, along with some tips on how to do it.
Tagging and Labeling
Reservation Planning (committed use)
The following table shows a representative list of tools that can be used for cost management at the various stages of cloud adoption. This is not an exhaustive list, as there are other tools in the market that fulfill niche requirements.
|Initial Sizing||•AWS Cost calculator||•Azure Pricing Calculator||•GCP Pricing Calculator||•GL’s custom tools|
|Operational Visibility and Forecasting||•Trusted Advisor
|Cost Optimization||•Trusted Advisor||•Azure Automation||•Google Cloud Functions|
We hope that this blog series has helped you start thinking about cost management holistically. The information given in this blog is not limited to any one cloud, either — these principles can be applied to all public clouds. With private clouds, some of these principles can be used to optimize resource densification, rather than the direct cost itself. If you would like more information about how GlobalLogic can help your business with cloud adoption, please email us at firstname.lastname@example.org.