> We’ve had our agents build many versions of this emulator as we’ve refined the building machine.
I'm curious how many versions they made and the token spend on each one. There are a lot of failure modes to projects like these (e.g. gas town endlessly developing itself). Is this more of a sly marketing stunt or a real indication that this methodology is practical and economical?
FYI I checked out the repo. `du --apparent-size -h` output for some dirs:
Nothing personal, but unless you can link us to a public announcement made by Amazon, your statement is worth less than nothing.
Official statements made by a company are still poor representations of their current business plans, and don't mean anything 3 months later (no matter how much they pinky promise). But a HN post isn't even that.
GP statement still stands, actually being strengthened. This blog post doesn't even mention nor seems to care about maintainability or long-term support or anything that users will care about. Only talks about how cool the team is and how amazing they're at using AI, multi-agent workflows, and this kind of bs. It's funny how author talks so much about testing when they themselves also boast how they haven't written or reviewed any of the code.
Additionally Swami, our SVP of AI blogged about it separately and our CTO is tweeting about it - which is more than a number of products get in terms of coverage.
I didn't mean announcing the tool, I meant an announcement committing to the maintenance/support that users like the GP poster were looking for. My bad on describing that clearly, I'm gonna get clowned on in the comments and I'm not turning this around.
I understood what you meant. I was just trying to add evidence to support my claim that it was a real product and would be maintained. And yeah, votes on comments can be fickle.
I think one thing that concerns many people is that this looks like AI slop, which it clearly is according to the blog post.
I think this is a super interesting direction, but how can we trust the accuracy of this simulator? Agentic loops are great and all, but they can still miss plenty of things.
Or maybe a better question: where is the accuracy of this simulator going to be guaranteed enough that we should trust it?
To me, something like this is actually what vibe coding thrives the best at; tight, looped, easily verifiable, test-driven dev work. In fact, this is probably the field it can do with little or no intervention, if you're willing to waste tokens.
Is it? How is it verified that this catches all the potential edge cases of interacting with AWS? Or is handling all the edge cases of AWS not in scope?
Like, what am I actually getting here? Is it just happy path operations being correct here?
In the near future, every case will be a real edge case and every one will be a guinea pig.
The border between AWS and AWS emulator becomes fuzzy. And the users of AWS will be agents as well. A completely offline emulator will save a lot of resources and could be a great training ground for more focused (offline) models.
Back in the day, we assumed that when a major company open sourced code, that code would have problems. We invented all these things like ‘issues’ to deal with this.
Until the plan changes, which at some point, it will. Comment is still appreciated for what it is.
Edit: Comment is in the spirit of "it gets tiring to build on sand which is at the whims of corporate management folks far disconnected from the actual work." If someone is asserting "this will stick around," words are insufficient, words are free. Show me the contract, show me the penalties for failure to abide by the assertion.
Google builds up a product over time and abandons it. This is annoying for long term adopters.
AWS has a habit of throwing a bunch of products at the wall, but only bothering to maintain & build up a few of them. This is annoying for early adopters.
Azure on the other hand. Will throw products out, ensure they are never consistent with other offerings on their platform, and then deprecate it from under you while promoting the same thing with a new name.
And Azure will send you an email every day about how you need to migrate X to Y without any way for you to know where those instances are or how to find them.
I think there was some truth in this in the early days of Azure (and all clouds) as the companies were looking to work out what cloud services were really needed. I don't see this as much any more though esp when a services makes it to GA they have published commitments for service availability and API compatibility. (I was in Azure for 10+ years so definitely let me know if you disagree)
Yeah I disagree. First of all, Azure is mostly garbage so avoid it if you can. Second of all, Azure deprecation follows Microsoft's general policy of deprecation which is The Fadeaway Policy. Don't publish anything publicly about it, gut the team to go work on something else, transfer the service to be one of 6 dozen other services some random offshore team is "maintaining", experience enough outages and trouble and during every support call they nudge you to move to something else, but the service is "totally not deprecated" because we haven't gotten a memo that says that, but we're only doing "security" fixes now. wink wink, nudge nudge.
Fine to disagree - but it would be better to share real insights rather than just blanket statements. Sounds like you have had some bad experiences - maybe you could share more?
Let me quickly compile a list of the last 700 failing bicep deployments with an “Internal Service Error” or No capacity errors along the all the no-op idempotent puts that take 30+ minutes for some reason, the broken networking system all up, the constant support advise to move to different regions, except half the things you use are not in that region, or the constant advice to just delete everything and start again or the half docs half marketing fluff docs. Azure only exists because large enterprise looks at a list of checkboxes before signing a contract. No reasonable person should ever use that garbage unless you’re offered deep discounts to do so, and even then, limit your usage to things you can migrate easily whenever the discount expires.
Amazon team killed the Copilot CLI[0] which I thought was the single best thing they ever did for AWS infra. Made it tolerable to deploy on AWS; still salty about this one.
Yes, we are still struggling with a good replacement. The way they handled this - from steady release cadence to complete stop with no info at all but just speculations makes me very reluctant to adopt AWS maintained projects.
There has been no food replacement as far as I can see that doesn't involve writing a pile of code for what Copilot was doing with a few lines of config.
You're certainly not wrong. But in the wake of Localstack's changes, the landscape has been full of slopware and low trust anyway. I don't think this is worse, for now at least.
Is there anywhere I can find a matrix of what services are emulated and how complete that emulation is? I tried the docs but just ended up going round in circles.
I believe AWS already autogenerates their API clients (e.g. boto3) based on some authoritative internal service api spec so I imagine that spec could be used upstream of this tool as well.
Except, this is not defined in schemas, this is merely defined in prose around the documentation.
So your Rust API is full of Option, and it gets really annoying when you're testing things like say Bedrock, which takes 10 minutes, and then fails because what you submitted 10 minutes before doesn't match their schema.
I understand this can be fixed by reading the documentation in more detail, but it has gotten so verbose, and sometimes you just want to start something.
Yeah whatever they did internally to get service teams to actually adopt AWS Config ~5 years ago needs to happen here or it’s going to get stuck with marquee services and that’s it. Especially given this is a much much larger ask of each service.
AWS has lots of unfunded mandates like this and they historically just depended on bleeding the souls of engineers and managers to get done.
I suspect this is built by agents through bleeding the soul of GPUs until it gets too expensive (unfunded mandates are free after all on the OP1/2). Then it just decays into the place all good PR/FAQs decay once their sponsors are promoted, burned out, or are laid off.
There are many AWS services. Simply offering an alternative to a few of the most used could be a good business. It doesn't have to cover all AWS in all release versions, just enough to get and hold some clients
Pass rates from the release's scores.json (commit 7753983), joined with the eval suite's manifest.jsonl. Tests = behavioral checks touching the service. All = overall pass rate. Happy/Reject = valid requests vs. requests AWS should refuse. Ctrl/Data = control plane vs. data plane. Solo/Integ = single-service vs. multi-service checks. Wire# / Wire% = count and pass rate of recorded request/response replay tests (a test passes only if every call matches).
I mock (ask Claude Code to make something run in a container) my own AWS services today for CI and development. I'm excited to learn more about how AWS uses it and hopefully use this for CI and development.
That is pretty much the key thing IMO. It needs to be able to run our actual code, locally, with fairly high fidelity to the real thing in terms of behavior.
For the AWS people behind this, it means going the extra mile(s), with a level of care and depth that you typically mostly see within great startups. Perhaps agentic coding will enable AWS to reach this, perhaps it will stay relatively abstract.
Good! Been waiting for a first party thing like this.
It’s actually interesting that such a thing exists. It’s in Amazon’s interest that the only way to test a lot of services is to have a test environment in AWS.
>> Skeptical of using because it's not clear whether this was just an exercise or a real product they are going to ship and maintain.
> It’s a real product that we plan to maintain.
29,684 commits in a repository less than a month old does not instill confidence in this being a "real product." That is roughly 1,000 accepted commits per day.
In my experience Floci has been the epitome of vibe coded - huge amount of changes, with things breaking randomly between releases. Moved away from it as soon as I could. Still better than Localstack :)
I didn't have a good experience with test containers, but perhaps it'd work better with fast starting containers. We run our test fixture with compose, and have the tests manage their data in isolation - so we don't pay the startup penalty in our test suites.
I think I'd trust this project at least as much as Floci. Embedded Rust mode also looks very interesting for us.
I only use Testcontainers with "explicit" tests (do not run by default in CI; must be run explicitly). This lets agents exercise the integration with a realistic fake locally, but does not incur the cost in CI nor for any dev unless they run it explicitly (usually also with a category so it's explicit + category filter)
No docs site linked on the GH. 3 weeks old. Blog post talks more about the process than the tool and opens with:
> How we built the agents that built AWS Emulator
> Thousands of autonomous AI agents wrote every line of code in AWS Emulator, a new local emulator for AWS now available for download.
Feels more like a science experiment than a product from that announcement.
Doesn't feel like a real product. But I also didn't look very hard for docs; I kind of expect it to be linked on the GH in the site and have a nice `llms.txt` for me to give to my agents.
There's a right way and a wrong way to assign a website URL in GH.
The team didn't even take the time to review these small details of the repo, you know, by editing the repository details to place the docs URL there.
I mean, I don't know about you, but I feel like I still like to see people care about the stuff they produce and missing something as basic as the repo website URL in GH settings shows a lack of polish and love.
Sure they are, but they could have polished their product and showed some love by configuring the repo details and put the website there. Did you look at the blog post as well? Does it look like a product that some team there loved and will care for? Or the output of some exercise for some enterprise content?
This post https://www.aboutamazon.com/news/aws/how-autonomous-ai-agent... doesn't set the right tone for me at all and it has nothing to do with agents and everything to do with the lens of looking at this as a science experiment instead of a real enterprise tool.
> they could have polished their product and showed some love by configuring the repo details and put the website there
This feels like such a weird nit-pick when AWS is criticized for not moving quickly enough. Why should I care if there's a link in the side bar, when there's plenty of links in the `README`? If anything, I'm happy that there's alternatives to Localstack that are supported by AWS themselves that I can begin incorporating. They have a well written `README` that I can start working with and a User Guide to get me started. What else could I want?
> Did you look at the blog post as well?
I did.
> Does it look like a product that some team there loved and will care for? Or the output of some exercise for some enterprise content?
Do you even have the grounds to cast judgement like this when you admittedly didn't even look hard enough?
I looked, but you're mistaking my critique here: I value polish.
This lacks polish.
Small details like getting your GH repo set up for a public audience. Lacking. Compatibility and support matrix clearly advertised? None.
If this public facing artifact exhibits a lack of care and love, what does it say about the code? I am all for vibe coding and agent software factories, but then the humans should show some love with all of that extra time saved.
You might want to reconsider how you present the critique then, because that's not how your root comment came across or any of your subsequent messages, especially when engaging with (presumably) actual AWS employees in this thread replying to you.
Do you agree that there's a polish here that shows a team's pride in that work that is clearly missing in this work?
> ...especially when engaging with (presumably) actual AWS employees in this thread replying to you
??? You and I are the customers. What even is this statement? Are AWS employees our benefactors? Wow. I do not care if their feelings are hurt because this "product" clearly shows a lack of polish and love.
> Do you agree that there's a polish here that shows a team's pride in that work that is clearly missing in this work?
No and I think the inverse is also possible and if anything more likely. You can make a website look really pretty, really easily and have the product still suck. This is "product as a slide" in a new age where making visual eye candy with AI has never been easier.
> I do not care if their feelings are hurt because this "product" clearly shows a lack of polish and love.
The point isn't about hurting feelings. The point is about providing critque and feedback based in reality, not based on "vibes." You're trying to gatekeep people releasing software because you dont like the way they're launching it lol.
If your complaint is about polish, you’re a very poor writer. It should not have taken this many replies to get that point out. But regardless of your communications skills, I disagree - this product looks fine for something released at this stage.
Not really. I was trying to use their own Q AI to help me get something set up and it was constantly wrong about what screens to go to, what was on the screens etc... If their own AI doesn't understand AWS, I don't have confident this will either.
"expressing a personal opinion, bias, or subjective viewpoint in a context—such as a news report—that is supposed to be strictly factual and objective."
How does the title do any of the above that makes it editorializing?
Hey, I'm one of the MiniStack maintainers. We'll definitely keep maintaining and running MiniStack. We're already well established, with many companies using it, including NVIDIA, NASA, Block, and others.
Until the AWS emulator can match all our current capabilities, such as multi-account, multi-region, IAM, running IaC, etc., we'll still be around
One of our core principles has always been to focus on supporting only the most commonly used services
Which is why they used AI to mock these APIs for you... too? I'd expect Amazon to feed it a lot of internal information so it has more to work with than anything someone else can cook up.
I think having an interface with your AWS implementation and one for test mocks has always been great advice. With this though, it helps enable better integration testing too. I consider this a testing compliment, but if I had to choose one these days, integration tests are cheaper and better hang for your buck than ever.
I'll continue to choose both though, depending on the thing being tested.
Localstack is no longer free and if you’re using it commercially you need to pay for a license. The free plan explicitly states that it is non commercial.
I was reminded of https://github.com/localstack/local-surf but two things materialized out of trying it out against my local aws-emulator build: AWS Console uses a proxy endpoint just for their console, and is not implemented 100% in terms of "public" AWS api endpoints; and the other is that aws-emulator (as of v1.0.322 anyway) does not expose CORS headers which is fatal to trying to have the extension contact localhost
So, it's possible that some things would work after patching aws-emulator to cough up CORS headers, but I don't know what the state of affairs is for any reverse engineering of their console proxy endpoint. Likely it's available in localstack somewhere, given who made the extension, but I didn't go digging
I guess they didn't decide this was worth it till they needed it to train an LLM, huh? Not like everyone (inside and outside of AWS) has needed such a test harness for years...
~30K commits in 3w; quality software for sure. Is someone trying to get promotion by tokenmaxxing? Ironic or unlucky coincidence or competitor(s) misdirection, that, only 2w ago, Amazon published memo discouraging AI abuse?
No idea why there's so much of this lately, but there are way too many editorialized submission titles hitting the front page recently. Please stop doing this.
Looks like this was ~100% generated with Claude within the past month. Interestingly it still has a lot of occurrences of words that Opus used way too much pre 5.5, so maybe they're not using the latest models.
I mean, if they're using it internally then there's probably a TON of context you can feed these things to converge on approximately-correct solutions. Certainly it sounds like it can be a much better alternative to Localstack/Floci and friends.
Fellow Amazonian here. Want to say that I’m grateful you built this and it has tremendous value if pulled off well and properly maintained.
Agentic development is all about closing off a system as much possible, then mocking up or simulating any inputs or dependencies that cannot be closed off. At that point, you let Claude crawl over the system and do its thing.
This inevitably runs into problems with infrastructure and any tools that help mock up those interfaces will be tremendously valuable. Thank you!
(Compared to 12,700 entries in the `things-that-now-work`. I'm not sure if that is a list of bugs found that were then fixed, or if the total list of ~20k things is meant to be the list of features they intend to support.)
Just a little bit more to keep you hooked. You should do your best to stay away from these parasites. Especially if they don't respect your country and your people by not paying the right amount of tax.
If I understand this correctly, it means I can point my entire CDK project to the emulator and test a `cdk deploy`?
I'm curious just how realistic the "internal" behaviour is emulated. It's been a while (since I got my stack working and I just don't like touching it now...), but I recall it being a real pain that sometimes odd, sometimes inconsistent things happened with setup and teardown (even through Terraform), which led to long timeouts if you did things in the wrong (but seemingly valid) order.
> I'm curious just how realistic the "internal" behaviour is emulated.
It seems like some reasonable shortcuts are taken, like services reading from each other's states directly instead of using APIs [0]. But then it will go so far as to run an in-process NodeJS emulator for lambda functions, and give it a shim so the code it runs can call other emulated AWS services using the main router [1].
You could try but it likely wouldn't be reliable. AWS services have a lot of undocumented business logic that fails only when you trigger the code path. Like trying to create a resource with an attribute with too many characters, or the wrong character, etc. Doesn't fail until you run that call with that specific value. This emulator doesn't contain each service's full business logic, so you won't see the error until you try the real thing.
im mostly on cloudflare and wrangler dev/miniflare already gives you local workers, d1, r2 etc, but its hand built. the “agents build it and verify against the real service” approach seems like the actual new thing here. wonder if cf does something similar
This is what I've been trying to do for over a decade - you can go even further with tee-testing by making a copy of the live traffic you run in a sandbox environment and match responses against. Obviously you can't do some things in the sandbox, email and payments high on that list, but e.g. payment gateway responses can be "borrowed" from production.
Once your new version has no disagreements, it's a really clean swap. I am working towards developing this way and I think, if taken to extremes and carefully, it can remove the review requirement most of the time.
AFAICT there isn't a quick way to reset state other than restarting the process - in other words it probably isn't a drop in replacement for https://github.com/getmoto/moto for running tons of tests where the state of the mocked AWS system needs to be reset after each test. Hopefully they will implement a quick reset functionality; multiple accounts and full org APIs emulation would be nice too.
I'm not them but I added AWS Organizations support to moto because we needed to test all of the child account enumeration APIs. If I would have had more time/energy I would have continued my tilting at windmills to have it honor the actual $(aws sts assume-role) keys, too, since hopping between accounts in the org via the injected IAM Role was also very critical to the product at the time
I had a good time using its SDK inside my integration tests. I'll give a couple months before even moving to this because it's weird how similar both projects look like.
EDIT: After checking AWS's project I'd say stay away from it, looks heavily vibe slopped.
claude is the second-most frequent author in that fakecloud repo, what makes you say that's not vibeslopped either? This is 100% the perfect usecase of using a swarm of agents. It's a bounded, and easily-verifiable with property testing/mitm proxying, task. If you think in November 2026, agentic engineering is equivalent to vibe coding, you need to update your priors
After waiting for years for this kind of thing I ended up working around the issue by: using the real service. With Claude's help I have many projects now that test against live hosting providers using accounts maintained exclusively for testing. It ends up costing $50 or so a month in fees but well worthwhile for the assurance things really work.
This is no doubt made possible by an agentic coding loop. If you have the right checks in place, it can be easy to emulate existing software.
I was able to create a TV emulator at my work with a mostly independent agentic loop, because we have a lot of tests to examine a smart TVs APIs. The agents mostly just need to make the tests pass.
" the engineer’s job is to give them room to work on their own and to build the specs, tests, and merge gates that decide when that work is correct."
I mean that's a job, but in many orgs it's been done by (cheaper) non-engineers (business analysts, QA professionals) for decades. So what does an engineer do?
We haven’t. QA has been part of the process but only one stage of the process mentioned above. How do cheaper non engineers decide if you’ve designed and implemented your query planner, payments gateway, auth, caching strategy, or other similar features correctly?
P.s I don’t doubt that incompetent orgs would do this incorrectly but it’s not sensible to take that as norm.
AWS already models all their services with Smithy, the specification language they created. Their API clients are all generated from Smithy, and the emulator seems to have been built using the Smithy specs and comprehensive integration testing against the real APIs. Using the spec ensures they hit every variant and optional field of every endpoint, unlike Floci and Ministack that only implement the more commonly used ones.
I remember asking this to one of the evangelists when AWS first came out, how do I run this locally. This was during the times where we actually tried to get all the .NET and C/C++ docs locally.
There was an offline help system in Visual Studio Community 2012 that would cheerfully download all the help files as a pseudo-.zip file, and for sure included both .NET and C++, along with SQL Server and it's my _recollection_ it included Office's OpenXML documentation, too
Say whatever but without AI and agents, no one in AWS would have thought of building this given the huge amount of services they have. Humanly, possible but very very costly. Not saying has not happened before but fakecloud and localstack etc? That moat is gone.
I am shocked TBH that this is the new normal. Agents writing code in one of the most difficult to use languages. And ugly as well TBH, it pokes into your eyes. Subjective I know but it is a horrible language for humans.
> Agents writing code in one of the most difficult to use languages
Arguably, languages with strong static guarantees are exceptionally effective for LLMs since they're much quicker to provide feedback to the LLM than a dynamically typed language (which only fails once you actually run it - often several times to find the actual problem). You also get very well-designed build error messages rather than having to parse unstructured stderr output, etc etc.
Yes absolutely - that's objectively true. That's why Typescript, Go and Rust are some of the best languages with LLMs because feedback loop is precise and fast to verify the generated output.
They wouldn't include it otherwise the binary would be comically large since (as one might guess) there are a lot of knobs involved in pricing AWS things. Just downloading it takes several minutes, served from S3
https://github.com/opencost/opencost/blob/v2.5.3/pkg/cloud/a... is the source URL, and while I haven't been in the opencost ecosystem for a while, I'd guess there's a non-zero chance you could legitimately just ask it to price your aws-emulator resources. I am pretty sure there is a terraform/opentofu integration, too, although I don't this second know if it is within opencost or is a separate project
Thank the maker!! I was not having a good time with LocalStack, only an average time. Definitely have to try this out. I need the environment to survive a reboot.
It's funny to read AI-generated documentation that is the result of a prompt instructing the LLM to be as terse and straightforward as reasonably possible. The agent was probably told to conform to ASD-STE100.
It's better than a lot of AI-generated documentation, but it also comes across as a gruff LLM that it is annoyed that it has to write the documentation at all.
> - Resource-based policies, such as bucket policies
> - AWS KMS key policies
> - Access across AWS accounts or across AWS Regions
> - Any other security control
> Some services in the emulator evaluate IAM policies for IAM users and roles that you create in the emulator, but not the same way as AWS. The emulator never denies a request signed with its own key. It doesn’t check AWS KMS key policies or Amazon S3 bucket policies. It also doesn’t support calls across accounts or Regions. So a request that AWS denies might succeed in the emulator. A request that AWS allows might fail.
This is a shame because I'd love for the official AWS product to be better than e.g. ministack and localstack on this, which will go some of the distance. I think because the agents were only building on the public API surface, it's hard to build this part. But they should've tried and let the agents read whatever policy engines AWS has. Or maybe it's a way to prevent someone from trivially running aws-emulator as AWSaaS?
I suppose it would have been extremely complex to replicate all of that. Maybe they thought it’s out of the scope to emulate all security patterns locally, they just wanted to focus into providing a native alternative to let users do integration tests.
The current IAM engine and language “balsa”, is its own thing. Its vended as a library with large “there be dragons” disclaimers if you even think about going outside the public interfaces. There are also big opaque interactions between different components like STS, KMS, service principals, service-specific resource policy evaluations, etc. I doubt that can be reasonably open sourced or exposed.
There was an attempt at a public implementation of the “next gen” AWS IAM language/engine with “cedar.” However I think that got sidetracked as an authz product and didnt have any real penetration with AWS IAM.
I've implemented the AWS IAM engine and all policy types, conditions, etc in here if you want to try it out. It's the most thorough in terms of edge case coverage I'm aware of and I'm constantly adding enhancements and closing edge cases.
I shudder at the thought that local emulation is somehow supposed to handle IAM conditions like source VPC endpoints, EKS Pod Identity, chained roles originating from web identity providers...
IAM itself is free. Most IAM conditions involve resources which are free (e.g. VPC gateway endpoints, web identity providers) or which are free additions on top of a cluster you have for other purposes (e.g. EKS Pod Identity). Presumably you already have an AWS account. What value does an emulator give here?
Yep, it's a complicated beast so I'd love to be able to mess around with it locally! I don't mind using an AWS account for a shared staging environment in the CI pipeline, but trying to figure out policies and roles during development, it can get a bit messy coordinating and handling the lifecycle of resources in a team's testing account (maybe this is easier if you get your own account?). And accounts aren't free when they require GuardDuty etc, unfortunately.
> accounts aren't free when they require GuardDuty etc, unfortunately
This is probably the root of your problems. In principle, non-production accounts should have vastly reduced security requirements. Personally, I can't understand how companies are OK with offering more-or-less unrestricted guest WiFi (which, of course, has no access to production systems, let alone internal systems), but somehow offering minimally restricted AWS accounts (basically, just slap billing alarms on, maybe common-sense SCP-based restrictions like no public IPv4) for development purposes is problematic?
I would for sure read your nix implementation of an auto-scaling group, because I'd enjoy seeing how nix routes traffic to those new instances from your nix network load balancer
This simulates API responses, like a mocking mechanism, which is enough for some testing. But if you call RunInstances, the corresponding code of the launched instance doesn't actually run. So if you have orchestration code you want to test, that depends on actually running the instances you launch, this won't test it.
This will make it even easier for competitors to reliably clone AWS services, which reveals that cloud is fully commoditized at this point, and advantages come down to market power (buying servers/bandwidth at scale, building data centers at scale, etc).
I don’t think AWS is worried about that. If the small cloud provider competitor standardizes on their API, they’re already winning. It will be easier for you to migrate to AWS once you hit the ceiling of the competitor’s scale. That’s something you can’t copy out of the box (and the true AWS value proposition imo).
I think you massively underestimate how big AWS's moat is, and how hard it is for newcomers to effectively compete with them. AWS's ever-growing feature list is impressive, sure, but what customers are actually paying for is good customer service, high reliability, and most importantly, trust that AWS will be around for decades to come and that all infra issues become AWS's problem rather than their own.
Any serious competitor would have already invested the trivial amount of money required to gain full access to AWS to probe and test all their services.
I spent a good 10 mins clicking in circles trying to find out which services are supported, surely one of the most critical pieces of information anybody would probably want to know. I gave up.
This looks great, I'm looking forward to using it!
That said, I don't like using Docker for things, and I run macOS on my desktop. Here's a patch that gets it all building on macOS [1] - though there's no good way to upstream it!
This is cool, looks like AWS heard all the buzz around emulators like Floci, Ministack, Fakecloud etc. Wonder how this will fit in with proper infra tools like Spinifex.
> At least 100 GB of free disk for target/. The workspace has one crate per AWS service, so a debug build of everything is large, and it grows as services are added.
> AWS Emulator is a local emulator of the AWS APIs. You use it to test your software without calling AWS, on your own machine, on a development server, or in continuous integration (CI).
Underrated README intro. Gets straight to the point of what it is, and why I should use it. I'm guessing an AI didn't write it.
I feel like we don't talk enough about the massive problem of creating local test environments for AWS deployments.
An actual AWS supported env that you can run on your local machine would be super useful, even if it just had a subset comprising the most popular services.
That’s cute. I wrote an AWS emulator 10 years ago. A few days, zero tokens, and it actually worked and it didn’t “bleed” requests. It alerted the developers
Tried it out, this does not seem to work well. A codebase that runs fine on MiniStack could not be emulated with this official AWS emulator.
Specifically it does not support certain SFN fields (like `Assign`) and Lambda Python code was not fully supported, so SFNs and Lambdas did not work and the test had to stop there.
If you have a product that has APIs and can be verified, anyone can copy the APIs and the features. By the way, you absolutely want to offer APIs so your product can be used by agents.
This means you need to compete on aspects other than features.
Just because you can emulate all the APIs doesn't mean you can build AWS.
Availability, reputation, performance, domain expertise, price: all of these become critical in a world where features can be copied.
[OP] super_linear | 18 hours ago
singron | 16 hours ago
I'm curious how many versions they made and the token spend on each one. There are a lot of failure modes to projects like these (e.g. gas town endlessly developing itself). Is this more of a sly marketing stunt or a real indication that this methodology is practical and economical?
FYI I checked out the repo. `du --apparent-size -h` output for some dirs:
311 MiB of rust code in /tests/ directories. 357 MiB of rust code outside of /tests/ directories. 117 MiB of json. 1 MiB of toml.CharlieDigital | 18 hours ago
Floci[0] has been great for me. Use the Testcontainers[1], too.
Bonus: works for GCP and Azure, too (so far have only used in limited capacity, though).
[0] https://floci.io/
[1] https://testcontainers.com/modules/floci/
ke4qqq | 18 hours ago
dogleash | 18 hours ago
Official statements made by a company are still poor representations of their current business plans, and don't mean anything 3 months later (no matter how much they pinky promise). But a HN post isn't even that.
Cthulhu_ | 18 hours ago
forgotpwd16 | 17 hours ago
CharlieDigital | 16 hours ago
This feels like table stakes for an emulator.
ke4qqq | 18 hours ago
That said, it’s been announced publicly here: https://www.aboutamazon.com/news/aws/how-autonomous-ai-agent...
Additionally Swami, our SVP of AI blogged about it separately and our CTO is tweeting about it - which is more than a number of products get in terms of coverage.
dogleash | 17 hours ago
ke4qqq | 17 hours ago
Eridrus | 17 hours ago
I think this is a super interesting direction, but how can we trust the accuracy of this simulator? Agentic loops are great and all, but they can still miss plenty of things.
Or maybe a better question: where is the accuracy of this simulator going to be guaranteed enough that we should trust it?
NewsaHackO | 16 hours ago
Eridrus | 16 hours ago
Like, what am I actually getting here? Is it just happy path operations being correct here?
cherioo | 16 hours ago
Hopefully AWS has had enough internal guinea pigs before they published this!
ontouchstart | 15 hours ago
The border between AWS and AWS emulator becomes fuzzy. And the users of AWS will be agents as well. A completely offline emulator will save a lot of resources and could be a great training ground for more focused (offline) models.
hluska | 14 hours ago
iceboundrock | 16 hours ago
toomuchtodo | 18 hours ago
Edit: Comment is in the spirit of "it gets tiring to build on sand which is at the whims of corporate management folks far disconnected from the actual work." If someone is asserting "this will stick around," words are insufficient, words are free. Show me the contract, show me the penalties for failure to abide by the assertion.
polishdude20 | 18 hours ago
xandrius | 17 hours ago
CharlieDigital | 16 hours ago
The Copilot CLI https://aws.github.io/copilot-cli/ you can feel polish and pride of the team that built this, as an example.
happymellon | 15 hours ago
Not many, and not often but it is annoying.
dotancohen | 18 hours ago
jghn | 17 hours ago
Google builds up a product over time and abandons it. This is annoying for long term adopters.
AWS has a habit of throwing a bunch of products at the wall, but only bothering to maintain & build up a few of them. This is annoying for early adopters.
llama052 | 17 hours ago
drob518 | 17 hours ago
gwbas1c | 17 hours ago
jasonseattle | 17 hours ago
eddythompson80 | 15 hours ago
jasonseattle | 15 hours ago
eddythompson80 | 15 hours ago
jasonseattle | 13 hours ago
swasheck | 13 hours ago
CharlieDigital | 17 hours ago
[0] https://aws.github.io/copilot-cli/
8384727747478 | 6 hours ago
CharlieDigital | 16 minutes ago
QGQBGdeZREunxLe | 17 hours ago
switchbak | 17 hours ago
aseipp | 17 hours ago
sequence7 | 17 hours ago
jasonseattle | 17 hours ago
jbmchuck | 17 hours ago
OptionOfT | 16 hours ago
They'll have something like this:
Except, this is not defined in schemas, this is merely defined in prose around the documentation.So your Rust API is full of Option, and it gets really annoying when you're testing things like say Bedrock, which takes 10 minutes, and then fails because what you submitted 10 minutes before doesn't match their schema.
I understand this can be fixed by reading the documentation in more detail, but it has gotten so verbose, and sometimes you just want to start something.
kellertk | 16 hours ago
jcims | 17 hours ago
frenchtoast8 | 16 hours ago
jcims | 15 hours ago
fnordpiglet | 11 hours ago
I suspect this is built by agents through bleeding the soul of GPUs until it gets too expensive (unfunded mandates are free after all on the OP1/2). Then it just decays into the place all good PR/FAQs decay once their sponsors are promoted, burned out, or are laid off.
m0llusk | 13 hours ago
icedchai | 16 hours ago
tyingq | 16 hours ago
Edit: The current one: https://github.com/aws/aws-emulator/releases/download/v1.0.3...
You can get some idea if the product name is unique enough with <ctrl-f> and looking at each of the related test scores.
tyingq | 16 hours ago
And output something meaningful for some of the more popular services:
Pass rates from the release's scores.json (commit 7753983), joined with the eval suite's manifest.jsonl. Tests = behavioral checks touching the service. All = overall pass rate. Happy/Reject = valid requests vs. requests AWS should refuse. Ctrl/Data = control plane vs. data plane. Solo/Integ = single-service vs. multi-service checks. Wire# / Wire% = count and pass rate of recorded request/response replay tests (a test passes only if every call matches).Edit: Also worth a look: https://ministack.org/blog/aws-emulator
dataviz1000 | 16 hours ago
selfmodruntime | 15 hours ago
lysace | 10 hours ago
For the AWS people behind this, it means going the extra mile(s), with a level of care and depth that you typically mostly see within great startups. Perhaps agentic coding will enable AWS to reach this, perhaps it will stay relatively abstract.
solyin | 14 hours ago
gigatexal | 13 hours ago
It’s actually interesting that such a thing exists. It’s in Amazon’s interest that the only way to test a lot of services is to have a test environment in AWS.
DetroitThrow | 10 hours ago
AdieuToLogic | 9 hours ago
> It’s a real product that we plan to maintain.
29,684 commits in a repository less than a month old does not instill confidence in this being a "real product." That is roughly 1,000 accepted commits per day.
g-b-r | 9 hours ago
twostorytower | 6 hours ago
switchbak | 17 hours ago
I didn't have a good experience with test containers, but perhaps it'd work better with fast starting containers. We run our test fixture with compose, and have the tests manage their data in isolation - so we don't pay the startup penalty in our test suites.
I think I'd trust this project at least as much as Floci. Embedded Rust mode also looks very interesting for us.
CharlieDigital | 16 hours ago
iLoveOncall | 17 hours ago
CharlieDigital | 17 hours ago
Doesn't feel like a real product. But I also didn't look very hard for docs; I kind of expect it to be linked on the GH in the site and have a nice `llms.txt` for me to give to my agents.
iLoveOncall | 16 hours ago
??? It's in bold just before the "Quick start" section
CharlieDigital | 16 hours ago
The team didn't even take the time to review these small details of the repo, you know, by editing the repository details to place the docs URL there.
I mean, I don't know about you, but I feel like I still like to see people care about the stuff they produce and missing something as basic as the repo website URL in GH settings shows a lack of polish and love.
simgoh | 16 hours ago
> Doesn't feel like a real product. But I also didn't look very hard for docs
You should try, they're there.
> I kind of expect it to be linked on the GH in the site and have a nice `llms.txt` for me to give to my agents.
There's an official Amazon Documentation site that's linked. There's also an `AGENTS.md` file in the repository.
CharlieDigital | 16 hours ago
This post https://www.aboutamazon.com/news/aws/how-autonomous-ai-agent... doesn't set the right tone for me at all and it has nothing to do with agents and everything to do with the lens of looking at this as a science experiment instead of a real enterprise tool.
simgoh | 16 hours ago
This feels like such a weird nit-pick when AWS is criticized for not moving quickly enough. Why should I care if there's a link in the side bar, when there's plenty of links in the `README`? If anything, I'm happy that there's alternatives to Localstack that are supported by AWS themselves that I can begin incorporating. They have a well written `README` that I can start working with and a User Guide to get me started. What else could I want?
> Did you look at the blog post as well?
I did.
> Does it look like a product that some team there loved and will care for? Or the output of some exercise for some enterprise content?
Do you even have the grounds to cast judgement like this when you admittedly didn't even look hard enough?
CharlieDigital | 16 hours ago
This lacks polish.
Small details like getting your GH repo set up for a public audience. Lacking. Compatibility and support matrix clearly advertised? None.
If this public facing artifact exhibits a lack of care and love, what does it say about the code? I am all for vibe coding and agent software factories, but then the humans should show some love with all of that extra time saved.
simgoh | 16 hours ago
CharlieDigital | 15 hours ago
Look at Floci (I have no affiliation) https://floci.io/ the blog https://floci.io/chronicle/ and the labs https://floci.io/labs/
Do you agree that there's a polish here that shows a team's pride in that work that is clearly missing in this work?
??? You and I are the customers. What even is this statement? Are AWS employees our benefactors? Wow. I do not care if their feelings are hurt because this "product" clearly shows a lack of polish and love.simgoh | 15 hours ago
No and I think the inverse is also possible and if anything more likely. You can make a website look really pretty, really easily and have the product still suck. This is "product as a slide" in a new age where making visual eye candy with AI has never been easier.
> I do not care if their feelings are hurt because this "product" clearly shows a lack of polish and love.
The point isn't about hurting feelings. The point is about providing critque and feedback based in reality, not based on "vibes." You're trying to gatekeep people releasing software because you dont like the way they're launching it lol.
CharlieDigital | 14 minutes ago
hluska | 14 hours ago
hluska | 15 hours ago
_msw_ | 16 hours ago
The product documentation is here: https://docs.aws.amazon.com/emulator/latest/userguide/what-i...
While the GitHub project is young, the internal effort to build this has been going for quite some time now.
ttul | 16 hours ago
thinkingtoilet | 14 hours ago
olalonde | 15 hours ago
sebmellen | 18 hours ago
tptacek | 18 hours ago
simgoh | 16 hours ago
akerl_ | 15 hours ago
simgoh | 14 hours ago
tptacek | 14 hours ago
simgoh | 14 hours ago
"expressing a personal opinion, bias, or subjective viewpoint in a context—such as a news report—that is supposed to be strictly factual and objective."
How does the title do any of the above that makes it editorializing?
akerl_ | 14 hours ago
stuff4ben | 18 hours ago
BorisMelnik | 18 hours ago
pavel_lishin | 17 hours ago
nnucera | an hour ago
Until the AWS emulator can match all our current capabilities, such as multi-account, multi-region, IAM, running IaC, etc., we'll still be around
One of our core principles has always been to focus on supporting only the most commonly used services
tonymet | 18 hours ago
Cthulhu_ | 18 hours ago
https://www.aboutamazon.com/news/aws/how-autonomous-ai-agent...
tonymet | 17 hours ago
I've been prompting the agents to build everything using stdlib
jjice | 17 hours ago
I'll continue to choose both though, depending on the thing being tested.
gateauxd | 18 hours ago
aabhay | 17 hours ago
sequence7 | 17 hours ago
https://blog.localstack.cloud/2026-upcoming-pricing-changes/
schonfinkel | 16 hours ago
BorisMelnik | 18 hours ago
awestroke | 18 hours ago
mystifyingpoi | 17 hours ago
mdaniel | 14 hours ago
So, it's possible that some things would work after patching aws-emulator to cough up CORS headers, but I don't know what the state of affairs is for any reverse engineering of their console proxy endpoint. Likely it's available in localstack somewhere, given who made the extension, but I didn't go digging
nnucera | 33 minutes ago
swiftcoder | 18 hours ago
forgotpwd16 | 18 hours ago
cxr | 18 hours ago
<https://news.ycombinator.com/newsguidelines.html>
mh- | 17 hours ago
paavohtl | 17 hours ago
https://github.com/search?q=repo%3Aaws%2Faws-emulator+load-b...
https://github.com/search?q=repo%3Aaws%2Faws-emulator+%2Fno+...
https://github.com/search?q=repo%3Aaws%2Faws-emulator+golden...
mystifyingpoi | 17 hours ago
switchbak | 17 hours ago
whalesalad | 17 hours ago
morelandjs | 17 hours ago
Agentic development is all about closing off a system as much possible, then mocking up or simulating any inputs or dependencies that cannot be closed off. At that point, you let Claude crawl over the system and do its thing.
This inevitably runs into problems with infrastructure and any tools that help mock up those interfaces will be tremendously valuable. Thank you!
gosen | 17 hours ago
hbcdbff | 17 hours ago
Claudeslop snuck in at the very end
pavel_lishin | 17 hours ago
(Compared to 12,700 entries in the `things-that-now-work`. I'm not sure if that is a list of bugs found that were then fixed, or if the total list of ~20k things is meant to be the list of features they intend to support.)
s_dev | 17 hours ago
ggcr | 17 hours ago
[0] https://www.aboutamazon.com/news/aws/how-autonomous-ai-agent...
xyos | 16 hours ago
varispeed | 17 hours ago
ChrisArchitect | 17 hours ago
Waterluvian | 17 hours ago
I'm curious just how realistic the "internal" behaviour is emulated. It's been a while (since I got my stack working and I just don't like touching it now...), but I recall it being a real pain that sometimes odd, sometimes inconsistent things happened with setup and teardown (even through Terraform), which led to long timeouts if you did things in the wrong (but seemingly valid) order.
billyp-rva | 17 hours ago
It seems like some reasonable shortcuts are taken, like services reading from each other's states directly instead of using APIs [0]. But then it will go so far as to run an in-process NodeJS emulator for lambda functions, and give it a shim so the code it runs can call other emulated AWS services using the main router [1].
[0] https://app.ilograph.com/demo.ilograph.AWS%2520Emulator/Serv... [1] https://app.ilograph.com/demo.ilograph.AWS%2520Emulator/Invo...
0xbadcafebee | 13 hours ago
andreadito | 17 hours ago
__natty__ | 17 hours ago
heliosAtwork | 16 hours ago
Code frequency pages shows:
"There are too many commits to generate this graph."
https://github.com/aws/aws-emulator/graphs/code-frequency
stanac | 16 hours ago
microflash | 17 hours ago
They can't help themselves, can they?
I'll stick with Floci and Testcontainers.
toenail | 17 hours ago
yevmiyeci | 17 hours ago
killingtime74 | 17 hours ago
jaggederest | 16 hours ago
Once your new version has no disagreements, it's a really clean swap. I am working towards developing this way and I think, if taken to extremes and carefully, it can remove the review requirement most of the time.
jbmchuck | 17 hours ago
brianskarda | 11 hours ago
mdaniel | 9 hours ago
I got a lot of enjoyment out of https://awsteele.com/blog/2020/09/26/aws-access-key-format.h... at the time, too
schonfinkel | 17 hours ago
https://github.com/faiscadev/fakecloud
I had a good time using its SDK inside my integration tests. I'll give a couple months before even moving to this because it's weird how similar both projects look like.
EDIT: After checking AWS's project I'd say stay away from it, looks heavily vibe slopped.
Bnjoroge | 16 hours ago
schonfinkel | 15 hours ago
one can also argue that offering SKDs for python / typescript / golang makes the project superior still. So you are not stuck with Rust-only projects.
jatora | 9 hours ago
InsidiousWombat | 17 hours ago
fschuett | 17 hours ago
weitzj | 16 hours ago
Is AWS offering such a lock service for its costumers ? Multi regional?
xendo | 16 hours ago
dboreham | 16 hours ago
hollowturtle | 16 hours ago
nunez | 16 hours ago
ironically localstack is solid enough to probably not need this for most things
OJFord | 16 hours ago
> AI agents keep the emulator up to date with AWS.
Is pretty interesting! No more detail than that tease though.
https://docs.aws.amazon.com/emulator/latest/userguide/what-i...
asdfman123 | 16 hours ago
I was able to create a TV emulator at my work with a mostly independent agentic loop, because we have a lot of tests to examine a smart TVs APIs. The agents mostly just need to make the tests pass.
4ndrewl | 16 hours ago
I mean that's a job, but in many orgs it's been done by (cheaper) non-engineers (business analysts, QA professionals) for decades. So what does an engineer do?
geraneum | 16 hours ago
We haven’t. QA has been part of the process but only one stage of the process mentioned above. How do cheaper non engineers decide if you’ve designed and implemented your query planner, payments gateway, auth, caching strategy, or other similar features correctly?
P.s I don’t doubt that incompetent orgs would do this incorrectly but it’s not sensible to take that as norm.
4ndrewl | 16 hours ago
CSSer | 15 hours ago
geraneum | 14 hours ago
4ndrewl | 4 hours ago
geraneum | 2 hours ago
Shakahs | 16 hours ago
https://github.com/aws/api-models-aws
https://github.com/smithy-lang/smithy
arpinum | 38 minutes ago
papichulo4 | 16 hours ago
I’ve been having it build local mock APIs for any service that exposes its OpenAPI spec. Works like a charm.
OptionOfT | 15 hours ago
Now doing the math I feel old.
mdaniel | 8 hours ago
wg0 | 15 hours ago
I am shocked TBH that this is the new normal. Agents writing code in one of the most difficult to use languages. And ugly as well TBH, it pokes into your eyes. Subjective I know but it is a horrible language for humans.
iknowstuff | 15 hours ago
wg0 | 15 hours ago
fukaiall | 13 hours ago
wg0 | 12 hours ago
nchie | 11 hours ago
nalekberov | 15 hours ago
raincole | 14 hours ago
Geezus_42 | an hour ago
dzonga | 15 hours ago
airstrike | 14 hours ago
neobrain | 14 hours ago
Arguably, languages with strong static guarantees are exceptionally effective for LLMs since they're much quicker to provide feedback to the LLM than a dynamically typed language (which only fails once you actually run it - often several times to find the actual problem). You also get very well-designed build error messages rather than having to parse unstructured stderr output, etc etc.
wg0 | 13 hours ago
UltraSane | 13 hours ago
nodesocket | 15 hours ago
mdaniel | 14 hours ago
https://github.com/opencost/opencost/blob/v2.5.3/pkg/cloud/a... is the source URL, and while I haven't been in the opencost ecosystem for a while, I'd guess there's a non-zero chance you could legitimately just ask it to price your aws-emulator resources. I am pretty sure there is a terraform/opentofu integration, too, although I don't this second know if it is within opencost or is a separate project
ppcdeveloper | 15 hours ago
chaz6 | 15 hours ago
prescriptivist | 15 hours ago
It's better than a lot of AI-generated documentation, but it also comes across as a gruff LLM that it is annoyed that it has to write the documentation at all.
st3fan | 15 hours ago
MisterMunchkin | 14 hours ago
myworkaccount2 | 14 hours ago
scriptsmith | 14 hours ago
> Don’t use the emulator to test the following:
> - IAM policies and permissions boundaries
> - Resource-based policies, such as bucket policies
> - AWS KMS key policies
> - Access across AWS accounts or across AWS Regions
> - Any other security control
> Some services in the emulator evaluate IAM policies for IAM users and roles that you create in the emulator, but not the same way as AWS. The emulator never denies a request signed with its own key. It doesn’t check AWS KMS key policies or Amazon S3 bucket policies. It also doesn’t support calls across accounts or Regions. So a request that AWS denies might succeed in the emulator. A request that AWS allows might fail.
This is a shame because I'd love for the official AWS product to be better than e.g. ministack and localstack on this, which will go some of the distance. I think because the agents were only building on the public API surface, it's hard to build this part. But they should've tried and let the agents read whatever policy engines AWS has. Or maybe it's a way to prevent someone from trivially running aws-emulator as AWSaaS?
[0] https://docs.aws.amazon.com/emulator/latest/userguide/securi...
Lucasoato | 13 hours ago
donavanm | 13 hours ago
There was an attempt at a public implementation of the “next gen” AWS IAM language/engine with “cedar.” However I think that got sidetracked as an authz product and didnt have any real penetration with AWS IAM.
davidjkerber | 12 hours ago
https://github.com/act-security-labs/iam-lens
It uses https://github.com/act-security-labs/iam-collect to get all the policies which includes example terraform to gather all the data at scale.
solatic | 2 hours ago
IAM itself is free. Most IAM conditions involve resources which are free (e.g. VPC gateway endpoints, web identity providers) or which are free additions on top of a cluster you have for other purposes (e.g. EKS Pod Identity). Presumably you already have an AWS account. What value does an emulator give here?
scriptsmith | an hour ago
solatic | 9 minutes ago
This is probably the root of your problems. In principle, non-production accounts should have vastly reduced security requirements. Personally, I can't understand how companies are OK with offering more-or-less unrestricted guest WiFi (which, of course, has no access to production systems, let alone internal systems), but somehow offering minimally restricted AWS accounts (basically, just slap billing alarms on, maybe common-sense SCP-based restrictions like no public IPv4) for development purposes is problematic?
aussieguy1234 | 14 hours ago
Cloud provider neutral. Tear it up and tear it down with 100% reproducibility.
If I want to test it locally, I can boot it all up in a disposable VM.
mdaniel | 8 hours ago
JoshTriplett | 14 hours ago
Spinifex (https://github.com/mulgadc/spinifex/) seems more promising than this, because its RunInstances actually launches VMs.
resters | 13 hours ago
2001zhaozhao | 13 hours ago
Lucasoato | 13 hours ago
jaza | 12 hours ago
Salgat | 11 hours ago
0x696C6961 | 29 minutes ago
seshness | 13 hours ago
zmmmmm | 13 hours ago
jen20 | 12 hours ago
That said, I don't like using Docker for things, and I run macOS on my desktop. Here's a patch that gets it all building on macOS [1] - though there's no good way to upstream it!
[1]: https://github.com/jen20/aws-emulator/tree/jen20/macos-build
cypherpunk666 | 12 hours ago
xlayn | 12 hours ago
Thaxll | 12 hours ago
toddyholiday | 12 hours ago
MiroslavPokorny | 10 hours ago
100GB !??!?!
BatchJob | 10 hours ago
No thanks.
ram_rattle | 9 hours ago
tangotaylor | 8 hours ago
Underrated README intro. Gets straight to the point of what it is, and why I should use it. I'm guessing an AI didn't write it.
thatslast | 6 hours ago
floro | 6 hours ago
fergie | 5 hours ago
An actual AWS supported env that you can run on your local machine would be super useful, even if it just had a subset comprising the most popular services.
enowapi | 3 hours ago
enowapi | 3 hours ago
pprotas | 58 minutes ago
Specifically it does not support certain SFN fields (like `Assign`) and Lambda Python code was not fully supported, so SFNs and Lambdas did not work and the test had to stop there.
mooreds | 13 minutes ago
If you have a product that has APIs and can be verified, anyone can copy the APIs and the features. By the way, you absolutely want to offer APIs so your product can be used by agents.
This means you need to compete on aspects other than features.
Just because you can emulate all the APIs doesn't mean you can build AWS.
Availability, reputation, performance, domain expertise, price: all of these become critical in a world where features can be copied.