Table of Contents
Introduction
Before going further into IAM, make sure you understand its purpose and philosophy. Once you are confident with the concept of API Gateways, this guide is going to take you through a quick introduction on how to use IAM and perform basic operations such as:
What is IAM, Technically?
You've probably heard that IAM is built on NGINX, leveraging its stability and efficiency. But how is this possible exactly?
To be more precise, IAM is a Lua application running in NGINX and made possible by the lua-nginx-module. Instead of compiling NGINX with this module, IAM is distributed along with OpenResty, which already includes lua-nginx-module. OpenResty is not a fork of NGINX, but a bundle of modules extending its capabilities.
This sets the foundations for a pluggable architecture, where Lua scripts (referred to as ”IAM plugins”) can be enabled and executed at runtime. Because of this, we like to think of IAM as a paragon of microservice architecture: at its core, it implements database abstraction, routing and plugin management. Plugins can live in separate code bases and be injected anywhere into the request lifecycle, all in a few lines of code.
Next Steps
Now, let's get familiar with learning how to “start” and “stop” IAM.