Top
Best
New

Posted by shaicoleman 15 hours ago

Floci – A free, open-source local AWS emulator(github.com)
223 points | 66 comments
cebert 11 hours 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.

hrmtst93837 2 hours ago||
An official local emulator sounds nice until AWS has to explain why S3, IAM, or Kinesis behave a little differntly on your laptop, because the minute it's blessed people will treat every mismatch as an AWS bug, not a dev-time compromise.

AWS don't want that support nightmare.

hendry 4 hours ago|||
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.

dgxyz 59 minutes ago|||
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.

redserk 28 minutes ago||
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.

LTL_FTC 8 hours ago|||
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
adobrawy 7 hours ago|||
CloudFlare for their serverless offering did it, and it works decent.
hrmtst93837 3 hours ago|||
[dead]
hmartin 10 hours ago||
They should... put work into sacrificing revenue?
bensyverson 9 hours ago|||
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.
fabianlindfors 3 hours ago|||
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
Onavo 6 hours ago|||
It's even easier for their revenue if you have to provision dev AWS environments for everyone.
boomlinde 6 hours ago||||
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?

borplk 9 hours ago|||
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.

hmartin 9 hours ago||
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.

shrikant 2 minutes ago|||
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!
boomlinde 6 hours ago|||
If it's irrelevant whether or not individual developers are on board, why are Amazon offering a free plan?
Longwelwind 2 hours ago||
Those kind of tools are futile endeavors to me.

If you want to use that for unit testing, then I think it would be better to mock the calls to AWS services. That way you test only your implementation, in an environment you control.

If you want to use that for local development, then I think it would be better to provision a test environment (using Terraform or any other IaC tool). That way you don't run the risk of a bug slipping into prod because the emulator has a different behaviour than the real service.

localhoster 37 minutes ago|
Also would like to add, that you might experiance bugs on "local env" while it will work on AWS.
wiether 6 hours ago||
A few notes about "local AWS" (or "local cloud") based on other comments and my own XP:

- I'm not sure this kind of product is really a foot in the door to create new customers. Someone not willing to create an actual account because they have no money or they just don't want to put their card details is not someone who's going to become a 6 figures per year customer, which is the level to be noticed by those providers.

- The free tier of AWS is actually quite generous. For my own needs I spend less than $10/year total spread around dozens of accounts.

- If one wants to learn AWS, they MUST learn that there are no hard spend limits, and the only way to actually learn it, is to be bitten by it as early as possible. It's better to overspend $5 at the beginning of the journey than to overspend $5k when going to prod.

- The main interest of local cloud is actually to make things easier and iterating faster, because you don't focus on all the security layer. Since everything is local, focus on using the services, period. Meanwhile, if you wanted to rely on actual dev accounts, you need to first make sure that everything is secure. With local cloud you can skip all this. But then, if you decide to go live, you have to fix this security debt and it most often than not break things that "work on my computer".

- Localstack has the actual support of AWS, that's why they have so much features and are able to follow the releases of the services. I doubt this FOSS alternative will have it.

regularfry 5 hours ago||
Security is the entire reason I want tools like this. Specifically for emulating IAM: if you've got a hard organisational "least privilege" mandate then you start with virtually nothing allowed and have to enable permissions for the explicit set of API calls you're using. You're not doing `Allow :` but you're also not using AWS-managed roles. That combined with the fact that - certainly with terraform - there's no mapping between "I need to manage this resource" and "these are the permissions needed to do so" means that every time you do something new in your infrastructure you're going into a game of permissions whack-a-mole where the deploy/fix/deploy cycle can easily take a multiple of the time it took to develop the feature you want to deploy, because one trip round the loop is a full attempted deployment. Whereas if there's an accurate local emulator not just of the feature but of the permissions attached to it, you can shortcut the slow bit.

Localstack does have IAM emulation as part of the paid product. I'm intrigued to see how well this does at the same thing.

CSDude 4 hours ago|||
A major use case for LocalStack is CI/CD.

When you're running hundreds of integration test suites per day in CI pipelines, the free tier is irrelevant. You need fast, deterministic, isolated environments that spin up and tear down in seconds, not real AWS calls that introduce network latency, eventual consistency flakiness, rate limits, and costs that compound with every merge request.

It'd be great to just use AWS but in practice it doesn't happen. Even if billing doesn't, limits + no notion of namespacing will hit you very quickly in CI. It's also not practical to give every dev AWS account, I did it with 200 people it was OK but always caused management pain. Free tier also don't cover organizations.

> they MUST learn that there are no hard spend limits, and the only way to actually learn it, is to be bitten by it as early as possible

This is a bizarre take. "The best way to learn fire safety is to get burned." You can understand AWS billing without treating surprise charges as a rite of passage.

cyberax 5 hours ago||
The main use case for local emulators is unit testing. Maybe even some integration testing, especially for stuff like VPC setup that often can't be done without global side effects.

Security for dev accounts is not a big deal, just give each developer an individual account and set up billing alerts.

wiether 5 hours ago||
> Security for dev accounts is not a big deal, just give each developer an individual account and set up billing alerts.

If your only focus is spending, yes.

Otherwise, a "not a big deal" dev account can quickly become the door to your whole org for hackers

cyberax 3 hours ago||
It really depends on the way you set it up and use it. Raw EC2 instances are obviously the most dangerous items.

RDS databases, DynamoDB, and S3? Much less so.

wiether 3 hours ago||
> you set it up and use it

That's my point: I'm not the one setting it up and using it, it's the devs using it

And I'm not expecting them to know how to navigate a cloud provider securely.

So it's either setting the dev account with all the required guardrails in place, or using "local cloud" on their computer

localhoster 40 minutes ago||
IDK, I never fancied using local emulators for stuff like the cloud, as others have pointed out, for UT you can mock cloud services, and for localdevelopment you should intercat with the cloud.

Hiding bad system design behind another docker container will not push you to the right direction, but the opposite.

In addition this is def vide-coded (50k loc in one week) so I don't see how can one trust this even.

QGQBGdeZREunxLe 13 hours ago||
> LocalStack's community edition sunset in March 2026 — requiring auth tokens, dropping CI support, and freezing security updates. Floci is the no-strings-attached alternative.
mhitza 12 hours ago||
This project would be comical if it takes off. In Romanian this name means "a small pile of hair", but informally it's only used as a synonym for pubic hair.
Telemakhos 11 hours ago|
In Latin it's a tuft of wool, best known for expressions of valuelessness like "flocci non facio," meaning 'I don't consider it worth a tuft of wool.'
stevekemp 3 hours ago||
Looking at the features this seems to be an awesome project, but the commit history (even on the develop branch) shows almost nothing.

No pull-requests, no real issues, it smells like it was auto-generated which is disappointing. Makes it harder to trust if you're going to test with "real data", how do we know it won't be sent elsewhere?

thedelanyo 3 hours ago||
Could also be a vibe coded project.
colechristensen 3 hours ago||
I don't understand why you'd be making this comment when the commit history shows this whole project is a week old.

>how do we know it won't be sent elsewhere?how do we know it won't be sent elsewhere?

I the past open source meant that you trusted in theory that someone else would notice and report these things. These days though just load up your LLM of choice and ask it to do a security audit. There are some unreliable ways to cheat this and they aren't magical, but it would be pretty hard to subvert this kind of audit.

stevekemp 1 hour ago||
It is usual for a new project to start small, and slowly add new features. Instead this project seems to arrive "fully formed".

There is no "this is the core, then we add S3, then we add RDS, then we add ..." history to view and that seems both unnatural and surprising. Over half the commits are messing around with github actions and documentations.

fxwin 4 hours ago||
Seems pretty similar to this from a few days ago (but with lower coverage from what i can tell):

https://news.ycombinator.com/item?id=47420619

https://github.com/robotocore/robotocore

operator_nil 11 hours ago||
This is exactly what I was waiting for.

Although I love localstack and am grateful for what they have done, I always thought that an open community-driven solution would be much more suitable and opens a lot of doors for AWS engineers to contribute back. I’m certain that it’s on their best interest to do so (specially as many of their popular products have local versions)

It’s a no-brainer to me as AI adoption continues to increase: local-first integration testing is a must and teams that are equipped to do so will be ahead of everyone else

zach_vantio 11 hours ago|
100% this. especially with agentic workflows actually mutating state now. local testing is the only safe way to see what happens when a model hallucinates a table drop without burning an actual staging database.
thezenmonsta 4 hours ago|
Local AWS emulators are one of those tools where the value is inversely proportional to how much you trust your staging environment. If your staging account perfectly mirrors prod, you don't need a local emulator. But nobody's staging perfectly mirrors prod, so you end up needing something like this for the fast feedback loop on IAM policies, Step Functions state machines, and anything involving SQS/SNS fanout where the iteration cycle against real AWS is measured in minutes per attempt. The question is always parity — how closely does the emulation match real AWS behavior at the edges? LocalStack has been chasing that for years and still hits gaps. Curious how Floci handles the services where AWS's own behavior is underdocumented.
hnlmorg 4 hours ago||
The point of tools like this is for development, not staging. By “development” I don’t just mean developers writing code, but any unit tests that require behavioural testing that cannot easily be mocked too.

So by the time you’re ready to push to staging you should be past the point of wanting to emulate AWS and instead pushing to UAT/test/staging (whatever your naming convention) AWS accounts.

Ideally you would have multiple non-production environments in AWS and if your teams are well staffed then your dedicated Cloud Platform / DevOps team should be locking these non-prod environments from developers in the same way as they do to production too.

Bonus points if you can spin up ephemeral environments automatically for feature branches via CI/CD. But that’s often impractical / not pragmatic for your average cloud-based project.

rienbdj 4 hours ago|||
Ultimately you need staging, yes.

But you can’t have every dev tweaking staging at the same time as they work. How can you debug things when the ground is shifting beneath you?

Ideally every dev has their own AWS account to play with, but that can be cost prohibitive.

A good middle ground is where 95% of work is done locally using emulators and staging is used for the remaining 5%.

One of the first things I do when building a new component is create a docker compose environment for it.

cosmotic 4 hours ago||
Relying on staging means no offline development and also leads to toe-stepping. Cheap local implementations are great for consistent tests.
More comments...