Automation is defined as the technique, method, or system of operating or controlling a process by highly automatic means. Processes IT Professionals might seek to automate include: User Provisioning, Windows Update Installation (on client machines, of course), Backup Jobs and OS Deployments. Why would you want to automate your systems and processes?
1. You can lessen human error.
2. An administrator can become more agile and administer many machines much more quickly.
3. Studies indicate IT Administrators spend up to 70% of their time with the care and feeding of existing platforms and technologies. Developing and adopting a strong automation strategy will free up more of your time to function on driving business value.
Components of an effective automation strategy
Some components of an effective automation strategy include:
- Scripting: Scripting of some kind is the corner stone of any good systems automation strategy. Every shipping Microsoft server product (Exchange, SQL, SharePoint, etc) use PowerShell for management. What’s that mean? That means that every single action that can be completed using the graphical MMC has a PowerShell Cmdlet analogue. When you combine this with the fact that PowerShell can work with .NET and WMI Classes plus other PowerShell-ready data sources, an administrator can really unlock the “power” of PowerShell and translate what was previously a large amount of manual work into a consistent, repeatable process with a PowerShell Script. Check out the TechNet Script Center to see all the great things scripting can help you accomplish in your environment.
- Desktop and Server Deployment Automation: Tools such as Acronis True Image exist that allow for easy, one-off deployments but you need to plan how you’ll handle large scale deployments for scenarios like building a private cloud environment within your company or deploying a server cluster. Microsoft offers a few great tools that can help with this. Namely, Windows Deployment Services, the Windows Automated Installation Kit and the Microsoft Deployment Toolkit. Let’s talk briefly about how these pieces fit together to form a complete deployment solution.
Windows Automated Installation Kit: While, itself, a standalone product the Windows Automated Installation Kit is a pre-requisite for the Microsoft Deployment Toolkit and includes many of the tools MDT uses when creating WIM Images, creating Answer Files, etc.
Windows Deployment Services: Windows Deployment Services builds on the foundation established by the Windows Automated Installation Kit and Microsoft Deployment Toolkit, extending the network-based OS Deployment capabilities of the platform by enabling PXE booting. One great scenario enabled by WDS is bare metal imaging since an existing OS isn’t required to inaite deployment as with vanilla MDT and the Distribution Share.
Microsoft Deployment Toolkit: The Microsoft Deployment Toolkit provides all the necessary documentation and tools required to create and deploy a custom Windows installation image. This image can contain any out of box drivers typically not included on Windows installation media as well as custom software packages like the Microsoft Office Suite. MDT completes the deployment lifecycle by allowing for the deployment of your custom Windows instllation images via removable midea (such as a CD/DVD or USB Stick) or using the network via a Distibution Share found on the MDT machine.
- Use tools built for the job: Now that you’ve scripted many of the redundant tasks in your environment and automated your desktop and server deployment it’s time to start looking at tools to monitor and manage your infrastructure and further automate operations. While a deep dive into the capabilities and features of all, or even some, of these tools is outside the scope of this article I will point you to a couple of the System Center products I use in my own environment.
Automating your infrastructure operations will result in not only decreased costs and increased agility in your organization, but it will also drive up the most important metric of all, user satisfaction. After all, we’re first and foremost responsible for delivering an available, reliable and performant service to our users. Next week we’ll open part two of this discussion and dive deep into Microsoft OS Deployment technology and how we can use it to deliver on Systems Administration Tenet 2: Make OS Deployment a Science.
A word of Warning: Automating your operations is a wonderful, wonderful thing (as evidenced by this Blog post), but some things do exist that require a human touch. For example, Microsoft Exchange won’t failback a database to the mailbox server it was previously on after a node failure. This is by design and for good reason. Imagine an Exchange Server that was stuck in a reboot cycle after 5 minutes of uptime. Not only would this cause unneeded traffic on the DAG Network, but it would result in a terrible user experience. So, put careful thought into deciding what to automate and when.