Yes I know AWS well enough to know whether it is correct
Edit: great, getting downvoted for daring to ask the author to explain a claim. I’m noticing other people asking questions getting downvoted, too. Brigading isn’t a good look.
So, you don't have to configure IAM roles, or Env vars manually, as this is handled for you through a concept called linking. https://stelvio.dev/concepts/linking/
In our experience, that alone adds a lot of productivity gains for teams.
We still believe to have a more flexible solution that also adds some features, including combining multiple cloud providers which at the moment we use to enable cloudflare DNS in front of AWS infra. Feel free to give it a try!
But coincidentally Stelvio was born out of frustration with CDK which I'm using at my day job for 4 years at this point:
- slow deployment: CDK is layer on top of cloud formation, it first translates to CF which is then moved to AWS and resolved/deployed there. Process is quite slow and if something goes wrong it's hard to debug, rollbacks take ages, sometimes they block due to inter-stack dependencies - CDK is still quite low level and focused on infra. You just can't create say api gateway with 3 routes each using 3 different lambdas with permission to use dynamo table in 4 lines - you an with stelvio - whatever code change you need to test you need to deploy it first which is probably slowest with CDK(compared e.g. to pulumi) then even if you run it you can't really debug it or just see prints, you need to just go thru cloudwath or other services - stelvio allows you to run lambdas in "dev mode" so you don't need to redeploy and run your lambdas locally for instant feedback and even debugging support
Having said that CDK is good tool and I'm happy that it exists as I like it much better than CF itself or Terraform. Stelvio just tries to be even better and focused on developers.
Regarding LLMs sure, problem with LLMs is not they can't generate the code but if you're willing to read and understand all of it. Stelvio is less code with higher abstractions so it's easier to comprehend.
And I always “disable rollbacks” this has been a feature in CloudFormation, CDK and SAM for years.
Running lambdas locally with SAM has been a feature for at least 5 or six years as with the CDK. But these days you really should be packaging lambdas as Docker containers - those are really easy to test locally without any special infrastructure
The bigger answer is that if you're proficient and happy with CDK or anything else to wire resource up, you're probably not going to see much (if any) benefit.
Otherwise, you can stick with Stelvio's sensible defaults if you wish.
Point is to cover most of the common cases (with escape hatch for fine-tuning in special case) and make those super easy and short to do so devs can focus on code and not infrastructure.
It's standard higher level abstraction play of doing more with less (code and time spent).
Thank you for the feedback.
encore focusses on TypeScript and Python. Stelvio is a solution for Python.
I actually think this project makes a lot of sense. It lets you get started in minutes without dealing with unnecessary details. Furthermore, you can always access the low-level Pulumi component and override whatever you need. Keep doing what you’re doing! Your project makes IaC more accessible to everyone, and that’s a good thing. I’ll be happy to try it.
fxwin•1h ago
2) I feel like the very first question this project needs to answer is: "Why should i use this over the official AWS CDK?" (assuming you want other people to use this). Besides maybe some nicer syntax I don't really see a reason to use this and lose all the (sometimes lacking) documentation, examples + community support that exists for CDK.
2.1) The listed benefits include "Use your favorite [...] type checker", but the example uses strings for specifying field types (vs. AWS CDK which would use enums, and is also "pure python") which immediately throws that out of the window
michal-stlv•1h ago
1. Links are fixed now.
2. We try to answer that hopefully better at our website https://stelvio.dev but you're right we should do it better in readme too! - Can you please be more specific regarding syntax? What you don't like or what you'd like to see? We try to have - Whole point of Stelvio is that you need to write much less code to define your infra, e.g. almost none IAM code due to our linking system. We also have "dev mode" which let's you to test/debug your lambdas locally without re-deployment - We try to have comprehensive documentation and guide covering each component. If you see something missing please can you be more specific? - Regarding community support we can't do much here other than grow community which we're trying to do. Having said that we're happy to support our users personally and answer any question or help you onboard. Just shoot email to team@stelvio.dev
2.1 many parameters/fields/properties in Stelvio have option to use either enum or string. If it's string with specific supported values it's defined as e.g. ` Literal["keys-only", "new-image", "old-image", "new-and-old-images"]` so you'll get help of IDE for auto complete as well as type-checker/linter if you use wrong value.
Thank you again for your valuable feedback. Happy to talk anytime. If you want to try Stelvio just shoot us an email and we'll help you along the way.
raw_anon_1111•1h ago
As does both SAM and the CDK.
https://docs.aws.amazon.com/cdk/v2/guide/testing-locally-get...
But this is 2026. You should be deploying Docker containers to Lambda and those are really easy to test locally
yunwal•42m ago
michal-stlv•17m ago