Last year at Microsoft Ignite, I posted this tweet, inspired by one of the sessions on the cloud shell.
Since then, I barely used my iPad for Azure or Powershell, as I had easy access to a Windows laptop. But it kept itching every time I used my iPad (I do very often): is an iPad actually useful for managing Azure? The app is there, the shell is there… There is no doubt that you can manage Azure. I’m going to spent this blogpost to explore whether you should.
I first take a look at manual management and after that get into the fun part: automation.
The Azure App
I am using the Azure App, which you can find here.
I opened up the app and signed in to my Azure tenant.
You get a list of all the resources that are in your subscription. In the hamburger menu you can select which subscriptions you want to show.
Everything is clickable and with every resource, you will find that you are able to add or remove Roll Based Access permissions.
You also can get metrics of the resources. But there aren’t much management possibilities beyond that. Except for Virtual machines.
Virtual Machines
With VMs, there are more options. You can see the metrics, start and stop de VM, but also… Connect to it.
When you click connect, you get put through to the Microsoft Remote Desktop App (if you haven’t have it installed, you get linked to the App Store).
And then this happens:
Server 2019 on an iPad. Of course, it’s a bit of a hassle to work with the onscreen keyboard and touchscreen, but I must say they handled that quite well. There are solutions for moving the screen when you need the keypad. Of course, it’s not like a normal laptop and this would probably be a last resort. But if no laptop is available, it is surprisingly workable this way (assuming you already have RDS access in a secure way).
Notifications
The next tab is a page with notifications, coming from Service Health and Azure Monitor. This means that you could use the app to make sure everything is alright in the environment. Service Health alerts are provided by Microsoft, Alerts by setting them up in Azure Monitor.
I have shortly tried if I could get push notifications, but couldn’t get it to work on my iPad. This might be a problem on my iPad, or with the app itself. But if push notifications are working, that would be a very useful feature.
The Azure mobile website
After going through the app, I did find it a bit limited. This made me curious about how well the portal is working in a mobile browser (Safari of course).
And I must say, I am pleasantly surprised. The website works very well, the menus and suggestions work and you get your standard notifications.
If you get to choose between the app and the website, you can get a lot more use from the website. But it seems to me the app is trying to add on to the existing functionality in the portal. And if that is the purpose, It is doing it well.
Automation: Cloud shell
The portal is nice, but automation is a lot more fun. In the app, you might have already spotted the Cloud shell option on the bottom right. Well if you expect something else then in the web-shell (https://shell.Azure.com) you will be disappointed. The version in the App doesn’t add anything. It actually lacks the functionality to open Code and edit a file.
But as they are almost the same, the question remains: how useful is it on an iPad.
I think everyone who has worked with it for more than 10 minutes will have the same opinion:
- We need tab complete
- We need an up arrow
Typing on an iPad takes a bit more time. Then you make one typo and you will have to start over as you can’t use the up arrow. You will get frustrated, I promise.
There is a uservoice to provide this functionality to the app, but it’s been a year. Feel free to upvote though.
To ease the pain, Cloud shell uses the Az module, which has very short commands. You can’t have too many issues typing Get-AZVm. The problem comes with typing Get-AZVM –name VM1 –resourcegroup Recourcegroup1.
Also, the app has a paste function, you could copy-paste the cmdlets.
So I actually went there: I bought a cheap little bluetooth keyboard.
And yes, it does tab complete! ? (also, I think my dog is judging me)
So it works and makes typing for codes a lot easier. Of course Apple provides covers for the iPad with a keyboard. In my opinion for the smaller iPad they are just a bit too small though, plus they are very expensive. But it will make the job easier of course.
Setting up custom scripts
To really give the Cloud shell a change, I decided to do some work. I got back to a computer and quickly wrote a few functions with very short names, to do basic tasks (get a resource, start a VM, stop a VM. Stuff that you could actually do through the GUI of the app). If I could call on those, the shell would be a lot easier to use.
This is the script I created:
I saved the script as CS.ps1 (nice and short). Then I opened Shell.Azure.com in a browser and I dragged the file from the explorer to the browser. Let’s take a moment to appreciate how awesome that is, you can drag a file and to the browser and it’s saved into your personal storage on Azure.
The best option now would be to put this script in my profile so it automatically loads when you open the shell. I tried and I tried, but I can’t get it to work, it will not remember my profile. Might be just me, might be a bigger issue. For this post, I decided to work around it.
When I open a new Azure Shell session (in the app or in the mobile browser), I dotsource the script.
Now I have a bunch of short commands to do common tasks.
Now we are getting somewhere, this is workable. For your specific usecase, you could create small little functions and call them easily from your iPad.
Conclusion
So is the Azure app on the iPad something we should seriously consider?
The app should be appreciated for what it is capable to do: notify you when something is wrong, list resources and show metrics. Open a VM in time of panic (although that credit should go to the Microsoft Remote Desktop App). If push notifications work, this could really help people in monitoring the environment.
The shell: Nope. Have some fun with it, but don’t expect it to be useful for production if you don’t have a separate keyboard. Which was to be expected of course. Let’s be clear: The cloud shell is great and getting better and better. It’s just the limitation of using a iPad when coding that’s the issue.
Still I had fun and I would encourage everyone who has an iPad to try it out.