Cost Optimization Strategies
The course is part of these learning paths
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 Optimization Strategies For the Cloud course. I am Dieter Matzion and I will be your instructor for this lecture. In this lecture, we are going to talk about cloud adoption; specifically what makes cloud attractive for developers and executives alike. You will also learn about typical patterns of cloud adoption and what factors are driving it.
Let's start with what makes cloud so attractive to developers. This graph is a stylized representation of what your business may experience. The axes have no units, because the values will depend on how many developers work on cloud and how much cloud experience they have. The graph is intended to give you a high level idea of what to expect. During the initial phase of cloud adoption, shown in green color, developers will mostly experiment, learn the lay of the land, so to say.
Cost will be relatively low and there are really no actionable items during this period. As developers become more familiar with the cloud they will become more comfortable to migrate some of the smaller, more manageable services from the data center into the cloud. In the second phase, shown in orange, you will see occasional increases in cloud cost, usually associated with legitimate migration effort. However, developers are still getting used to the cloud environment and will make some mistakes of relatively low impact to the business.
For example, virtual machines or storage may have been over provisioned out of concern that the cloud environment wouldn't perform as well as the machines in a data center. Management will conduct isolated cost reduction efforts to course correct. During these limited scope migrations developers learn that the speed of innovation is much faster in the cloud. There are commonly fewer processes and controls around the cloud, less red tape, so to say; giving developers more freedom.
Because cloud capacity is much more plentiful, compared to the data center, developers can deploy applications quicker. They don't have to wait for hardware to be provisioned. The cloud is more responsive to demand. It is much more elastic than a data center. Developers also discover that cloud providers offer a feature rich environment, filled with useful services.
For example, services like caching, messaging, MapReduce or no SQL databases, to name a few, are readily available in the cloud. Building these services in your data center may have been a project in itself, while in the cloud they are offered at an affordable cost. Developers learn that they have unrestricted access to these technologies and that they can avoid the undifferentiated heavy lifting associated with building infrastructure type services. They can focus their energy on building more feature rich applications, in the cloud. This is good for your business, as the value add correlates with an improved customer experience.
Sometime toward the end of the second phase, developers typically adopt some form of continuous integration and continuous delivery, or CICD for short, to speed up the process of moving workloads to the cloud. This allows a more structured approach to cloud deployments and sets the foundation for larger scope migrations. In the third phase, shown in blue, you will see more production ready workloads being built in the cloud, where applications have some form of redundancy, faster response time and are generally of more business critical nature. On the cost side, we see a few substantial cost increases. These are typically backed by short to mid term project efforts.
Around this time we realize that the cloud is not going to go away and that we have to deal with the threat of increasing cloud cost. This also the time the management is looking to control spending. However, as we see later, not all spending is bad and caution needs to be exercised not to curb innovation. Before we go into how to control cloud spending, let's look at what we can expect to see next.
During the fourth phase of cloud adoption, here shown in purple, we will see mainly two patterns emerge. We see a sustained baseline growth, here shown in yellow. This is the organic growth of your business. For example, growth is caused by an increase in customers, or your business is able to sell more units in less time, or there are simply more people on the internet, using your service. The exact cost depends on the type of your business. We also see several large scale isolated efforts, the spikes on top of the sustained growth, highlighted by the yellow arrows. I call this inorganic growth, as it is caused by project related efforts. Inorganic growth can be temporary in nature.
For example, a marketing campaign, or a TV commercial, or an experiment. Inorganic growth can also become part of your baseline growth. For example, when you add a new service to your business portfolio, either through engineering or an acquisition. Organic growth may be influenced by seasonality, but is generally more predictable. Inorganic growth, however, requires additional visibility into business efforts, like your development queue, marketing and sales, and other business strategies. Work with the business stakeholders to determine cloud demand and expected duration of the demand.
Last not least, I want to highlight that cost itself is not necessarily a bad thing, assuming this increases your revenue. It is okay to spend a little more to make more. Your cloud cost optimization team will continuously engage with the developers and business stakeholders to reduce cost. Your cloud workloads will become more efficient and you will see a trend of the cost per unit decreasing.
To be able to measure this, you need to develop metrics to track spending against revenue. Let's shift gears a little and look at what makes cloud so attractive to CFOs. Cloud is typically not an IT game. It is favored by CFOs, because of the pay-as-you-go model. This model spreads out spending over time and allows to pay by the glass, instead of having to provision compute and storage in larger blocks, in advance. You see a simplified example in the graph below.
In a data center, the blue area of the graph is provisioned to accommodate the peaks, however this capital is effectively underutilized. The orange area is how the cloud works. You only pay for what you need. CFOs are also attracted to the elasticity of the cloud, with respect to outward growth. Established cloud providers have a large customer base, making the demand of a single business analog to a small fish in large pond. There are fewer restrictions on business growth.
Looking at CEOs and CTOs, they are aware of the economies of scale, the cloud has to offer. Businesses can take advantage of their scale of operation, because the cost per unit decreases as fixed cost is spread across more units. Variable cost, the cost that changes proportionally with services offered, is lowered as well, as operational efficiencies increase. Additionally CEOs and CTOs are attracted to the global presence large cloud providers offer. Expanding new business to another country is as easy as deploying workloads in regions closer to your customers. Of course services offered will need to undergo internationalization, but the technology to expand is readily available.
In this lecture, we took a high level view at the large number of drivers for cloud adoption, and you developed a broader understanding of the factors that will influence cloud cost. We also talked about organic and inorganic growth differences and what to watch for. Before we look at methods to reduce cost, we need to first learn how to have better visibility into cloud cost. You will make more informed decisions when you can see where you are driving.
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.