API Best Practices Blog
Working over vendors: A buyers guide for API management »
The explosion of APIs is driving companies large and small to launch APIs for their customers and partners. But both public and private APIs require management features well beyond their internal functions. How should you approach the 'build vs. buy' analysis and evaluating API management solutions and vendors?
As a former CTO that has recently gone through this process, here are some lessons learned on how to scope out requirements, evaluate and select a solution.
Know the problem (and requirements) you are solving for
Many API product managers are initially tasked to spec out only a small slice of the problem (such as "get me a developer portal" or "we need developer analytics." ) Your requirements landscape is likely much wider than this. Make sure your PM thinks about business requirements that have technology implications in areas such as:
1. Security, Access Control - Authentication methods
2. Reporting, Analytics -Usage by developer, organization, API, location
3. Threat Protection - Denial of service attacks
4. Traffic Management - Routing needs for versioning, operations management
5. Mediation, translation - Protocol bridge between SOAP, REST, JMS etc
6. Performance, Scale - Clustering, caching
7. Developer support- Access key management, FAQs, wiki
8. Operational support - Root cause analysis, logging
(For more on these topics, see this blog series)
Get everyone involved, early.
Because APIs touch partner relationships, they are critical to the business, and there are multiple stakeholders in your organization. Walk through the lifecycle of an API, what roles support the release of an API, external access, operational support and management. These stakeholders should be represented in the overall product management strategy and accounted for in your requirements for API management.
Considering a vendor? Demand a POC!
The requirements, operational view and deployment strategy will provide an outline of scope for build vs. buy considerations. All of these functions should be outside of the core elements of the APIs themselves to ensure consistency without duplicating efforts for key policy areas that are needed for your APIs.
If you engage an API management technology vendor, these requirements can be prioritized and used to drive a demo of a solution to ensure the capabilities meet your needs. Insist on a POC (proof of concept) for a deeper dive and validation of more technical requirements. This exercise will quickly allow you to determine commercial solutions that have the potential to meet your needs and provide a concrete plan for demonstrating capabilities that are of material value to your organization.
A POC will tell you a lot about a vendor - both what they would be like to work with on a day by day basis and how they meet their commitments. A POC will also tell you how well your own team has thought out what they need and how prepared they are to execute it. Eliminate vendors that will not step up to a POC.
Also, make sure your own team goes back and can repro the POC - without the vendor.
This diagram below (and a larger version here) shows how we thought about our POC process.

Revisit the priorities and rollout strategy for API management
This evaluation process should expedite the short list of vendor options that will satisfy your needs and as well as gain internal consensus on what API management means to your organization. You may find the depth and breadth of your requirements will motivate you to find a commercial solution rather than build your own system that will have to be maintained in addition to your core APIs.
A key consideration for the solution you select is handing ongoing changes after this system is deployed. Once your APIs are operational you’ll need a way to manage updates to numerous policy areas on a regular basis and most likely you will want to avoid any downtime to implement those changes. For example, my previous role, we did an cost analysis of how many independent API codebase versions we could support at one time. Our answer? Two. This drove us to select an API management technology to provide a versioning and mediation layer above the API layer.
It is important to review the flexibility of the system to avoid limiting your API management capabilities and practices to a particular solution.
Operational awareness
Policy enforcement is typically the initial area focus for API management but operational visibility is also a key area to focus to include as well. How will you report on usage and do you have a consistent way to collect data to be aggregated? Do you have a common root cause analysis process to enable message level tracing and logging regardless of the API?
Conclusion
The topics around API management are numerous and not unlike the questions that were contemplated during web browser adoption. With a new delivery model of information and services there are multiple stakeholders to consider during a ongoing lifecycle of development and operations. Developing an understanding of your needs up front will greatly streamline your selection process as well as get a common understanding of what API management entails within your organization.




