“Learn PowerShell before it’s too late” is a phrase that’s been banded around for a good few years. MVP’s have said it, Microsoft have been saying it, user groups and communities have been saying it, everyone has been saying it. But when exactly is too late? Well, it looks like we’re at ‘Last Call’.
Is it really almost too late?
If you look at the changes to the Microsoft platform in the last 12 months there has been a significant shift. That shift has removed the dependency on GUI administration tools and instead it has built Automation into the heart of the platform. Automation comes in the form of PowerShell. For many years we have heard statements like “PowerShell is built into Microsofts Common Engineering Criteria …” , “every product must support PowerShell…” and so forth. Exchange started this process and with Exchange 2013, there is only PowerShell and a Web Interface to manage the product. The MMC is already gone. System Center Virtual Machine Manager 2012 has an MMC but it is built on top of Windows PowerShell. Windows Server 2012 has over 2000+ cmdlets, 10 times the number that Windows 2008 R2 had. In short, those promises have now been delivered upon and the first wave of technology with PowerShell at it’s core is all here.
What does this mean to Businesses?
It means that in upgrading to Windows Server 2012, System Center 2012, Exchange 2013 and so forth, businesses get a much larger return on investment. With the right staff who have the ability to use the automation engine it means (among many other things) that:
- Higher Stability of Servers and Services – Automated changes have a higher rate of success
- Faster Time to Market – New Servers and Services take less time to deploy and configure and there is less time spent writing documentation and operation guides
- A more supportable and predictable environment – New Servers and Services will be deployed as standard, without differences
- Reduced number of incidents through minimised Configuration Drift
- Less manual processes required as more can be automated
- Much more …
The point ‘Less time spent writing documentation and operation guides’ is a point especially interesting to me. As a Platform Engineer I have spent countless hours in the past writing documentation on how to install and configure a service. Then, how to perform the different tasks in GUI tools to run and manage the service. I see PowerShell is now going to change this:
- Installation and Configuration Guides are replaced with PowerShell WorkFlows and Desired State Configuration scripts – New services do not need someone technical to deploy them
- Documentation is generated through PowerShell Scripts that gather information, verify it and write it out to a file
- Management and Maintenance tasks are scripted. A Level 1 staff member can run a script to achieve things that Level 2 staff would currently do
What does this mean to you?
Well, this interview with Don Jones really explains it in the best way. Essentially, as Business start upgrading to the 2012 wave of Products, the job of a Level 2 Server Operations person as it currently is starts to disappear. Level 1 staff can run the various automation scripts and tools, and Senior staff (Level 3, Engineering, etc.) will be building that Automation. So, from what we’re seeing, Level 2 staff may have some choices tomake. They
- will need to decide whether or not they want to advance into an Level 3/Engineering role and start developing the skills to do that. Or, they
will need to decide if they even want to remain technical at all, perhaps a role working with the Business or in the ITIL space is more interesting. For those who do decide they want to move up the Technical chain, it will make
- Level 3/Engineering staff have to make sure they have the skills to make the most of the Automation engine built into the Microsoft platform, so they can remain competitive in that role, or they in turn move up to Architecture and more business-ey roles.
This should not instill panic or worry. These changes will not happen overnight, however, they will start happening without you realising and likely already have. Most businesses, particularly large enterprises have a lot of legacy technology around that will take time to consolidate, migrate from and replace. So, those not so PowerShell-Capable will still be required for some time in different roles for sure. However, there will inevitably come a point where if you are not able to automate a technology platform and the management tasks associated with that, then what use will you be in an Operations/Engineering role?
The way that we have operated Microsoft technology over the past 10-20 years is rapidly changing and the foundations we are used to and all been very comfortable in are being shook. This can be unsettling to many but personally, I see this as an opportunity. It is an opportunity to advance your skills and move into doing more exciting work that rebooting servers and following wizards. It’s an opportunity to move into a role working more closely with the business for example, the one thing to keep in mind is that change is constant and if you embrace it, then change is good.
So, if remaining in a Technical role is what you want to do and you haven’t made the start with PowerShell yet, it looks like the Curtain Call is upon you. My previous post talked about why people avoid learning PowerShell, but the time for procrastinating is certainly over 🙂
The PowerShell Return on Investment
PowerShell is about to be in it’s 4th Version at the launch of Windows Server 2012 R2. Microsoft have made a significant investment in it and will continue to do so. This means that any time spent learning PowerShell will not go wasted. In addition, it also brings you closer to understanding how Unix and Linux can be managed, which starts branching your skills out to other platforms as well. A lot of work has gone into PowerShell to ensure it is easy enough to learn and it is not something that should be feared. Sure, if you scour the internet you’ll see all sorts of scripts and blogs talking about almost programming level use of PowerShell but that’s not the level you need to get to at all, I will talk about this in my next post ‘Beginning with PowerShell’. By taking the time to understand how PowerShell works, it also enables you to start working with technologies you might not have had any exposure to. For example, I have never administered Sharepoint, but if you give me some time to discover the cmdlets and read the help, I bet I can be pretty effective right off the bat. Obviously a Sharepoint specialist will know better ways to complete a task than I probably would at first, but it wouldn’t stop me from being able to get immediate results.
For those who know how to use PowerShell, the benefits are incredible. Whatever you can do from PowerShell to one server or machine, you can do to as many servers or machines as you like. The number of things you can achieve during a working day goes up 100-fold. The mundane tasks you always had to do go away as soon as you automate them once. You can rebuild your test labs from Scripts, you can hand your user creation tasks over to the HR department, you can deploy VM’s by importing a CSV that you get a project manager to fill out, no more pointing, clicking and checking! Using tools such as SAPIEN PowerShell Studio you can even start building GUI’s onto your scripts, easily and intuitively so that other people can do more things for themselves. You become an enabler, rather than a bottleneck. Those who add the most value are those who enable and empower others. That is also where you get to go home at 5pm because the HR can create the accounts for those new starters themselves 😛
PowerShell is well worth your time.
You’re not on your own
PowerShell is not something to be feared. The PowerShell community is extremely, extremely strong, all across the Globe, there are so many people willing to help and so many good resources. If you’re in Singapore, I invite you to check out www.facebook.com/singaporepowershell. If you’re not in Singapore you can find your User Group at www.powershellgroup.org or throughwww.powershell.org. PowerShell.Org has resources for everybody so it should definitely be your first point of call for anything PowerShell. Especially the Forums, you will find a lot of beginner help there and experts that are readily accessible to help you get started. In Singapore, the PowerShell User Group will shortly be announcing a regular event to take place every quarter. This is for people with all levels of abilities from Beginner to Advanced and will be a great opportunity to network. Please follow our Facebook page for the announcement in the coming weeks.
Now is the time!
So, it looks like now is the time. If you make the decision that PowerShell is for you then the community is here for you. My next post will give you a number of resources you can use to get started. For anyone in Singapore I would urge you to reach out to the PowerShell User Group through the Facebook Page as your starting point. It’s an exciting time in the Microsoft space at the moment with so much opportunity, I would encourage you to take charge of your own career, to reach out and embrace it.
Come on in, the water is lovely …