Welcome to the Microsoft DevBox demo repository! This project aims to simulate a company named “Contoso” that leverages Microsoft DevBox for provisioning workstations to its engineers.
Microsoft Dev Box gives you self-service access to high-performance, preconfigured, and ready-to-code cloud-based workstations called dev boxes. You can set up dev boxes with tools, source code, and prebuilt binaries that are specific to a project, so developers can immediately start work. If you’re a developer, you can use dev boxes in your day-to-day workflows.
The Dev Box service was designed with three organizational roles in mind: platform engineers, developer team leads, and developers.
Platform engineers and IT admins work together to provide developer infrastructure and tools to the developer teams. Platform engineers set and manage security settings, network configurations, and organizational policies to ensure that dev boxes can access resources securely.
Developer team leads are experienced developers who have in-depth knowledge of their projects. They can be assigned the DevCenter Project Admin role and assist with creating and managing the developer experience. Project admins create and manage pools of dev boxes.
Members of a development team are assigned the DevCenter Dev Box User role. They can then self-serve one or more dev boxes on demand from the dev box pools that have been enabled for a project. Dev box users can work on multiple projects or tasks by creating multiple dev boxes.
Microsoft Dev Box bridges the gap between development teams and IT, by bringing control of project resources closer to the development team.
Contoso is a fictitious company utilizing Microsoft’s DevBox to streamline the deployment of development environments. This repository offers a real-world simulation to demonstrate the capabilities of DevBox in a practical setting.
Before you delve into the project, ensure you have:
az
) for many of its operations. Ensure that you have the Azure CLI installed and updated to the latest version. You can check its installation with az --version
.
zsh
is the default shell, but Bash can still be used.The script assumes the existence of several other scripts in a specific directory structure. Ensure these scripts exist and are executable. If these are part of a repository, clone or download the repository first.
The script assumes the existence of several other scripts in a specific directory structure. Ensure these scripts exist and are executable:
./identity/login.sh
./identity/createIdentity.sh
./identity/registerFeatures.sh
./identity/createUserAssignedManagedIdentity.sh
./network/deployVnet.sh
./network/createNetWorkConnection.sh
./devBox/computeGallery/deployComputeGallery.sh
./devBox/devCenter/deployDevCenter.sh
./devBox/devCenter/createDevCenterProject.sh
./devBox/computeGallery/createVMImageTemplate.sh
./devBox/devCenter/createDevBoxDefinition.sh
branch
, location
, etc.). Review and adjust these values if necessary to match your Azure environment and naming conventions.Provide a brief description or diagram about the architecture. Consider using diagrams or flowcharts to better illustrate the architecture. Add the link or embed the image here.
This repository is structured around multiple projects:
To effectively utilize the scripts contained in this repository:
Remember to replace placeholders with actual steps and relevant commands.
We welcome contributions! If you’d like to contribute, please follow these steps:
This project is open-source, licensed under the MIT License.
For any queries or feedback, please open an issue or contact the maintainers. Happy coding! 🚀