A very important part of modern software development is APIs. They give developers and companies alike a way to define how components interact with each other. However, according to a recent report, enterprises are struggling when using APIs. In short, API standardization is challenging. Let’s first take a step back and look at what an API exactly is, and how it’s being used in 2019.
What is an API? An Application Programming Interface is a set of tools that help set a clear communication among various components. Ideally, an API make it easier for developers to use certain technologies in building applications by giving them “the blocks” that the developer can then put together as they see fit.
“An API lists a bunch of operations that developers can use, along with a description of what they do,” writes Chris Hoffman at How-To-Geek. “The developer doesn’t necessarily need to know how, for example, an operating system builds and presents a ‘Save As’ dialog box. They just need to know that it’s available for use in their app.”
A good example he gives are mobile OSs like Android or iOS. If a developer is building an app for either of those, and they want to include an in-app browser for external links, they don’t have to program their own browser from scratch. They can just use an API to attach either Safari (in the case of iOS) or any other browser (in the case of Android).
What is API standardization?
Now, APIs offer useful tools for developers. But of course you got to start somewhere, and that means building the APIs in the first place. Ideally, API design is “the creation of an effective interface that allows you to better maintain and implement the API, while enabling consumers to easily use this API.”
API standardization is simply the act of designing consistent methods across all APIs, particularly if they belong to the same entity. While industry-wide standardization is also ideal, it’s a much more complex issue. For now, focusing on each company, coherent standardization should always be a priority. “Standardization in design makes APIs feel familiar,” writes Keshav Vasudevan for SwaggerHub. “It minimizes the learning curve as developers start to use your various resources in the same API or across multiple ones. Consistent, good design makes using your APIs easy and intuitive, and indicates to end consumers that you’re respectful of their time and needs, all of which go a long way in improving your relationship with your technical audience.”
It goes without saying, but standardization not only can save money and time, but it can also improve the sustainability of the overall software.
The state of APIs today
According to a report published by SmartBear (State of API 2019 report), organizations are struggling with API standardization. In fact, standardization is “increasingly the biggest challenge” for developers, when years back it was barely third behind other issues.
As companies and the industry as a whole grow, standardization is more and more necessary. According to SD Times, “organizations using new software architectures, such as microservices, also accelerates that need because they may be maintaining thousands of different APIs.” Now, companies are focusing more and more on coherent design, and many are already, if not planning, to implement internal style guidelines. The industries with the highest adoption rate were IT/services, financial, healthcare and telecom.
But why the difficulty? Besides a clear underestimation for the past few years, the problems with standardization are actually very predictable: “experience or skills, lack of time and resources, increasing demands for speed of delivery and lack of internal knowledge” are to blame. The good side is that microservices are well on their way to drive API standardization, followed by IoT, machine learning, mobile and blockchain.
- With hard numbers, some key findings of the study include:
- 76 percent of organizations are developing both internal and public-facing APIs.
- 69 percent of respondents are developing APIs with OpenAPI Specification (OAS).
- Nearly all of organizations currently have or plan to have an API testing strategy.
- Standardization is the No. 1 API technology challenge facing API teams.
- API teams are using an average of five different tools to develop high quality APIs.
- 76 percent of respondents said they had a formal API monitoring process.