The beginning of 2017 sees us receive a lot of articles with predictions for the year and a summary of what we have left behind. In the field of technology, one of the most familiar concepts (globally now for years) is DevOps. For many companies, DevOps may appear to be one of those many far-off sounding terms gradually becoming more relevant in their environment, but they are not prepared to take the plunge. However, Xeridia's work in this new movement has shown us that those organisations that make the effort to adopt DevOps will gain a competitive advantage over others.
That said, we want to take advantage of the blog to share with you what we have been experiencing first-hand for several years. In this post we are going to take a first dip into the DevOps world, and over the coming weeks will discover the benefits, implications, lessons learned, success stories, tools and technologies that are revolutionising this sector.
Before beginning, do we really know the meaning of DevOps? We already know that DevOps is not a technology. Neither is it (nor should we believe it is) just another passing fad.
DevOps is a methodology that changes the way in which the software development cycle is managed at a technological and above all cultural level. Development and operations (or systems) teams eliminate work “in silos” and start to work in a collaborative and bidirectional way. Together they cover the complete software development cycle, guaranteeing much faster and more reliable processes, more reliable deliveries and quality products. As we will see, to achieve this, new tools are introduced that help automate repetitive tasks and foster teamwork, helping to streamline processes and avoid duplicated work and the introduction of new errors.
DevOps establishes an “intersection” between Development, Operations and Quality, but rather than being governed by a standard practice framework enables a far more flexible interpretation to the extent that each organisation wants to put it into practice, depending on its structure and circumstances.
"The ultimate goal of DevOps is to minimise the risk of changes that occur in deliveries and thus give greater value to both customers and the business itself"
Now with this clearer definition of DevOps established, let us take a look at its practical connotations, both cultural and technological.
The end of the “wall of confusion” and the unidirectional model
One of the problems that DevOps tries to resolve is the so-called “wall of confusion”. This is the conflict that arises when the Development team transfers code to the Operations team, which then works on the testing and the scripts for passing to production. This is when incidents arise without knowing who to assign them to, whether to Development due to sending code developed with failures or to Operations due to incorrect configuration. And while both teams try to reach an agreement, the release date is getting closer and there is no time for more error testing.
In such a situation each department looks after its own interests (the first wants a seamless and dynamic system in which new features can be added, while the second prizes stability above all else), and has its own priorities and way of working, causing on more than one occasion frictions and lack of trust between the teams.
Indeed, DevOps comes into play to bring together the interests of both departments and create an environment of trust and cooperation through practices that foster a positive attitude to failure and a blameless, collaborative culture, in which information flows, talent prospers and the team feels committed. It boosts two-way communication and work through activities in which developers and Operations work closely together, for example on testing and quality tasks.
Apart from its involvement of people, DevOps entails a change in processes. DevOps goes beyond agile methodologies and is based on the so-called Lean methodology. I will look at this matter in a separate post, but as a taster the application of Lean principles to the DevOps life-cycle helps achieve goals and minimise the risk of changes occurring in deliveries in a more precise and rigorous way, to give even more value to customers and the business itself.
At a technological level: the toolbox
In addition to this cultural transformation, involving people and processes, DevOps also entails adaptation (to a greater or lesser extent according to the organisation) at a technological level. Indeed, the selection of tools is key to ensuring continuity in the integration and delivery of IT products and services. From leading technology products to Open Source alternatives or custom-built platforms, DevOps flexibility allows each organisation to choose the tools best suited for their use.
What is important is to have an expert opinion that knows well the possibilities of each technology and to determine the most appropriate in each case. This will smooth the process and minimise the efforts and possible risks of integration without losing the focus of the project in achieving the DevOps goals set.
In Xeridia we have seen how the correct selection of technologies has allowed many software development companies (and there is no need to go to Facebook or Google to see this) greatly reduce deployment and incident resolution times, going from deploying updates every 2 or 4 weeks to deploying hundreds of features per day. Apart from gaining agility, frequent testing and production increases have helped them to gain in stability and control, and what is more important, boost customer confidence and satisfaction.
This new toolbox also contributes to that two-way cycle mentioned above. Application monitoring (through APM solutions) enables early detection of problems and far more proactive monitoring of environments, as Operations can contact development (for example, through a ticket management or chat platform) for an immediate and consensual solution.
In short, what is the secret of a successful DevOps case? Firstly, taking the decision to change the way of doing things. Secondly, selecting the right tools and very precise integration. Thirdly, developing a collaborative process and fostering a teamwork environment.
Revolutionary procedure? Yes. But DevOps is already here and is here to stay.
After this introductory article, we are ready to go deeper into the DevOps ecosystem. If you do not want to miss any of our articles and know how DevOps can help your company to achieve that competitive advantage, subscribe to the blog now.
Cristina Bello is Marketing Manager in Xeridia