Readit News logoReadit News
andout_ commented on Show HN: Encore – Type-safe back end framework that generates infra from code   github.com/encoredev/enco... · Posted by u/andout_
stackskipton · a month ago
As Ops guy, all infrastructure declared in application code eventually leads to crying if you get big enough.

That being said, I know we are expensive and "don't add to bottom line" so this looks like good enough hacky kludge as anything else.

andout_ · a month ago
Haha. We're not trying to replace Ops, just prevent teams from needing to build internal platforms before they can ship product. You can still modify all the provisioned infra directly in AWS/GCP console, or layer Terraform on top. We work alongside you, not against you.
andout_ commented on Show HN: Encore – Type-safe back end framework that generates infra from code   github.com/encoredev/enco... · Posted by u/andout_
mcintyre1994 · a month ago
I've only really used AWS at a startup, but this sounds kinda scary based on that experience just because it's so easy to configure services in AWS to cost you lots more. How does something like Encore figure out what to use for the nitty-gritty AWS config details without exposing the user to those decisions? I can't remember any really specific examples because it's been a while since I used AWS, but a smaller example would be something like configuring logging/time to keep logs.
andout_ · a month ago
Encore uses sensible defaults optimized for cost and performance (eg. reasonable instance sizes, log retention periods, backup schedules), but you have full control to modify anything. You can adjust configs per environment through the Encore Cloud dashboard or directly in your AWS console - it's all standard AWS resources (RDS, Fargate, etc.) in your account.

The goal is to start with good defaults so you don't have to think about every config detail upfront, but nothing is locked down. You can also set up approval workflows for any infrastructure changes that have cost implications before they're applied.

andout_ commented on Show HN: Encore – Type-safe back end framework that generates infra from code   github.com/encoredev/enco... · Posted by u/andout_
wgjordan · a month ago
SST has not been AWS-specific since Aug 2024 [1], it is now based on Pulumi/Terraform instead of CDK/CloudFormation.

[1] https://sst.dev/blog/sst-v3

andout_ · a month ago
Ah, been a while since I looked into it. Thanks for the correction!
andout_ commented on Show HN: Encore – Type-safe back end framework that generates infra from code   github.com/encoredev/enco... · Posted by u/andout_
ericmcer · a month ago
How could it even achieve that? GCP and AWS don’t follow some higher standardized setup. If you use GCP app engine nothing exactly like it exists in AWS, not to mention even similar services like s3 have totally different configs and behaviors.

If I really cared about that I would just use k8s instead of hoping an infra as code tool mapped all these services somehow.

andout_ · a month ago
We provide client abstractions for infrastructure primitives (databases, pub/sub, object storage, etc.). Your application code uses these abstractions, and the actual infrastructure configuration is injected at runtime based on the environment.

For example, your code references "a Postgres database" and Encore provisions Cloud SQL on GCP or RDS on AWS, handling the provider-specific config automatically. The cloud-specific details stay out of your application code.

And if you prefer Kubernetes, we can provision and configure GKE or EKS instead of serverless compute. The point is your application code stays the same regardless.

andout_ commented on Show HN: Encore – Type-safe back end framework that generates infra from code   github.com/encoredev/enco... · Posted by u/andout_
Etheryte · a month ago
What's the pricing model? Couldn't figure that out neither on Github nor on your webpage.
andout_ · a month ago
Encore (the framework and CLI) is fully open source and free to use. You can deploy anywhere by generating Docker images with `encore build docker`.

Encore Cloud (optional managed platform) has a generous free tier and paid plans for production teams that want automatic infrastructure provisioning in their own AWS/GCP accounts. You can find more details at encore.cloud/pricing

andout_ commented on Show HN: Encore – Type-safe back end framework that generates infra from code   github.com/encoredev/enco... · Posted by u/andout_
krosaen · a month ago
If there is a primitive not currently supported (say running a temporal workflow service) is it possible to define a new primitive for this? Just wondering what it looks like if/when you need something not currently supported.
andout_ · a month ago
You can just use the resource as you'd normally would and then use e.g. secrets to define the connection settings per environment. You would however need to provision the resource yourself for all your envs. We have a terraform plugin to help you automate it.
andout_ commented on Show HN: Encore – Type-safe back end framework that generates infra from code   github.com/encoredev/enco... · Posted by u/andout_
ForHackernews · a month ago
This an interesting idea, but I'd be skeptical of having this much coupling between application code and infrastructure. It's like an anti-12 Factor App.

It might make sense for something like a "serverless" app where the units of the business logic are intended to map directly onto cloud provider entities.

It reminds me of https://aws.github.io/chalice/ but cloud-agnostic and Typescript in place of Python

andout_ · a month ago
I'd argue it's the opposite of coupling. Your application code references logical resources (database connection, pub/sub topic, bucket) without knowing anything about the underlying infrastructure. Encore extracts these needs and a configurable planner transforms them into actual infrastructure.

The same application code can run locally (Docker), on AWS (RDS, SQS, Lambda), or GCP (Cloud SQL, Pub/Sub, Cloud Run) without changes. That's less coupling than explicitly configuring cloud-specific resources in Terraform or even using cloud SDKs directly.

Re: Chalice - similar idea but Chalice is AWS-only and focused on serverless functions. Encore is cloud-agnostic and works for any backend architecture (monoliths, microservices, containers, functions).

andout_ commented on Show HN: Encore – Type-safe back end framework that generates infra from code   github.com/encoredev/enco... · Posted by u/andout_
fulafel · a month ago
How does it compare with SST?
andout_ · a month ago
SST is AWS-specific and focuses on infrastructure-as-code for serverless apps (CDK wrapper). Encore is cloud-agnostic and works by parsing your application code to understand what infrastructure you need, then provisions it automatically on AWS, GCP, or locally. SST gives you more control over AWS-specific resources, Encore optimizes for development speed and portability. Different trade-offs depending on whether you're locked into AWS or want flexibility.

u/andout_

KarmaCake day86September 1, 2024
About
hi, i'm https://ivan.codes
View Original