8 ms·
SST: Container Support
- mentalgear 2y agoContainer support in SST is a great addition! But I’d really like to see support for other providers like Hetzner or VPS services in general, which often offer a more cost-effective option. [Update: seems like SST offers a lot of providers (incl. Hetzner) with varying feature sets, only most to all examples are using aws in the guide] -- For example, SST's AWS costs example: - AWS Fargate: 0.25 vCPU, 0.5 GB RAM, 20GB SSD: ~$13/month - AWS Load Balancer: ~$3/month Total: ~$17/month (rounded up) -- In comparison, a similar (even more powerful) setup on Hetzner can be significantly more affordable: - Hetzner VPS: 2 vCPU, 4 GB RAM, 20 GB SSD for ~ $5/month -- Coolify --- app containers --- load balancing Total: around $5/month. --- Alternatively, you can offload server management to Coolify Cloud for an extra ~ $5/month, so your Hetzner resources are dedicated solely to running your containers. - Hetzner VPS + Coolify Cloud: ~ $10/month You can scale vertically via Hetzner (rescale) and horizontally via Coolify (add more servers). A more budget-friendly option like this could be valuable for users running small to medium, even larger setups !
- hipadev23 2y agoHetzner will arbitrarily null route your traffic, proceed with caution running anything important there.
- diggan 2y ago> Hetzner will arbitrarily null route your traffic Never happened to me, been using Hetzner (dedicated though, not VPS) for almost 10 years. What exactly were you hosting before they pulled the plug on you?
- hipadev23 2y agoA web-based multiplayer-game operating over websockets. They turned off my server a few hours into launch day.
- datadeft 2y agoI am wondering if this is actually a pattern that we can use to build a production system: const cluster = new sst.aws.Cluster("MyCluster", { vpc });
- moritonal 2y agoIf by that you mean "is IaC production-ready yet?" my answer would be yes, I have lines like this in our code-base and it is really impressive.
- datadeft 2y agoAnd how does anybody know just looking at this line what is the actual implementation? Creating new names like sst.aws.Cluster that hides actual details is problematic for me. ECS has three flavor as of 2024. How should I know which is in use when writing that line of code? Amazon ECS capacity is the infrastructure where your containers run. The following is an overview of the capacity options: - Amazon EC2 instances in the AWS cloud - Serverless (AWS Fargate) in the AWS cloud - On-premises virtual machines (VM) or servers One more intresting detail I found that another services are not trying to hide the implementation detail. const api = new sst.aws.ApiGatewayV2("MyApi", {})
- solatic 2y agoReaders who are unfamiliar with SST would do well to read a bit about the project, the backing company, and the work they've been doing. Things have come around full-bore from serverless-only on AWS via CDK, putting huge effort into trying to make CDK fast and seamless, realizing they needed to support more than AWS and that CDK/CF are just too slow, transitioning into a Pulumi backend, supporting other clouds, and now, containers. SST is great because they built a model for infra-as-code that gives sensible defaults out-of-the-box while preserving enormous flexibility as the architecture grows, plus great conventions around giving code access to the environment details via bindings. Super excited to play with this.
- swyx 2y agodoes SST compile to CF? for serverless stuff (and now the limited container stuff) what are the tradeoffs SST has vs CDK?
- jackbravo 2y agoIt's built on top of pulumi, and their docs have some comparison against both CDK and pulumi in their FAQ section: https://sst.dev/docs/#faq https://sst.dev/docs/#faq
- wrs 2y agoIt used to use CDK/CF. There’s a long blog post about them deciding CF is unusably bad and moving to Pulumi this year. https://sst.dev/blog/sst-v3/ https://sst.dev/blog/sst-v3/
- rzodkiew 2y agoThe whole tech looks kinda' cool, but this video... I've noticed a trend where some of the dev tooling nowadays is sold almost as if it were consumer goods with the whole associated marketing behind it. This doesn't work for me, in reality actually has completely opposite effect. Give me boring well-written docs, that shows engineering that went into it, not the marketing show for teenagers.
- solatic 2y agoLike https://sst.dev/docs/ https://sst.dev/docs/ ? I wouldn't begrudge professional tooling companies trying to use consumer marketing to reach early-stage projects, when most early-stage projects are built by hobbyists, side-project-ists, professionals-who-arent-software-professionals, etc.
- lionkor 2y ago.. most? Im pretty sure you have a bias there. I see mostly software developers with degrees and jobs producing libraries and cool projects, very rarely is it the kid who never programmed before, or the 60 year old farmer who wants to try something new. I think you're biased by the fact that the latter generates more attention briefly.
- solatic 2y ago> I see I may be biased, but I wouldn't be the only one :) There are so many great new projects getting started in South America, Middle East, Asia, Africa being built by people from non-traditional backgrounds who see software as a ladder to a middle-class or upper-middle-class livelihood. Just because their products sell to markets you're not familiar with, doesn't mean they don't exist.
- Thorrez 2y agoThe video is a parody of marketing. If you want to criticize it for being irrelevant and that humor doesn't fit this situation, then sure. But saying it has similar marketing to consumer goods isn't really accurate.
- oulipo 2y agoIs this developped by Pulumi? Seems a lot of the extensions are made by Pulumi? Does this allow to create GCP / Gcloud stack?
- rhodysurf 2y agoYou can use any pulumi provider so you can kinda use it with google cloud but it wont be as nice as the AWS and cloudflare support they have. They dont pay any attention at all to GCP, which i get but its a shame because Cloud Run is the best container platform there is and def a better experience in many ways (cost, dx, etc) than running a freaking ECS cluster
- zoomzoom 2y agoIf interested in a similar product with GCP support, check out https://cncframework.com https://cncframework.com.
- taylornotswift 2y agoI really like SST compared to SLS because it is by far more featured and actually supports multi-cloud. This kind of cements that as you can deploy nearly anything with it now. But, if I was going to start a new project today, I would probably reach for SLS, because it is simpler and faster to get set up. I think SST sometimes gets in its own way with complex IaaC config; if I wanted to do all this then I would reach for Terraform, and part of the appeal of serverless is the low lift to getting to "deployed." So I think it's really cool that SST is adding all these things and exploring areas outside trad serverless to expand and grow new user bases. I also think this kinda sucks for people who have been with SST for a while and waiting for improvements to the DX for serverless (the functionality is there, the DX is not). I'm sure lots of thought went into this decision, but I still think it would be profoundly "worth it" for SST to tackle DX again, or for someone to build a wrapper around it.
- meekins 2y agoIn a sense the simplicity of SLS is a trap: immediately when you need to move past the synchronous lambda invocations via API GW use case (caching, service integrations, step function workflows etc) you need to either fall back to plain CloudFormation or rely on third party plug-ins with possible problems with maintenance, quality and feature-completeness. This makes it a difficult choice to recommend beyond simple use cases.
- taylornotswift 2y agoYeah this is one area it really struggles. I built a harness (using SST, actually!) for things like step functions, background jobs, cron-ed tasks that I'll try to open source once I clean it up a bunch. I kind of see that as an unforced error on SLS's side as well; AWS EventBridge is pretty simple and would make those types of workflows possible, but the integration with SLS is really rough.
- thdxr 2y agocan you share more about what DX is missing? v3 i think has parity with v2 minus wide support for non-js runtimes
- usagisushi 2y agoSST (v3, ion) is awesome! Its live Lambda debugging feature totally changes the way I develop Lambda functions. It has the potential to be a cloud vendor-independent alternative to AWS Amplify Gen2. Since SST allows you to use Pulumi code, you can code your infrastructure extensively even if some resources are not directly supported by SST itself. However, for such usage, it also has rough edges inherited from Pulumi. For instance, I encountered issues with cyclic dependencies [1] between resources and incomplete deployments. It would be great if I could run the Pulumi CLI against my SST stack. [1]: https://github.com/pulumi/pulumi/issues/3021 https://github.com/pulumi/pulumi/issues/3021
- andrew_ 2y agoWould you trust a company whose founder dances in pajamas like Elaine Benes with an open laptop to deploy your infra? Sus, very sus.
- heyitsdave 2y agoyes
- acomms 2y agoI am genuinely curious about this. I am contemplating somewhat zany marketing tactics for a project I'm working on. In your mind does fun =/= trust?
- trevor-e 2y agoI think it depends entirely on the product/audience. The selling points around infrastructure tooling are stability and reliability. Zany marketing like this invokes an "unpredictable" feeling in me which I'm not sure is a good fit.
- wg0 2y agoI'd be more concerned about pricing and vendor lock-in. Haven't tried SST though. I doubt if it works always flawlessly because even plain old terraform might get stuck in complicated dependency graphs failing to destroy or create/recreate resources.
- wagslane 2y agoyes. also, let's be clear... dax ain't the founder
- tnolet 2y agoWhy not just use Pulumi? The code would be almost exactly the same? import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws"; const cluster = new aws.ecs.Cluster("my-cluster", { name: "my-cluster", }); export const clusterName = cluster.name; https://www.pulumi.com/registry/packages/aws/api-docs/ecs/cluster/ https://www.pulumi.com/registry/packages/aws/api-docs/ecs/cl...
- thdxr 2y agothat's creating the raw ecs cluster these components have 1. adding services that can auto scale 2. specifying load balancing config 3. automatic service discovery registration 4. network tunnel to access vpc resources from your machine 5. typesafe resource linking to access your resources in your application code 6. dev mode which brings up your system locally in a single multiplexed terminal UI not pitching - just listing out why we bother doing anything. pulumi is great and if you want a more low level experience you should use it
- unchar1 2y agoAccording to their docs, SST uses Pulumi under the hood [1] It's supposed to be a bit easier for developers to pick up, but you should be able to achieve the same thing with Pulumi AFAIU [1]: https://sst.dev/docs/#faq https://sst.dev/docs/#faq
- datadeft 2y agoDoes Pulumi still use Terraform under the hood?
- benry1 2y agoI'm a big fan of SSTv2, I've built most of my production services around it the last couple years. I'm excited to try out Ion and I think containers are a great addition.
- joshmarinacci 2y agoI was really hoping this was about shipping containers on Super Sonic Transport. Perhaps I’m jaded with software.
- andrew_ 2y agoCame here thinking it was containers for Seriously Small Trucks myself
- coronapl 2y agoI'm really happy to see the SST team pushing this forward. A few months ago, I wrote about how SST is becoming a flexible framework that lets you start with a simple serverless approach and easily migrate to containers. This is my blog post in case someone is interested: https://pablosblog.dev/posts/1 https://pablosblog.dev/posts/1
- GiorgioG 2y agoWe use this at work, steer clear. Support for Windows is an afterthought.
- papa_mia 2y ago[dead]
- voat 2y agoI wish there was more on the philosophical change from server less to containers. And on the video, I like it And the docs are very nice
- createaccount99 2y agoWhy would you wish that, isn't serverless bound to be cheaper almost always, considering you don't have containers idling around for nothing 247
- douglasisshiny 2y agoI've played around with sst v2 and now v3/ion for side projects and like it a lot. Is there a timeline/roadmap for supporting the languages noted on the bottom of the post?
- abrookewood 2y agoWhat is SST? "SST is a framework that makes it easy to build modern full-stack applications on your own infrastructure. What makes SST different is that your entire app is defined in code — in a single sst.config.ts file. This includes databases, buckets, queues, Stripe webhooks, or any one of 150+ providers." See: https://sst.dev/docs/ https://sst.dev/docs/
- rswail 2y agoI tried Pulumi 5 years ago because the idea looked cool and you could write code instead of HCL and apply things like loops etc. However, the problem I found was that a Pulumi provider has two "sides", one is on the Pulumi side of the provider, which sets up resources to be created, but doesn't update them with the details of what's been created. Example (may not be entirely accurate): You create a VPC, but then you want to use the default subnet as an input to another resource. You can't find out that subnet's information because when Pulumi runs, the "script" side doesn't get updated by the result of the VPC creation, so the information like the default subnet is "inside" the provider and not available to the user's script. Terraform updates the resource that has been created with the information from the creation, so you can access the underlying AWS information in further resources.