It is a service offered by Amazon, that helps in the creation, publishing, maintenance, monitoring and security of REST and WebSocket APIs at varying scales.
People who develop APIs gain the ability to create APIs which can be used to access AWS and other web services, in addition to the data stored in AWS cloud. An API Gateway developer can create APIs for their own usage or for client applications. These APIs can be made available to third-party application developers as well.
The API Gateway service can be used to create REST APIs that have the following characteristics:
- They are HTTP based.
- They follow the REST protocol, thereby enabling stateless communication between the client and the server.
- They implement standard HTTP methods like GET, POST, PUT, PATCH, and DELETE.
The API Gateway service can be used to create WebSocket APIs that have the following characteristics:
- They follow the WebSocket protocol, which helps in stateful, full-duplex communication between the client and the server.
- It routes the incoming messages to the specific user depending on the content of the message.
The architecture of API Gateway service has been shown below:
Image credits: aws.amazon.com
Let us now see the features of API Gateway:
Features of API Gateway
- It supports stateless (REST) as well as stateful (WebSocket) API’s.
- It comes with a developer portal that can be used by the developer of the API to publish their APIs.
- It has high-level, and flexible authentication methods, which include AWS Identity and Access Management policies, Lambda authorizer functions, and Amazon Cognito user pools.
- It comes with Canary release deployments that help safely roll out the changes.
- The Cloudtail feature helps in logging and monitoring the usage of API and the changes associated with it.
- It comes with the ability to use CloudFormation templates which help in the creation of the API.
- CloudWatch helps provide access to logging and executing these logs, providing the ability to set alarms for different situations.
- It also supports customized domain names.
- It can be integrated with AWS WAF that protects the APIs from commonly occurring web attacks.
- It can be integrated with AWS X-RAY that helps in understanding and giving priorities to certain latencies in the performance.
The API gateway can be accessed in the following ways:
- AWS Management Console
- AWS SDK
- API Gateway V1 and V2 API
- AWS CLI
- AWS tools for windows powershell
In this post, we understood how API Gateway can be used to manage stateful as well as stateless APIs.