RightScale Cloud Pricing Service

Announcing our multi-cloud pricing API with more than 100,000 prices!

Today we’re releasing the RightScale Cloud Pricing Service, an API that provides a single source of pricing data for all public clouds supported by RightScale — including Amazon Web Services (AWS), Microsoft Azure, Google, IBM SoftLayer, HP, and Rackspace — and all private clouds registered across your RightScale accounts.

The importance of pricing data

Transparent pay-per-use pricing is a fundamental aspect of cloud computing. Cloud customers rely on pricing data as one of the criteria for deciding which cloud vendor, resource type, purchase option, or geographic region to use. The idea of building cost-aware systems has been around for a while. Having a cloud pricing API simplifies the development of such systems by enabling the automation of deployment and scaling decisions based on price. For example, using our Cloud Analytics API, you can fetch a list of your active AWS Reserved Instances and their utilization percentages. You can then use the Cloud Pricing Service API to compare the price of launching an instance using your under-utilized Reserved Instances vs. AWS Spot Instances vs. Google Preemptible Instances.

While pay-per-use pricing might seem conceptually simple, two factors complicate things in practice:

Price vs cost

It’s helpful to differentiate the price of a resource from its cost:

The RightScale Cloud Pricing Service provides all of the elements of price, and leaves the API consumers to implement the logic of using that pricing information to calculate costs. The RightScale Cloud Analytics API uses the Cloud Pricing Service API internally and combines the pricing information with usage data collected in RightScale to provide overall costs.

Modeling cloud prices

The price of an instance can be modeled as follows: the price of a priceable_resource has a purchase_option and one or more usage_charges. A price also has an id, start_at, end_at (for historic prices) and may also have one or more fixed_charges or adjustments:

Getting started

Anyone with a free or paid RightScale account can use the Cloud Pricing Service. The following examples illustrate how you can get started using the API’s search call that accepts filters.

Compare on-demand prices across cloud vendors

This example searches for all Linux on-demand instance prices from Google, Microsoft Azure, and AWS that have 4 or 8 CPU cores.

1
2
3
4
5
curl -G https://pricing.rightscale.com/api/prices \
  -H X-Api-Version:1.0 \
  -H Content-Type:application/json \
  -b rightscalecookies \
  -d filter='{"purchase_option_type":["on_demand_instance"],"public_cloud_vendor_name":["Google","Microsoft%20Azure","Amazon%20Web%20Services"],"cpu_count":[4,8],"platform":["Linux/UNIX"]}'

Compare purchases options for AWS Reserved Instances

This example searches for all Reserved Instance prices for AWS c3.large and c3.xlarge Linux instances in the US-East region.

1
2
3
4
5
curl -G https://pricing.rightscale.com/api/prices \
  -H X-Api-Version:1.0 \
  -H Content-Type:application/json \
  -b rightscalecookies \
  -d filter='{"resource_name":["c3.large","c3.xlarge"],"platform":["Linux/UNIX"],"purchase_option_type":["reserved_instance_offering"],"cloud_href":["/api/clouds/1"]}'

Get the price of specific resources

This example searches for the on-demand price of the Google n1-highmem-8 Red Hat Enterprise Linux instance in the us-central1-b datacenter.

1
2
3
4
5
curl -G https://pricing.rightscale.com/api/prices \
  -H X-Api-Version:1.0 \
  -H Content-Type:application/json \
  -b rightscalecookies \
  -d filter='{"resource_name":["n1-highmem-8"],"platform_version":["Red%20Hat%20Enterprise%20Linux"],"purchase_option_type":["on_demand_instance"],"datacenter_name":["us-central1-b"]}'

Checkout the API docs to learn more. We’d be happy to hear your feedback and feel free to jump into our public #cloud-analytics chat if you need help. You can also use the RightScale Cloud Analytics Scenario Builder (shown below) to explore and compare cloud prices.