Stelvio: Serverless AWS for Python Devs
11–20 of 27 posts
Re: Stelvio: Serverless AWS for Python Devs
#12How is this better than AWS CDK, and why are you not using CloudFormation? Seems like the sane thing to do in 2025
I like CDK, it was huge step forward compared to Cloud Formation, Terraform etc.
But I think infra tools can be still made better for developers. In stelvio you can do this:
table = DynamoTable(
name="todos",
fields={
"username": AttributeType.STRING,
"created": AttributeType.STRING,
},
partition_key="username",
sort_key='created'
)
api = Api("todo-api")
api.route("POST", "/todos", handler="functions/todos.post", links=[table])
api.route("GET", "/todos/{username}", handler="functions/todos.get")
It creates:- DynamoDB table
- Lambda function with IAM (policy - with permissions for dynamo table, role)
- API Gateway (resources, methods, integrations, role, stage & deployment)
- CloudWatch log groups
It would be much more code in CDK.
Stelvio aims to make common things much simpler while allowing you to change details if you need to.
Re: Stelvio: Serverless AWS for Python Devs
#13Earlier quoted context omitted.
Why not Zappa? https://github.com/zappa/Zappa
Hi! AFAIK in Zappa you don't define infra in Python but rather in json. Also the vision of Stelvio is broader than just serverless. I wrote about my vision here https://blog.stelvio.dev/why-i-am-building-stelvio/ if you're interested.
While it's good to enable proprietary solutions like AWS, we should always make sure what we make is not bound to it.
This might mean that stelvio becomes a part of something more general.
Re: Stelvio: Serverless AWS for Python Devs
#14How is this better than AWS CDK, and why are you not using CloudFormation? Seems like the sane thing to do in 2025
I guess this question is not aimed at me as I'm not OP but I'll try to answer as the author of stelvio. I use CDK at my day job every day. I like CDK, it was huge step forward compared to Cloud Formation, Terraform etc. But I think infra tools can be still made better for developers. In stelvio you can do this: table = DynamoTable( name="todos", fields={ "username": AttributeType.STRING, "created": AttributeType.STRI…
Re: Stelvio: Serverless AWS for Python Devs
#15Not sure I agree with the choices on the AWS side, particularly lambda and dynamo. They seem great when you first start, but I've found the pain comes with maturing code.
As professionals, we should always plan for our code to live longer than we thought originally, and supporting new use cases not in the initial design.
A cheap always on server and a hosted RDBMS are going to go a lot further for next to the same mental overhead.
Re: Stelvio: Serverless AWS for Python Devs
#16Neat tool! Not sure I agree with the choices on the AWS side, particularly lambda and dynamo. They seem great when you first start, but I've found the pain comes with maturing code. As professionals, we should always plan for our code to live longer than we thought originally, and supporting new use cases not in the initial design. A cheap always on server and a hosted RDBMS are going to go a lot further for next to…
Re: Stelvio: Serverless AWS for Python Devs
#17Re: Stelvio: Serverless AWS for Python Devs
#18How does this differ from Chalice? Or is it a replacement now that it is being deprecated?
- as you mentioned, seems to be abandoned
- chalice mixes infra code with app code within the file (decorators), stelvio keeps them separate
- in chalice you configure lambdas using json. I strongly believe that everything should be done in python
- chalice is limited to lambda/api/queues, stelvio aims to go further/broader
hope this explains, happy to answer any other questions
Re: Stelvio: Serverless AWS for Python Devs
#19- aws cdk (with outputs) - https://github.com/zappa/Zappa - a python script which stitches outputs from cdk into the zappa config - extra python scripts to do a few small things post deployment. Zappa has some bugs that would be tedious to fix vs 100 lines of python.
Our product has the luxury of only being used during stock market hours and really thrives in serverless everything. We use rds serverless (v2) along with lambdas.
Some of our work is heavy and we’ll dynamically spin up an ecs container which has the hallmarks of a normal django app: redis + celery queues. We try to saturate the ecs container resources with this type of setup. After the container is done, it’ll shutdown.
I was super skeptical of this 2 years ago. 4 envs costing ~$2k/month. I would do this setup again if the product warrants windowed usage.
Re: Stelvio: Serverless AWS for Python Devs
#20Neat tool! Not sure I agree with the choices on the AWS side, particularly lambda and dynamo. They seem great when you first start, but I've found the pain comes with maturing code. As professionals, we should always plan for our code to live longer than we thought originally, and supporting new use cases not in the initial design. A cheap always on server and a hosted RDBMS are going to go a lot further for next to…
thanks! (author here not OP)
lambda/api/dynamo is just a start. I have very clear vision where i want to take this and it's not limited to lambda/api/dynamo. but these are easier to start with before you get to VPC, NAT, security groups etc. etc.