API gateway

One of the things that I mentioned about FaaS earlier is the API Gateway. An API Gateway is a layer that stands in front of backend HTTP services or other resources, such as FaaS, and decides where to route the HTTP request based on the route configuration defined in the API gateway solution. In the context of FaaS, the API Gateway maps the incoming HTTP request parameters to the inputs to the FaaS function. The API gateway then transforms the response that it receives from the function and converts it into an HTTP response and returns that HTTP response back to the caller of the API gateway. 

Each cloud provider has an offering in this space:

  • AWS has an offering called API gateway
  • Microsoft Azure has an offering called Azure API management
  • GCP has an offering called Cloud Endpoints

The working of the Amazon API gateway is as shown in the following figure:

How the Amazon API Gateway works

API gateways provide additional capabilities along with routing the requests, including:

  • Authentication
  • Throttling
  • Caching
  • Input validation
  • Response code mapping
  • Metrics and logging

The best use case for FaaS + API gateway is the creation of a feature-rich HTTP-based microservice with scaling, monitoring, provision, and management all taken care of by the provider in a true serverless computing environment.