When I started in tech, the world was MS-DOS based, with Windows 3.11 for Workgroups if you were lucky. Word Perfect ruled the typing pool and dot matrix line printers sang in the background. There was no plug and play. There was config.sys and autoexec.bat. Token ring and IPX/SPX.
I promise I won’t tell you to get off my lawn.
And then, our tech world changed. Windows NT brought with it the registry. TCP/IP. Ethernet. Active Directory. So many new things to learn that fundamentally changed our technology infrastructure.
Some things change, some stay the same.
The interesting thing is that some of my knowledge stayed relevant. LAN congestion. System performance. RAM and CPU utilisation. Running out of disk space. Even some security concepts introduced then, like sub folder permission inheritance, still stand today.
The tools changed, but good IT Operations practices and concepts really didn’t.
It feels like we stayed in an age of stability for a while. Sure, products got updated. And Windows Small Business Server convinced us that staying away from configuration files was a good thing when we should be using setup wizards instead. But even through different iterations of Windows Server and the Windows desktop operating systems, we didn’t really face any major changes to our infrastructure.
So it’s natural to get a little uncomfortable again, during this current age of systems administration and architecture. Our IT Operations tools are changing and it’s not just because of the Cloud. Or maybe, indirectly, it is.
Before we go any further, this is not the article that tells you that on-premises servers are dead. This is not the article that tells you to move all of your servers to the Cloud or face the extinction of your organisation within the next 2 years. This is the article that points out a couple of key things and encourages you to find the opportunities that exist in new ways of working.
Factors of change
The Cloud has accelerated the pace of change. It’s made it easier and faster for organizations to deploy applications and platform capabilities. It’s also made things a lot more interesting for systems administrators who are trying to ensure that everything is owned, stable, backed up and secure. There are parts we can no longer control. In the Cloud, we’re not the ones replacing RAID controllers or failed disks. Heck, with containers and Azure functions we’re not even managing operating systems. But it’s provided other cool opportunities for us to provide offsite backups and disaster recovery. We can spin up test environments without big hardware expenditure and shut them down with no ongoing cost. And our organizations love how fast those capabilities can scale.
These new infrastructure components don’t lend themselves well to GUI configuration screens, especially at scale. To help us manage our IT operations at the speed expected by our organizations, we’ve gone back to our config.sys days, of sorts. We’ve taken our Kix32 scripts and batch files to the next level, with Powershell. This comprehensive command set has become the de facto standard in the Microsoft world, whether you’re managing a server on-premises, in the Cloud, or even managing Microsoft’s Office 365 SaaS products.
This isn’t breaking news here. Even if you have nothing in the Cloud, you’ll find most answers to the question “how do I easily do X” are PowerShell commands. String a few of those commands together and you have a script. We’re managing infrastructure via text commands and it’s fast and effective and duplicatable … and it’s a completely new skill.
It also takes us off into new territory … into the land of GitHub. This realm of the software developer is also a perfectly structured platform for storing PowerShell script examples and their relevant documentation. It allows people to give feedback and fix bugs It’s amassing the power of our collective IT Operations knowledge and scripting best practices far more effectively than blog posts could ever do (though there’s still a place for blogs – they’re just not a great source code repository).
Clone a what?
To me, GitHub may as well be written in Hungarian. I envy people who say “just clone the repo” because it’s something they can do without thinking too hard about it. But I understand that it’s important for me to learn about this new place and how to operate within it. That’s not just because of my new role at Microsoft. It’s because there are a ton of useful PowerShell scripts there that make IT Operations easier. Faster. Duplicatable.
I want to explore those possibilities. I want to spread the word when I find the boring, hard thing we need to do has been beautifully automated by someone much more skilled in PowerShell than myself. And I want to be able to feed back to my communities when I think of a potential enhancement or tweak. I want to be help make those scripts better for the next systems administrator who wants to do their job well and then go home and see their family.
Our why hasn’t changed – we still just want to go home.
This is the changing face of IT Operations. This is our industrial age. We’re now armed with new tools to learn and concepts like version control and code editors like VS Code. It may be looking a little like software development. Fortunately I know a few friendly software developers who are willing to impart their knowledge to those who want to listen.
I don’t want to write software applications. I really don’t want to learn Python or Java or Go. I might be tempted to dip into modifying some code to get a WiFi lightbulb to change colours, but that will be a side project with my 13 year old daughter who can already code. I’m proud of my infrastructure skills but I’m excited that in my ever-changing industry we’re in an age of significant change again. That’s an opportunity for me to learn. That’s an opportunity for me to make life better, make life easier, for me and for others in IT Operations roles.
Bring it on, GitHub and scripting. Not only is it possible to be a systems administrator AND clone repos, but it’s a pretty powerful combination. Together, we’re going to rock.