Live data from Hacker News

Localstack – Local AWS Emulator

github.com

101–110 of 132 posts

Re: Localstack – Local AWS Emulator

#101
post #49

Earlier quoted context omitted.

+100 Another example to add to your list - the new AWS CLI v2: > don't force me to download a 30MB binary with embedded Python interpreter baked in, please just give us a pip package instead! ;)

Or better yet, rewrite it in Go to avoid both the fat blob and python dependency management at the same time!

i mean, the go binary would still probably be a bit large, but having a statically linked binary to copy around would be welcome.

Re: Localstack – Local AWS Emulator

#102
post #86

It's impressive what Localstack has been able to do to keep up with AWS. However for my own projects, we consider local development like this an anti-pattern. IaC tools like Terraform/CDK/SST make it easy to spin up environments for each developer in the cloud. This may sound crazy at first but would recommend giving it a shot. If you're fully taking advantage of managed AWS services the best development environment…

[deleted]

Re: Localstack – Local AWS Emulator

#103
post #86

It's impressive what Localstack has been able to do to keep up with AWS. However for my own projects, we consider local development like this an anti-pattern. IaC tools like Terraform/CDK/SST make it easy to spin up environments for each developer in the cloud. This may sound crazy at first but would recommend giving it a shot. If you're fully taking advantage of managed AWS services the best development environment…

I'd like to better understand how you define local development specifically as an "anti-pattern". What are your criteria for using that term, and what other examples might also fall into a similar category?

Re: Localstack – Local AWS Emulator

#105

I’ve been saying for a couple of years whoever builds a tool to one click deploy an AWS alike to run on local bare metal has built the next billion dollar a year company. I know of a lot of big shops that are desperate to get out of the cloud due to 7-8 figure AWS bills but their software and engineering is too tightly wound into AWS tooling.

But AWS is huge. They employ thousands of engineers. Granted most of the complexity is due to its huge huge scale, but still it has too many features to do what youre asking. And then there are AWS exclusives like DynamoDB. Yes there are open source public/private cloud alternatives like OpenStack but they won't solve the problem of lock in and you'd still have to change all your tooling.

What's so exclusive about a half-baked Dynamo implementation? Dynamo is just a worse Cassandra. DynamoDB itself doesn't even implement the Dynamo Paper.

Re: Localstack – Local AWS Emulator

#106
post #79
post #69

Earlier quoted context omitted.

It's kind of stunning that starting with fully open technologies we build another closed mainframe on top of it. All that's old is new again.

Agreed, that's really stunning - seen the analogy of cloud as the "modern mainframe" come up more and more recently. I guess the (business) reason is that the centralized computing model enables enormous economies of scale. (Makes perfect sense from an operations point of view.) What it seems to miss in the current incarnation/iteration, though, is the "power of distribution" - leveraging the fact that local compute…

The reason why AWS got popular everywhere I worked was that you didn't need to get buying new hardware past ops. You just spun up your own, then when it was supporting half the business you pointed at it and said "Gee wouldn't it be nice if we had a box in our own data center to run it?" then there'd be a fire lit under the ass of ops and you'd get your computers in a week instead of next financial year.

Now it's exactly the same thing in AWS. My next guess is that you're going to be running production code on fleets of devs computers because you don't have to get extra budget for AWS next financial year to afford spinning up another instance.

Re: Localstack – Local AWS Emulator

#107
post #49

Earlier quoted context omitted.

+100 Another example to add to your list - the new AWS CLI v2: > don't force me to download a 30MB binary with embedded Python interpreter baked in, please just give us a pip package instead! ;)

Or better yet, rewrite it in Go to avoid both the fat blob and python dependency management at the same time!

Or put the API definitions into some database (sqlite, datascript + nodejs or babashka or nbb), then you can decide what http library or mocked http solution would you like to use, eg https://github.com/oliyh/martian

Most of the code is just a thin veneer over that information...

Re: Localstack – Local AWS Emulator

#108
post #97
post #86

It's impressive what Localstack has been able to do to keep up with AWS. However for my own projects, we consider local development like this an anti-pattern. IaC tools like Terraform/CDK/SST make it easy to spin up environments for each developer in the cloud. This may sound crazy at first but would recommend giving it a shot. If you're fully taking advantage of managed AWS services the best development environment…

> However for my own projects, we consider local development like this an anti-pattern. IaC tools like Terraform/CDK/SST make it easy to spin up environments for each developer in the cloud. But what do you test your IAC against? If you consider using something like Terratest, then combining it with LocalStack means you can run Terratest nearly instantly and test your IAC. Plus developers being able to run "AWS" loca…

We test it against real AWS deployments. With a proper multi-account strategy + SSO, there are no AWS credentials to leak + blast radius is limited.

The feedback loop is definitely a problem but projects like SST return the instant feedback loop to you.

Re: Localstack – Local AWS Emulator

#109
post #86

It's impressive what Localstack has been able to do to keep up with AWS. However for my own projects, we consider local development like this an anti-pattern. IaC tools like Terraform/CDK/SST make it easy to spin up environments for each developer in the cloud. This may sound crazy at first but would recommend giving it a shot. If you're fully taking advantage of managed AWS services the best development environment…

I'd like to better understand how you define local development specifically as an "anti-pattern". What are your criteria for using that term, and what other examples might also fall into a similar category?

Others have written about this better than I can, here's an article: https://dev.to/garethmcc/why-local-development-for-serverles...

Paul Swail has spoken a lot about this and has an upcoming book around the concept: https://serverlesstestinghandbook.com/

Re: Localstack – Local AWS Emulator

#110
post #109

Earlier quoted context omitted.

I'd like to better understand how you define local development specifically as an "anti-pattern". What are your criteria for using that term, and what other examples might also fall into a similar category?

Others have written about this better than I can, here's an article: https://dev.to/garethmcc/why-local-development-for-serverles... Paul Swail has spoken a lot about this and has an upcoming book around the concept: https://serverlesstestinghandbook.com/

I'm not sure I agree with the linked article, are there any other (accessible, and existent in the present) resources you used to arrive at this decision?

For one, the article assumes the tools you use to replicate your production environment locally aren't accurate; with localstack, they are accurate. It's seamless, truly. I recommend you give it a try instead of spending the extra cash to have your developers deploy into the cloud constantly.

Another thing to note is that this seems only true for a specific architecture, if you're writing serverless functions. Not everyone is or should be doing that, so I'm not sure "you should always test in the cloud" applies as a "context free" rule.

Finally, it sounds like the author had a lot of trouble getting his local environment to work. Maybe folks who have a bit more experience working with the technologies involved in their services don't have that problem, and it's a little arrogant to assume that, just because you had a problem, that it's a problem for everyone else, too.

Overall, I just don't think commenting, "This service nice, but using it is an anti-pattern" was quite as productive of a comment, in general, as you meant it to be.

Post reply on HN