Over the last couple of years, we witnessed several evolutions in Service Architectures. API Management is on a steep rise, but also Event-Driven (Microservices) Architectures are ones to watch! All these different architectures have one thing in common; the need for a common language.
A consortium, of forward-looking industry experts, is reacting to the demands of the industry by standardising how these services are described.
In this blog, we will provide some insights into how the AsyncAPI initiative tries to answer this demand for event-driven APIs in Microservices Architectures and whether it’s a success story or not.
What is AsyncAPI?
There are many specification languages for API contracts, however - until the introduction of AsyncAPI - the industry was lacking an industry standard for event-driven APIs. AsyncAPI is specifically designed for these types of APIs.
AsyncAPI is an open-source initiative that seeks to improve the current state of Event-Driven Architectures (EDA). Their long-term goal is to make working with EDAs as easy as it is to work with REST APIs. That includes documentation to code generation and discovery to event management.
The initiative tries to create an industry standard that describes the relationship between all message elements of an API. To make this happen, the first step has been to create a specification that allows developers, architects and product managers to define the interfaces of an asynchronous API. Think about what the OpenAPI initiative does for REST APIs to enable a contract-first strategy, as explained in one of our previous webinars around The API Economy.
The AsyncAPI specification defines the base for a greater and better tooling ecosystem for EDAs. Having a commonly defined and accepted contract allows for a much higher, granular system of control, ultimately resulting in a more understandable, effective and efficient overall system.
Important Characteristics of AsyncAPI
As mentioned, AsyncAPI is trying to become the industry standard to describe event-driven APIs in Event-Driven (Microservices) Architectures. To become the accepted standard for the industry, it must exhibit some characteristics. In this section, we will highlight some of the most important characteristics and evaluate the extent to which they succeed.
AsyncAPI is Language Agnostic!
Being language agnostic is very important when it comes down to becoming an industry standard. As many organizations use a variety of technologies, you do not want a solution that is locked into a proprietary language or format; it should work across all technologies!
AsyncAPI fulfills this demand by using either JSON or YAML as a description language, which is a commonly used description language in several industry standards. It is safe to conclude that AsyncAPI is language agnostic!
Readability is Key!
The second characteristic that is worth mentioning is the readability aspect. It seems obvious that this type of industry standard must be both human- and machine-readable. Having both options supported makes a lot of sense for multiple reasons.
Good human readability makes it easier to understand and less of a speed-bump for developers to start picking it up. In addition, the machine readability delivers excellent portability and extensibility and has advantages in, for example, automated testing/validations and code generation.
The AsyncAPI has no significant readability limitations, which results in a better usability.
Extensibility to the Max!
The last characteristic we will mention is one of the main benefits of AsyncAPI; it is open source! This opens up many extensibility possibilities, which is more difficult in a closed system. The core of AsyncAPI can be customized with industry-specific requirements, whilst still adhering to AsyncAPI specifications.
AsyncAPI being open source contributes to its adoption as an industry standard!
With all the above, we feel that the AsyncAPI initiative has the most complete package, over Cloud events, JSON schemas and OpenAPI, for event-driven APIs in Microservices Architectures. In our opinion, it has all the necessary ingredients to become the industry standard.
It is specifically designed for event-driven APIs and goes from documentation to code generation, from discovery to event management. Whilst complying to the most important characteristics, which are required to become the accepted standard for the industry.
There is a good chance that AsyncAPI will have a similar rise in popularity as OpenAPI had, but will require some large companies backing its use and implementation.
Interested in sharing your insights with us, or interested in a partner that can help you tackling your API challenges? Don’t hesitate to contact us!