AWS Releases Free Emulator for Testing Apps Without Touching the Cloud
An AI-generated image showing a developer testing software on their laptop. Credit: Microsoft Copilot

For years, developers building on Amazon Web Services have faced an expensive question before launch: Will their app actually work? Answering it usually meant testing against the real cloud, often with a dedicated account and a price tag of $10,000 or more. But AWS now offers an alternative option: a free emulator that mimics its services and runs locally on a developer’s machine.

Many people probably recognize that emulators are software that lets them play classic Nintendo games on a PC by imitating the original console. Tom “Spot” Callaway, a principal open-source technical strategist at AWS and a contributor to the Emulator, agreed with that comparison. “That’s a really good analogy, and it’s part of the reason why we named it that. You know, minus downloading ROMs from shady parts of the internet,” he said in an interview. Just as a game emulator pretends to be a console, AWS Emulator mimics how AWS services behave, so developers can test code without ever connecting to the cloud.

This is AWS’ answer to a side effect of AI-assisted coding: developers now generate code faster than they can test it against the cloud. “No one wants to have to go and pay us a whole bunch of money to be able to test something,” Callaway said. The emulator connects to an automated pipeline developers use to test and release code, letting them make changes and know that those changes will work in a real AWS environment. It “means that you can have confidence that it will work the way that you expect it to and that you don’t have to pay us to test,” he added.

AWS has released the software as a public dedication under the Creative Commons CC0 license, meaning the company has surrendered all copyright and related rights, effectively putting it in the public domain. Anyone can copy, change, sell, or build on it for any purpose without asking AWS’ permission, and they don’t have to provide credit. A GitHub repository lets developers download the code, see how it was built, and review every issue filed.

Wholly Built Using AI, But Doesn’t Use AI

Perhaps the most striking detail about the emulator is how it was created. Callaway revealed that its code was generated by AI. “We wrote the framework that made all of this possible, but this was written entirely by agentic AI,” he clarified. And AWS didn’t hand the job to one agent and wait. Instead, it divided the assignment across three teams, each with a clearly defined job.

The first group manages a test suite to measure how closely the emulator’s results match the real thing. The other two groups find and fix issues in the emulator. “We don’t want these agents to have to do too much,” Callaway said. “We want them to be able to specialize and focus on their area so that we get good results out of them.”

The first team begins by building the emulator’s answer key. Its agents study Smithy files, the detailed blueprints AWS uses to describe each service and generate its developer toolkits, and devise real-world scenarios called traces. Each trace records exactly how AWS responds to a series of actions, such as creating a message queue, sending a message, and deleting the queue. The agents confirm every trace against the live cloud before adding it to a library that now holds tens of thousands of them. 

Those traces then become the yardstick for the second team, which hunts for problems. When the project began, every request to the emulator returned an error, so these agents started by flagging every service as needing a basic version. And once a service has one, the agents replay the traces against it and note which ones failed. To save time, the agents identify shared root causes and group them into a single issue, putting each batch into a folder in the code repository labeled “issues/things-that-do-not-work.”

Every failure then lands in the queue for the third team, which handles the repairs. Each agent claims a single issue, studies the write-up, and works on the code until it believes it has solved the problem. Its fix then has to clear a “merge gate.” Code that doesn’t run or fails its own tests is rejected, and reviewer agents examine every change for coding standards, security, and accuracy. Callaway described those reviewers as asking, “Is this good code? Is this the right way to do it? Is this an optimized way?” A fix that fails any check goes back to the agent for another try.

For now, AWS Emulator supports more than 400 AWS services whose API definitions are publicly available on GitHub, though Callaway acknowledged it doesn’t yet handle every scenario within each one. AWS plans to keep expanding that coverage.

Yet despite the AI behind its creation, the emulator itself contains none. When asked which models power it, Callaway didn’t hesitate. “None. It’s not AI,” he replied, explaining that there are no large language models inside the tool. It’s ordinary software—it’s “just a bunch of Rust code.” It also doesn’t require special AI hardware like what comes on AI PCs. Still, Callaway drew a line at very old machines, joking that running it on a computer with an Intel 80486 processor may cause developers to “have a bad day,” meaning it won’t run well. That said, neither he nor AWS provided minimum computer specs for the emulator to function.

But Callaway provided this perspective: Don’t think of this as a miniature AWS cloud that entire businesses can be run on. “The power of the AWS cloud is built upon its scalability, capacity to have a lot of resources available that are obfuscated and abstracted away from the user,” he said. “This is not that. This is not, ‘I’m going to go and build a competitor to AWS by running AWS Emulator on my PC.’ It does not have the performance guarantees. It does not have the scalability because it does not have the cloud behind it. This is not the same software that we use to power our services.” It’s not designed to replace AWS, Callaway stressed. “Is it going to be performant like a real-world service? No. Is it going to get all of the cases right? No. But it reflects the traces that we’ve built in our library, and we’re constantly adding more traces to improve the quality of the results,” he explained.

From Experiment to Product

While most products start as a response to a known need—a customer request, a pain point a team keeps running into, or a business case—AWS said its Emulator began as a hypothesis. After Anthropic reported that a group of AI agents built a working C compiler, AWS Senior Principal Engineer Matt Goldberg decided to run an experiment. Could agents build complex software on their own if they were given clear specifications and a working system to check against? 

Using AWS’s SDK, which lays out how every service is supposed to respond, and the live cloud that shows what actually happened, Goldberg tested his idea with the most basic instruction he could come up with. He asked the Kiro coding agent to generate tests based on AWS’ command-line tools and then keep adjusting them until they passed against the real cloud. Then, build a stand-in that passed those same tests without it. To Goldberg’s amazement, Kiro handed back a rough but usable version of Amazon Simple Queue Service, which holds messages passed between apps. He further sharpened the prompt and spent the weekend having Kiro work through the rest of AWS. The result had holes, Goldberg conceded, but it worked well enough that his team began testing their own software against it.

Despite the progress, he shared that more work was needed to turn his software into a robust product—and it would take more than a weekend. “Building something that you feel confident putting in customers’ hands still requires serious engineering efforts,” Goldberg wrote in a blog post. “In the case of AWS Emulator, it required building guardrails that ensure the agents color within our lines.”

Asked whether AWS Emulator would exist if Kiro had failed that first test, Callaway didn’t pretend to know. “That’s a good question. I don’t know,” he admitted. “It did work.” And AWS had its own reason to want it: teams needed a faster way to confirm their services worked together without spinning up real infrastructure every time.

Moving at the Speed of AI

AWS has released emulators before, though Callaway described this one as the company’s “first attempt to cover the entire surface” of AWS. And giving away a tool that ambitious raises a fair question: What does AWS get in return?

“We want to make it easier for people to build and test against AWS before they even have an account,” Callaway said. “We want to be able to take the AI-driven workflow that developers and creators are using today, and we want to make it easy for them to get trustworthy, reliable results about what is going to work out the other end.”

AWS also plans to keep the emulator current. As the company releases new services, developers get updated versions of the software, so it can stay “that source of truth for what the cloud looks like and how it behaves,” Callaway said.

When asked what this means for software development in the world of AI, he reiterated that the AWS Emulator saves time and effort. Callaway recalled how 10 years ago, developers needed to consult with an AWS expert to formulate a deployment plan and put together a budget, only for the application to launch six to 12 months later. Now, “everything has gotten much faster,” he said. “You now open up Kiro, and you say to Kiro, ‘I want to build an application that does X, Y, and Z,’ and Kiro guides you through the whole process and gets you to the end path.”

Callaway said customers kept running into the same wall. Their AI coding tools would take a project only so far before asking for AWS credentials so they could set up real cloud resources themselves. Developers balked, he recalled, summing up their reaction as “Oh no, that seems like a bad idea. Why would I let the LLM go and spin up my AWS account?” Callaway contended that the emulator gives AWS customers confidence that “they’re able to come up with the solution from the idea, convert it into something that can be tested well, and then know with confidence” that it will work before it’s even deployed into AWS.

It’s the message that Callaway wants developers to take away. “We are committed to helping our customers who are developing with AI to move at the speed of AI without having to slow down, and that they will be able to have a performant tool that lives locally on their machine that will give them a trustworthy answer of ‘Will this work on AWS?’,” he said.


Discover more from Ken Yeung

Subscribe to get the latest posts sent to your email.