BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
The world is run by APIs. In fact, if you are in the software industry, it's a pretty good bet that you are integrating...
your projects using at least a couple of them at this very moment. Unfortunately, APIs are built and managed differently than traditional software and, as a result, there are a lot of considerations that need to be made when creating one.
Beyond typical product and architecture management, there is a host of functionality that needs to be thought of as well. Sandbox environments, developer portals, documentation, analytics; a public API is a product in its own right, with everything that entails.
This is where API management platforms come in.
API management services exist to help mitigate the challenges associated with building and managing public APIs. At a high level, API management platforms provide features like documentation management, increased security, automated scalability and usage analytics, just to name a few. By integrating an API management platform into your API design and development process, you are able to add a host of valuable features with very little additional engineering overhead.
Why are APIs important?
"OK, that's cool," you might be thinking to yourself. "But why exactly are APIs important to begin with?"
As a developer, it can be easy to focus on the low-level technical benefits of a product and forget to talk about how it also benefits the business. Say, for example, that your organization has a successful web application, but you would like to expand that into a dedicated mobile application as well.
An API provides an interface allowing the mobile application to interact with your core business logic in the same way as your web application. By isolating the business logic away from both the web application and mobile application, you can keep all of your code DRY, which reduces the amount of work that needs to be done in order to build out new features and fix bugs across your entire product suite.
Beyond simply keeping the codebase clean, APIs also provide the ability to monetize business logic directly. A great example of a commercial API is the Twilio API. Twilio is a cloud communication platform for building SMS, voice and messaging applications. While applications like Twitter and Dropbox provide their APIs for free, Twilio has made a business out of its API by giving developers a way to integrate a unique and valuable set of features into their own applications without having to build custom, in-house solutions.
The big benefits of API management software
While most API management platforms boast long lists of features, their true benefits emerge in how they address the needs of the company. By reducing overhead, automating infrastructure and increasing maintainability, these platforms provide a huge leg up in terms of product health and management. When contemplating whether API management software is right for your business, consider the following benefits it provides:
Reduced overhead. The biggest advantage to most API management platforms is their ease of use. By providing well-designed user interfaces, these tools make it easier for stakeholders across the organization to make meaningful changes to everything from documentation to design. This increased usability drastically reduces the learning curve associated with new technologies, and allows you to make rapid changes with little overhead.
One important aspect of most API management platforms is that they are incredibly opinionated in how they should be used. While it may seem counterintuitive at first, this subjective stance reduces the number of design decisions that need to be made.
A good example of where this comes in handy is the developer dashboard provided by many tools. In a traditional API implementation, the design, implementation and management of a developer portal has to be handled by the product team alongside any other priorities they have. This means that, in addition to building out an API, the team is also responsible for designing and building a separate web application with a completely distinct set of features (key generation, application management, billing, account management and more).
By providing developer portals right out of the box, API management software frees up your team to focus more on the core functionality of the API, and allows nontechnical staff to pitch in with management and support.
Automated infrastructure. There are a lot of options for managing the scalability of an application. While this can be managed relatively easily through solutions like container orchestration, getting the infrastructure up and running properly can take upwards of months if this isn't something your organization is already used to managing.
Many API management platforms provide scalability and infrastructure management features like throttling and tracking without any additional overhead. While automated infrastructure is important to handle traffic spikes, being able to easily throttle abusers is critical to reducing unnecessary traffic before it happens. Ensuring the integrity of your API is important, as an API that is perceived as unstable is one that many developers will refuse to use.
Easier maintainability. One of the biggest problems with rapidly expanding organizations is knowledge silos. In a nutshell, a knowledge silo is what happens when engineers are segregated across different levels of the product. For example, if Bob built and maintains the customer relationship management interface and Jane built and maintains the billing system, then Bob and Jane are both bottlenecks in the growth of the product.
To highlight the problem, if Jane goes on vacation, then no work can be performed on the billing system in her absence.
While this type of specialization adds a level of speed and efficiency that is beneficial in smaller organizations, it will have the opposite effect as the team and operations grow. The output of newer developers will be capped by the lack of documentation and shared knowledge, and when Bob or Jane get promoted or leave the organization, their code will be dubbed as "legacy" code.
API management platforms can help mitigate these long-term effects by providing a centralized repository of information and reducing team member onboarding. Beyond simply encouraging proper documentation, these tools provide a shared language and highly usable user interfaces that make it significantly easier for any new employee to hop on and make meaningful changes.
Making the decision
Remember, not every project or organization requires API management software. When deciding if one would be beneficial to your organization, it is important to ask yourself the right questions. These questions include:
Does my organization need all the features provided by an API management platform?
Consider the core features of most API management software:
If your engineering team already has a well-documented security protocol in place, or if your infrastructure is already equipped to deal with automated scaling, or if your organization has no intention to charge for API access, then those features of a third-party tool would simply go unused. While the features that these tools provide can help many organizations in different ways, it is important to remember that your team might be better prepared to address them in-house.
Is an API management platform a cost-effective investment?
At a high level, API management platforms are significantly cheaper than engineers. No tool can replace a well-trained and motivated developer, but what a tool can do is help supplement the workload of an engineering team. Building an API is hard work, and having to build all of the previously mentioned features in addition to the core business logic can be overwhelming for even medium-sized engineering teams.
In addition to the size of your team and the investment of their time, it's important to keep in mind the peripheral expenses of both in-house and third-party API management platforms. From hosting to training, understanding the cost difference between a proprietary solution and a third-party one should help guide your answer to this question.
Who should be in charge of managing my API?
For organizations that don't utilize an API management platform, the answer to this question is typically the engineering team. All documentation, support and development tasks run through engineering. In many cases, this allows the engineering team to lend their expertise to everything from load balancing to throttling. However this structure can also add a bottleneck to features that aren't directly related to the core of the API. This may cause things like analytics, billing and support to inadvertently take a back seat to feature development and infrastructure management. API management platforms help mitigate this by delegating responsibilities across areas of expertise. For example, while the engineering team can be responsible for things like security and documentation, other departments can gather analytics and provide support unimpeded.
Now that you understand the benefits API management software brings to the table, you can weigh if implementing one is the right move for your business. As mentioned, these systems aren't for everyone, but the advantages they offer over a piecemeal approach can make a measurable difference in your organization's API projects. But before you go and invest in an API management platform, it's also important to understand the key features and services they provide.
APIs are now for everyone, not just Silicon Valley giants
Cloud service APIs are now critical for integrating enterprise apps
What roles do APIs play in software-defined applications and infrastructure?