I've been exploring scripting the complete setup of all labs based on feedback from the 9/15 trial teach. The executive summary is: we can do some, but not all and will still require a lot of command line work by the student. The fundamental problem is that to do anything with resource groups (such as the SLURM lab) requires the Azure CLI to be in resource mode, which can only be done with an Azure Active Directory account as Microsoft Accounts are not supported.
Below I will list for each of the sections what can and can't be automated. Note that I have not actually done these steps, but have been reading the documentation to see what is possible.
Creating the Azure Pass account
We will still have to have the users install the Azure CLI themselves. Because you have to download the .PublishSettings file and integrate it into the user's instance of Azure CLI that part of account creation will still be the same. As we saw even knowing where the file downloads is a problem.
Storage
Most of this lab, minus any resource groups, can be automatically created but we'll have to program a way to ensure unique names for storage accounts.
Service Bus
It looks like parts of this can be automated, but not all.
Big Data
Amazingly, it looks like this can be automated and we will have to add programming to avoid naming conflicts
HPC
None of this can be automated
At best we can automate something like 30% of the work. That's a win but I wanted to everyone know that because of the limitations in the Azure CLI we are not able to automate as much as we want.
I've been exploring scripting the complete setup of all labs based on feedback from the 9/15 trial teach. The executive summary is: we can do some, but not all and will still require a lot of command line work by the student. The fundamental problem is that to do anything with resource groups (such as the SLURM lab) requires the Azure CLI to be in resource mode, which can only be done with an Azure Active Directory account as Microsoft Accounts are not supported.
Below I will list for each of the sections what can and can't be automated. Note that I have not actually done these steps, but have been reading the documentation to see what is possible.
Creating the Azure Pass account
We will still have to have the users install the Azure CLI themselves. Because you have to download the .PublishSettings file and integrate it into the user's instance of Azure CLI that part of account creation will still be the same. As we saw even knowing where the file downloads is a problem.
Storage
Most of this lab, minus any resource groups, can be automatically created but we'll have to program a way to ensure unique names for storage accounts.
Service Bus
It looks like parts of this can be automated, but not all.
Big Data
Amazingly, it looks like this can be automated and we will have to add programming to avoid naming conflicts
HPC
None of this can be automated
At best we can automate something like 30% of the work. That's a win but I wanted to everyone know that because of the limitations in the Azure CLI we are not able to automate as much as we want.