AWS Serverless Scalability- Part 2 Introduction to the AWS Service Quotas
Vadym Kazulkin
Posted on November 18, 2024
Introduction
All AWS services (not only the Serverless ones) have their own quotas. Quotas, also referred to as limits in AWS services, are the maximum values for the resources, actions, and items in our AWS account. Some of the quotas are soft quotas (and can be increased) and some are hard quotas. It's quite difficult to keep track of all of them as their description is spread over many documentations of the corresponding AWS service. AWS Service "Service Quotas" is the place where you can go to easily find (some of) the quotas, their description and values. Let's explore this service.
AWS Service Quotas
AWS released a separate service called Service Quotas.
With Service Quotas, we can view and manage our quotas for AWS services from a central location. If our business needs aren't met by the default limit of service resources or operations that apply to an AWS account, resource, or an AWS Region, we might need to increase our service quota values. Service Quotas enables us to look up your service quotas and to request increases. AWS Support might approve, deny, or partially approve your requests.
Service Quotas provides:
- Central place with an overview of the service quotas by AWS service
- Providing values from the CloudWatch metrics about the usage of particular metric in the past
- Central place to apply for the quota increase and view the state (pending or resolved) of this request -Let us create dashboards with the quotas of the AWS Services used in the particular region of the AWS account
This is how the Service Quotas homepage looks like
We can navigate to "AWS Services" on the left side see all AWS services and their quotas available:
Let's search for "AWS Lambda" and jump into the quotas of this service :
What information we see there is :
- The quota name (i.e. "concurrent executions")
- AWS default quota value
- Adjustability: "account-level" means it's a soft quota and can be adjusted on the account-level, "not adjustable" means it's a hard quota and its value can't be adjusted
- Applied account-level quota value - in case the adjustable quota was adjusted
Let's jump into some particular quota "concurrent execution" to find out what information is available there :
What information we see there is :
- The quota name
- The quota description
- Adjustability
- Applied account-level quota value - in case the adjustable quota was adjusted
- CloudWatch Monitoring metrics from the past to see whether we are about to reach "Applied account-level quota value". In case we decide that we need to increase the value we can hit the button "Request increase at account-level" in the right upper corner to create AWS support case.
- We also see the CloudWatch Alarms history and Request history with "Recent quota increase requests"
From my experience not all service quotas are available in this list, especially those which have dependencies to other quotas. For example I couldn't find the following quota on DynamoDB in the list: "The BatchWriteItem" which puts or deletes multiple items in one or more tables.
A single call to BatchWriteItem can transmit up to 16MB of data over the network, consisting of up to 25 item put or delete operations. So it's worth reading the documentation for each AWS Service in use.
In the menu on the left side, we can also select "Quota request history" to see all our Request increases for all AWS services and view the state (pending or resolved) of this request. The same information is also available in the dashboard that we explored previously.
Conclusion
In this article, we provided an overview of the AWS Service "Service Quotas" and explored its capabilities. In the course of the next articles, we'll dove deeper in the quotas of the most important Serverless services like AWS API Gateway, Lambda, DynamoDB, SQS and others.
Posted on November 18, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.