← Back to all articles

LightBlue: An alternative to the Azure Emulator

For certain projects, my team uses a componentized and distributed system architecture based on CQRS and Event Sourcing. We find that for complex domains that add significant business value, this sort of architecture is worth the extra investment as it helps ensure that:

We do all this using Microsoft's PaaS offering as we like to run each component on its own stack, and Windows Azure allows us to easily deploy, update & maintain everything. However... for our team members to build & test components in this environment, there needs to be a way for them to run the system locally. Given the architecture, this might involving running many roles and instances (processes) that are all communicating with each other via a messaging system built on top of Azure Blob Storage. Unfortunately we've found the Azure Storage Emulator has significant short comings in this type of environment. It doesn't scale very well, utilizes lots of system resources and suffers from a number of stability issues. This has ultimately been chewing up lots of developer man hours in maintenance and troubleshooting.

Introducing LightBlue

LightBlue is a development framework that abstracts our dependency on the Azure platform. It provides a light-weight hosting mechanism allowing both worker & web roles to be deployed (without packaging) in a dedicated process. This approach has yielded the following advantages:

*Warning*

I'll keep you up to date as development progresses. Kudos to Colin Scott for all his hard work and late nights on the project.

LightBlue Resources

Comments