<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Guilherme Dalla Rosa</title>
    <description>The latest articles on DEV Community by Guilherme Dalla Rosa (@roosterdev).</description>
    <link>https://dev.to/roosterdev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1225931%2Fbc2e57c2-e582-459d-a14d-3f30d5ca8df4.png</url>
      <title>DEV Community: Guilherme Dalla Rosa</title>
      <link>https://dev.to/roosterdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/roosterdev"/>
    <language>en</language>
    <item>
      <title>Aurora DSQL now supports foreign keys. What else?</title>
      <dc:creator>Guilherme Dalla Rosa</dc:creator>
      <pubDate>Mon, 07 Sep 2026 10:35:29 +0000</pubDate>
      <link>https://dev.to/roosterdev/aurora-dsql-now-supports-foreign-keys-what-else-2dp0</link>
      <guid>https://dev.to/roosterdev/aurora-dsql-now-supports-foreign-keys-what-else-2dp0</guid>
      <description>&lt;p&gt;AWS recently announced that &lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/08/aurora-dsql-foreign-key-constraints/" rel="noopener noreferrer"&gt;Amazon Aurora DSQL now supports foreign key constraints&lt;/a&gt;. If you've been following DSQL since the preview, you know why this one matters.&lt;/p&gt;

&lt;p&gt;Aurora DSQL is the serverless, distributed database from AWS that speaks PostgreSQL: no instances to size, scaling to zero when idle, and multi-region clusters where you write to any region and read a consistent answer from all of them. Instead of locking rows, it detects conflicts at commit time and asks the loser to retry. I covered all of that in my talk &lt;a href="https://youtu.be/kJG2VEAikuk" rel="noopener noreferrer"&gt;&lt;strong&gt;What DSQL? Rethinking SQL for the Serverless, Distributed Age&lt;/strong&gt;&lt;/a&gt; at AWS Community Summit Manchester, and one of the limitations I highlighted there was the lack of foreign keys, a potential blocker for some use cases.&lt;/p&gt;

&lt;p&gt;The syntax is the one you already know from PostgreSQL: a column-level &lt;code&gt;REFERENCES&lt;/code&gt; or a table-level &lt;code&gt;FOREIGN KEY&lt;/code&gt;, with the same match types, the same five referential actions and the same deferrable options, so the DDL you wrote for PostgreSQL should run as it is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;customers&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="n"&gt;uuid&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="nb"&gt;text&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;orders&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="n"&gt;uuid&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;customer_id&lt;/span&gt; &lt;span class="n"&gt;uuid&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;REFERENCES&lt;/span&gt; &lt;span class="n"&gt;customers&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="k"&gt;DELETE&lt;/span&gt; &lt;span class="k"&gt;RESTRICT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;total&lt;/span&gt; &lt;span class="nb"&gt;numeric&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The one DSQL-specific detail is adding a constraint to a table that already has rows. Where PostgreSQL would scan the table there and then, DSQL has you &lt;a href="https://docs.aws.amazon.com/aurora-dsql/latest/userguide/release-notes.html" rel="noopener noreferrer"&gt;add the constraint as &lt;code&gt;NOT VALID&lt;/code&gt; and validate the existing data afterwards&lt;/a&gt;, as an asynchronous job you can follow in the &lt;a href="https://docs.aws.amazon.com/aurora-dsql/latest/userguide/working-with-create-index-async.html" rel="noopener noreferrer"&gt;&lt;code&gt;sys.jobs&lt;/code&gt; system view&lt;/a&gt;, the same way you follow an asynchronous index build:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;orders&lt;/span&gt;
  &lt;span class="k"&gt;ADD&lt;/span&gt; &lt;span class="k"&gt;CONSTRAINT&lt;/span&gt; &lt;span class="n"&gt;orders_customer_fk&lt;/span&gt;
  &lt;span class="k"&gt;FOREIGN&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;customer_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;REFERENCES&lt;/span&gt; &lt;span class="n"&gt;customers&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;VALID&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What changes in practice is who enforces the relationship: from now on the database refuses the write, and a schema you carry over from a PostgreSQL project needs fewer exceptions. One caveat: the &lt;a href="https://docs.aws.amazon.com/aurora-dsql/latest/userguide/working-with-foreign-key-constraints.html" rel="noopener noreferrer"&gt;foreign key documentation&lt;/a&gt; is clear that every write to a referenced or referencing table costs extra reads. A &lt;code&gt;CASCADE&lt;/code&gt; also counts toward the 3,000-row limit of a transaction, so a delete that fans out into thousands of child rows still has to be chunked.&lt;/p&gt;

&lt;p&gt;To be fair, not everyone wants foreign key constraints in the first place. PlanetScale's guide to &lt;a href="https://planetscale.com/docs/vitess/operating-without-foreign-key-constraints#why-does-planetscale-not-recommend-constraints-" rel="noopener noreferrer"&gt;operating without foreign key constraints&lt;/a&gt; explains why they don't recommend them. Constraints mean more locking under high concurrency, column types you can no longer change, more complex schema refactors and rules that are hard to maintain once data is split across servers.&lt;/p&gt;

&lt;p&gt;Their advice is to keep the relationships in your model and enforce them in the application, which is what most of us had been doing on DynamoDB anyway. DSQL's implementation avoids the locking part of that list, and the rest turns into the extra reads and the row limit above. Nice to have the option, and still worth measuring before you turn it on everywhere.&lt;/p&gt;

&lt;p&gt;Then, last month at AWS Community Day Singapore, I watched &lt;a href="https://www.linkedin.com/in/yama3133/" rel="noopener noreferrer"&gt;Yuuki Yamashita&lt;/a&gt;'s talk &lt;a href="https://speakerdeck.com/yama3133/distributed-transactions-under-fire-building-a-zero-oversell-flash-sale-platform-with-amazon-aurora-dsql" rel="noopener noreferrer"&gt;&lt;strong&gt;Distributed Transactions Under Fire: Building a Zero-Oversell Flash Sale Platform with Amazon Aurora DSQL&lt;/strong&gt;&lt;/a&gt;. The problem is familiar to anyone in e-commerce: a limited drop lasts 30 seconds, race conditions cause oversells and provisioning for that peak means paying for it all month. So he built a flash sale on Lambda and DSQL where two buyers race for the last item and the first to commit wins.&lt;/p&gt;

&lt;p&gt;His demo put 100 concurrent buyers against 10 items and came out with 10 orders and zero oversells. The honest part of the talk was what broke on the way. Connections cached across Lambda invocations outlived the 15-minute IAM token, and the retries themselves tripled the load until backoff with jitter and a cap of three attempts turned the storm into a clean sold-out. It's the kind of real-world lesson I look for, and it left me wondering what else had improved in the DSQL world since my talk. So here's what I found.&lt;/p&gt;

&lt;h2&gt;
  
  
  What else has improved
&lt;/h2&gt;

&lt;p&gt;Let's start with the one I was hoping for when I first looked at DSQL: &lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/07/amazon-aurora-dsql-cdc-ga/" rel="noopener noreferrer"&gt;change data capture&lt;/a&gt; (CDC). DynamoDB Streams has spoilt me: the database propagates every change to a stream, and the rest of the event-driven architecture hangs off it without the application having to publish anything. With a traditional relational database you end up building the transactional outbox pattern instead, writing the event in the same transaction as the data, polling the outbox table and pushing it to the bus, and keeping the two in step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F38vvupyyyj6bhl536j7o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F38vvupyyyj6bhl536j7o.png" alt=" " width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CDC now does that for you: inserts, updates and deletes go to Kinesis Data Streams as change events, and from there to Lambda, or to S3, Redshift and OpenSearch through Firehose. In my opinion this is as big an announcement as the foreign keys, because it makes the case for DSQL as a replacement for DynamoDB in event-driven applications, with SQL on top. One caveat: delivery is at least once, so the &lt;a href="https://docs.aws.amazon.com/aurora-dsql/latest/userguide/cdc-setup.html" rel="noopener noreferrer"&gt;consumer still has to deduplicate and order the records&lt;/a&gt;, and the stream is billed in DPUs by the volume it captures. If you want to try it, Vijay Karumajji's &lt;a href="https://aws.amazon.com/blogs/database/getting-started-with-change-data-capture-in-amazon-aurora-dsql/" rel="noopener noreferrer"&gt;getting started guide&lt;/a&gt; walks through the setup, from the Kinesis stream and the IAM role to the first events.&lt;/p&gt;

&lt;p&gt;The rest of the engine changes closed several other items on my slide, and the &lt;a href="https://docs.aws.amazon.com/aurora-dsql/latest/userguide/release-notes.html" rel="noopener noreferrer"&gt;release notes&lt;/a&gt; are the place to follow them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-region is no longer a US-only story. &lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/07/amazon-aurora-dsql-adds-multi-region-clusters-four-more-regions/" rel="noopener noreferrer"&gt;Multi-region clusters run in 16 regions&lt;/a&gt; across three region sets, with Frankfurt, Ireland, London, Paris, Spain and Stockholm on the European side, and single-region clusters are available in 20 regions. A cluster still has to stay inside one region set.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/02/amazon-aurora-dsql-adds-identity-columns-sequence/" rel="noopener noreferrer"&gt;Identity columns and sequences&lt;/a&gt; are in, with a cache you have to set explicitly and values that can arrive out of order across sessions.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/05/aurora-dsql-json-support/" rel="noopener noreferrer"&gt;JSON&lt;/a&gt; and &lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/06/amazon-aurora-dsql-supports-jsonb/" rel="noopener noreferrer"&gt;JSONB&lt;/a&gt; are supported, another item from the slide.&lt;/li&gt;
&lt;li&gt;Schema changes got easier: &lt;code&gt;DROP COLUMN&lt;/code&gt;, constraints added as &lt;code&gt;NOT VALID&lt;/code&gt; and validated later, indexes on expressions and extended statistics are all in.&lt;/li&gt;
&lt;li&gt;Clusters now &lt;a href="https://aws.amazon.com/about-aws/whats-new/2025/12/amazon-aurora-dsql-cluster-creation-in-seconds" rel="noopener noreferrer"&gt;create in seconds&lt;/a&gt; instead of minutes, and storage goes up to 256 TiB.
What hasn't moved is the other half of the slide, and the &lt;a href="https://docs.aws.amazon.com/aurora-dsql/latest/userguide/working-with-postgresql-compatibility-migration-guide.html" rel="noopener noreferrer"&gt;migration guide&lt;/a&gt; is the honest place to read it. No triggers, no PL/pgSQL, no temporary tables, no extensions (so no pgvector and no PostGIS), one database per cluster, and 3,000 rows and 5 minutes per transaction. Those aren't gaps waiting to be filled, they're the design, and the examples below are mostly about building around them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the community learned
&lt;/h2&gt;

&lt;p&gt;The lesson that repeats across every story I read is that retries are a design decision, not an error handler. Marc Bowes, who works on DSQL, shows in &lt;a href="https://marc-bowes.com/dsql-avoid-hot-keys.html" rel="noopener noreferrer"&gt;avoid hot keys&lt;/a&gt; why a single counter row that every transaction updates is the classic mistake, and why appending rows and summing them is the shape that scales. Fernando Azevedo's &lt;a href="https://dev.to/fernando_azevedo_6844e930/aurora-dsql-multi-region-field-notes-for-financial-grade-systems-2fpj"&gt;field notes on multi-region&lt;/a&gt; add the other rule of thumb: every commit in a multi-region cluster pays the round trip between the regions, so an abort rate creeping up is a design smell before it's a database problem. For the bigger picture, Marc Brooker's &lt;a href="https://brooker.co.za/blog/2025/11/02/thinking-dsql.html" rel="noopener noreferrer"&gt;DSQL: Simplifying Architectures&lt;/a&gt; makes the case for an active-active setup with no failover logic and no leader election. The team also published &lt;a href="https://arxiv.org/abs/2607.13276" rel="noopener noreferrer"&gt;the paper&lt;/a&gt;, for anyone who wants the full story of how it works.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use cases and examples
&lt;/h2&gt;

&lt;p&gt;A few references worth keeping, from talks and production stories to sample apps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.linkedin.com/in/vadymkazulkin/" rel="noopener noreferrer"&gt;Vadym Kazulkin&lt;/a&gt;, AWS Serverless Hero, has been covering DSQL from the Java side on stage and in writing for a while. His seven-part series &lt;a href="https://dev.to/aws-heroes/serverless-applications-on-aws-with-lambda-using-java-25-api-gateway-and-aurora-dsql-part-1-2g27"&gt;Serverless applications on AWS with Lambda using Java 25, API Gateway and Aurora DSQL&lt;/a&gt; goes from the sample application to SnapStart with DSQL request priming and GraalVM Native Image, with the &lt;a href="https://github.com/Vadym79/aws-lambda-java-25" rel="noopener noreferrer"&gt;code on GitHub&lt;/a&gt;, and his re:Invent session &lt;a href="https://dev.to/aws/dev-track-spotlight-build-modern-applications-with-amazon-aurora-dsql-dev308-4g5o"&gt;Build modern applications with Amazon Aurora DSQL&lt;/a&gt; has the latency numbers for an ordering app on single-region and multi-region clusters.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.linkedin.com/in/darryl-ruggles/" rel="noopener noreferrer"&gt;Darryl Ruggles&lt;/a&gt;' &lt;a href="https://darryl-ruggles.cloud/dsql-kabob-store" rel="noopener noreferrer"&gt;multi-region Kabob Store&lt;/a&gt;, an e-commerce sample with the Terraform to reproduce it, and his &lt;a href="https://dev.to/aws-builders/amazon-aurora-dsql-a-practical-guide-to-awss-distributed-sql-database-2n58"&gt;practical guide to Aurora DSQL&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://github.com/aws-samples/aurora-dsql-samples" rel="noopener noreferrer"&gt;aurora-dsql-samples&lt;/a&gt; repository from AWS, with client examples for most languages and ORMs, a booking API with the retry logic in place and a sample AI agent that uses DSQL as its store.&lt;/li&gt;
&lt;li&gt;The AWS Database Blog on DSQL for &lt;a href="https://aws.amazon.com/blogs/database/amazon-aurora-dsql-for-gaming-use-cases/" rel="noopener noreferrer"&gt;gaming&lt;/a&gt;, for &lt;a href="https://aws.amazon.com/blogs/database/amazon-aurora-dsql-for-global-scale-financial-transactions/" rel="noopener noreferrer"&gt;financial transactions&lt;/a&gt; and as the store behind &lt;a href="https://aws.amazon.com/blogs/database/building-an-ai-powered-grid-investigation-agent-with-aurora-dsql-and-amazon-bedrock-agentcore/" rel="noopener noreferrer"&gt;an AI agent on Bedrock AgentCore&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>database</category>
      <category>serverless</category>
    </item>
    <item>
      <title>The Top Serverless Announcements from AWS re:Invent 2023</title>
      <dc:creator>Guilherme Dalla Rosa</dc:creator>
      <pubDate>Mon, 04 Dec 2023 19:15:30 +0000</pubDate>
      <link>https://dev.to/roosterdev/the-top-serverless-announcements-from-aws-reinvent-2023-2d3e</link>
      <guid>https://dev.to/roosterdev/the-top-serverless-announcements-from-aws-reinvent-2023-2d3e</guid>
      <description>&lt;p&gt;With numerous AI-related announcements, this year's re:Invent marked a significant shift towards AI. The standout was &lt;a href="https://aws.amazon.com/about-aws/whats-new/2023/11/aws-amazon-q-preview/" rel="noopener noreferrer"&gt;Amazon Q&lt;/a&gt;, which was revealed during the keynote. Amazon Q, AWS's counterpart to ChatGPT, integrates into the AWS console, AWS documentation pages, and IDEs via the VS Code plugin, AWS Toolkit. Uniquely trained on AWS documentation and immune to the restrictions of &lt;code&gt;ai.txt&lt;/code&gt;, Amazon Q promises more current answers than ChatGPT.&lt;/p&gt;

&lt;p&gt;Steering away from the AI buzz (if that's even possible), let's dive into the serverless realm and check groundbreaking announcements that were made and how they might revolutionise our tech toolkit.&lt;/p&gt;

&lt;h2&gt;
  
  
  ElastiCache "serverless"
&lt;/h2&gt;

&lt;p&gt;The launch of &lt;a href="https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-elasticache-serverless/" rel="noopener noreferrer"&gt;Amazon ElastiCache Serverless&lt;/a&gt; marks a significant stride in AWS's serverless offerings. This new service addresses many limitations of the traditional ElastiCache, making it more user-friendly and fitting the serverless model more closely. &lt;/p&gt;

&lt;p&gt;The key highlights include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Simplified Operation&lt;/strong&gt;: No need to choose instance types or worry about bandwidth and TPS limits.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Native API Support&lt;/strong&gt;: Supports Memcache and Redis APIs, easing migration from server-based setups.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Multi-AZ and VPC Support&lt;/strong&gt;: Offers built-in high availability and works with VPCs from day one.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Eliminated Autoscaling Groups&lt;/strong&gt;: Autoscaling is more straightforward, although it can take time to scale up during sudden spikes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pay-per-use Pricing&lt;/strong&gt;: A move towards a dynamic pricing strategy aligned with serverless computing principles.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While Amazon ElastiCache Serverless introduces several improvements over its predecessors, it has sparked mixed feelings within the tech community, particularly concerning its pricing and its serverless credentials.&lt;/p&gt;

&lt;p&gt;The pricing, notably high, includes a minimum charge of $90 per month for even minimal data storage. For instance, storing just slightly over 1 GB &lt;strong&gt;can cost $180 monthly!&lt;/strong&gt;. This contrasts with on-demand instances, where comparable storage is significantly cheaper.&lt;/p&gt;

&lt;p&gt;Operational concerns also come into play. The requirement to run Lambda functions within a VPC leads to additional VPC-related expenses. Additionally, the scaling capability, which only allows doubling capacity every 10 minutes, is perceived as sluggish. This combination of high costs and operational limitations has sparked debates about the service's practicality and affordability, particularly for sporadic usage scenarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lambda Scales 12x Faster
&lt;/h2&gt;

&lt;p&gt;AWS Lambda has &lt;a href="https://aws.amazon.com/blogs/aws/aws-lambda-functions-now-scale-12-times-faster-when-handling-high-volume-requests/" rel="noopener noreferrer"&gt;revolutionised its burst concurrency limits&lt;/a&gt;, significantly enhancing its scaling capabilities. Previously constrained by a region-wide burst limit of 500–3000 and a slow refill rate, Lambda now allows each function to burst to 1000 concurrent executions instantly. What's more, this limit increases by 1000 &lt;strong&gt;every 10 seconds&lt;/strong&gt;, with each function scaling independently.&lt;/p&gt;

&lt;p&gt;This change is a game-changer for scenarios with sudden traffic spikes, like flash sales. For instance, with an average request time of 100ms, a single execution can handle 10 requests per second. So, you can now burst to 10,000 requests per second per endpoint, with an additional 10,000 every 10 seconds, up to your account-level limit.&lt;/p&gt;

&lt;p&gt;This level of scalability introduces new considerations, especially around system bottlenecks. For example, API Gateway, with its default limit of 10,000 requests per second, could now become a throttle point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step Functions Enhancements
&lt;/h2&gt;

&lt;p&gt;AWS Step Functions has introduced several significant updates:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/aws/external-endpoints-and-testing-of-task-states-now-available-in-aws-step-functions/" rel="noopener noreferrer"&gt;Public HTTP Endpoints&lt;/a&gt;: Step Functions can now directly call any public APIs, eliminating the need for Lambda or API Gateway proxies. They utilise existing HTTP connections from EventBridge.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/aws/external-endpoints-and-testing-of-task-states-now-available-in-aws-step-functions/" rel="noopener noreferrer"&gt;Testing Individual States&lt;/a&gt;: You can test individual states in your state machine without full execution. This is facilitated by the new TestState endpoint, enabling programmatic testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://aws.amazon.com/about-aws/whats-new/2023/11/aws-application-composer-step-functions-workflow-studio/" rel="noopener noreferrer"&gt;Integration with AWS App Composer&lt;/a&gt;: Step Functions now integrates with &lt;a href="https://aws.amazon.com/application-composer/" rel="noopener noreferrer"&gt;AWS App Composer&lt;/a&gt;, allowing for easy inclusion and editing of state machines within stacks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://aws.amazon.com/about-aws/whats-new/2023/11/aws-step-functions-optimized-integration-bedrock/" rel="noopener noreferrer"&gt;Optimised Integration with Bedrock&lt;/a&gt;: Enhanced support for AI app development, though Lambda remains preferable for streaming responses, especially for frontend applications.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  SQS FIFO Throughput Massive Increase
&lt;/h2&gt;

&lt;p&gt;AWS has &lt;a href="https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-sqs-throughput-quota-fifo-high-throughput-mode/" rel="noopener noreferrer"&gt;dramatically increased the throughput for SQS FIFO&lt;/a&gt;, now enabling processing of up to 70,000 messages per second in &lt;a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html#enable-high-throughput-fifo" rel="noopener noreferrer"&gt;high throughput mode&lt;/a&gt;. This enhancement marks a significant leap in handling large volumes of messages efficiently, catering to more demanding and high-traffic applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Aurora Limitless Database
&lt;/h2&gt;

&lt;p&gt;Amazon Aurora has launched the &lt;a href="https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-aurora-limitless-database/" rel="noopener noreferrer"&gt;Aurora Limitless Database&lt;/a&gt;, a significant upgrade allowing clusters to scale up to millions of write transactions per second and manage petabytes of data. While most users may not require this extreme level of scalability, the technical achievement is impressive and noteworthy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;re:Invent 2023 showcased an array of remarkable advancements, particularly in the Serverless domain. From the significant scaling improvements in Lambda and SQS FIFO to the innovative features in Step Functions and the technical prowess of Aurora Limitless, AWS is pushing the boundaries of what's possible in cloud computing. While some offerings, like ElastiCache Serverless, sparked debate over pricing and operational aspects, the overall direction is clear: AWS is committed to providing more robust, scalable, and efficient solutions, driving the future of Serverless computing forward. As we embrace these changes, it's exciting to ponder how they will shape our technological landscape in the coming years.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>serverless</category>
    </item>
  </channel>
</rss>
