Key features and availability

Launch and compatibility

Amazon Web Services (AWS) recently introduced a new Data API tailored for both Aurora Serverless v2 and Aurora provisioned database instances. As of now, AWS offers this API exclusively for PostgreSQL clusters. This strategic focus on PostgreSQL aligns with the widespread adoption of this database technology among developers who prioritize reliability and scalability in their database solutions.

Functionality

AWS designed the new Data API to simplify serverless application development. Developers can now execute SQL statements through an HTTPS endpoint without the need to manage persistent connections to the database or configure database drivers. This feature is a major enhancement in simplifying database interactions, particularly for serverless architectures where managing connections can become cumbersome and inefficient.

Historical context and improvements

Comparison with previous versions

Originally, AWS introduced a Data API with Aurora Serverless v1. However, the absence of a similar API in Aurora Serverless v2 presented limitations for developers leveraging AWS for serverless applications. This gap often resulted in developers having to implement more complex solutions to manage database interactions, which could detract from the efficiency and scalability benefits of serverless computing.

Enhanced features

AWS has addressed these challenges by rebuilding the Data API for both Aurora Serverless v2 and provisioned instances. The new version supports database failover, promoting high availability and resilience of applications – so that databases can handle the demands of enterprise-level operations and critical applications without risk of downtime during peak loads or server failures. 

The ability to operate seamlessly across both serverless and provisioned instances also provides flexibility for businesses to scale their operations as needed without compromising on performance or availability.

Limitations and community feedback

Specific Limitations

The Data API currently supports only the write clusters of Aurora databases, not extending its capabilities to read clusters. This specific restriction presents a challenge for applications that predominantly perform read operations, which are typical in scenarios involving large-scale data analytics and user query handling. Since most applications experience heavier load on reads rather than writes, this limitation could restrict the utility of the API in broader use cases.

The availability of the Data API is not yet extended to MySQL clusters or to burstable general-purpose instance classes. These classes are often used for varying workloads where the ability to scale up or down based on demand is crucial. 

Without support for these instances, organizations with dynamic workload requirements may find the API less applicable to their environments.

AWS Performance Insights, a service that provides database monitoring capabilities, does not support monitoring queries executed via the new Data API. Lack of integration here can hinder performance optimization and troubleshooting, as it limits visibility into query performance and system health.

Feedback from industry professionals

Joshua Moore has voiced concerns over the Data API’s current design, specifically its lack of support for read clusters. Highlighted through his commentary on X (formerly Twitter), he points out that this limitation significantly impacts applications with heavy read demands. Such feedback underscores the necessity for AWS to consider enhancing the API to support read operations, thereby aligning more closely with the needs of the broader developer and enterprise community.

Backward compatibility and migration

AWS has made sure that the new RDS Data API maintains backward compatibility with the version used in Aurora Serverless v1. This compatibility is key for enterprises that are currently using the previous version and are considering an upgrade. Backward compatibility means that these organizations can transition to the new API without significant alterations to their existing codebases, which is important for maintaining business continuity and avoiding costly downtime.

Migration recommendations

Despite the backward compatibility, AWS notes differences between the two versions of the Data API and is encouraging users to migrate to the latest version. The enhanced version offers improved performance, scalability, and a more robust feature set, including the elimination of the 1,000 requests per second limit, which previously constrained high-throughput applications.

Migration to the newer API version allows businesses to leverage these improvements to support more substantial, resource-intensive workloads without encountering bottlenecks associated with API rate limiting. 

The decision to migrate should involve considerations of the current infrastructure’s ability to adapt to and integrate with the new API features while evaluating the potential downtime or learning curve associated with such a migration.

Enhancements and technical specifications

Removal of limitations

AWS has eliminated the prior constraint of 1,000 requests per second on the Data API for Aurora Serverless v2. This change addresses the pressing need for applications requiring higher throughput, particularly those that handle large volumes of transactions or data interactions. 

The new cap on requests per second now directly correlates with the database instance size and the resources it has available, which introduces a scalable approach to managing database interactions. Businesses can now adjust their database resources according to their operational demands, optimizing both performance and cost.

Integration and usage

The Data API’s integration with AWS AppSync is a strong step forward in developing more dynamic and flexible data-driven applications. Facilitating the creation of GraphQL APIs that connect directly to Aurora databases, AWS AppSync allows developers to use JavaScript resolvers for executing SQL statements. 

This setup simplifies the development process and improves the application’s ability to manage and retrieve data efficiently. The API imposes a size limit of 64 KB per row in the result set returned to the client so that data exchanges remain manageable and performant under diverse operational conditions.

Regional availability and future expansion

Current support and regional access

The Data API currently supports Aurora PostgreSQL versions 15.3+, 14.8+, and 13.11+, covering a range of stable and widely-used versions that benefit from the latest performance and security improvements. Availability in key AWS regions—Northern Virginia, Oregon, Frankfurt, and Tokyo—gives organizations around the globe access to leverage the new API with reduced latency and increased compliance with regional data governance standards.

Plans for expansion

Looking ahead, AWS plans to expand the Data API’s compatibility to include MySQL clusters. This upcoming expansion will open more opportunities for a wider selection of applications, particularly those already using MySQL, to benefit from the enhanced capabilities of the Data API. These developments will likely catalyze further adoption and optimization of serverless architectures across different industries and use cases.

Reception and impact on the serverless community

Feedback from the serverless community regarding the new Data API has been mostly positive. Developers appreciate the improvement, noting the API’s potential to simplify the complexities traditionally associated with serverless deployments. 

Managing database interactions more efficiently without the overhead of maintaining connections or handling large volumes of requests manually frees developers to focus more on innovation and less on infrastructure management challenges.

Tim Boesen

April 22, 2024

5 Min