At the beginning of December, AWS (Amazon Web Services) announced that pricing for their service offerings were now being made available via API (as well of course as via the web).  Customers and prospective customers can now query the cost of services such as EC2 and S3 through REST API calls, receiving the output either in JSON or CSV format.  In a blog post covering the announcement, Jeff Barr indicated that the data was being released to reduce the overhead on customers and partners having to screen scrape data from their website.  All data is currently touted as “for informational purposes only”; any updates to data can be flagged through notifications via AWS’ Simple Notification Service (SNS).  The API works in two parts; one provides an index of all services, the other allows details of that specific service to be accessed.

With the proliferation in services, keeping track of Amazon’s offerings is becoming increasingly more difficult and identifying changes to pricing doubly so.  Trawling through pages of pricing data (or relying on information from screen scraping) is prone to error and a time-consuming exercise.  With so many product offerings in many different regions, Amazon have really had no choice but to provide this data through an API.

The next question has to be, of course, how will other public service providers follow up?  Can we expect so similar API services made available by Google and Microsoft?  Well Azure already has a billing API in preview that provides both Usage (how much have I used) and Rate Card (what does the service cost) data, but as you can guess, from what I have looked at, the data structures are completely different.  The same seems to apply for Google’s Billing API, located here.

The Architect’s View

If cloud is truly going to be dynamic to the level that allows customers to run applications and services on demand, then the ability to make deployment decisions based (in part) on pricing has to be a feature.  Without data like this being available programmatically, potential customers have to work on outdated data that makes it difficult or impossible to make accurate decisions on where to place new workloads.  It’s a shame that the public providers have chosen to present their data in non-consistent ways, frustrating the ability to provide easy comparisons.  Mind you, we only have to look at the consumer market to see how pricing in things like mobile contracts and energy supplies are structured to make comparisons as difficult as possible.

From the perspective of the hybrid market, we need a readily adoptable Price List and Billing API set for use in private clouds.  Obviously we have service catalogues, but I’ve not seen any expressed in API format.  If you know different and have seen any private cloud pricing/billing APIs, please let me know and I will include them in this post.

Comments are always welcome; please read our Comments Policy first.  If you have any related links of interest, please feel free to add them as a comment for consideration.  

If you enjoyed this post, please consider sharing it!

Copyright (c) 2009-2015 – Chris M Evans, first published on http://blog.architecting.it, do not reproduce without permission.

 

Written by Chris Evans

With 30+ years in IT, Chris has worked on everything from mainframe to open platforms, Windows and more. During that time, he has focused on storage, developed software and even co-founded a music company in the late 1990s. These days it's all about analysis, advice and consultancy.