Development of software has continuously become complicated though the ease of development has increased with the improved tools. The world has already shifted towards Microservices based architectures. There will no longer be large scale web applications which will crush a lot of functionality in.
Microservices are small in scope and independent. They can be built and tested separately as they are built to be independent in terms of functionality as well as other Microservices that provide supportive functionality around. A Microservice is built to solve a particular problem, or functionality. They are intended to deploy rapidly and frequently based on the need. Given they are smaller in size, it can come at a cost of ending up with multiple projects or components for development.
What is Azure Dev Spaces?
Imagine a developer having to connect 10 – 15 Microservices together to get some functionality done? There will be risks with possible environment-based issues as well. The best way to counter these within a team would be to host them on cloud. That is what exactly Azure Dev Spaces does. If you are a part of a team that work on a multi Microservice based solution, you can host all your services on Azure Dev Spaces. Then you can live debug on Azure on a space created for yourself.
Azure Dev Spaces supports development with a minimum development machine setup. Developers can live debug on Azure Kubernetes Services (AKS) with development tools like Visual Studio, Visual Studio Code or Command Line.
Is Dev Spaces for Testing?
Azure Dev Spaces are meant for development. Developer testing can be done, and it reduces the chance of finding many issues during the integration testing after the solution is deployed for QA testing. But Dev Spaces is not the ideal solution for end to end regression testing. VSTS supports plenty for that.
How it works?
Lets look at the figure above. The Front End connects to Customer API and the Customer API connects to the Service 1. When a user browses through the URL given above, it comments and route through the all stable versions of the services deployed in Azure Dev Spaces.
Then consider a situation where Malin needs to customize the ‘Customer API’ service. Azure Dev Spaces offer the ability to create multiple ‘Spaces’. Developers can create spaces specific to themselves or based on sprints. Then they can host the services that are needed for customizations. By default, a space named ‘default’ is created.
As shown in the image above, Malin’s space can be accessed with a specific prefix ‘malin.s’ to the URL. When a request is made through the above URL, Azure Dev Spaces will check for services hosted in ‘malin.s’ space. As it is only the Customer API that is hosted in that space, request will consume the default space for other services.
You can have many developers create different spaces for themselves. They all will have their own URLs. Once all the development is done, they can test and check-in the code to the source control and host the customized version of the service to the default space. Then the other developers will also get access to the customized service for development and testing.
This way it will improve the developer experience and ease the development efforts. As of now Azure Dev Spaces is provided as a service free for 12 months.
About the Author:
Malin De Silva is a Top Rated Freelance Azure and SharePoint Solutions consultant on Upwork with 100% Job Success Rate. He was also an MVP for Office Servers and Services during 2016-2018. Occasional blogger and also a frequent speaker at local and regional user groups and forums.