Path: blob/master/tutorials-and-examples/how-tos/Provisioning DSVM.ipynb
3253 views
How To: Provisioning Data Science Virtual Machine (DSVM)
Notebook Version: 1.0
Python Version: Python 3.6 (including Python 3.6 - AzureML)
Required Packages: azure 4.0.0, azure-cli-profile 2.1.4
Platforms Supported:
- Azure Notebooks Free Compute - Azure Notebooks DSVM Data Source Required:
- no
Description
The sample notebook shows how to provision a Azure DSVM as an alternate computing resource for hosting Azure Notebooks.
Azure Notebooks provides Free Compute as the default computing resource, which is free of charge. However, sometimes you do want to have a powerful computing environment, and you don't want to go through Direct Compute route which requires JupyterHub installation on Linux machines, then Data Science Virtual Machine (DSVM) becomes a vital choice.
Table of Contents
How to create a new DSVM
How to use DSVM
Things to know about using DSVM
1. How to create a new DSVM
Using the Azure Portal
Follow this article for details.
You should select Linux Ubuntu DSVM. And keep in mind that on Azure DSVM, if you want to use Python 3.6 which is required by Microsoft Sentinel notebooks, you need to select Python 3.6 - AzureML.
Using the Azure CLI
*** Please go to the project page to select the VM that you just created as your new computing platform (Run on ...) to continue ...
2. How to use DSVM
Now that you have a DSVM, when you login to https://notebooks.azure.com, you can see you DSVM on the drop down list under Free Compute and Direct Compute.

Of course you will select DSVM, it will ask you to validate your JIT credentials.
Once you pick a notebook to run, you may encounter the following warning:

As you may see, [Python 3.6 - AzureML] is the correct answer.
3. Things to know about using DSVM
The most important thing to know about Azure Notebooks on DSVM is that: Azure Notebooks project home directory is not mounted on the DSVM. So any references to Azure Notebooks folders / files will incur File/folder not found exception. In other words, each ipynb notebook need to be independent of other files.
There are work-around solutions:
a. Data files can be stored on Azure Blob storage and blobfufe
b. Python files can be added to the notebook by using the Jupyter magic, you can find an example here: %%writefile
c. Configuration files are a bit more complicated. Using our Microsoft Sentinel config.json as an example, it is generated when you import Microsoft Sentinel Jupyter project from GitHub repo through Azure portal. The configuration JSON is Azure Log Analytics workspace specific file, so you clone one project for one Log Analytics workspace. You can find the config.json file at the root of the project home directory. Get Start.jpynb section 1 demonstrates how to set the configuration settings manually.