API-driven architectures
Modern assets ship with APIs, but the notion of an API itself has changed over time. In the nineties, an API was some sort of client library you could use to interact with an application. In 2021, an API is a physical endpoint acting as a client interface that allows clients to interact with backend services. The form has changed but the purpose is the same. Both forms aim at facilitating integration scenarios and exposing application features to client programs. Yet, I have noticed that although developers are usually aware of how to develop backend services, they often lack skills in API management solutions that can be used for both internal and internet-facing APIs. API management solutions accommodate a few design patterns out of the box:
- Backend for frontends (BFF): The purpose of a BFF is to propose an API that is tailor-made to a given consuming channel, such as a mobile application. The purpose is to satisfy the specific requirements of a given...