There are two major problems with Serverless Aurora v2 that fundamentally miss the mark of true #serverless(ness). One is the inability to auto-pause (as Mike mentions), and the other is the missing Data API. These might make it unusable (for now). ☹️ Some thoughts… 🧵
Let’s start with the “scale to zero” bit. I think it’s unreasonable to expect a production cluster of Aurora to scale to zero and then be instantly accessible following a short cold start. However, this feature is crucial to development and preview environments.
One of the greatest features of #serverless apps is the ability to create “isolated stacks” that mirror production environments. Serverless apps should be as disposable as @QuinnyPig tweets. Spin ‘em up, tear ‘em down, and then move on to the next experiment.
“Always on” services (even at a 0.5 ACU minimum) make this practice cost prohibitive, especially if you’re spinning up PR and feature branches, or giving all your devs (like you should) their own sandbox account. At the very least, adding the “pause” feature would mitigate this.
Now to the Data API. At some point, we’re all going to need to get over this ridiculous idea of needing private subnets for #serverless applications. Your Lambdas are already running in a VPC, you most likely don’t need to add another one that you don’t know how to configure.
The Data API was a breath of fresh air when it was introduced. No need to run Lambdas in a VPC to access your RDBMS, but instead use the magic of IAM which @awscloud has invested limitless resources into making insanely efficient and secure? What a novel concept!
Sure, even with the Data API you still needed to spin up a “dev” cluster that was shared, but it dramatically reduced the need for VPCs and, of course, Managed NAT Gateways for outbound internet access in every temporary stack.
This brings us to where the major opportunity was missed IMO. Removing the need for Aurora Serverless v2 to run in a VPC and enabling both direct IAM access and Data API access would have been a true game changer.
The scaling characteristics still look amazing, and for the enterprise using this to failover provisioned clusters running in legacy VPCs then they probably hit the 🎯. But for the #serverless enthusiast looking for AWS to move the ball forward, prepare to be disappointed.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
The responses to Kelsey's tweet illustrate a fascinating disconnect between traditional and #serverless mindsets. If you approach "serverless" like any other compute platform, you're going to be disappointed. Here's why… 🧵
Let me start by clarifying what I mean by a "traditional" mindset. I don't mean "legacy", and I certainly don't mean "wrong". I think of it as the encapsulation and orchestration of compute processes within a single execution stack. This includes both VMs and containers.
The traditional mindset assumes some measure of vertical scaling (e.g. concurrency) within an environment, often relying on some form of statefulness/stickiness, and then graduating to horizontal scaling to achieve higher throughput. Again, nothing wrong with this approach.
Here is my Ode to the Cloud 2021. Happy New Year, everyone! 🍾🥂🎆 #cloud#serverless
Two thousand twenty-one, a strange year we have seen,
Mixed with lots of highs and lows, and bags of in between.
And even though, most of us, just want to scream out loud,
Plenty of interesting things, did happen in the #cloud.
Jassy went to Amazon 'cause Bezos went to space,
And all without missing a beat, Selipsky took his place.
Munns decided startups, is where his help should aim,
So Talia, James, and others, all stepped up their game.
Yesterday I turned 43 and realized I've been in #tech for 24 years (I got paid to create my first "professional" website in 1997). Here's 24 things I've learned over the past 24 years. Perhaps you'll find them useful on your journey. 🧵
24. Plan work around your life, not life around your work - I worked 70+ hr weeks in my 20s & early 30s. While I'm sure there's a correlation between that & my "successes", there's also a lot of regret for missed time with family & friends.
23. Be a T-shaped human - There are 3 types of knowledge: the shit you know, the shit you know you don't know, and the shit you don't know you don't know. Specialize in a few things, and gain wisdom by learning the basics of many others.
Everyone got so excited about Graviton2 Lambda functions & Step Functions AWS-SDK integration yesterday that you might have missed this one about triggering Lambda functions from SQS queues in *different* accounts. This is important, a short 🧵 #serverlessaws.amazon.com/about-aws/what…
Having multiple AWS accounts to handle different parts of your application (from both a lifecycle and service perspective) isn't just good practice, it's also AWS recommended. 👍 2/9
This is because AWS account separation is the best isolation model for security, scalability, regional controls, service limit management, billing 👈, and much more. 3/9
Very cool #reInvent session by @sliedigaws about building out distributed applications using different #EventBridge patterns. Let's recap this quickly to see how we can use them to build out our #serverless apps. 🧵
The "single-bus, single-account" pattern is a super simple way to get started, especially if you have a small team. Create logical service boundaries and use a single event bus to decouple the services. This is one of my favorite ways to prototype #serverless applications.
The "single-bus, multi-account" pattern is my go-to for larger apps, and works great for multi-team orgs w/ service-level ownership reqs. Create a *global* event bus, grant access to service accounts for putEvents, and forward events to service-owned buses for rules & routing. 👍
Context is *extremely* important. The repeating line in the musical of "I'm going to reduce your… ops!" is in the context of setting up and maintaining a Kubernetes cluster. If it's not obvious the first time with "Hey yo, I'm unlike containers, no patching, no maintainers"...
…then the second time around adding "No pods or orchestrators" should make it abundantly clear. Since I consider myself a #serverless purist, I try to avoid the "K" word, but the line "I know all this stuff with K8s is excitin'" should settle any further misunderstanding.