ABSTRACT

This chapter introduces two related concepts, namely, service discovery and the Application Programming Interface (API) gateway. It aims to understand how clients access Microservices architecture-based applications, which are comprised of several Microservices, through a single-entry point, an API gateway, and supported service discovery mechanisms. Service consumers search and find the location of their desired services using a discovery API, for example, the GET method of a REST/HTTP API from the registry. The API gateway should be carefully designed to provide the necessary availability to the application. API Gateway instances are usually deployed behind standard load balancers, which periodically query the state of the API Gateway. Ambassador is an open source Kubernetes-native API gateway built on Envoy, designed for microservices. Kubernetes is an open source container orchestration platform which was originally designed by Google and maintained by the Cloud-Native Computing Foundation. Ambassador serves as ingress controller which works in unison with Envoy and which performs load balancing in Kubernetes platform.