Teevity API (alpha version)
Cloud spending API : Monitoring, In-context analysis, Reduction through automation

If you are new to Teevity Cloud Costs Analytics, we provide a SaaS based, multi-provider (AWS, Azure, Google GCE/AppEngine), cloud cost analytics service which built on top of an improved, multi-cloud version of Netflix Ice.

We also provide a standalone Netflix Ice as-a-Service solution. The Teevity API can be used as a Netflix Ice API and can even act as a cache in front of a deployment of Ice that would not be running full-time.

This works whether Ice is hosted by us (our as-a-Service solution), hosted by you through the AWS Marketplace or through on another Cloud provider (DigitalOcean, OVH, ...). And it can even work for a Netflix Ice deployment running on a local machine.

This page gives an overview of the features our API provides for:

Intended use-cases for the API

This API reflects what we have learnt through 2012 and 2013 by interacting with many users of our cloud spending analytics service and by meeting many companies using Cloud and VDC services, either for their own needs or to provide services to others.

Some of what we've also learnt is that there seem to be five main categories of people interested in Cloud spending analytics and monitoring, each of them with their specific needs.

What we've also learned from companies around the world is that, when it comes to Cloud spending analytics:

The API has been designed with these use cases and feedbacks in mind.

We are well aware that most APIs are used beyond the initial intended use cases, so we've taken great care, when building this API, as to design it in a way that will reduce chances of it breaking under the un-expected use cases. We'll see how it goes :-)

General considerations regarding the API

API structure

There are 4 main areas covered by our API and so there also 4 main sections in this page

Technical considerations

A few technical considerations on this API

Multi-cloud

This API is multi-cloud by design and builds on top of a generic cost and usage data model, which is why it doesn't use Cloud provider specific terms but generic ones. You can find on our blog a mapping between the Teevity API generic terms and the Cloud provider specific ones

Due to the differences between Cloud providers, the API provides different level of cost and usage details depending on the Cloud provider. But a significant subset of the API is common to all providers.

Cloud spend Monitoring

Basic

The "basic" cost monitoring API allows you to request cost and usage data for a whole cloud service (aka cloud account). The data returned can be a single value or can be further detailed as to how this cost/usage data is divided among sub-services or sub-sub-subservices inside that cloud account.

https://api.teevity.com/v20131030/costs/costAllocationGroup/from/<date1>/to/<date2>/aggregate/Monthly

Dates can be expressed in yyyy-mm-dd:hh-mm or epoch format or using an eventRef (see below in the 'cost analytics' section)

Remark : The aggregation period defines the minimum time precision of your requests (ie 'monthly aggregation' force time boundaries to be at the month level)

Detailed

There are several ways to get access to detailed billing information about a Cloud service or a set of Cloud services.

Information for Netflix Ice users: You can use the Teevity API to make programmatic calls to Netflix/Ice or Teevity/Ice and make some direct references to CostAllocationGroups/ApplicationGroup you have defined in Ice.

https://api.teevity.com/v20131030/costs/costAllocationGroup/teevity:aws:ice:ApplicationGroupID:<applicationGroupName>/from/<date1>/to/<date2>/aggregatePrecision/monthly

Dynamically defined subset of Cloud resources

With the Teevity API, you can define dynamic set of Cloud resources using generic criteria. These criteria are

Cloud spend In-context Analytics

Per business-metric computations

The Teevity API enable business oriented cloud spending computations. You can for instance compute your cost per transaction, cost per request, cost per tenant, ... More to come on this later.

Event based correlations

The Teevity API allows you to make easy correlations between events/actions happening on your account and the changes in your Cloud spending. You can discover correlations graphically, and you can also use the Teevity API to ask for price data between two events.

Exemple API query: Give me all the AWS EBS PIOPS spend that occured during our latest load test.

Events can include

You can push events to the timeline through a simple wget/curl call to our API. And Teevity can also auto-generate some events (cloud price changes for instance).

Pushing events to the timeline

You can push events to the Teevity cost timeline. This is usefull to track various events (devops action, public price change, buying strategy change, addition of a new account to the monitoring, ...) and enable an easy correlation between the occurence of these events and the impact they have on Cloud spending.

Searching for events in the timeline

You can search for events in the timeline, the main use case being to use the event date as a time parameter in another call

Using eventReferences in the cost monitoring API

You can use eventReferences everywhere you can pass-in date parameters. The timeDate of the event will be used as the date value.

If you use an event lookup function and no event is found, the cost monitoring request will return an error.

Cloud spend reduction through automation

Automated resource actions

The Programmatic Cloud Switch service will let you turn resources on/off on planned schedules (office time is only 2/7 of the total time of a week; there is a huge saving potential here). And our Netflix Janitor Monkey as a Service will help you clean unused resources.

More info coming soon.

Bidding strategy as a Service (AWS Spot Market)

More info coming soon

Partners integration with Teevity

Partner account management

More info coming soon

User account management

More info coming soon

Cloud service management

More info coming soon