We are living in the API age right now. The vast majority of applications today are powered by proprietary APIs, many of which are available for public consumption. Because of the growing popularity of APIs, it is becoming more and more common for companies to invest resources in building and managing public APIs in order to expand access to their products.
For the uninitiated, API stands for application programming interface, which is an incredibly ambiguous term at best. An API is essentially just an interface that allows two pieces of software to interact with each other. Thanks to the ubiquity of publicly available APIs, the way developers think about building them has come a long way in the past few years. Today, API-first is the accepted design pattern, quality documentation is no longer optional and dogfooding is considered best practice.
APIs: The good and the bad
APIs provide the ability to incorporate advanced functionality into projects without having to reinvent the wheel. When adding object recognition functionality to an application, or automating a DevOps infrastructure, APIs almost always help reduce development time, while also increasing application reliability. These benefits become doubly true when it comes to modernizing legacy codebases, as APIs provide the ability to easily add new functionality to applications that have become difficult to maintain.
Beyond simply adding new features to an application, though, is the reduced footprint and improved scalability that APIs provide. By giving applications the ability to offload vertical functionality onto dedicated services, APIs can help shoulder the load of heavy operations and increased traffic, while also keeping the core codebase small and focused.
The problem with APIs, however, is the process of building and managing them is different than most other applications. Good documentation, increased security, sandbox environments, high availability and backward compatibility are all things an API requires, where many other projects do not. This is what makes API management software so important.
Where an API management tool excels
API management software is built with the sole purpose of making API design, deployment and management easier and more efficient. Although each individual API management tool has its own unique set of features, most of them account for the requirements outlined above. It's important to note that most API management tools provide features that are at least on par with a standard production environment -- hosting, autoscaling, continuous integration and continuous delivery pipelines, and traffic management, to name a few).
Additionally, more often than not, an API management tool is going to be used and managed by one or two of the technical teams in an organization. But depending on the specific features of the tool, other departments could find significant value, as well. One of the biggest cross-team benefits to using an API management platform is the user interface that many of them provide. By providing an easy-to-use front-end interface, nontechnical team members can get involved in the management of users, updating documentation copy and providing customer support. Delegating responsibilities away from engineering helps focus the team, and it speeds up new feature development.
While these features are incredibly valuable, the true power of API management software is in how it augments the product development process. API management tools are often very opinionated about how they are intended to work, which removes debates about everything from process to architecture. By dictating what documentation standards to use, or providing built-in analytics, these platforms make some decisions for you to help reduce the overhead that typically comes with any project.
Rather than getting bogged down figuring out how to build a developer dashboard, host clear and understandable documentation or even implement a premium billing system, technical and nontechnical teams alike are able to skip the "yak shaving" and focus on what truly matters: building an excellent API in a fast and efficient way.
API management software provides flexibility
We've briefly touched on the benefits that API management software offers, but who exactly is it for? Who should be in charge of it in an organization, and how is it sold and delivered?
Who owns and operates an API management tool ultimately depends on the type of tool purchased and the intended use case. These tools come in a few different flavors, but at the end of the day, they can be categorized as on-site, off-site and hybrids.
On-site platforms are often sold and setup as agents that get installed directly on your own gateways. The advantage to on-site systems is it reduces network latency by being directly integrated into your existing infrastructure.
Off-site platforms are typically sold as software-as-a-service cloud offerings. These systems are ideal for smaller organizations, because they do not add any additional internal infrastructure to be managed.
A third category of management tools, one that is often considered the most effective, combines the advantages of both the off-site and on-site platforms into a hybrid one. What this means is the on-site agents are installed within existing infrastructure, which reduces latency, keeps security on premises and puts the infrastructure management back into the hands of your operations team.
The true advantage of an API management tool is its flexibility. It doesn't matter if you are building an API as your core product or are simply spinning up a prototype, these tools speed up production by taking care of the housekeeping.
Who are today's API management market leaders?
It is an API-driven world, and as a result, the API management space is packed with competitors. From large-scale enterprise applications to cloud-based startup services, there are a lot of options from which to choose. The majority of platforms are commercially available with their own unique sales and support channels.
Despite the high level of competition, there are a few key commercial vendors in the API management space that stand out. These standout vendors include Akana, Apigee, CA Technologies, Cloud Elements, Mashery, Microsoft Azure, MuleSoft and 3scale. There are also a number of open source API management vendors that are now making a splash in the market, as well -- most notably Mashape and WSO2. Each is widely used and discussed in the community, sporting their own benefits and drawbacks, depending on the needs of your organization.
To buy, or not to buy
So, is an API management tool something that your organization can -- and should -- use? There are a lot of things to consider when evaluating API management as a potential service. Understanding the use cases, challenges and benefits are crucial to getting buy-in from the potential stakeholders.
API management software providers must recognize the relationship between users and providers
How does Red Hat's acquisition of 3scale change the API management software landscape?
APIs are now for everyone, not just Silicon Valley giants