Changing Tech, Changing Jobs: What Serverless Means for SysAdmins
The New York City Subway used to have ads above the seats for some trade school. The general thrust was, technicians always will be in need, because things always will break.
What happens when employers no longer need to manage things that break?
Ever since we have had IT, we have had servers. Ever since we have had servers, we have had systems administrators, or SysAdmins. I actually started my career as a sysadmin, recruited out of engineering school to run systems for CS First Boston.
Of course, servers are meaningless. They really are just platforms to do one of two things:
- Run applications: compute
- Keep data: storage
Of course, those servers need to run somewhere, so we have data centres, which are run by data centre administrators.
As much of computing moved to the Infrastructure-as-a-Service (IaaS) cloud, many companies have been able to get out of the business of running data centres, which means they no longer needed the staff who specialize in running physical data centres - power, cooling, racking, cabling, layout, cages, physical security.
Each shift in technology that reduces costs for companies, mostly reduces labour costs, since labour costs are the bulk of many companies' costs. I just finished rereading the excellent "Accidental Empires". A key point in the book is how each new technology needed a "killer app" to make it take off. For example, the spreadsheet was the key enabler for the Apple II (VisiCalc) and the IBM PC (Lotus 1-2-3). The spreadsheet replaced lots of people in a room with blackboards that extended across many rooms, and took hours of labour to recalculate each cell.
This is equally correct in the move from physical servers to virtual instances, from virtual instances to containers, and then from containers to serverless.
For example, the primary benefit of serverless is the fact that I no longer have to worry about or maintain servers, neither physical nor virtual, nor even containers. I don't need serverless; I can get the same level of abstraction and management even with containers, virtual servers, or physical servers. It just requires a lot more investment in staff to build and maintain them.
Thus, the real benefit is not reduced headache or faster time to market. It is reduced headache and faster time to market for the same cost. Or, if you prefer, it is the same result for significantly reduced cost.
When discussing this with Paul Johnston, he had an interesting comment:
... in Serverless... the Sys Admin virtually disappears from the resourcing.
Does serverless, indeed, mean the loss of many sysadmin jobs?
I believe that they will, indeed, but also the creation of many such jobs, in in 2 stages:
- The net number of jobs will reduce. The total reductions will be greater than the net, although many will be replaced by those with higher level and pay.
- More jobs will be created as more consumers enter the market.
First, Reductions
Let's be brutally clear: many low-to-mid-level sysadmins and operators will disappear from companies. Startups, tech companies, retailers, manufacturers, all rely on software, all have some concentration or another of sysadmins, and many of those jobs will, indeed, disappear.
On the other hand, in order to provide the serverless "abstraction", to make it appear that all we need to worry about are these serverless functions, someone has to build, scale, automate and run a significant number of real servers, virtual servers, containers and applications to support these "serverless" functions.
That means there will be a significant increase in sysadmin and, especially, systems engineering jobs at companies like Amazon (AWS), Google (GCE), Microsoft (Azure), Rackspace, Joyent.
However, these jobs at cloud providers will be unlike the ones they replaced at consumers. Since a key benefit of serverless providers is that they reduce cost for the same activities, the providers cannot simply take on the workload that the consumers shed. They have to be far more efficient, scaled and automated.
In other words, they require a much higher degree of engineering than the consumers used to do themselves. Each such job will cost the employer 50-100% more than one lost at a consumer, but there will be far fewer of them.
Growth
Once serverless does take off, the cost and time to market benefits mean potential consumers who may have sat on the sidelines due to those costs can be enticed into the market.
Let's look at a (very simplified) example.
Chair, Inc. manufactures chairs, and have been doing so for many years (very innovative name!). They want to implement an online ordering system for their retailers, as they believe the benefit could be worth up to $500k/year to the bottom line.
Yet, building an app and running it on servers, even virtual one on AWS, was estimated to cost them $500k up front and $250k/year, primarily in application maintenance and server management. We all know the accuracy of technology estimates, and so does the CEO of Chair, Inc. They pass.
Along comes serverless, offering the ability to write the online ordering app without thinking about servers or maintaining them, i.e. without hiring another part-time sysadmin, worrying about 24x7x365 availability, server monitoring and all of the attendant costs. Now the cost is $300k up front and $150k/year. On a 3-year basis, this looks a lot more attractive.
Chair, Inc. enters the market, and a serverless provider has a new customer.
Enough companies like Chair, Inc., and the provider hires more higher-end engineers.
Reducing the cost of performing an activity leads to more customers entering the market, which in turn provides more jobs at the provider.
Eventually, the economic benefits of new entrants outweigh the economic losses in jobs of at existing employers-turned-consumers.
The Future of the SysAdmin
The future of the sysadmin in a serverless world is identical to that of every profession when technology automated it: learn to engineer the technologies that replaced your job, or find a different one.