Posted by: asmitty | March 31, 2009

You Can’t Manage What You Don’t Measure (when it comes to API’s, it still matters…)

 If you were building a web application, you wouldn’t think twice about including monitoring and web analytics tools. Product and marketing teams live by site metrics to understand how the application is being used and where site visitors are spending their time. Today you may even be thinking about how to include social into your presence by adding communities, blogs, and wikis. API’s are different; when you consider opening an API, the management requirements differ in ways many tools were not designed for. The result is a blind spot.
When considering opening an API, you should be clear of your objectives. For some companies, the goal may be to create a partner channel which builds applications that enhance your product. These partner apps add new features & innovate faster than your company could. Examples are Twitter and products like TweetDeck and Twhirl that make sending tweets so much fun for tweeple.

For others, providing integrated solutions may be the goal. If your product or service is a B2B, like a project management tool or a CRM, not having an API may limit your ability to integrate applications. So, what are the features that you need to consider?

If you already know that your primary goal is to open a developer channel, proceed to next paragraph. If your reason for providing the API is a means towards integration, your problem is doubled. Why? Because while the integration companies can tie two end points together, most do not provide any sort of monitoring of consumption.  If you’ve ever seen the hidden camera commercial of the hot dog vendor that doesn’t sell buns, you have a sense of how I feel about this. Why does it matter? Imagine your application is the water company. Your first goal is to make sure you can make it easy for people to use your service, so you provide plumbing to the homes and businesses in the community. Now everyone is using your water, but how much water is being used by the house on Wysteria Lane? How much is being used by ACME Company?

API management and Integration Architecture

 If you are going to open an API, make the investment into monitoring tools. Web logs are basic and generally not usable for business purposes. Consider your future needs to:

  • Know the methods that are being accessed most often.
  • Report and alert on API uptime and performance. If your application is in the cloud, expect that your clients will want Quality of Service metrics. Even non-critical apps may feed into other more critical systems.
  • Maintain version control of WSDL’s. Once those integrations are built into the client workflow, they become more brittle. You may have to provide a migration strategy.
  • Provide a community for collaboration and education. While this can be part of a vendor solution, you can likely leverage your corporate social strategy.
  • Control costs. As a business manager, be sure that you are getting the value for every penny invested in the infrastructure.

As you steer your course for the cloud, you’ll sleep a lot better with a little advanced planning. You’ll be to scale your web services – offering product tiers based on usage (throttling) and access (security) – providing priority access to your best clients.

Advertisements

Responses

  1. […] You must protect yourself from misuse of the API; this means some sort of throttling. And remember, you can’t manage what you don’t measure. If you are going to open an API, make someone responsible for it and give them the tools to manage […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: