Cost Optimization Strategies
Cloud computing providers like Amazon Web Services, Microsoft Azure, and Google Cloud Platform are becoming a larger part of our IT budget, making it necessary to understand their cost. We may even be surprised to see public cloud bills to be higher than expected. I am going to take a closer look at the top contributors and what we can do to reduce overall spending while maintaining innovation velocity.
In this course, you'll learn what makes the cloud such an attractive solution, what drives cloud adoption, and what are the typical costs of cloud computing are. You'll learn about a wide range of cloud cost optimization techniques, the best practices for cost management, and how to gamify the cloud cost experience.
If you have any feedback relating to this course, please let us know at email@example.com.
- Understand what makes cloud attractive and how adoption will drive cost
- Learn how to gain visibility into cloud cost and how to hold departments accountable for their spending
- Learn about cloud cost drivers and how to get the most out of your budget
- Discover how to establish best practices and build a culture of cost-consciousness
This course is for executives, architects, and technical leads looking to understand what drives public cloud cost and to learn about best practices of cloud cost optimization.
To get the most out of this course, you should have a basic understanding of cloud concepts. Some familiarity with cloud services like compute and storage would also be helpful but is not required.
Welcome back to our cost optimization strategies for the cloud course. I'm Dieter Matzion and I will be your instructor for this lecture. In this lecture we are going to talk about vendor discounts, high availability and disaster recovery choices, and are going to touch briefly on security and compliance. We are going to learn about easy cost optimization actions.
Things you can do that require relatively little effort and produce noticeable results. Depending on your service volume, cloud providers may assign one or more account managers to your business. These not only help you with technical support but are also your single point of contact for all things related to cloud. You need to develop a good working relationship with them so they can understand your business needs and can assist you on your journey to the cloud. Ask your account manager about volume discounts. These will provide a flat rate discount to specific cloud services, and scale with your cloud usage. Enterprise discounts are an easy way to help you save on cost.
As your business becomes more dedicated to the cloud, explore the potential of an enterprise agreement. Here you contractually commit to a minimum cloud spent in return for a higher discount. Your account manager will assist you in determining your minimum commit without having to over-commit. At this stage you will need to develop an understanding of what cloud services you will use most so that you can steer the negotiation in your favor.
Your cloud provider may offer multiple programs tailored to specific scenarios. Discuss your plans with your account manager and have them research applicable programs. For example, cloud providers favor businesses that migrate their workloads to the cloud and may offer incentives that mitigate overlapping spending between a data center and the cloud. Additionally, cloud providers offer pre-paid options for some of their services. For example, Amazon Web Services offers Reserved Instances. Essentially a discount coupon for a long-term use for a specific type of virtual machine. This is a great way to save up to 60% over list price, depending on the duration you are willing to commit and how much you invest upfront. Amazon allows you to modify, to some extent, the properties of your discount coupon after you've purchased it, giving you additional flexibility.
You may want to dedicate some resources to periodically two up your Reserved Instances with actual usage to minimize unused discounts. Some of the third party vendors, like CloudHealth or Cloudability, offer recommendation engines to assist you with this effort. In addition to regular Reserved Instances, Amazon Web Services provides newer discount offerings for the compute workloads. Like Regional Reserved Instances and Convertible Reserved Instances. Regional Reserved Instances offer no capacity guarantee, meaning you won't have the right to launch a specific instance, something that Regular Reserved Instances offer. This means launch attempts may be unsuccessful and return an insufficient capacity error. However, the cost benefit of a Regional Reserved Instance applies to all workloads within an instance family within a region. For example, if you purchase a regional RI for a single m4 16 extra large, the savings will apply to any instance of the m4 family within that region. Convertible Reserved Instances provide you with a capacity benefit, and in addition, Amazon allows you to trade it in for any other Convertible Reserved Instance of equal or great value. Your cloud cost optimization team will need to familiarize themselves with the different service offerings of your cloud provider to make the most cost-effective choices for your business. Amazon Web Services offers an online tool called the Simple Monthly Calculator.
Just search on Google and look for the Amazon aws.com link. This tool allows you to estimate the monthly cost of cloud services Amazon offers. In this example, I entered 50 m4.xlarge in the US West to Oregon region at on demand pricing. For demonstration purposes, I zeroed out the support cost and didn't add any Elastic Block Store. The calculator estimates the monthly bill to be $7869.
When you try to do the same, your pricing may be different depending on the region you choose and any discounts AWS may offer at that time. For a three year commitment to this instance type and size in this region, Amazon Web Services offers the same amount of instances at $4818. This is a discount of about 39% at no upfront cost. You simply pay less for the same service every month. If you choose to pay partially or all upfront, you will receive a higher discount in return.
Cloud providers offer services tailored for short-term workloads to help you reduce cost when you're not able to commit to long-term usage. For example, Google's Preemptible VMs can be terminated without notice and are limited to a 24 hour runtime, but offer a fixed rate discount of about 75%.
AWS Spot Fleet offers a two minute shutdown notification which allows you to save your workload and terminate gracefully, but the price fluctuates based on market demand. These offerings are ideal for workloads that can make progress over time, like data processing, for example, and where losing a few virtual machines does not affect the outcome, like for example, running a MapReduce.
Your developers need to become familiar with the service features and choose what works best for what they are trying to accomplish. Another low-hanging fruit cost driver is the strategy you developers choose for high availability and disaster recovery, or HA/DR for short. Provisioning workloads in multiple regions is relatively easy, but you will multiply your cost. If you are looking for hundreds of milliseconds response time with highest availability, then active-active scenario is likely the best approach, and the additional cost becomes unavoidable.
However, if your requirements are less rigid, lower cost approaches are more favorable. For example, Amazon Web Services offers a single region multiple availability zone deployment option that offers a 99.95% uptime. Compare that to historic availability numbers in your data center, and research cloud provider uptime history using external services like CloudHarmony, for example.
For seasonal workloads where your requirements become more strict for a relatively short time period, consider taking advantage of the elasticity of the cloud. You provision a secondary region in advance of when you may need it, and shut it down when your requirements relax. Even at list price, it will be cheaper than running it all year round. For business continuity planning, introduce your developers to the concept of Recovery Time Objective, RTO, and Recovery Point Objective, RPO. The RTO is the longest time a service is allowed to be impaired, and the RPO is the longest time of acceptable data loss. For example, the time between data protection actions. I found it easier to determine the RTO and RPO for each disaster recovery approach and then to compare it with the business requirements.
Let's shift gears a little and look at security and compliance. Occasionally I see unfavorable decisions being made out of fear of not meeting requirements. I'm not advocating to be reckless. Just want to stress that the goal is to meet requirements efficiently with the minimal resources needed. The easiest approach is to reach out to your cloud provider via your account manager, if you were assigned one, and ask for their advice on how to fulfill your business requirements with their technology.
Cloud providers maintain teams of specialists who work with other customers and really can leverage the small fish in a big pond model to your advantage, and follow their recommended best practices. In cases where you're one of the first customers to investigate a specific scenario where your cloud provider does not have a lot of precedence, use benchmarking to reach out to similar businesses in your industry to share your experience within a limited scope.
As an example, I'm listing all certifications, regulations, and frameworks Amazon Web Services supported early 2017. As you can see, there are quite a few of them. For example, your business may need to be compliant with the Statement on Standards for Attestation Engagements, or SSAE number 16, which in part is the new service organization control, or SOC 1 for short, which was put forth by the American Institute of Certified Public Accountants, or AICPA for short.
As with disaster recovery, you will need to learn what your business requirements are and which technology solutions are required to fulfill these. Avoid spending money on something you don't really need. This will just give your competitors an advantage, as they can provide a comparable service at a lower cost. In this lecture we learned about the low effort ways to substantially reduce cloud cost.
We touched on enterprise programs and prepayment of cloud services. We also learned how high availability and disaster recovery, HA/DR, choices influence cost, and how to manage security and compliance efficiently in the cloud.
Dieter Matzion is a member of Intuit’s Technology Finance team supporting the AWS cost optimization program.
Most recently, Dieter was part of Netflix’s AWS capacity team, where he helped develop Netflix’s rhythm and active management of AWS including cluster management and moving workloads to different instance families.
Prior to Netflix, Dieter spent two years at Google working on the Google Cloud offering focused on capacity planning and resource provisioning. At Google he developed demand-planning models and automation tools for capacity management.
Prior to that, Dieter spent seven years at PayPal in different roles ranging from managing databases, network operations, and batch operations, supporting all systems and processes for the corporate functions at a daily volume of $1.2B.
A native of Germany, Dieter has an M.S. in computer science. When not at work, he prioritizes spending time with family and enjoying the outdoors: hiking, camping, horseback riding, and cave exploration.