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 firstname.lastname@example.org.
- 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 best practices and cost culture. By that I mean the less technical aspect of cloud cost optimization.
We are going to learn how to build a culture of cost consciousness and how to engage with developers and others on the topic of cost optimization. By now we learned that cloud cost optimization is not going to be a one-time effort. There are many initiative with dependencies between them that effect different levels of your organization. It makes sense to consolidate these efforts in a cloud cost optimization program you may want to avoid trapping this program on a side track, making it an after thought on everyone's agenda by making the cost optimization program part of your business strategy.
Giving the program executive support sends the message that this a priority for the business. And to effectively drive such a program, essential team held responsible for its success is preferable to distributed ownership where accountability is more blurred. Essential cost optimization team will need the ability to partner with other business units around tools, reporting, and data analytics to name a few subject areas.
The central team will also need the ability to reach out into other business units in a more authoritative way, to be able to drive cost reduction efforts. I have been successful by building this team within business units that already interact with your organization in such a way, like, for example, site reliability, engineering, finance, and even the program management office, to give you a few ideas.
If you're just getting started with building a cost optimization team, I suggest you look within your organization for cloud savvy technical people who are interested for volunteering for such a role. To keep cost down, I recommend to start with a scrappy or informal approach where just one person is tasked with cost optimization and grow as your program matures. If you need to recruit from the outside, look for candidates that have done this before, and have multiple folks walk you through the cost optimization journey before you make a choice.
Once you have your cost optimization team, and this can be just one person, you will need goals for them. Instead of handing down somewhat arbitrary goals from executives, it works better to have your team make an initial assessment and build a one-year or three-year roadmap as your team has the cloud expertise and will know best what it is achievable within your organization and in what timeframe. This roadmap can then be socialized on different levels, which will provide feedback and help your team to prioritize.
A cost optimization roadmap should have several tracks that can be pursued in parallel. This will leverage the divide and conquer principle, and allow you to use your supporting teams who can work on different efforts at the same time. You can get ideas about what these tracks should be from this course. I recommend having a reporting or data analytics track early in your program, as this will be the foundation for many other cost optimization efforts.
In addition, I recommend having a vendor engagement track that helps you build that strong relationship that your business needs to be successful in the cloud. If your cloud vendor supports prepaid options for your workloads, you should give this a separate track as well. You will also need a technical track that works with your developers on cost optimization. Likely, you also want a track that focuses on driving cultural changes within your organization, as this requires engagement on different levels to be successful. We will talk about the cultural changes in just a moment. To measure the success of the cost optimization program, you will need key performance indicators or KPIs.
You will need to build a set of metrics for each track. Look for things that are easily quantifiable and useful to report, like for example, total program savings, or utilization and waste of prepaid cloud services, or cloud cost per unit or customer, to give you a few ideas. I'm pretty sure you know how to run programs, so it goes without saying that you will have to revisit the goals and roadmap periodically to adjust direction. Cloud providers will create new service offerings that may change what you have been doing and introduce new priorities. Your cost optimization team will need to remain flexible as the cloud is still maturing.
Let's shift gears a little and talk about the cultural changes I mentioned earlier. The cloud offers new technologies that may not have existed in your data center. Some of these new technologies will offer competitive advantages. In a sense, your company and your competitors are already in a race that is about who can gain market share from this technology faster.
The mission of the cost optimization team is to continuously increase return on investment or ROI and reduce total cost of ownership or TCO which drives the competitive advantage. You need complete support for this mission from all levels of management and developers alike. The first step to spread your mission statement across your organization is to introduce yourself. Set up short 101s with all key stakeholders, from the CEO to enforcing leadership of business units with cloud usage, to architects and development leads.
Build a high level summary as a pre-read you sent out a day or two in advance of your introduction, so that the folks get an opportunity to familiarize themselves with the topic. Plan on spending about half of your meeting time on making sure your mission objective is completely understood, and prepare questions for the other half. You want to collect as much feedback on the subject of cloud in cost optimization as possible. You will need to incorporate much of this in your roadmap. These are your customers, you are catering to their needs, and you can't be successful without partnering with them. The next step is to schedule regular meetings with the key stakeholders. Your introduction will help to determine which groups needs to be engaged and who should participate.
For example, monthly stand-ups using a scrum format work well. You go over the highlights of last month, talk about plans for the coming month, and identify any roadblocks. I use these meetings to introduce team leads to new technologies, showcase any experiments, and give them a heads up on upcoming changes. It is important to have these meetings on a regular cadence. For one thing, the irregularity emphasizes the importance of your work. It moves cost optimization in the foreground of everyone's thinking. For another, people often feel uncomfortable scheduling a meeting to ask just one or two questions. A regular meeting provides an easy venue for them.
Even simple questions can reveal underlying misconceptions and I rather correct these early on. Once your program is tracking key metrics, and you have some success to report, start scheduling recurring status updates with executives and key stakeholders. Depending on your organization, you may need to set up multiple meetings at different levels. For the program to make useful contribution, it needs to be aligned with the needs of your customers. Otherwise, the program will lose significance and be shelved. Make some time for feedback and ask questions around priority and direction.
You want your customers to become your partners. If your organization is very large, handling increase may overwhelm your small cost optimization team, and you may need to delegate some of their responsibilities. Instead of growing your team, it works better in the beginning to appoint cloud stewards within independent development areas. These are developers who are well-versed in cloud and know a thing or two about cost optimization.
They will become the single point of contact for cloud questions for their business unit and escalate to your team when needed. Using regular developer engagements and executive status updates, keeps cost optimization at the top of everyone's thinking. Having management and team leads evangelize cost optimization gets everyone else on board. Not only have you made cloud cost optimization something everyone is aware of, you also created multiple touch points that allow you to influence direction as needed. You created a culture of cost consciousness. Let's now look at the external sources of information for cost optimization best practices.
A common term used when engaging with other businesses is benchmarking. You reach out with the goal to share best practices within a limited scope, for example, what are the top three things you guys do to reduce cloud cost. It is great if you can identify your counterpart at another company. If not, try asking your vendors. Maybe one of them worked with your counterpart at another site. Have them make an introduction and check if your counterpart is interested in sharing.
Not everyone will have the time or interest, but some will, and those are the people to talk to. It works best to keep benchmarking sessions short and informal, anything you can do to remove pressure from the other party. In most cases, you won't have non-disclosure agreements, so avoid questions around quantities and dollar figures. If you initiate this session, lead by sharing what your team is doing. This will set the context and guide the conversation in lieu of an agenda. If quantities are unavoidable to obtain actionable data try to lead with ranges.
For example, for utilization coverage, "Can you regularly achieve between 80 to 90%?" or for prepay savings, "Is your average frequently between 50 and 60%?" This will give your counterpart multiple options. They may go with a vague answer, which given the context is still useful to your, or they may give you a concrete number. Your conversation partner may want to ask some direct questions as well, and they will understand that their answer will set the tone of the conversation.
Keep in mind that you may want to periodically refresh your benchmarks, and that the first meeting is a great way to build a relationship with people from your field. Last not least is the topic of contract re-negotiations. Whether you already have a business agreement with your cloud provider or you are looking to establish your first contract, this step will have a noticeable impact on your business's cloud cost. Unlike benchmarking, contract negotiations are often more aggressive in nature.
Before sitting at a table with your vendor, you want to make sure you collected every possible data point and prepared yourself well in advance to avoid surprises. Your vendor will do the same. Negotiations will often center around the volume of business your company brings to the vendor. Your vendor is interested in maximizing the business, and will offer discounts for advance payments. You are interested in the discounts, but don't want to over commit. It works better to get alignment at a high level before going into details.
Once the main context of the contract has been set, it may become easier to ask for reductions of specific services. Your vendor may have a lot of flexibility around a general prepaid discount, but may have more negotiation room around individual offerings. For example, if your developers are planning a large scale experiment to evaluate a new technology, you may be able to negotiation a credit for the duration of the experiment. In this lecture, we learned how to build a centralized cloud cost optimization team, how to build a culture of cost consciousness, how to perform benchmarking exercises, and how to negotiate with your vendors.
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.