SST: Container Support
SST has added native support for containerized applications on AWS, introducing new components for deployment, enhancing the CLI for local development, and planning future support for more programming languages.
Read original articleSST has expanded its platform to include native support for containerized applications on AWS, in addition to its historical focus on serverless applications. This update introduces a new set of components designed to facilitate the deployment of containerized applications using AWS services like ECS and Fargate. Key components include the Cluster and Service, which streamline the deployment process and configure service discovery. The VPC component simplifies the creation of a virtual private cloud for container applications, with options for adding a bastion host or NAT gateway. While the pricing model for these components differs from the pay-per-use model of serverless components, efforts have been made to ensure cost-effectiveness. The CLI has also been enhanced, allowing local application development and enabling connections to VPC resources through the new tunnel command. Additionally, the SST Console now provides logs for containers and supports autodeployment within the same VPC. Tutorials have been updated to assist users in transitioning to container deployment, with plans to extend support to more programming languages and frameworks in the future.
- SST has introduced native support for containerized applications on AWS.
- New components facilitate deployment using ECS and Fargate, including Cluster, Service, and VPC.
- The pricing structure for container components is more traditional compared to serverless components.
- CLI enhancements allow local development and VPC resource connections.
- Future updates will extend support to additional programming languages and frameworks.
Related
The end of the Everything Cloud
AWS is deprecating several lesser-used services under new leadership, focusing on profitability and core offerings. This shift raises concerns about the longevity of new services and customer uncertainty.
AWS freezes CodeCommit, Cloud9, SimpleDB and more
AWS has stopped onboarding new customers for several services, including CodeCommit and Cloud9, effective June 6, 2024, leading to customer frustration and concerns about future integrations and service continuity.
Cozystack v0.11 Open Source platform has been released: S3, tenant isolation
Cozystack version 0.11 introduces S3 support, enhances tenant isolation, updates the user interface, improves documentation, and upgrades components like Cilium and LINSTOR for better functionality.
Behind AWS S3's Scale
AWS S3, launched in 2006, supports 100 million requests per second, stores 280 trillion objects, utilizes over 300 microservices, and offers strong durability and data redundancy features for cloud storage.
A brief history of our serverless future
AWS Lambda's 2014 launch marked a pivotal moment in serverless computing, evolving from skepticism to recognition. The term "serverless" differentiates services without server management, highlighting AWS S3's key features.
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.
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.
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.
--
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 !
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/cl... const cluster = new sst.aws.Cluster("MyCluster", { vpc });
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.
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.
Does this allow to create GCP / Gcloud stack?
Is there a timeline/roadmap for supporting the languages noted on the bottom of the post?
And on the video, I like it
And the docs are very nice
Related
The end of the Everything Cloud
AWS is deprecating several lesser-used services under new leadership, focusing on profitability and core offerings. This shift raises concerns about the longevity of new services and customer uncertainty.
AWS freezes CodeCommit, Cloud9, SimpleDB and more
AWS has stopped onboarding new customers for several services, including CodeCommit and Cloud9, effective June 6, 2024, leading to customer frustration and concerns about future integrations and service continuity.
Cozystack v0.11 Open Source platform has been released: S3, tenant isolation
Cozystack version 0.11 introduces S3 support, enhances tenant isolation, updates the user interface, improves documentation, and upgrades components like Cilium and LINSTOR for better functionality.
Behind AWS S3's Scale
AWS S3, launched in 2006, supports 100 million requests per second, stores 280 trillion objects, utilizes over 300 microservices, and offers strong durability and data redundancy features for cloud storage.
A brief history of our serverless future
AWS Lambda's 2014 launch marked a pivotal moment in serverless computing, evolving from skepticism to recognition. The term "serverless" differentiates services without server management, highlighting AWS S3's key features.