Having the flexibility to do local development is essential for successful projects. While we have successfully completed projects without a good local development story, I feel we often regret it. Without a good local development story, we often have multiple developers sharing cloud resources. When developers share cloud resources we often end with contention over those resources, and progress is slowed.
We do quite a bit of development with Microsoft Azure, and Microsoft provides a really good local development story for us .NET developers. Many of the storage type services have good development emulators. Whether we are using blob storage or even CosmosDB, we’re always able to run an emulator.
We also do AWS development, but I have found their local emulators are not as good. The emulators seem to work for some use cases, but not enough to create a local replication of my AWS setup. And without a decent replication of the cloud environment, I’m left wanting more.
We even do some Google Firebase work. But before very recently, you couldn’t run things locally for these projects; you basically had to share resources in the cloud between developers. Having developers share resources almost always results in some issues. However, Google recently announced emulators for their Firebase components, enabling developers to run those resources locally.
This is great news! This will eliminate one of my bigger frustrations with Firebase, which is everything has to hit some sort of shared server.
While I haven’t had a chance to use this yet, I am pretty excited to give it a try.