has ya’ll considered <https://github.com/localstac...
# general
b
has ya’ll considered localstack at all? or more broadly, is it really true that serverless first organizations really don’t muck about with local development, and rely on cloud-side resources? (I’ve yet to find any serverless dev who spouts “pure” local development - ie. with localstack or similar)
maybe I’m just getting old, but it’s just always felt very weird to me - counter to decades of experience in testing and developing locally.
r
I reckon most in here are in the process of migrating from sls to sst where you can have the best of both worlds. Cloud resources access from a locally running lambda
b
I understand
sst
has a really nitfy approach where I can still get live-updates to my deployed lambda as I edit (which I still want to figure out how its done)
yeah, it’s fair
we used sls’ cloudside plugin for a bit, to do similar.
r
My experience of localstack and sls offline was one of frustration, nothing quite works as you hope and you get no confidence that when deployed for real things like permissions are going to be right
b
yeah.. was similar for us. re-*wiring SDKs, only for local development always felt a little blah - let alone hoping that your lambda events could even be targeted by the localstack (like dynamodb streams, or sns subscriptions etc) a lot of user-land plugins to hope support you
t
My perspective probably represents an extreme so take it with a grain of salt. Serverless is a brand new type of architecture so a lot of things we're used to should look a lot different. Localstack seems like trying to recreate the old way of doing things (running services locally) and it's a cat and mouse game for them to keep up with AWS's changes. Serverless native development should be done as much in the cloud as possible to mirror a production environment. There are some cases where this is impractical (which is why SST live debugging exists or a local dynamodb instance) but even in these situations we want to run as little as possible on the developer's machine. SST takes a lot of effort to make sure the code executing locally thinks it's in AWS. This model steps us closer to closing the gap on "works on my machine but not in prod"
I even got rid of the concept of local environment variables and store developer environment variables in SSM per developer. Lets other people look at things to help them debug and easy to switch between devices
r
"I understand 
sst
 has a really nitfy approach..."
- exactly that. Your code runs locally but accesses and is accessed by real resources inside of AWS. Live reloading and step through debugging in a real cloud env are suddenly possible
b
“_SST takes a lot of effort to make sure the code executing locally thinks it’s in AWS_”
should be on docs imho
and @thdxr I don’t think your opinion is all that extreme, I get it from my own dev team and it seems to be the unspoken attitude of most the movers in serverless.
I ask every serverless dev I meet, and they all say the same thing - but I do think that’s a well put articulation
“Serverless is a brand new type of architecture so a lot of things we’re used to should look a lot different.”
maybe I’m just asking for permission, or some other OG dev to tell me “yes, it feels weird but this is what. serverless-first looks like”
the cloud is critical part of your application, no longer just hosting or storage - so why would you expect to run it purely locally (without having to fight that arms race to keep a local mirror of the largest web-services company in the world?)
(I’m guessing AWS is)
ok ok
thanks for the sanity check
needed confidence so I can go convince the OGs on my team this is the way
send them this
b
lol, better than what i was looking at

https://media.giphy.com/media/Ld77zD3fF3Run8olIt/giphy.gif

r
I think the easiest way to convince somebody is to create a simple SST application tied to an API Gateway. Stick a break point in there, call it from Postman, watch the breakpoint get hit
b
lol I mean, I haven’t convinced my team to switch yet - need to show them a bit more
r
that has been the "ah ha" moment for my team
b
but that is a huge selling point, we’re already doing most of what sst does, but with home-brewed solutions
t
Appreciate you spreading the word 🙌🏽
r
and how often have you done that, deployed and then it doesn't work because service A isn't authorised to talk to service B?
(maybe that's just me!)
b
yeah, it’s usually IAM that people cite as why “pulling the cloud down onto your machine sucks”
for us it’s like.. all of the interconnected-ness - eventbridge, sns, dynamo, and lambda - all streaming together - application code is really only at the final step.
(if you’re thinking like a traditional approach, where infrastructure isn’t part of your “application code”)
r
yeah
b
aws-cdk (and sst) really go all the way, and blend the two - premium
anyway
it’s an interesting discussion, thanks
t
The permissioning thing is so real. I love the new workflow where I can just debug permissions progressively entirelly locally
b
not to mention static analysis becomes trivial
much easier for me to interrogate constructs than it is cloudformation directly
o
I’m waiting around for the day that I can ditch my huge noisy macbook, cos my vscode is running in a browser against a dev box in the cloud. I feel like the toolkit is coming together now
Anyone tried running SST from Github codespace to AWS?
t
That's the one thing I'll never give up. I'm on an overpowered desktop with Linux
o
Haha blasphemy - used to have a gaming PC but now living the truly serverless way with Stadia & GFN
b
I’ve had advisors and such tell me to go fully remote - I work in a regulated industry so it does make some sense.
but put barriers between your devs and their preferred work-style at your own peril
(I dunno ’bout ya’ll - but some of my devs really tweak their vscode - half of the projects I clone have very fancy colors lol)
and.. given we all use microsoft these days (vscode, typescript), first real options would probably be ontop of Azure, not AWS
gg