Amazon Web Service’s IoT Core is a managed cloud service that enables developers and businesses to connect their devices to Amazon Web Service (AWS) and other items. This can be an essential utility for companies that want tools to streamline deployment and infrastructure monitoring related to IoT applications.
The service may seem like an obvious choice if you already use AWS or want to take advantage of Amazon’s massive cloud resources. However, AWS IoT Core has some limitations and quotas that developers will want to consider when using it.
What Limits on Service Quotas Mean for AWS Users
One of the most significant limitations of the service is its service quotas. Previously called the AWS service limits, these quotas determine the number of resources you can create for a given account.
The complete list of service quotas for IoT Core can be found in the AWS general reference documentation. These quotas can impact how IoT applications and architecture should be designed.
For example, the maximum file size of a “shadow” on the platform is 8 kilobytes. The shadow is a JSON document that caches data corresponding to each IoT accessory. 4 KB is reserved for the current state, and 4K is used for the desired device state.
Other important quotas include a limit on subscriptions per connection and overall policy size. The quota on subscriptions limits each client session to up to 50 subscriptions. Requests that increase the total number of subscriptions beyond 50 will be disconnected.
The service also limits the number of topics in each subscribe call to eight. When the number of subscribe-to topics is greater than eight, multiple requests will be necessary.
The policy size quote limits the number of policies that can be attached to a certificate or Amazon Cognito identity to 10 and determines the maximum size of those policies — 2,048 characters, excluding white space. Users of AWS are also limited to a maximum of five named versions per policy.
These limits exist to help Amazon Web Services manage multitenancy and improve service security. However, they can impact any IoT developer. Awareness of these limits will be essential for users of the IoT Core service.
Best Practices for Managing the AWS IoT Core Service Limits
The right design strategies can help businesses handle these service quotas. Ensuring IoT developers know the quotas and current service usage will enable them to design applications that take these limits into account.
Visibility and service tracking will also be especially important if you manage many devices across accounts and regions, as each account will have its service limit. Tracking these limits will help a team avoid exceeding quotas and take advantage of available resources.
Third parties and service providers who will work with your business on IoT architecture or applications should also be aware of service limitations. It’s not unusual for developers to partner with other companies for security audits, as outside expertise can make it easier to protect notoriously difficult-to-secure IoT devices. However, these business partners may develop solutions that push their clients’ IoT needs above the AWS service quotas without the right information.
AWS also hosts a list of recommendations on how developers can stay within service quotas. Offered best practices include automated quota management technology, quota monitoring, and the development of an architecture that accommodates AWS.
The company also recommends that developers maintain a quota gap to accommodate for failover. If a device or application behaves unexpectedly, the gap can ensure you don’t encounter issues due to that service limit.
Accounting for AWS IoT Core Limits in IoT Design
AWS IoT Core can be an essential service for IoT developers that want to streamline communication between devices and applications. However, all developers that use the service should be aware of the limitations Amazon imposes.
Limitations on device shadow size, policy size, count, or subscriptions per subscribe call require different development strategies to ensure service quotas don’t interfere with normal IoT device or app performance. Understanding them helps companies use AWS IoT Core to the fullest and get the most out of this service.