As most in the software development world know by now, devops takes principles from the classic separation of operations and development departments and combines them for to boost efficiency and speed of development and deployment. This involves using version control with configuration management to continuously deploy application code and changes to infrastructure, probably within a virtualized environment.
In devops, there is no separate operations or “ops” team and developers have to know how their code should will be deployed, monitored and maintained.
Startups erased the developer/operations divide long ago
But this scenario is simply how things work in any modern startup. With limited resources, company founders probably created all the code and deployed the servers themselves. In startup mode, there’s no time or money for precisely defined roles and shipping code quickly is the most important thing. Does anyone develop without version control in a new company these days? No. Are startups likely to hire a dedicated operations team? No.
Even as companies grow and the original founders split jobs out to the teams they’re hiring, the same principles apply. There’s no sudden switch into “devops” mode because startups do DEVOPS from the beginning – they have no choice.
Yet many companies exist whose way of doing things would not be described as “devops”. Those companies were likely started before the ideas of version control and code-based configuration management existed. And, it’s these, typically older and bigger companies that have the most to gain from putting devops into practice.
For startups, devops is just a description of how they can be more competitive than the bigger, incumbent enterprises they’re attempting to disrupt. It is a major advantage to be able to take product feedback and release changes in the shortest amount of time. For startups, it’s not a new way of working – it’s the natural state in order to achieve the nimbleness and flexibility inherent in an small, early stage company.
For good engineers, devops is just a given
Hiring “full stack” or “devops” engineers really just means hiring “good” engineers. The best engineers already know their way around deployment so there’s no need for a split between development and operations. Good engineers have enough experience to build and deploy their own code, and keep it running.
Even as startups grow into scalable businesses where there might legitimately be separate roles for maintaining systems, reliability and even data center operations, the “devops” principles remain the same. Using source control, testing, continuous deployment and automation is just “the right way” to do it, especially at scale.
That means devops is really just a label for doing things correctly. Depending on who you are, the ideas can be descriptive or prescriptive. For older companies it’s a disruptive change in how products get built and delivered – really just an evolution of the traditional dev/ops split where developers just coded and operations just maintained the hardware. But for startups it’s the de facto way of running a company.
So the real question is how to DO existing enterprises adapt to this? If startups really are disruptive, then part of that disruption comes from how they deliver their product. Why is the trend increasingly towards using SaaS products – whether business services like customer relationship management (CRM) or server monitoring or consumer services like music and video streaming. How do the traditional enterprise vendors address this new delivery mechanism? And how do their competitors differentiate themselves?
Devops will probably have something to do with the answers. We’ll hash out that out in London at Structure: Europe in London September 19 where devops practitioners from Spotify, Stackdriver, Pivotal, and Prezi will discuss the benefits — and challenges –of working in a devops world.
David Mytton is the founder and CEO of Server Density, a cloud management an server monitoring specialist.
Photo courtesy of Flickr user psd.