RIP, Systems Administrator, Welcome DevOps
While the traditional sys admin role may fade away, those who are willing to change can take an exciting journey with cloud and DevOps.
Looking back at times to the internal IT landscape, a system administrator was a star role in a small to medium enterprise. They were the 911 for IT operations and it was important to have their phone numbers saved, if you had to keep your project moving forward.
The role of the system administrator, as we know it, is undergoing a major transformation due to digitization and cloud. This was traditionally a segregated role for those who did all the installations, backups, etc., and owned the on premise infrastructure. They almost always had an ongoing feud with developers to guard their territory and coding was not their forte.
Over time in the late 90s, there were incremental improvements to system administration with virtualization, proactive monitoring, smart switches, etc., the administrator could spin a new VM was a few clicks of buttons, and storage and networks could be configured without ripping apart the server or climbing a ladder to tag the wires on the router. However, these were incremental but not disruptive changes.
The biggest constraint with traditional IT infrastructure was scaling. It was important to get the server sizes and capacity planning correct before the start of the project. If the system didn't meet the response time SLA by milliseconds or you had undersized the servers for compute or storage, the only option was to wait for the procurement of the new hardware and undergo related outages. It was often a norm to over-size the capacity to ensure a good night's sleep and prevent the CIO breathing down on you.
Even though cloud technologies have existed since the early 2000s, new technologies and approaches have reached a tipping point which has impacted the role of a system administrator. These disruptive were caused by coming together of multiple factors for a perfect storm. Some of the major contributors to this transformation are discussed below.
Infrastructure as Code. IaC is the process of managing and provisioning compute, storage, network and related infrastructure through a simple code. This paradigm shift in Infrastructure as Code also gave rise to the concept of Idempotent and immutable infrastructure wherein you treat your infrastructure like a cattle instead of a pet. You shoot the sick cattle but nurse the pet. Similarly you could stand up a new infrastructure instead of fixing the old one.
IaC and software-defined data centers blurred the roles of system administrator and developer. The developer was perfectly empowered to stand up the necessary infrastructure without help from the administrator. There were no tickets to be submitted and no follow up was required.
Containers. Container technologies like Docker provide a level of abstraction of the underlying infrastructure. Containers can be game changers in how they can provide an abstraction in environmental factors across test and production regions. So many times production rollouts have to be rolled back because an application working flawlessly in a test region had some mysterious defect in production. This abstraction assures code that works in the lower region in a container will work in production with no environmental surprises. This predictability will make deployments more frictionless and enhance automation, further reducing the demand of a system administrator.
Chat bots. It was not unheard of to request the system administrator to restart a service while they were out shopping or on the road. Conversational ChatOps tools like Hubot now provide a convenient and disruptive tool in the hands of the operations team, which in future can use artificial intelligence, and can self-train it to perform operational tasks. ChatBots properly configured and secured could take away a lot of pain in routine, unscheduled administrative activities. You could restart a service or kick start a script from your mobile device on a chat app like Slack while you are out at the game rooting for your favorite team without having to log in to the servers.
As these technologies mature, it will further abstraction from the complexities of support, reducing the demands on the system administrator.
Microservices. Large, monolithic client server applications are slowly fading away. Cloud infrastructure is mainly built on a premise of economical horizontal scaling (adding more servers) instead of vertical scaling (adding more horsepower to the server).
Service-oriented architectures have laid the groundwork for micro services, but with cloud, it is more appealing to deploy a suite of independently deployable, small, modular services interacting on a lightweight communication protocol. This not only reduces risk during deployment but also allows development teams to build and deploy independently. With autonomous units, it also becomes easier to root cause and fix defects when required. Teams deploying microservices are likely to be operating in a DevOps model without relying on pure administrators.
DevOps. The much hyped DevOps will play a pivotal role in the disruption of the traditional sys admin role. The concept of agile and iterative deployments with faster feedback cycles is being adapted organization-wide because the ecosystem is ripe to support the movement. Faster to fail and automation to build predictability in the system is not a new concept, but adaption of these principles by the IT industry is very promising. It will dramatically change the way we run operations.
The technologies themselves will not change the IT world much, but the adoption of a DevOps culture, coupled with a supporting ecosystem, has the potential to be a game changer for the IT industry. The plain old sys admins may be first in line at the chopping block due to the change in the landscape and depreciated value.
The converged role of sys admin
This the riskier part of the story. How do we predict where this will go? Frameworks for provisioning compute, storage and network will be available in the cloud and become more ubiquitous. This will provide a high degree of abstraction of the underlying technologies required to support the IT infrastructure. It is very likely that businesses will reduce hiring sys admins for setting up their own IT infrastructure and use the cloud as we use a utility service now.
It is most likely that the sys admin role will morph and converge into a role with a combination of infrastructure and coding skills. Amazon famously calls it a “you build it, you run it” approach, wherein the ops and dev teams converge.
Maintenance and upkeep of testing and production environments are likely to be highly automated activities with continuous integration and deployment. This will require a different skillset, with a shift in focus from technical infrastructure to providing business agility. System administrators are expected to still live in the digital era operating a different toolset.
For those who are willing to adopt and change, cloud and DevOps promise an exciting journey that will disrupt the system administrator’s current role, but with new toolsets that will expand their impact and bring them closer to the business in a new digital world.