This post appears as part of our Leaders Series, conversations with tech and media leaders about influential trends and topics in their field.
Andrew Trossman is a veteran of cloud computing. Currently Distinguished Engineer, Common Cloud Stack at IBM, he co-founded and was Director of R&D at Think Dynamics, a Toronto-based maker of automated server provisioning software, acquired by IBM in May 2003.
We picked Andrew’s brain about the cloud and its impact on the professional landscape. If there’s one clear lesson from our conversation, it’s that DevOps and Continuous Delivery is a crucial part of yielding maximum benefits from the cloud. But DevOps also reshapes certain professional roles central to the software development and deployment life cycle, especially today’s System Administrators.
Our conversation was especially timely, since earlier this month IBM announced their official backing of Open Stack Foundation. IBM pledged USD $150 million over 3 years to the project, launched by cloud hosting company Rackspace and NASA. The initiative consists of projects that aim to create freely available code, standards and norms for cloud providers and customers. In fact, Open Stack has even been called the first “Open DevOps project.”
DevOps: the cloud catalyst
When Andrew was working with cloud computing in 2000, there was “a huge mental barrier” in getting companies to buy into the concept. But just over a decade later, C-level execs care about cloud, in his view, more than they usually care about most technology.
Why? The promise of significant cost savings and risk reduction. For example, cloud can cut IT infrastructure investment, personnel and maintenance costs in a big way while also ensuring that companies can rapidly respond to traffic spikes, system issues, bugs and the ongoing pressure to deliver new functionality to customers, fast.
On the flip side, he has also observed a sense of disillusionment about cloud in the enterprise space. Trossman suggests that a key reason for this is that most companies are not fully capitalizing on cloud potential since they are still missing an important catalyst for reaping the full benefits of cloud: DevOps.
DevOps is both a practice and a professional role that compliments and builds on the improvements made by Agile methodology. While Agile focuses on improving the delivery of software, DevOps works on improving the interaction and flow across the entire development to operations life cycle.
As a practice, DevOps means redefining and aligning an organization’s software development, quality assurance and operations process and teams. It means breaking down the barriers between typical project team silos and generating a more collaborative and integrated relationship to support continuous delivery. The goal: better reliability and availability, reducing the risk involved in changes, faster time to market, and more time to focus on core business rather than build management and bug fixes.
DevOps (the role) are the professionals that oversee this collaboration between development and operations, are masters of infrastructure, can write complex code and scripts, and can truly grasp and own the overall product delivery life cycle (essentially a hybrid Sys Admin/Developer role).
Since applications have a high level of user interaction today, the expectation of systems being available has dramatically increased. One of the main purposes of DevOps, highlighted by Trossman, is lowering the risk of big outages through its emphasis on continuous delivery.
Instead of planning “big bang” releases, new features can be added continually and introduced to smaller groups of users. Even larger changes can be implemented in small steps, making it easier to change direction at any time and easier to isolate problems more accurately. This also lowers the risk of failure, the logic being that many small risks are less risky overall than taking fewer, larger risks.
New businesses are already carving out their space in this emerging area. Two of the most notable players are Puppet Labs’ Puppet Enterprise (who also threw its support behind OpenStack this week) and Opscode’s Chef. Both offer open-source system integration frameworks built specifically to help automate the cloud.
But while the Valley has been “living and breathing” a DevOps mindset for a while now, says Trossman, the role is not well integrated into the majority of non-Valley companies.
The changing face of System Administrators
As recruiters, we’ve seen the emergence of a number of startups in our community that hire DevOps roles. But there seems to actually be a bit of a “chicken and egg” situation: there aren’t a lot of jobs in DevOps yet, which means professionals aren’t gaining experience, so there aren’t very many professionals on the Canadian market with true DevOps experience.
In addition, most DevOps roles are looking for people with Ruby or Python experience. Each has a great community following, but remain a small fraction of the available skills. We found that a handful of DevOps professionals in Canada were actually contracting to Valley startups as a home for their skills as their weren’t local opportunities.
DevOps has bigimplications. It is not just a new role tacked onto companies; it is a central part of a movement towards new software development life cycle that streamlines deployment and working with the cloud.
The role likely to be impacted the most by this shift is the System Administrator.
Sys Admins are facing increasingly complex computing environments requiring the hybrid, multidisciplinary skill set articulated by a DevOps approach. While a classic Sys Admin role doesn’t require writing code and performing significant automation day-to-day, that’s changed in the DevOps world.
As well, the wall between Ops and Dev will disappear, which has cultural implications in many companies. In some ways, DevOps is being impacted the same way that Quality Assurance has been over the last number of years. With the move to large scale web apps and automation, coding and automation are what sets apart good from great QA skills.
A key skill, then, for today’s Sys Admin looking to gain a competitive advantage for this cloud-focused future would be to diversify their abilities – starting with picking up some coding skills and diving into tools like Puppet and Chef. There is also an opportunity here for developers who are tired of cranking out releases and are interested in infrastructure-oriented work to evolve their careers into the DevOps space.
Trossman also thinks a another type of professional might be suitable for DevOps work: “Sometimes you get a Developer that drifts this way, or a Sysdmin that drifts that way,” Trossman says. “Personally, I think there’s a different kind of person out there, someone who’s not either, they’re both.” Who does Andrew see as this person? Someone who “lives and breathes Linux and who understands the innards of Linux… You almost have to have the understanding of infrastructure, which goes beyond just Linux and the host. You’ve got to understand storage and networks,” he says. “But also not be afraid to write code.”
All ideas expressed here are Andrew Trossman’s own and do not necessarily reflect those of IBM.
Is your company working towards integrating DevOps into the organization? Are you a Sys Admin with experience working in a DevOps-oriented environment? What do you think the future of this role is? Share your thoughts by leaving a comment.