A set of step by step notebooks to create and manage virtual machines in azure
You need Visual Studio Code with the .NET Interactive Notebooks extension.
- Open 0-requirements.ipynb file with Visual Studio and make sure you can connect to your Azure account.
- Open the rest of the files as needed with Visual Studio Code
Either:
- Install .NET6 SDK
Or:
docker run -p 8888:8888 pocki/minimal-dotnet::20220210
- Open the file in the JupyterLab.
Again, make sure to follow the instructions in 0-requirements.ipynb.
The rest should be auto explanatory, just fllow file names.
The main motivation is to start working in a virtual/remote/stateless way.
This means that instead of polluting your own machine every time you want or need to install something, configure omething or test something, you should:
- Create a VM from an existing snapshot (normally a base image that contains whatever your working environment requires).
- Connect to the VM.
- Work on it as much as you need.
- Create snapshots as you go (as checkpoints) and keep document steps.
- When done:
- Finish documentation
- Create final snapshot (if necessary)
- Delete checkpoint snapshots.
- Delete VM.
- If at some point something fails or is misconfigured:
- Delete VM
- Create VM from last checkpoint
- Goto 2.
Most of the software you use will be updated regularly, so you should come up with a process for that. For example:
- Users should not update their Windows, Chrome, Ubuntu, Docker, etc.
- Someone should: Open the base VM, do 1 update. Verify it does not break anything. Create new snapshot. Notify everyone.
- Someone should try to automate that kind of updates.