Curious what's on people's minds right now with SS...
# general
t
Curious what's on people's minds right now with SST. Anything annoying you're working around or something you're trying to get to work?
s
all is well here so far! aside from all the stuff we’ve talked about previously (source maps, etc)
a
My prod setup is very simple right now, just a combination of Api, Table, Bucket, EventBus constructs. The EventBus was a huge plus, I was heavily using Topic and external cdk constructs before. I am hoping we can have ECS, Fargate and AppMesh Constructs soon to have another more resilient approach to serverless especially without the API Gateway. The API Gateway is a huge bottleneck.
d
SST itself? Not really anything much. But I do find that SST is becoming my first source of docs before I step into CDK docs. I got some WIP to add elasticache (redis) with cdk. Went to your doc search for something relating to a Cache construct to make things easier to setup. But I've resigned to reading all their related docs on elasticache https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticache.CfnReplicationGroup.html and friends
t
What do you imagine SST doing for those constructs? Mainly reducing boilerplate to setup? https://serverless-stack.slack.com/archives/C01JVDJQU2C/p1629312777130100?thread_ts=1629312064.129700&cid=C01JVDJQU2C
s
@Ashishkumar Pandey are you not able to access AWS services directly from the front end by using Cognito?
a
@Dennis Dang elasticache is so expensive, you should look into upstash or even dynamodb.
@Sam Hulick I’m not using Cognito, I built my own Auth stack using Api and Table Constructs. My auth requirements were extremely simple and modifying Cognito with triggers was an overkill for me.
t
^ I've been thinking about this a lot as well. I'm trying to be good about using as many AWS services as possible but Cognito ended up being more custom code (I use passwordless auth) than having written it myself. I'm wondering if I'm being irrational using it especially given its lack of modern features
s
ahh, gotcha. Cognito has been awesome so far. I love that I can invoke Lambda functions directly from the front end when it makes sense. or push things into SQS, etc. definitely cuts down on latency from # of round trips
the only thing on my Cognito wishlist is U2F FIDO support
d
@Ashishkumar Pandey indeed it's pretty expensive! Interesting idea to use dynamodb - i'll have to do some extra comparision. And dynamodb has TTL built in! Niceee. I'm implementing an idempotency key for our payment request endpoints. As a SOC2 and PCI compliant company, upstash may not work.
a
@thdxr so to have a serverless API using ECS with Fargate you need to create a vpc then create an ECS cluster and setup fargate to use that cluster. In case you have multiple containers of those services, you need to manually add ALB before them and register them to the root ALB. Using AppMesh removes this need and provides your root ALB with service discovery. Yes, so generally it cuts a LOT a boilerplate. I mean just imagine having a EcsApi Construct which would just setup all this for you and then you could add ecs tasks to the EcsApi using an EcsTask construct. It would be crazy unbelievable. Everyone would just stop using Api Gateway for production needs.
d
I’m planning on setting up a Shopify App using SST. That’s my project for this weekend. I’ve no idea where to start, but it seems like an awesome use case
t
Ahh interesting. Your ECS tasks, are they docker containers? And if so how are you testing locally
a
@Dennis Dang dynamodb is great, if you need even higher read throughput you could integrate DAX too.
@thdxr the very interesting quality of Fargate is it could use EC2, EKS or ECS for the tasks. Currently, I’m running them on EKS via a kubectl utility called Skaffold. I don’t run docker locally, it’s a lot of overhead and setting up certs, hosts etc is irritating. I completely want to move away from writing those kubernetes yml configs.
t
Ah gotcha. My friend actually was the lead on Skaffold 😄 cool to see it being used for real
a
Thank him for me, I work with ease because of that utility.
j
@Devin that’s cool to hear! I think @Mike McCall was building a Shopify app with SST as well.
m
@Jay @Devin this is true and I still am!
j
Nice, this isn’t on topic but it would be cool if you can share some tips on building a Shopify app with SST. Or a blog post on it!
d
Hey @Mike McCall we should chat some about putting an SST Shopify app together? I’d love to learn about what you’ve done already so I don’t have reinvent the wheel
m
@Devin hell yeah! Actually finishing up the sale of a Shopify app this week 😎 . I'll DM you.
@Jay I'd be happy to share some experiences. It'd be cool to show something "live" serverless built with SST 🚀
j
Awesome! Yeah let me know and we’ll share it through the newsletter and Twitter.
g
For me SST needs some speed up and I think it consumes much system resource. I use it together with webstorm and sometimes RAM reach 4gb of usage and make my mac very slow
t
Hey it would be really cool if I could serve a static website via api gateway, and then in development proxy it to a local development server. Is that on the roadmap at all?
r
@gio I wonder if this is a WebStorm thing, a colleague has this problem on WebStorm on Linux but running VSC on Mac or Windows is fine
c
@thdxr As a someone new to SST and relatively new to serverless architecture best practices, additional investment in documentation and guides (e.g. updating the current guide to use SST) would be the biggest help. I love how active the product’s continued development and community are, but providing more tools that help onboard & orient new users will make all the work that’s been done to date more valuable as well.
s
Hi, I struggle a bit with your typescript documentation. You public API is not documented in the code. Let's take for example Api.attachPermissions, not a single hint how to use it. I have to refer to the sst documentation instead of the source code. I understand typescript != java. However short API description with samples in the source code would help me tremendously.
j
@Slawomir Stec Just to clarify. You’d like some samples as comments in the source code?