If the cloud is all about convenience, cloud pricing is anything but. The pay-as-you-go model has been complicated by AWS Reserved Instances and other ways to lock in lower prices at the expense of business agility. Indeed, this critical need to shepherd costs efficiently has some AWS users longing for simpler and more flexible pricing models – but not enough to switch to competing clouds that offer them.
Case in point: Google’s Sustained Use Discounts, which automatically kick in as your level of usage rises above 25, 50, and 75 percent of a given month. The greater the portion of the month you run your instance, the greater your effective discount.
One key to Google’s master plan for unseating AWS dominance is to deliver the developer choice that has become the hallmark of the public cloud without the overhead of forcing developers to become CFOs. Lost in this price war, however, is a more fundamental question: Does price even matter if developers depend on a particular cloud for functionality they can’t easily find elsewhere?
Cloud pricing gymnastics
One of the best things about cloud computing is that, unlike traditional enterprise software with big upfront license fees (followed by eternal maintenance fees), developers could pay only for the compute, storage, and other resources that they actually used. Indeed, nearly a decade ago, AWS billed itself as a pay-as-you-go platform for developers looking to build the future:
With AWS offerings, you only pay for what you use. You can dynamically scale your system up and down depending on immediate requirements and only pay for resources when you need them. This means there are no upfront costs, so your developers can get started using web services without huge investment. Developers don’t need to give up equity or incur huge capital expenses, because costs scale along with usage.
Over time, in an effort to reduce costs further, AWS introduced Reserved Instances, a way for enterprises to earn discounts by committing to future use, with the greatest discounts available to those who pay some or all of their RI fees upfront. Reserved Instances were a great idea, offering enterprises with the ability to plan their cloud usage a way to lock in steep discounts.
However, planning cloud usage isn’t always as simple as it sounds.
Predicting the future
As Aleksandar Bradic pointed out a few years back, Reserved Instances aren’t all they are cracked up to be. Predicting future use based on limited historical data proves extremely tricky, he reasons, such that “[A]t best, you’re really trying to forecast 1-3 year demand from 1-3 year worth of data.” And the cost of miscalculation is high:
All sounds great and makes perfect sense, until the day comes when you realize that the original forecast was off. For whatever reason. Perhaps you have improved the performance of your infrastructure and don’t need as much resources. Unused reservations start piling up and you start bleeding money.
Nevertheless, some companies have had “good luck” with Reserved Instances. Expedia, for example, has managed to make cost awareness a part of its devops culture, pushing cost forecasting out to individual teams. Subbu Allamaraju, the company’s vice president of technology, admits that “it is a time-consuming activity for teams to partake in this exercise,” yet still critical because “we realized that the success of our cloud journey depends on being cost efficient.”
Expedia has introduced a process for figuring out how to “top off” its use of Reserved Instances, a process that is both “laborious” and ultimately imperfect: “We...end up consuming a diverse set of ever changing portfolio of instance types in each region. This makes upfront long-term planning to procure RIs impossible.” This process allows Expedia to balance developer choice against AWS discounts achieved through RIs, yet is such a bother that Allamaraju “can’t wait enough for simplified pricing models designed for elasticity and developer choice.”
Google would argue it need wait no longer.
Cost isn’t the driver
As Miles Ward, director of Solutions for Google Cloud, told Allamaraju over Twitter, “Imagine if all of those smart folks were busy making Expedia better rather than contorting themselves around [AWS] cloud’s restrictions?” Allamaraju was quick to counter that Expedia’s cloud costing program is much more than optimizing Reserved Instances, but Ward has a point.His primary argument? The cloud “should just be cheaper and easier.”
Google’s approach to cloud pricing includes Committed Use Discounts (still in beta), which are similar to AWS’s Reserved Instances but without the upfront fees or lock-in to a particular instance type, netting up to a 57 percent discount. But Google’s primary competitive wedge against AWS pricing has been Sustained Use Discounts. Basically, rather than planning for discounts in advance, Google automatically discounts users that run the same workloads over time. As Ward told me, “It’s fully automatic, you cannot screw it up, and no up-front payment.”
This sounds like the premise behind the cloud’s original differentiation: convenience all the way down.
And yet Expedia has stuck with AWS for those same workloads that it’s doing the RI dance to afford. Why? When I followed up with Allamaraju, he stressed that “pricing is just one aspect” of their decision matrix for cloud workloads and, apparently, not the most important. After all, if cost were the primary driver, Expedia (and everyone else) would simply default to the low-cost leader.
Figuring out who gets to claim low-cost leadership, however, is not so simple, as a Rightscale analysis indicates. Mapping out the lowest-cost cloud for a particular workload is painful, and even if one manages to gather this insight, cloud portability is a bit of a joke, largely because the cloud vendors are hooking users on differentiated services that don’t easily translate between clouds.
Which brings us back to the cloud price war that wasn’t. Savvy enterprises aren’t looking to the cloud to cut costs. They’re searching for improved business agility, more than anything else. That agility gets tied into specific services on the different clouds. It’s not that pricing doesn’t matter, but rather that it matters far less than plugging into innovative services that these different clouds offer.