Det surrar i luften, överallt hör man att det pratas om Devops – men vad är det egentligen och hur användbart är det inom din organisation? Vi har frågat Insight Events utbildningsledare inom ämnet, Joakim Verona om han kan ge en kort introduktion i ämnet – Vad är Devops och vad är nyttan för organisationer?
Joakim har lång erfarenhet med att arbeta med stora projekt och är en mycket erfaren Configuration Manager med agil inriktning, han har erfarenhet av alla aspekter av komplex systemutveckling.
Han har arbetat med många komplexa projekt för stora kunder inom sektorer som bank/finans, telekom, Online Gaming och offentlig sektor.
Joakim håller föreläsningar och utbildar inom området Continuous Delivery och DevOps , han samarbetar också med Google där han är utbildare i olika projekt.
A brief introduction to DevOps
Devops is by definition a field that spans disciplines. It is a field which is very practical and hands-on, but at the same time you must understand the background.
The word Devops is a combination of the words Development and Operation. This wordplay already serves to give us a hint to the basic nature of the idea behind Devops. It is a practice where collaboration between different disciplines of software development is encouraged.
The Devops movement has its roots in the Agile software development principles. The Agile Manifesto was written in 2001 by a number of individuals wanting to improve the then current state of the art of system development and find new ways of working in the software development industry. The following is an excerpt from the Agile Manifesto, the now classic text, which is available on the web:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
In light of this, Devops can be said to relate to the first principle, individuals and interactions over processes and tools.
This might be seen as a fairly obviously beneficial way to work, why do we even have to state this obvious fact? Well, if you have ever worked in any larger organization you will know that the opposite principle seems to be in operation instead. Walls between different parts of an organization tend to form easily, even in smaller organizations where at first it would appear to be impossible for such walls to form.
Devops, then, tends to emphasize that interactions between individuals is very important, and that technology might possibly assist in making those interactions happen and tearing down the walls inside organizations. This might seem counter-intuitive given the first principle favors interaction between people over tools, but the authors opinion is that any tool can have several effects when used. If we use the tools properly they can facilitate all of the desired properties of an agile workplace.
A very simple example might be the choice of systems to report bugs. Quite often development teams and quality assurance teams use different systems to handle tasks and bugs. This creates an unnecessary friction between the teams and further separates them, when they should really focus on working together instead. The operations team might in turn use a third system to handle requests for deployment to the organizations servers.
An engineer with a Devops mindset, on the other hand, will immediately recognize all three systems as being workflow systems with similar properties. It should be possible for everyone in the three different teams to use the same system, perhaps tweaked to generate different views for the different roles. A further benefit would be smaller maintenance costs where three systems are replaced by one.
Another core goal of Devops is automation and continuous delivery.
Simply put, automating the repetitive and tedious tasks, leaves more time for human interactions where true value can be created.