AWS Amazon API Gateway Summary
What is Amazon API Gateway?
- Amazon API Gateway is a fully managed service that simplifies creating, publishing, maintaining, monitoring, and securing APIs at any scale.
 - It allows developers to create APIs that act as a “front door” for applications to access data, business logic, or functionality from various backend services.
 - These backend services could include:
- Workloads running on Amazon EC2
 - Code running on AWS Lambda
 - Web applications
 - Real-time communication applications
 
 - Developers can create APIs for their own client applications or make them available to third-party developers.
 
API Gateway Supports:
- RESTful APIs, which are HTTP-based and use standard methods like GET, POST, PUT, PATCH, and DELETE.
 - WebSocket APIs for real-time, two-way communication between clients and servers.
 - HTTP APIs, offering a simpler way to create APIs for serverless applications and microservices.
 
Use Cases and Examples
The sources provide an example of building a backend for a mobile application:
- Use Case: A company develops a mobile app for its e-commerce platform. Users should be able to browse products, place orders, and view order history.
 - Solution:
- API Gateway exposes a RESTful API for the mobile app to interact with backend services.
 - Different API endpoints are mapped to AWS Lambda functions or Amazon DynamoDB to handle data operations.
 - API Gateway manages authentication to ensure only registered users can access specific functions.
 
 
Architecture
- API Gateway handles tasks like:
- Traffic management
 - Authorization and access control
 - Monitoring
 - API version management
 
 - It ensures a consistent developer experience for building AWS serverless applications.
 
Features
- Support for stateful (WebSocket) and stateless (HTTP and REST) APIs.
 - Flexible authentication mechanisms, including:
- AWS IAM policies
 - Lambda authorizer functions
 - Amazon Cognito user pools
 
 - Canary release deployments for safe rollout of changes.
 - Logging and monitoring:
- CloudTrail logging for API usage and changes
 - CloudWatch access and execution logging, with the ability to set alarms
 
 - Custom domain name support.
 - Integration with AWS WAF for protection against web exploits.
 - Integration with AWS X-Ray for performance analysis.
 - Support for AWS CloudFormation templates for API creation.
 
Basic Parts of API Gateway
- Request flow: Prepares and validates the HTTP request before it reaches the backend integration.
 - Integration: The backend service that handles the request after authorization and validation. This could be:
- A Lambda function
 - An HTTP endpoint
 - Another AWS service
 
 - Response flow: Processes the response from the integration and prepares it for delivery to the client.
 
Key Takeaways
- API Gateway simplifies API management and provides a secure and scalable way to expose backend services.
 - It offers various features for authentication, monitoring, traffic management, and integration with other AWS services.
 - Developers can use API Gateway to build serverless applications, integrate with legacy applications, or proxy HTTP requests to other AWS services.