API Gateway
- Provides an endpoint to your applications running in AWS
- It is Serverless: Low cost and scales automatically
- You can throttle API Gateway to prvent your application from being overloaded by too many requests.
- Intergate with CloudWatch
Lambda
Lambda Versions
- $LATEST is always the last version of code you uploaded to Lambda.
- Use Lambda Versioning and Ailases to point to your applications to a specific version if you don't want to use $LATEST
- If your application uses an alias, instead of $LATEST remember that it will not automatically use new code when you upload it.
Weighted alias
It is possible do A/B testing by using Weighted alias:
Lambda Concurrent Executions Limit
- Default is 1000 per region pre second
- TooManyRequestsExpection
- HTTP Status Code: 429
- Request throughput limit exceeded
- Reserved concurrency guarantees a set number of concurrent executions are always available to a critical function.
Lambda an VPCs
In some cases, your Lambda need to access VPCs and Subnet.
Enable Lambda to access VPC
Step Functions
Provide a visual interface for serverless applications which enables you to build, and run serverless applications as a series of steps.
Each step in your application executes in order, as defined by your business logic.
The output of one step can be the input of next step.
- It uses CloudFormation to generate whole stack.
- If you want to delete Stack that generated, delete it from CloudFormation
X-Ray
X-Ray is a tool which helps developers analyze and debug distributed applications. It allows you to troubleshoot the root cause of performance issue and error.
Provides a visualization of your application's underlying components.
Yellow color means Error... So it has error for SNS. Mainly because IAM role is not assigned. From the "Source Map" can easily see each AWS service status.
Integrations
- AWS Services
- Integrate with your Apps
- API Calls
X-Ray Configuration
If you want to use X-Ray on Premise. You need to use X-Ray Daemon as well
Annotations
If you want to also record application specific information in th eform of key-value pairs, useannotations to add user defined key-value pairs to your X-Ray data - allow you to filter, index and search within X-Ray, eg game_name=TicTacToe, game_id=34345124212
Advanced API Gateay
Importing APIs into API Gateway
- Importing API Definition file
- Supported Protocols: OpenAPI suchas Swagger
- Create new and update Existing APIs: you can use an OpenAPI definiton file to create a new API or update an existing API.
Legacy Protocols
- you can configure API Gateway as a SOAP web service passthrough
- You can also use API Gateway transform the XML response to JSON
https://rubix.nl/how-configure-amazon-api-gateway-soap-webservice-passthrough-minutes/
API Gateway Caching
Mainly for improve the performance.
API Gateway Account Level Throttling
Prevent your API from being overwhelmed by too many requests
- 10,000 requsts pre second
- 5000 concurrent request
- 429: too many reuqests