https://serverless-stack.com/ logo
#random
Title
# random
t

thdxr

01/21/2022, 7:45 PM
What would you guys think of SST stepped a bit more towards offering a backend framework. Nothing crazy and it would be totally modular but basically providing more application level structure instead of just being on the infrastructure side? Is this useful or are you here because you specifically want to handroll everything in the application?
d

Devin

01/21/2022, 7:48 PM
Isn’t this what constructs are supposed to do. How would this fit into that?
r

Ross Gerbasi

01/21/2022, 7:49 PM
I have appreciated the lack of rules, letting me build things out how i like. Though maybe this is a different project SST-Framework that is very opinionated and focused on repeatable scenarios for a dev team could be valuable. As always, its gonna be hard to please everyone 🙂
t

thdxr

01/21/2022, 7:51 PM
Right now we mostly offer infrastructure primitives. We'll continue to do that and let people assemble those into apps however they want. But if we also primitives for your application (eg for permissioning, loading config, middleware for API reqs, etc) is this appealing or do you already have other libraries you glue together for this kind of thing
r

Ross Gerbasi

01/21/2022, 7:52 PM
I took a look at middy, but eneded up rolling my own handler middleware to deal with auth, errors, etc. Might be cool if ya have one, but its gonna be tough as mine does seem to be custom built to our needs...
a

Ashishkumar Pandey

01/21/2022, 7:52 PM
Make it a separate project which builds upon SST, kind of how prisma has multiple projects. This would be crazy good, I’m high lol!
t

thdxr

01/21/2022, 7:53 PM
Yeah it would be a separate project, we're kinda already starting to do it but now I'm thinking about how far we should take it
For example if this framework is built on top of graphql, we could provide out of the box integration with cognito to do auth + expose all your user data to query / update as part of the graphql schema
a

Ashishkumar Pandey

01/21/2022, 7:55 PM
The model / db part is a no brainer. If you could pair that with an implementation like prisma and ddb then it’ll just fly. Single table design is still quite foreign to most people.
Yep, auth is another problem that could be solved out of the box, some other issues you could look into would be monitoring, file uploads, caching, etc.
t

thdxr

01/21/2022, 7:57 PM
Yeah exactly, lots of common areas between apps we can solve if people are following an opinionated structure. File uploads is one thing we're already working on. And we have our console to make debugging these features easier
a

Ashishkumar Pandey

01/21/2022, 7:58 PM
data persistence done right would be the best thing though, it sounds easy but doing it right is difficult. I understand it is the most difficult of asks but it’ll be the game changer I believe.
t

thdxr

01/21/2022, 7:59 PM
Yeah that's probably the last thing we'd do haha. It's difficult to make something there that works universally, right now we're actually building with serverless RDS + kysely
a

Ashishkumar Pandey

01/21/2022, 8:03 PM
Yep, planetscale / cockroachdb support for kysely would be great as well.
m

Matt Morgan

01/21/2022, 8:18 PM
I think a lot of vendors will try this kind of thing. There are a lot of opportunities to move appdev away from the "big blob of compute and a database" approach and many folks will see advantages to being able to write an app that just intrinsically includes native services. I would make sure you're thinking about how to enable hybrid approaches for folks who need to extend your framework or use services you aren't covering. A black box approach would probably be tough to get right. We've seen grief from amplify users who can't implement single-table design as an example of this approach being too restrictive.
a

Ashishkumar Pandey

01/21/2022, 8:24 PM
@Matt Morgan very aptly said, extensibility would be a key factor in adoption and retention. That’s how ruby on rails became big compared to something like zend / laravel.
t

thdxr

01/21/2022, 10:12 PM
Yeah exactly, I personally am someone that is afraid of stuff like amplify, I prefer offering primitives rather than frameworks. I think serverless cloud is also building a fullstack framework like this
I picture this more as offering new application level primitives that work well with AWS constructs. Like we shouldn't all be writing the same SSM code to fetch secrets into our lambda
m

Matt Morgan

01/21/2022, 10:16 PM
Maybe you're thinking something somewhere between middy and amplify/serverless cloud.
t

thdxr

01/21/2022, 10:37 PM
Yeah just smooth out the rough edges in the day to day experience
vs saying here's a new rails/amplify
But it would require you to follow some opinionated things around how your project is structured, nothing too extreme though
a

Ashishkumar Pandey

01/22/2022, 2:38 AM
that makes sense, either structure or metaprogramming by using base classes to define what a class does those are probably the only ways to build such functionality.
t

Thomas Ankcorn

01/22/2022, 4:20 PM
I’d love this, serverless is crying out for some patterns that help people be productive and write great code! Looking forward to seeing what you come up with