Over the last couple years the logic of using API Management service or software has become more and more compelling. I would say that API Management continues to be the hottest technology trend in the market today and is having a tremendous impact on every aspect of technology development.
Lots of Organizations already have had service oriented infrastructure for a decade and may be providing external APIs to some customers today. There are many reasons I’ve found organizations want to go beyond this and invest in API Management.
7 triggering reasons why customers decide to deploy API Management
1. Need to provide APIs to customer or partner.
2. Want to generate revenue from APIs
3. Desire to provide APIs for building its own Mobile Applications
4. Desire to reuse existing services in the organization better
5. Desire to build new reusable services using modern RESTful services
6. Security Concerns with existing external services
7. Decided that the API Centric Paradigm is the way forward
7 top features that customers want in API Management
Whatever reasons a customer comes to the realization that API Management will be useful they are looking at the following features as critical in the implementation:
1) Deploy quickly and cheaply
Sometimes companies have hundreds of APIs they want to register soon. Sometimes it is one, but in any case they will want something that makes deploying services fast, easy and cheap.
2) Lifecycle of APIs
One of the most complicated parts of managing an API is handling version change and migration of customers. Migrating customers gracefully, supporting multiple simultaneous versions and communication with customers is hard. API Management key feature is making this easier.
It is frequently the case a customer built an API or set of APIs and has poor outmoded or not well thought out security. We still see customers who are using basic authentication. An API Management platform should allow integration of state of the art OAUTH2, OPEN_ID, XACML and other security protocols as well as API keys and more. API Management can help you secure your existing services much better.
4) Tracking usage
A major requirement is tracking everything about usage of APIs by customers to enable rapid improvement, phaseout of unused features and discovery of new opportunities. Tracking can also be used to bill customers, allocate costs and to figure out how services load changes to plan and meet demand better. API Management software should give you all the bigdata information to do analytics, produce dashboards for executive analysis, allow you to learn about your services and customers.
Some customers are looking to acquire a large number of potential developers to their APIs, so they need a social environment that can enable rapid adoption of the APIs. A key benefit of API Management is to provide a social environment that makes it easy for people to learn about the services available, comment, interact with people. It’s important that the API Management provide a user friendly way to use the APIs.
6) Integrating existing services into APIs from legacy systems quickly
Sometimes the services you have are legacy and require adapters and mediation to create RESTful APIs. Sometimes you want to run the service locally and sometimes you would like a turnkey cloud based solution. API Management should be available as a on-premise solution if you want it, a cloud solution if you want it and should come with powerful integration tools like ESB’s, MB’s, BPS’s and connectors/adapters to facilitate mediation and integration.
7) Throttling and Tier Management
Not all customers are equal and some customers get special treatment. An important feature for most API Management hopefuls is being able to put customers into tiers depending on their value and need so that you can give each the level of service they are expecting and you can tell them they will get and monitor what service they are getting. This could be # of calls per minute or per day, a number of messages before they are throttled, sizes of messages or specific features or APIs available. You may have constraints on certain times of day or you may want to guarantee a certain up-time. You need to be able to allocate to each customer the service expected and track it to be sure you are delivering it.
7 Advanced Features
Some customers for API Management are looking for something special from their API Management solution:
Customers want to make it easy for themselves or their customers to use APIs to build mobile or other applications without having to spin up a sophisticated development environment. They want a PaaS environment where customers can build applications without having to leave their environment. This makes their APIs stickier. It also allows them to see who is using their APIs and enforce additional security. PaaS environments allow an API provider to control which applications get built or shared. This can be very valuable in Financial, regulated or secure services.
2) Sophisticated multi-server, environment lifecycle and production
Some customers want to be able to manage the lifecycle of their APIs from development, staging, testing, deployment all within API Management software.
3) Phased deployment and migration
More advanced customers want to be able to deploy a new version of an API to selected customers or to a subset initially to insure that any problems will be caught before their whole customer base is exposed to problems.
4) Pluggable security
Larger organizations have numerous security systems already or may have advanced security requirements. Having a flexible security architecture in the API management software is critical for them.
Customers frequently ask me for this. They want to be able to populate their API stores with existing APIs, discover meta-data automatically. They want to be able to detect when new services are available or being used automatically. This is only partially possible today but is a good feature.
IoT devices have an API and certain devices use different protocols for those APIs. IoT support can include specialized support for certain protocols as well as enhanced capabilities to manage lifecycle of IoT devices, to deliver upgrades or device management capabilities. Collecting data is critical to IoT device functionality so it plays an important part not just of the API but also the device and diagnostics of the device and the function the device performs.
API Management should support BigData collection and rudimentary statistics collection and eventing. However, customers frequently want to have much more sophisticated analysis tools, graphics, real-time capability and CEP (Complex Event Processing.)
API Management is one of the top priorities of almost every organization I talk to. Thinking through what you need or will need from API Management vendor is important CIO level decision today. The API management function becomes key to the organization renewal, Enterprise Refactoring, new products and services and leads to the digitization trend by supplying the analytics to understand the digital world most corporations are working towards.