Live data from Hacker News

Stelvio: Serverless AWS for Python Devs

github.com

11–20 of 27 posts

Re: Stelvio: Serverless AWS for Python Devs

#12
post #11

How 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.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

#13

Earlier 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.

The cloud is too complex.

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

#14
post #11

How 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…

CDK has high level constructs like aws_ecs_patterns.ApplicationLoadBalancedFargateService etc. It seems like the above could be implemented as high level CDK constructs. So you could make common things simpler, but have the full CDK to change details if needed.

Re: Stelvio: Serverless AWS for Python Devs

#15
Neat 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 the same mental overhead.

Re: Stelvio: Serverless AWS for Python Devs

#16

Neat 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…

Both of these tools hit the sweet spot starting out—good performance for cheap (not entirely true if you consider the free tier of sql services, but I've had bad experiences with those). It's the lock-in and traffic that kills you.

Re: Stelvio: Serverless AWS for Python Devs

#18
post #17

How does this differ from Chalice? Or is it a replacement now that it is being deprecated?

Hey, I was looking for similar tool before starting building stelvio and I found Chalice. It looked good, it's a nice tool but:

- 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
Not trying to detract from the OP, but to provide a combination I have running in production for 2 years.

- 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

#20

Neat 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…

> Neat tool!

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.

Post reply on HN