Hacker News new | ask | show | jobs
by cebert 87 days ago
Cloud providers like AWS, GCP, and Azure should offer local emulators for development. This would encourage developers to utilize their services more.

I currently work with several AWS serverless stacks that are challenging or even impossible to integration test locally. While Localstack provide a decent solution, it seems like a service that AWS should offer to enhance the developer experience. They’d also be in the best position to keep it current.

7 comments

Ilove the emulation, but it will never come from the hyper scalers.

One issue is that local emulation runs into some big political rocks as soon as it gets good. To start with, the emulator is good enough and covers a tiny surface of what people want, eg k8s and s3. Resistance here is about customers experiencing issues caused by gaps in fidelity vs the real environment and subsequent pain for the emulator product team. ok, fine.

But then you get customers who take your emulator and use it in places where AWS cant go, eg, airgapped environments. They start asking for more serious features. But wait! another team in the hyperscaler was already trying to solve this, for far more than zero dollars. Azure Stack. Azure Local. AWS Snowball. Now there are VPs shooting at you because you are, in their view, cannibalizing their revenue.

You might try to avoid this war by emphasizing the dev sandbox aspect, selling to developers only and making sure that you only talk about APIs and stuff. Problem is, the API surface is 90% of why the cloud is useful (the other ten percent being the assertion that you don't have to think about it, which is an increasingly untrue proposition, as the reams of SREs will tell you). So now you have an emulator for the most valuable part of Cloud, in the hands of people who know how to use it and are strongly incentivized and capable of making it better, all running locally. It's a very small step to making that commercial and wiping huge chunks of revenue out, as your VP will tell you as they sign your pink slip.

Talking to devs, the most common thing I hear re emulation is a desire to be able to let rip on any service and not fear a giant bill. Since all clouds have budget tools I wonder why this isnt possible today? Maybe theres a weakness in the planning tools rather thanthe post-use budgeting ones?

I noticed an AWS engineer publish a local AWS suite https://github.com/local-web-services/local-web-services which seems comparable.

Great to see Localstack offset a bit thanks to ... AI driven shift left infrastructure tooling? This is a great trend.

Microsoft used to with their Azure Service Dev Kit. the ASDK was a single-node "sandbox" meant to emulate the entire Azure cloud locally. They may have something similar now but paired back
CloudFlare for their serverless offering did it, and it works decent.
I disagree with this entirely.

You should build your software around abstractions and interfaces which are portable enough to work locally and in AWS or any other cloud and not just AWS specific APIs.

I agree that this is what everyone should strive to do but this quickly hits a limit.

For example, IAM/S3/SQS policy evaluations can have profound impact on an application running but an abstraction wouldn’t help much here (assuming the developer is putting any thought into securing things). There just isn’t an alternative to these. If you’re rolling out an application using AWS-proprietary services, you have to get into vendor-specific functionality.

My point is you should not build on top of their native services if it incurs this problem.
it's a trade off, a risk. (sure, for many people it doesn't make sense, because they don't have scale or growth anywhere near the numbers where generic/abstracted is not efficient enough)
Azure does this and has amazing tooling for bringing it all together locally (Aspire)
They should... put work into sacrificing revenue?
If you have a local “digital twin” of the service, it makes it much easier to develop against using AI. This would likely drive adoption.
It's even easier for their revenue if you have to provision dev AWS environments for everyone.
Totally agree that AI coding makes this even more important. We are working on a coding agent-first cloud and a large part of that is ensuring everything runs locally so folks can let their coding agents define the infra and test it all
It's not clear that it would be a net-negative on the revenue.

It could encourage more development and adoption and lead to being a net-positive for the revenue.

It's a fair point but iff you neglect that the overwhelming revenue drivers for these services are large corps who are already locked-in. Devx doesn't matter at all once you're there.

The myopathy among us "online people" is assuming number of voices here and elsewhere correlate to revenue.

It does not.

Just fyi, myopathy is a general term for diseases that affect some types of muscles, while myopia is short-sightedness -- assuming the latter is what you were going for!
Thanks!
If it's irrelevant whether or not individual developers are on board, why are Amazon offering a free plan?
Without the infrastructure behind it to make it make sense, cloud platforms just seem like convoluted ways of storing data and launching applications/VMs to me.

The only functional use of a tool like this to me would be to learn how to use AWS so that I can work for people who want me to use AWS. Would that not be to Amazon's benefit?

Why would an emulator sacrifice revenue? It's like saying minecraft destroys construction businesses