The Evolution of the Modern IT Infrastructure Engineer
I started my career in IT in 1994 as a junior software developer. It was a challenging position where I learned to deliver software to customers. When the company went out of business, I started working as a helpdesk technician for a startup energy software development company. I was the only IT support person for 150 users and about 10 servers. The surplus of service requests encouraged me to automate processes where possible – ultimately, not only was automation necessary for my survival in the position, but it actually helped to ensure end-users were happy with the level of service I was providing. From there I was launched into my consulting career, where I learned that to remain relevant, you can’t afford to stop learning.
I’ve experienced many changes in technology throughout my career. To be fair, the scope of technology’s expanse is so great, wrapping everything up into a single blog post is practically impossible. Here is just a brief glimpse into how rapidly the IT infrastructure engineer has “evolved” in recent years
The First evolution
This evolution created armies of “network administrators” specializing in Novel NetWare, LAN Manager (OS/2 and MS-DOS), Microsoft Windows Servers, etc. These were fun times for me. Networking was just so new. Token ring, ethernet, etc. It was a blast. Most if not all of the hardware at the time was on premise and there were literally no scripting tools other than basic batch scripting to automate or manage the server infrastructure.
The Second evolution
This evolution is marked by both hardware colocation and server virtualization, which in combination forced engineers to learn to consolidate and manage large server farms remotely. Back then we had more scripting available, such as Perl with Windows libraries, VBScript, etc.
The Third evolution
Cloud. This is where IT engineers started to move away from the traditional physical colocation and into cloud hosted solutions such as Microsoft Azure and Amazon Web Services . By this time, we had robust scripting languages such as PowerShell, which allowed us to perform practically any operation on a remote server. Also, we had nice web user interfaces which facilitated the creation and management of remote virtual assets on the cloud.
The Fourth evolution
Cloud automation. This is when IT infrastructure engineers began to build servers using scripts – no more web user interfaces. An entire network (firewalls, VLANs, servers, routers, switches, databases, etc.) could be created and provisioned through scripting in minutes!
So what is the next evolution of the modern IT infrastructure engineer you may ask? In my opinion, we are smack-dab in the middle of it – Serverless Computing. Since the first evolution, one thing is common: there needs to be a level of programming to help support the scale and the complexity of these systems. But what if you did not need to create servers anymore? With serverless computing, cloud providers have created models to accelerate application provisioning by abstracting the hardware beyond virtualization into just providing the basic function of a server. For example, if you need a web server, now you can get a web listener and avoid having to worry about installation, configuration, and security. This is all done through programming.
Serverless computing has abstracted the complexity of a modern complex infrastructure to a new level. As this new technology wave grows, engineers will go from creating servers to creating “functions”, such as Azure Functions. Functions provide specific functionality such as the one mentioned above for web, messaging buses, databases, and more!
In my opinion, it is critical for IT infrastructure engineers to not only ride this wave, but also get ahead of it. How? By learning basic programming constructs, which are the foundational components of serverless computing. Languages such as .NET C# are no longer for sole programmers – IT engineers must also learn to “code” the serverless environments. This technology wave is bringing visibility to DevOps cultures and blurring the lines even further between engineers and software developers.
Another proactive approach for managing waves of technological innovation is for engineers to embrace container-based computing programs such as Azure Containers, Docker, and Kubernetes. Then, apply engineering knowledge (load balancing, high availability, high performance, performance tuning, etc.) to build truly modern enterprise solutions using proven best practices.
In conclusion, the pace of cloud technology innovation is particularly alarming, and old approaches are becoming increasingly ineffective. Learning new skills is no longer a choice – it is required for relevance in the IT space, and effective differentiation will require even more. With so many new technologies permeating the way people access both information and each other, the forward momentum for IT is strong, and the future looks promising.
Emilio Chemali, Director of Business Intelligence & Analytics, MRE Consulting, Ltd.
Emilio is a technology subject matter expert, respected thought leader and CIO100 Award Winner. With over 18 years of experience, Emilio has helped clients in multiple industries create business value through Business Intelligence, Data Analytics, DataOps, DevOps, IoT, Application Integration, Enterprise Mobility, Enterprise Architecture, Software Development, Infrastructure Management, Cloud Strategies, Server Virtualization, and Application Performance Tuning initiatives.
Click the link below to download the PDF version.