28

Show HN: Stelvio – Ship Python to AWS

Nitpick - you're writing AWS IaaC in python, not shipping python code.

3 hours agoturtlebits

Stelvio focuses on Python devs deploying Python to AWS, e.g. it deals with automatically packaging dependencies for your lambda functions etc.

Not saying you can't use it with non-Python projects to deploy your infra but focus is Python devs hence assuming you're shipping Python code.

3 hours agomichal-stlv

Both AWS CDK [1] and Pulumi [2] already support Python and work great, what are you trying to achieve over them?

[1] https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-pytho...

[2] https://www.pulumi.com/docs/iac/languages-sdks/python/

2 hours agoSSmiley

Thank you for your comment.

Stelvio uses Pulumi under the hood.

We're not "trying to achieve over them" but instead we have different focus. Our focus is on developers rather than on devops people.

You can setup your infra in stelvio with much less code, almost no worry about IAM, best practices out of the box and developers workflow in mind. E.g. dev mode allows you to change your lambda code live without redeploying.

If interested I can refer you to my older article https://stelvio.dev/blog/why-i-am-building-stelvio/ which tries to explain philosophy or shorter manifesto https://stelvio.dev/about/manifesto/

2 hours agomichal-stlv

Co-author here. We’re providing higher level components for easier IaC code and automate permission generation between those resources.

On top of that we also have a dev mode that lets you run your lambdas locally - while within the AWS infrastructure

2 hours agosebst

>lets you run your lambdas locally - while within the AWS infrastructure

What does that mean? Are they running locally or in AWS infrastructure?

an hour agoVectorLock

Real lambda on AWS receives a request which is then forwarded to your local dev environment to handle it and return response which is then forwarded back to real lambda.

This way you can develop and test your code without constantly redeploying.

https://stelvio.dev/concepts/stelv-dev/

https://www.youtube.com/watch?v=W6aZFqBaH1g

an hour agomichal-stlv

This sounds a lot like what SST does (which also uses Pulumi). Do you consider them a competitor?

I would guess by focusing on Python that you can provide a tighter experience than SST. Is that your plan?

44 minutes agoa_conservative

Yeah, SST seems to be closest thing to Stelvio I guess.

I don't really think we're competitors, their focus is on JS/TS eco system. As you suggested Stelvio focuses on Python and aims to really nail down experience for deploying Python to AWS (and later potentially elsewhere). e.g. we resolve python dependencies for lambda functions and layers and package them for you etc.

In the long run we want Stelvio to be a go to tool for deploying Python (with some nice TUI and web console to make it all really smooth).

29 minutes agomichal-stlv

Author here. I'm happy to answer any questions. Also looking for any feedback. Thank you!

4 hours agomichal-stlv

Looks cool at first glance!

I'd prefer `stelvio` as the CLI command though. Looks much nicer than `stlv` to me and can be searched for directly.

3 hours agomkesper

Thank you for feedback. I went with stlv to make it shorter/faster to type but maybe stelvio is just fits better as it's the actual name of the thing :) Maybe we can have both with some alias.

3 hours agomichal-stlv

I also tend to lean towards longer CLI command names. I figure everyone is aliasing their preferred shorthand anyway.

3 hours agomrymd

What's wrong with https://pyinfra.com/ ?

3 hours agoesafak

Intrinsically, nothing, I suppose, but it's very much not focused on cloud and IaC, it even says on the tin that it's more like Ansible.

an hour agotonnydourado

I haven’t had a use case yet to try this but it looks pretty sweet!

3 hours agomrymd

Thank you! It currently supports only serverless AWS services but support for non-serverless services is on the roadmap (RDS, VPC, containers, ECS etc,)