Amazon Web Services (AWS) today added an emulation capability that makes it simpler for application developers to build applications on a local machine before deploying them in the cloud.

Tom “Spot” Callaway, principal open source software strategist for AWS, said the open source AWS Emulator project makes it possible to build and test applications on a local machine using a tool that emulates a wide range of AWS services.

Built using AI agents that AWS makes available in the AWS Kiro coding tool, the AWS Emulator reduces the amount of cloud infrastructure resources that would otherwise need to be allocated to application development, he added.

AWS, however, has not reviewed any of the code used to create the emulator because it relied on the specification framework embedded in AWS Kiro to validate the code generated, noted Callaway. While AWS is open to feedback on the project, it will not accept any pull requests (PRs) from the open source community at large because the project will continue to be maintained and updated by the AI agents that built it, he added.

There are, of course, multiple other approaches to emulating cloud services on a local machine, but this marks the first time AWS is directly providing such a capability. Following an Anthropic demonstration of how AI agents could be used to build a C compiler earlier this year, AWS decided to use a similar approach to build AWS Emulator, noted Callaway.

It’s not clear how many developers are using some type of emulation capability to build applications but as demand for cloud infrastructure continues to escalate cloud infrastructure resources are becoming more scarce. AWS is now, in effect, encouraging developers to use local machines to build applications.

In general, application developers prefer to build applications on a local machine. It’s not clear how much code is developed first on a notebook, desktop PC or local server, but in the age of artificial intelligence (AI) the amount of code being generated by individual developers is increasing exponentially. Every time code has to be sent back for revision, it slows the overall pace of application development. AWS Emulator helps reduce the amount of friction. Arguably, the sooner everyone realizes that a piece of AI-generated code might not run as intended in a cloud computing environment, the less stress there is likely to be for all concerned. The challenge and the opportunity, of course, is identifying those points of friction before the amount of code being created might soon overwhelm the ability of DevOps teams to effectively deploy and manage it all.

Ultimately, organizations need to meet application developers where they proverbially are rather than forcing them all to develop applications in the cloud. The simple truth is many developers, if inclined, will simply evade any cloud mandate using shadow IT resources. The path of least resistance, therefore, is to enable application developers to build applications on the machines they prefer in ways that can still be centrally managed by a DevOps team.

Frequently Asked Questions

1. What is AWS Emulator?
AWS Emulator is a tool that lets applications, the AWS CLI and AWS SDKs send requests to a local endpoint that simulates supported AWS operations.
2. Do developers need an AWS account to use AWS Emulator?
No. Developers can run it without an AWS account or an additional service fee. Standard AWS charges apply when they use cloud resources.
3. How can developers tell whether the emulator supports their application?
AWS publishes test results by service so developers can see which workflows have been verified. If the emulator hasn’t implemented an operation, it returns an HTTP 501 error.