At the Duckbill Group, we spend a lot of time on AWS Contract Negotiation.

Something that’s become very clear to us as we’ve gone through our client engagements is that companies shouldn’t let AWS contracts dictate their architectural decisions—and yet, most of them do on some level.

This behavior takes a variety of forms depending on what a given company has committed to. But one thing we can reliably count on seeing with our clients is a reluctance to modernize their environments based upon what they’ve already committed to doing with AWS.

This is an unfortunate approach that is completely avoidable.

Why this happens

In the world of cloud, the word modernize can take on several meanings.

Sometimes this is prosaic: “We want to upgrade from c3 to c5 instance types, but we still have a bunch of Reserved Instances on the books.”

Other times, it’s more pronounced: “We’d love to move to Aurora, but we’ve already committed spend via Savings Plans to the EC2 instances currently powering our databases. So we can’t.”

As a result of these stances, important projects get punted or cast aside until the commitment comes up for renewal—which people have invariably forgotten about, and then panic-buy the same thing they were already using.


With almost any other vendor, this would make sense. Trusting a shady vendor blindly is a great way to end up paying 5x what you need. AWS generally takes a much longer view and, as a result, isn’t actively attempting to screw you over.

Win friends and influence account managers

If you’re thinking about reshuffling your AWS spend, you don’t have to go it on your own.

Believe it or not, your AWS account manager is your friend—as wild as that claim sounds. They’re often incentivized to drive adoption of new services or improve the percentage of your overall IT spend that goes to AWS.

They’re pointedly not commissioned on shoving overlarge commits down reluctant customers’ throats and driving those customers away from AWS entirely. In fact, when we’re helping negotiate AWS contracts, one of the biggest hurdles we have to get over is convincing the account manager to raise the commit level!

Here’s one of the biggest secrets of AWS contract negotiation: The account manager is your advocate within AWS.

Expect them to be able to do remarkably little themselves. Their value is in getting internal stakeholders aligned with what you’re trying to do and mobilizing the vast and distributed AWS machinery to your benefit.

There is proof of this!

This may sound wild, as if I’m trying to shill for AWS.

Not so; there is public proof of all of this. Airbnb’s recent S-1 mentions that “During the nine months ended September 30, 2020, we entered into an agreement to extend our commercial agreement with a data hosting services provider from 2024 to 2027, with the aggregate commitment unchanged. Obligations under this new timeline are not included in the table above.” You may safely read that as “we extended our commitments since COVID-19 meant we weren’t going to hit our original spend estimates.”

COVID-19 need not be the main driver for this. Snap, for example, restructured its AWS commitment years ago, turning its $1 billion commitment over five years into a $1.1 billion commitment over six years instead.

This isn’t uncommon. One thing you’ll never find no matter how hard you look is AWS taking a customer to court over a spend commitment shortfall. The day that happens, everyone’s perspective on using AWS as a hosting provider will pivot rather dramatically!

What should you do?

If you’re using EC2 and want to explore using a managed database instead? Call your account manager! The Aurora team will gleefully pitch in on restructuring your committed EC2 spend.

If you want to shove your containerized workloads into AWS Lambda instead and that accidentally cuts 60% off of your AWS bill? Call your account manager and request both a contract modification as well as a re:Invent keynote speaking spot!

If you’re spending over a million bucks a year on AWS and haven’t the foggiest clue what these discounts or contracts that I’m talking about are? Call your account manager!

To shine a bit more light here, when you’re spending big money with AWS (read: more than $1 million per year), potential discounts and credits become available to you. These programs are often fairly opaque and it’s hard to know what’s possible, if you’re getting a good deal, and what you can expect in the process and outcome.

Remember, your account manager is there to help you better understand your options. Don’t be afraid to reach out with questions.

AWS is different than other vendors

Amazon isn’t like other vendors. Their contracts are almost entirely standardized and fair, they can’t be bullied or brow-beaten into accepting terms, and they’re so. damn. nice. about it all. Their initial offer is typically a good one and has surprisingly few downsides (but there’s often room for improvement!).

One last tip for you to keep in mind: When you negotiate with AWS, you need to remember that they are not just another vendor to your company. If you’re like many other companies, the AWS bill is likely the second or third top item in your operating expenses. At that point, whether you like it or not, Amazon is a partner—which means that at the end of your negotiation, you still have to work with them.

Beating the crap out of AWS over terms that you don’t actually need isn’t likely to get you to where you want to be. There’s always a better way. And sometimes, that better way involves very little effort on your end.