Episode Summary
Join Pete and Jesse as they talk about the merits of making AWS reservations, how you know you’ve done something wrong when someone messages you on Chime, what AWS was like before reserved instances were a thing, how to have the reserved instance conversation with finance, how many teams are turned off by the lump-sum reserved instance line item and why that’s the wrong way to look at it, how everything has a cost in AWS—even doing nothing, the value of Savings Plans and how you can stack them on top of each other, how to avoid making an accidental $1 million API call, how the best way to save money on Amazon is to do so before spending it, and more.
Episode Show Notes & Transcript
Links:
- Unconventional Guide to AWS Cost Management:https://www.duckbillgroup.com/resources/unconventional-guide-to-aws-cost-management/
- Pete’s Twitter: https://twitter.com/petecheslock
Transcript
Corey: This episode is sponsored in part by LaunchDarkly. Take a look at what it takes to get your code into production. I’m going to just guess that it’s awful because it’s always awful. No one loves their deployment process. What if launching new features didn’t require you to do a full-on code and possibly infrastructure deploy? What if you could test on a small subset of users and then roll it back immediately if results aren’t what you expect? LaunchDarkly does exactly this. To learn more, visit launchdarkly.com and tell them Corey sent you, and watch for the wince.
Pete: Hello, and welcome to the AWS Morning Brief: Fridays From the Field. I’m Pete Cheslock.
Jesse: I’m Jesse DeRose.
Pete: We’re back again. We’re continuing the Unconventional Guide to AWS Cost Savings. What are we talking about this week, Jesse?
Jesse: This one’s actually one of my favorite topics. I feel like I say that every episode, but they’re all my favorite topics; just don’t tell any of them that. This week, we are talking about investing in your future. We’re talking about making investments in the AWS platform in terms of reservations.
Pete: Awesome, yeah. I mean, there’s usually a return on investment. But investments are a complicated part. I mean, there’s a lot of different ways that Amazon is happy to take your money, right?
Jesse: Yeah, absolutely. And I feel like this is one that people are aware of tangentially, but I don’t think a lot of people think about regularly. I really wish more folks would make a habit out of regularly looking at usage and looking at the potential for reservations. Because as you said, Pete, there are amazing opportunities to receive a return on that investment, and I don’t think enough companies are taking advantage of that.
Pete: Yeah, there’s a lot of nuances, and we’ll dive into all those things. But before we get started, just want to remind all of our listeners that this Unconventional Guide, you can actually head over to the Duckbill site and go and download this guide, we have it as a handy PDF, for review. Obviously, it’s going to cover some of the future episodes as well. So, you get a little bit of a sneak peek there.
Jesse: Spoilers.
Pete: But if you do better with a written format, it is available. I would read the link off but it’s comically long and figuring out short URLs, we just haven’t reached that level of technical ability over here. So, we’ll include the link to that PDF in our [show notes 00:02:01], and you can go check it out at duckbillgroup.com. But also to go, too, lastweekinaws.com/QA and ask us questions. Send us your questions, your thoughts, your comments, your feelings. As someone I used to know a long time ago, your bitches, moans, groans, and complaints, just add them all in there. And you can add your name; you don’t have to, you can just send it anonymously. But ask your questions. We’ll be taking some time in future episodes to go into those questions and dive in deeper on some of these particular topics that people might be a little confused by or maybe just want some more insight into.
Jesse: Yeah, we’ve gotten some great questions so far that we are planning on future episodes for, and please keep the questions coming. There’s some really, really great questions, really, really great commentary in there. And we absolutely want to make this an engaging conversation. We want this to be a two-way conversation.
Pete: Absolutely. So, diving into investments, I’d have to go online and do some research, but I’m pretty sure it was probably the EC2 instance reservations, were the first type of commitment that you can make to Amazon. And again, if I’m wrong, folks out there listening, please go to lastweekinaws.com/QA and let me know of that. Or you could just tweet me as well at @petecheslock. That’s what most people do is, when I’m wrong, it just tweet at me. Right, Jesse?
Jesse: Yeah. I mean, well, I have a direct connection to you, but if I didn’t, I’ll just tweet at you.
Pete: Yeah, you’ll just tweet at me or Slack DM me or whatever; send me a Zoom message, or maybe hit me up on Chime.
Jesse: Oh, god, yes. If somebody is hitting you up on Chime, you know you’re in trouble.
Pete: That’s very true. [laugh]. Something has gone wrong if I get a message on Chime. But what’s interesting is that the instance reservations was a way of ensuring capacity, and you could basically commit to running an instance, an availability zone in a certain region, and that instance would be there for you. It was a capacity reservation, which is actually something different now, which we might touch on later, but it wasn’t really like a, “Give me a discount.” That came later.
It was an instance reservation: reserve this instance. And this was important because for those folks who have been part of Amazon in the earlier days, there were times that you would ask for a certain instance type in a certain availability zone and Amazon would kindly tell you to go pound sand because they didn’t have one of those for you.
Jesse: Yeah, this is something that we’ve seen with a number of clients who are largely multiregional and leveraging basically every instance type you can think of under the sun, and really putting all of these compute resources to their limits. So, getting some kind of confirmation that they would have this capacity available is kind of important.
Pete: Exactly. I remember specifically—this was yeah, maybe 2010 timeframe, kind of the heyday, the wild times of Amazon—we had been running—a company of mine had been running a sizable NFS cluster on EC2. “Why would you do that Pete? That’s a terrible idea.” Of course it’s a terrible idea.
We didn’t do it by design; we did it because we were a startup, and that was a proof of concept that got out of control, like most technology, right? But when we lost the NFS server itself, we had—I can’t even tell you how many—let’s say 50 EBS volumes that were all striped to this server because that’s a great idea. And we needed another server in that availability zone. We’re not going to snapshot, like, 50 terabytes of EBS. I don’t even know if that capability existed then, to move snapshots across availability zones.
So, we needed another instance, and luckily we had a great relationship with our account team—because we were so early—that I do remember, specifically, we got through to the right people. And the line was essentially, “You need to make this API call in the next 15 minutes, or you’re going to lose the instance that we’re basically setting aside for you.” [laugh].
Jesse: [laugh]. That is the best layaway plan I have ever heard
.
.
Pete: I mean, it’s been a decade now, and I still chuckle at that one, just having to guess what they had to do to actually get us that instance. But the reservation would have reserved that instance, and as a benefit, you would have gotten a discount for that. And a little bit later, I think it was maybe a few years later, a year later, hard to know, obviously, exactly; just, time has no meaning anymore, especially in COVID times, but the instance reservations, they kind of moved away less from capacity reservations. So, when you made an instance reservation, you’re making out a specific AZ. And oftentimes, you’ll hear these actually now referred to as a ‘zonal reservation.’
Like, “I want a c5.large in us-east-1a, and that’s for the next year.” But then a new type of reservation came out that was more to save money. It was like, “I want a c5.large in us-east and I want the flexibility of running it in any availability zone.” And so you wouldn’t get a capacity reservation for that, but you would get a discount. And that was kind of that first type of commitment, which was if I commit to running this instance 24/7 for the next 12 months, they will extend me a discount. Maybe not as good as the zonal reservation, but it’s a lot better than retail pricing.
Jesse: Yeah. And I think that’s the ultimate idea here—you know, flash forward to today—is AWS wants you to be happy with their service, they want you to use their service, they want you to engage on their service, obviously in some cases they want you to give them more money, but the best way that you can prove to them that you are going to continue using their service for let’s say, the next year, or next three years if you are really secure in your business plans is to purchase one of these reservations to show AWS, “Hey, I know that I am going to spend this much money on compute services, whether that’s an EC2, or RDS, or whatever other reservation types are available today.” And therefore AWS will say, “Okay, great. That’s awesome. We really appreciate your service, we appreciate your dedication, we appreciate you being a continuing customer. In exchange, here’s a discount.” And like you said, Pete, if it’s a zonal discount, it might be a little bit less than a straight discount, but there are varying levels there of, “Hey, we want to show our appreciation for you being a continued AWS customer.”
Pete: Yeah, essentially it breaks down to is that the larger, the longer, and more specific your commitment can be, the greater your discount. And when you say it that way, you’re going to say, “Well, that’s obvious.”
Jesse: Yeah.
Pete: But you would be surprised how many people don’t take the time to think through that. Because we all have a million other things going on; who’s going to obsess about instance reservations, and what’s the best discount? Just really us, right?
Jesse: [laugh]. Yeah. Well, and I think it’s also important, too, to note, that when you talk about a lot of these reservations, if you’re talking about potentially a lot of money that ends up on the bill for finance, or ends up on the bill for someone in leadership to approve, and just at a glance those numbers can be really scary. Even if it’s numbers that they’re used to seeing across the business in general, they still want to understand why are we spending so much money on AWS all of a sudden. And you need to be able to have that conversation to explain, “Okay, well, we may be spending money upfront, but think about how this cost is going to be amortized over the course of this reservation.”
Whether that’s a year, whether that’s three years, and think about how much benefit we’re going to get; think about the return on investment. So, there’s all these little things that you can use to have this conversation with finance, with leadership, to make sure that they understand that this isn’t just about spending a ton of money right now, it’s about making a really solid investment for your cloud infrastructure long term.
Pete: Yeah, I think that topic ties into an important point when deciding to purchase a reservation. A practice that I followed pretty religiously in previous companies, very diligently month by month, I would always review instances that were not under a reservation. And if I could commit to running that, if I knew that service, that instance, was probably going to be around in its current state for at least eight or nine months, I’d buy the reservation. Because what I was doing was calculating the breakeven point. If the discount was about 30 to 40% then you can figure out when your breakeven time is. If it will run full time up until that breakeven point, you’re doing no worse than by doing nothing.
Jesse: Yeah.
Pete: It’s a on-demand up to that point. And the way I would even kind of rationalize it in my head was like, “Yeah, we’re just going to pay the same price as we are now, but then we’re just going to get—for every day after, it’s free.” Which is another way of breaking that out. It’s just how you think of it. But calculating the breakeven point is something that I don’t think a lot of folks out there are doing in—
Jesse: No.
Pete: —I think more often, they just decide that making that reservation is too big of a commitment versus, “Well, doing nothing is one type of commitment, and making a decision is another type of commitment.” What’s the trade-off?
Jesse: Yeah, and we’ve talked a lot about gathering data, making data-driven decisions about your cloud costs, and I think this is another one. It’s really important to understand, hey, is this microservice, is this product going to be around eight to nine months from now minimum? If so, it’s absolutely worth making this investment. Or I should at least put the caveat of, is this microservice or this product going to be around in its current architecture state? Because in a lot of cases, I’ve seen folks who say, “Yes, this service is going to be around.”
And then they end up purchasing reserved compute capacity, but then they move to newer compute instances, or they move to a slightly different infrastructure model that doesn’t use the same resources, so they end up not leveraging the full impact of that reservation. So, all these are little things to think about as you are thinking about how best to optimize your spend and really invest in your cloud spend.
Corey: This episode is sponsored by ExtraHop. ExtraHop provides threat detection and response for the Enterprise (not the starship). On-prem security doesn’t translate well to cloud or multi-cloud environments, and that’s not even counting IoT. ExtraHop automatically discovers everything inside the perimeter, including your cloud workloads and IoT devices, detects these threats up to 35 percent faster, and helps you act immediately. Ask for a free trial of detection and response for AWS today at extrahop.com/trial.
Pete: Yeah, and everything has a cost with an Amazon. Doing nothing has a cost; doing a lot of things has a cost. So, you have to break and balance that out as well, break it out into how much time you want to spend to answer these questions. You can spend a lot of time and manage all of your reservations yourself and by zonal instance reservations, but the overhead, the time commitment, and software required to do that well without waste is high. On the flip side of it, you can get less discount but more flexibility—and that’s the trade-off that we’re usually discussing is, maybe it’s less flexible with a greater discount, or more flexible with worse discounts.
And that’s where on the Savings Plans—that’s the new service that came out, what about a year ago? Maybe over a year ago—where you can just make a per-hour commitment. You’re running $100 per hour of on-demand spend, commit to a portion of that and we will provide you a discount—“we” being Amazon. Obviously not Duckbill; we can’t provide you any discounts other than telling you all those places that you can save money in your bill. But the Savings Plan is simplicity in a nutshell. It’s just per hour.
And it’s actually the only way to include reservations on things Lambda and Fargate; those don’t have their own reservation plans. So, if you’re considering—if you’re kind of like, “Ah, I want some reservations, but I just don’t know what I’m going to be running six months from now.” Then go buy a Savings Plan and move on with your day. And honestly, for a lot of companies out there who are really good at managing their reservations and convertible reservations and things of that nature, think about the time you’re spending on all of that overhead and calculate it in. What you may find is that that Savings Plan is actually a bigger savings because you can just buy it and then go back to your real job.
Jesse: Yeah. And I think it’s also important to note that Savings Plans will stack on top of each other. So, if you purchase a Savings Plan that’s maybe a little bit lower than the ideal recommended Savings Plan—either by AWS or by a third party—you could always come back and revisit that Savings Plan purchase later, and purchase another Savings Plan to augment that. You can always say, “Hey you know what? I thought that maybe X was too high, so I’m going to buy a Savings Plan for about half of X every hour, but now I see that I actually am spending X every hour.” So, you can augment that and purchase another Savings Plan to add to that and ultimately they say stack on top of each other.
Pete: Yeah, so Amazon’s going to recommend some number that is what is the absolute most you should give them? And honestly, it’s a little crazy. It’s going to look back at your spend and say, “Well, based on your previous spend, give us $100 an hour for the next year.” And you’re like, “Well, that’s a lot. What if I only want to do half that?”
Now, they can’t answer that question. And interestingly enough, Duckbill has some tools—and you should reach out to us if you’re trying to understand that question—we have some interesting tools that can answer that for you. But to Jesse’s point, if they’re recommending a certain commitment, you could commit to, maybe, 25% of that this quarter. Then reassess next quarter and maybe make another commitment of 25%. It’s kind of handling it the same way you might do a reservation.
You might do quarterly analysis of your reserved usage and adjust accordingly. Don’t feel like you need to make that one click and say, let’s buy the $100 an hour commitment, one year, all up front, I’m going to click this button and the next thing you’ve got this, like, you know, million-dollar invoice payment.
Jesse: [shouting] YOLO.
Pete: It’s the most expensive API call.
Jesse: Yeah, absolutely. There are definitely opportunities to make small incremental investments in your future within this space. But I think another thing that’s worth calling out is that we’ve talked specifically about Savings Plan, we talked a little bit about reserved instances as well—which fell out of the initial reservations that Pete was talking about—but there’s other reservation options available within AWS that aren’t talked about as frequently. And usually, that’s because these are services that maybe aren’t used as frequently as, well, saying EC2 or RDS. But there are still other reservation opportunities within AWS, so it’s always worth looking to see, is there a way that I can invest in my usage in this particular AWS service? Is there an opportunity for me to get some kind of discount here?
Pete: Yeah, that’s a really good point. There are the niche services right within AWS, that you may not realize that you can actually create a reservation for. I’m not going to call DynamoDB one of those—I don’t think that’s a niche service—but you can reserve capacity in a DynamoDB setting to increase your discounts there. I’m talking of things that are really obscure; that you’re not going to know about it unless you’re a user of it. Like, MediaConvert has reservations.
And MediaLive—streaming your media—you can make certain commitments—again, that’s what this is all about—commitments to Amazon for your usage and get some discounts on there. So, check those out. And also, too, if you have an account manager—which actually you do. No matter what your spend is, you have an account manager. You may not know who they are; they may have never reached out to you, but your account manager can also help you identify some different places that reservations could happen, and even give you an idea of what kind of savings that you could see, based on your particular service. So, even if you don’t see a reservation plan for, maybe, a type of service you’re using that is of a high level, reach out to your account management team because they can be really helpful to find out what savings might exist.
Jesse: Yeah, the key point to really remember in all of this is to start tracking your use of AWS services as they grow and stabilize over time, much like some of our previous conversations about starting with GP2 EBS volumes for your unknown workloads, or S3 standard storage for objects with unknown access patterns. Start measuring your usage today of these different AWS services, and when you start to see a stable baseline usage over time, invest in that usage to maximize your savings.
Pete: Absolutely, the more insight you have into your Amazon spend is a great way to better understand future usage and planning capacity. But as soon as you have the slight, even, concept of this is going to live for a period of time, make that commitment. The sooner you can make the commitment, the sooner you can get savings, and that’s the best way to save on Amazon is to save the money before you’ve spent it; before you’ve gone down the path. There’s no retroactive savings. So, this is the best way to do it is again, the sooner you can make those commitments, the better it will be, for you and your cash and bottom line. And it makes your C-levels, your CFO really happy when you can explain to them the benefits of these reservations.
All right, if you’ve enjoyed this podcast, please go to lastweekinaws.com/review and give it a five-star review on your podcast platform of choice, whereas if you hated this podcast, please go to lastweekinaws.com/review. Give it a five-star rating on your podcast platform of choice and tell us what is your percentage of reserved instances? Is it up in the 90s? Should be. Don’t forget, we want to hear your questions: lastweekinaws.com/QA. Send us your questions, your thoughts, and your feedback. We’d love to address all of those in a future episode. Thanks again.
Announcer: This has been a HumblePod production. Stay humble.