By Prism Digital and the DevOpsGuys
DevOps is the hot hiring trend right now. As more and more IT departments adopt a DevOps culture (more on that later), singular roles in tech departments are becoming less frequent. Fewer employers are looking for Sys Admins, as they look for more versatile Windows DevOps (WinOps) Engineers who can be part of an agile team in their department.
A misconception made about DevOps is that DevOps teams are full of people who can do everything. That’s not quite the case. The DevOpsGuys have an interesting blog post explaining DevOps and the division of labour, but the crux can perhaps come from this salty quote from John Vincent:
DevOps means giving a *!&@ about your job enough to not pass the buck. DevOps means giving a *!&@ about your job enough to want to learn all the parts and not just your little world.
Developers need to understand infrastructure. Operations people need to understand code. People need to *!&@!!# work with each other and not just occupy space next to each other.
DevOps, and WinOps now, is not about generalists who can do everything. But it’s about expanding the roles of members of a team, and making people work together and not in silos.
In order to stay ahead of the game, and to stay as hireable as possible, here are five tips on how to become a WinOps Engineer.
1. Learn PowerShell
In five years, it’ll be everywhere. The latest update to PowerShell, Windows Management Framework (WMF) 5.0, allows engineers to do so much more than they could previously. Of interest to WinOps engineers is the fact that the tool now allows automated deployment of virtual infrastructure and applications. WMF 5.0 means that WinOps engineers can use PowerShell far more confidently, entrenching itself in the technologies of WinOps focused departments.
An important PowerShell extension that is often discussed is PowerShell Desired State Configuration (DSC). This allows users to automatically set Windows to a particular configuration by defining that configuration in code. The latest PowerShell update has also come with some new improvements to DSC, again benefitting automation tools such as Chef and Puppet.
If you want to learn more, PowerShell Summit Europe meets once a year, last year being held in Stockholm. PowerShell MVP, Richard Siddaway, also has a series of articles that covers why you should learn PowerShell and how to get started.
2. Use Git
With entire teams potentially working on the same file, you have a higher risk of something going wrong. Source control management software like Git (or Mercurial) allow you to safely edit a file, and know that the previous version is safely saved on the system.
3. Use CI platforms like Jenkins or Team City
Again, with more people working on software projects, all this work has to be streamlined into one central place for the final release. This was difficult and quite risky, as teams would do this right at the end of the project. Continuous Integration (CI) platforms constantly add the new changes to the codebase, and automatically test the updated file. This allows for errors to be reported as soon as possible.
Platforms like Jenkins or Team City run this task for you. One benefit of Jenkins is that it’s free and open source, but it doesn’t come with default security. TeamCity is not as commonly used, but it certainly is a strong contender if you’re willing to spend the money.
4. Cloud! Gain exposure to a platform
Hosting is moving off-site. Cloud hosting platforms like Microsoft Azure allow teams to work from any computer connected to the internet, and reduces costs in terms of physical hardware and – for larger companies – space taken up by servers. While Azure is Microsoft’s own cloud platform, Microsoft have opened up and allowed Windows stacks to be hosted on other cloud platforms like Amazon Web Services (AWS).
There will continue to be a trend of enterprise businesses migrating their physical servers into the cloud. Traditional Sys Admins looking after onsite server hardware are declining in numbers, and fewer employers are looking to hire these people, particularly as they move their server hosting to the cloud. It’s essential you adopt cloud technologies and become proficient in them so that you remain an attractive candidate for the years to come!
5. Embrace the culture
What’s most crucial about DevOps is that it’s a mindset. If you can’t work in a fluid, agile team, there’s no point calling yourself a ‘DevOps doer’. DevOps is about shared responsibility and having a team mindset. This is probably the most important of all the points, as without this mindset, DevOps simply becomes a buzzword in a job title.
A useful adage to think about is CALMS. Culture Automation Lean Measurement Sharing. This highlights all the necessary aspects of DevOps, and this is applicable both in the traditional Linux based DevOps world, and the newer WinOps world.
One of the best ways to immerse yourself in the culture is to attend WinOps London, a meetup group dedicated to DevOps methodologies on Microsoft stacks. This will introduce you to the latest ideas, technologies and movements in the DevOps world.
As DevOps becomes much more common in the coming years, and as DevOps moves into the Windows world, it will become crucial that a Sys Admin can work in an agile team. These are only some of the ways that they can do that. Have any other suggestions? Think it’s all a load of rubbish? Comment below!
Why you need to learn PowerShell – Richard Siddaway
Starting your PowerShell journey – Richard Siddaway
PowerShell and Server Core – Richard Siddaway
PowerShell Summit Europe – Event
DevOps: An IT Pro guide – Microsoft Virtual Academy
Written by Prism Digital's Sam Gorvin, Oliver Palethorpe and Alex Dover, in collaboration with the DevOpsGuys. Prism Digital are an IT recruitment consultancy. The DevOpsGuys are a DevOps consultancy who are leading the charge for WinOps. Together, Prism Digital and the DevOpsGuys founded WinOps London.