Jeremy Daly

jeremydaly.com · Personal blog · on HN since 2018

Jeremy Daly writes about serverless architecture on AWS, covering Lambda, Aurora Serverless, microservice patterns and database connection handling.

What HN saysCommenters cite it for practical details on Aurora Serverless capacity, connection limits and early performance, and for reusing database connections across Lambda invocations.
26HN people shared it
9linked it in comments
30stories submitted
150story points
8 months agolast shared
2018people per year2026

Most-shared posts

  1. 1
    Aurora Serverless Data API: A First Look
    6 people · 8 points · first shared 2018 · discussion on HN
  2. 2
    Managing MySQL at Serverless Scale
    3 people · 6 points · first shared 2019 · discussion on HN
  3. 3
    Aurora Serverless: The Good, the Bad and the Scalable
    3 people · 2 points · first shared 2018 · discussion on HN
  4. 4
    Finding my rhythm again
    2 people · 68 points · first shared 2025 · 6 comments on HN
  5. 5
    Serverless Microservice Patterns for AWS
    2 people · 28 points · first shared 2018 · 3 comments on HN
  6. 6
    The Serverless Reference Architectures Project
    2 people · 4 points · first shared 2020 · discussion on HN
  7. 7
    An Introduction to Serverless Microservices
    2 people · 4 points · first shared 2018 · discussion on HN
  8. 8
    Reuse database connections aws lambda
    2 people · first shared 2020
  9. 9
    Is learning serverless that hard?
    1 people · 4 points · first shared 2022 · discussion on HN
  10. 10
  11. 11
    The Storage First Pattern (2020)
    1 people · 3 points · first shared 2021 · discussion on HN
  12. 12
    Serverless Reference Architectures
    1 people · 3 points · first shared 2020 · discussion on HN
  13. 13
    Securing Serverless: A Newbie’s Guide
    1 people · 2 points · first shared 2018 · discussion on HN
  14. 14
    Serverless Consumers with Lambda and SQS Triggers
    1 people · 2 points · first shared 2018 · discussion on HN
  15. 15
    Serverless Platform Engineering
    1 people · 2 points · first shared 2022 · discussion on HN

What HN people wrote when they linked it

davidjnelson · 2019-08-03
It’s interesting that lambda still requires a nosql db for good perf. The example they link to from this article uses dynamodb. Not a great choice for a general purpose web app, where sql would be a better choice for many use cases. https://github.com/serverless/components/tree/master/templates/8-fulls… It’s cool that aws has the data api for lambda to connect to aurora serverless. But then you’re stuck with MySQL instead of postgres, and also stuck with ~100ms db access times. https://www.jeremydaly.com/aurora-serverless-data-api-a-first-look/
mattlord · 2022-05-26
It's fairly difficult to find actual details on ACUs and how it all works, the best I found after spending significant time looking was things like: https://www.jeremydaly.com/aurora-serverless-the-good-the-bad-and-the-… According to AWS you're paying for chunks of CPU and memory on a per second basis: https://aws.amazon.com/rds/aurora/faqs/ It's hard to imagine that the CPU capacity is measured in anything other than CPU cycles (time slices of physical capacity) — in the same way it's hard to imagine that the memory capacity is measured in anything but bytes. But whatever, I don't care. It's cool, good for them. The point was... you don't think you're paying for reads of records that are cached? I give up, I fail to see how this can really be a good faith discussion. I don't know how all other serverless database offerings do pricing. What difference does it make? They're all different. As a user, you want it to be based on your usage and to be fairly and reasonably priced while also being easily audited and predictable. Those are the key properties I would care about. I honestly cannot see how you could be missing the point by this much and still be operating in good faith so I'll for real, for real stop. :-)
josevalerio · 2024-01-08
Declare your connection outside of your handler function - this post is from 2017 but it shows it clearly: https://www.jeremydaly.com/reuse-database-connections-aws-lambda/ It will get re-used across lambda invocations as long as the instance of it isn't killed which typically happens after a few minutes
PetahNZ · 2019-12-05
It has a hard limit on max_connections based on the "Aurora Capacity Unit", e.g. for 16 ACU's max_connections it is 2,000. We see spikes of 10x to 100x concurrent users in a matter of minutes (think hug of death style). And although our queries run fast and we see limited increase of CPU on the cluster we almost instantly hit the connection limit. https://www.jeremydaly.com/aurora-serverless-the-good-the-bad-and-the-…
tienshiao · 2019-05-31
The beta version seemed like it had pretty poor performance: https://www.jeremydaly.com/aurora-serverless-data-api-a-first-look/ Does anyone have performance feedback now that it is no longer beta?
petercooper · 2019-05-02
If you're into serverless stuff and you like this personal feel, you might like Jeremy Daly's Off by None: https://www.jeremydaly.com/newsletter-issue-35/ .. I think it takes that chatty newsletter approach quite far.
jsperx · 2019-04-16
I was actually at an AWS event and they mentioned that, so I searched and found this article... https://www.jeremydaly.com/aurora-serverless-data-api-a-first-look/ ...that says it’s REALLY slow.
Wintereise · 2018-11-30
You indeed can, but it's beta (us-east-1 only at the moment) and leaves a lot to be desired (https://www.jeremydaly.com/aurora-serverless-data-api-a-first-look/)
astuyvenberg · 2020-07-30
Lambda may not be a magic reliability wand, you definitely still need to manage downstream pressure. That said: > The code creates a MySQL connection during each invocation. This is not a correct implementation for Lambda. You shouldn't recreate a connection on every invocation. Instead, create your connection outside of your handler code. Then each invocation of a warm container will re-use the same handler. (1) This will help cut down on cold start time, as well as help manage running out of connections. You should limit your maximum number of concurrent invocations to be equal to the limit of your database threadpool. This is all in their documentation, as well as several blog posts. (2, 3, 4) [1] https://docs.aws.amazon.com/lambda/latest/dg/services-rds-tutorial.htm… [2] https://www.jeremydaly.com/reuse-database-connections-aws-lambda/ [3] https://medium.com/faun/reusing-connections-lambda-functions-poc-1eb80…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close