Back in the sixties my Dad worked in an IT department where there were about a hundred people just to operate the one ICL mainframe in that data centre. These operators had banks of lever arch files containing instructions to handle every aspect of the day to day running of this environment from changing tapes, to setting up and executing programs like the weekly payroll run. When I started my IT career in the eighties I could a lot of this setup in shell scripts on my Unix Data General server and I could look after backups and updates all by myself and of course the kit was much more reliable. Moving forward to today we seem to have lost some of these scripting skills and seem to be content to use the UI.
However if you want to manage servers at hyper-scale (1 IT admin to every 1,000 +VMs) then logging into each one and changing them is simply not efficient enough. Also this approach is just as inefficient at smaller scales – say just ten VMs because maintenance will only be done occasionally and the tools will be unfamiliar meaning that changes will take longer than they need to and possibly lead to errors. If you have read any of my stuff or seen me present over the last year you’ll know the solution is PowerShell. If that was true a year ago it’s even more relevant now as a couple of interesting technologies have quietly been released that enhance management of virtual machines and services…
- PowerShell 4 has introduced the concept of desired state configuration where an xml schema is used to establish what the state of a server should be and then this can be used either to test or enforce that configuration on a given set of servers. At the simplest level this could be a set of features and setting on a given server, through to ensuring that given files and versions of applications are also installed. This is useful in setting up load balanced web servers which must be identical and also for Session Hosts in Remote Desktops Services.
- Windows Azure Pack allows you to run the management portal used by Microsoft to allow you to create services in Azure on your own servers. It builds on System Center 2012R2, specifically Virtual Machine Manager and Orchestrator, but makes calls to these services using an adjunct to the Azure Pack called System Center Automation or SMA. This is PowerShell based but is a classic 3 tier service of a load balancer with worker roles processing tasks which is driven by a database backend (SQL Server or MySQL). This is an important distinction because while normal PowerShell will fail if the server it’s executing from fails SMA PowerShell Runbooks (as distinct from those written in Orchestrator) are resilient. The PowerShell itself is quite different for example it can roll back to designated checkpoints within a script if a failure occurs and then be rerun from there. The Azure Pack also allows you to fully package a Virtual Machine based on a Virtual Machine Template but here you can inject packages to run inside the VM after it’s created and accept the parameters from the Gallery Wizard just like you can in Azure. It’s also possible to quickly create your own gallery images on Azure itself in much the same way..
Azure Portal show the end user experience of creating a VM
The basic thrust of this is that where until now Microsoft has given you the nut and bolts of Cloud OS for you to automate your own data center there is now more of a focus in managing your data center in exactly the same way as Azure which means that one IT admin could potentially manage thousands not just hundreds of VMs. Even if you don’t have that scale then you’ll get time back and be more agile. That is important as I talked to more than one customer who still have to wait weeks for VMs to be provisioned on VMWare and actually that’s not a VMWare problem per se, that’s an IT department that hasn’t got their heads around process standardisation and automation. So in those cases the tech savvy user simply fires up VM’s Amazon Google or Microsoft and bypasses the IT department road block. This then grows into a bigger problem as they build trust in those platforms and so more work will head off to the cloud meaning the over controlling IT admins have lost the very thing they wanted – control!