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
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?
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.