AWS Lambda just removed the main reason people don’t use serverless. SnapStart restores an initialized function that is snapshotted when it’s deployed. Takes care of things like random number seeds as well. https://aws.amazon.com/blogs/aws/new-accelerate-your-lambda-functions-with-lambda-snapstart/
New – Accelerate Your Lambda Functions with Lambda SnapStart | Amazon Web Services

Update (December 7, 2022) – Added additional information about pricing. Our customers tell me that they love AWS Lambda for many reasons. On the development side they appreciate the simple programming model and ease with which their functions can make use of other AWS services. On the operations side they benefit from the ability to […]

Amazon Web Services
@adrianco I’ve always thought managing complexity at scale was the main reason
@dberkholz @adrianco Managing complexity at scale is hard, but once you break up your problem properly it isn't too big of an issue. On the other hand, "cold start" times always feel like they're a problem, especially when you are chaining microservices together. I wonder if Azure comes up with something similar to this AWS solution.
@thoward @adrianco it’s not about the decomposition, it’s about the logical app/service across 1000s of Lambda functions. Maintaining API compatibility, upgrades/changes, orchestration, visibility into app-level health, troubleshooting, etc
@dberkholz @thoward getting versioning right is the key to most of that problem. However I haven’t seen that be a real issue, any more than having thousand of jar files to manage. There’s tooling to deal with it when you get big.
@adrianco any word on support for .net?
@adrianco I guess for now this only applies for Java runtimes? But it kinda makes sense to start with as it would benefit the most :)
@adrianco hope folks realize this is for java based lambda's AFAICT. right?
Leveraging AWS Lambda SnapStart with the Micronaut Framework - Micronaut Framework

Developing and deploying AWS Lambda functions with the Micronaut framework have been possible either with the Java runtime, or by deploying a native executable built with GraalVM to a custom runtime. The latter provides faster cold starts. When a Lambda function is invoked for the first time or scales up, an execution environment is created. […]

Micronaut Framework

@adrianco
Glad they thought of things like random number seeds.

I remember writing up a warning that EC2 instances started with the early AWS AMIs were all using the same ssh host key, so every customer knew every other customer's secret host key.

This wouldn't let you log in (as some media misreported), but it would let you spoof a host as machine-in-the-middle, or with DNS attacks.

AWS fixed it fairly quickly.