Wednesday, November 16, 2011

Fall of the Admin / Rise of the Architect?

A cohort and I engaged in a rather interesting conversation regarding the future of the "sys admin". In short the contention was made that the sys admin will dwindle with the rise of "cloud computing" and IaaS, PaaS and SaaS. With the rise of the various "as a service" platforms coming out I can not help but wonder what will become of my vaunted profesion? Will all the companies start moving away from having local sys admin's to take care of their various it tools? Will I be part of a dieing breed going the way of the big iron Unix admins?

Personally I'm not fully convinced they will go away. No doubt that the sys admin of today will be come a slightly different animal be he Linux or Windows admin. Linux and Unix admins have always been part code/script monkey. Really good Windows admins have as well but the advent of Windows power shell is causing the Windows admins to put on their coding hat and join their *nix cousins. Automation and scale will be the future for anyone who wants to learn this craft.

Typically sys admin's are used to working between 50 to 200 systems. However this all varies by application and number of supported applications. Some companies have dedicated appliation administrators or analyst where as some leave this to the role of their sys admins. The more apps an admin has to support the less number of overall systems. Now go look at a XaaS site like Amazon EC2, Google, Facebook, or Salesforce. Admin's at these places typically support a handfull of applications and hundreds if not thousands of servers. Frankly I dream of being able to work supporting 1000+:1 environment. (Currently I'm at 180+:1). XaaS is very much the future and one day I can see that most companies will either have private clouds because they don't trust 3rd parties but many companies will shift that way as they have a huge cost and headache saving benifit. But the question remains what happens to the admin?

The US Bureau of Labor and Statistics expects employment of Sys Admins to rise 23% between 2008 and 2018. What is not addressed is the number of people going into this field. I only have anictotal evidence at the moment but demand for Sys Admin's seems to have increased. Coastal regions are looking to the US interior for employees because they cannot find enough in their area. Cloud start ups are looking for admin's to build, manage and repair their systems and business are still not fully onboard with operating in the "cloud". Don't get me wrong cloud addoption is ever increasing it seams but I the applications that are hosted as part of SaaS is still not close to it's saturation point as SaaS is still to new for the typically conservative corporations to adopt it. 

The demand for sys admins is only eclipsed by the demand for cloud developers. But even here the admin plays a critical role is supporting all those developers. No infrastructure, no app, no revenue. 

XaaS also brings about a change in the tasks of the admin. The commoditization of the infrastructure, deployment, and user management of systems starts freeing the admins to do some rather fun higher level activities like actual architecture of the systems and environment or tackling truly difficult problems. Over all I think this is good, but it does lead me to wonder how we grow from Jr. Sys Admin to Systems Architect? If the environment that a typical Jr. admin cuts his teeth on and develops his skills to be an Sr. Admin or Architect is commoditized then how does he get the necessary expertise to become and Architect? That level of work requires knowing some of the more mundane tasks in order to see the trees and the forest of any system.  With out that level of detailed knowledge it becomes more difficult to know the details of a system. Then again look what language abstraction has done programming. I'd submit that the number of people who actually code in Assembly language is very small and could possibly fit on a small cruise ship. Most software developers are using C, Java, Python, Ruby, PHP, or some other high level language. So maybe that really won't be an issue but I frankly don't know. As an admin you need to know how to manage one system before you can manage tens, hundreds, or thousands of them, so I hope we are not painting our selves into an experience corner.

Over all I think the change that the System Admin field is seeing with the commoditization of infrastructure is a good thing. It will mean changes for the role as we know it, but ultimately I think this will work out well. The number of admin's being produced is still lower than the demand for them thus keeping wages high even when taking into account the operational efficiencies that modern admins are reaching. My main concern is how we train up the next generation of admin's so they can work with the new demands that essentially call more experienced systems knowledge that can be scaled.