Interacting with, developing, and deploying RESTful APIs forms a key part of many modern applications; this is especially true of microservices architectures. However, there are also an increasing number of ancillary requirements that need fulfilling:
Security; such as authentication and authorisation
Request tracking; for metrics, logging, and billing
Access Limits; such as rate limiting and quotas
As developers it's clearly preferable to focus on perfecting the business logic of our applications rather than spending time focussing on the common and prone-to-change requirements found in every of our applications. Centralising these functions enables us not only to reduce time spent in development and maintenance, but also reduces the surface area for bugs and inconsistencies.
API Management endeavours to solve these problems.
Examining both design time and runtime aspects, we'll examine the benefits, detractions and technical approaches taken to achieve a flexible, scalable and high-performance solution.
YOU MAY ALSO LIKE:
Exploring API management and apiman; with an open source twist, and a hint of microservices.
Marc Savy is a core contributor to the apiman project, joining shortly after its inception. In that role he has responsibilities for research, design and implementation spanning the whole project, but particularly the runtime. Marc has worked as a software engineer at Red Hat for 5 years, tinkering with a plethora of technologies, but has particular interests in distributed systems, asynchronous and polyglot programming.