In computer development, DevOps refers to a set of practices which puts the emphasis on collaboration and communication between software developers and IT operations professionals. Trendy term, “portmanteau” or real paradigm shift? We tell you everything you need to know about DevOps in just five minutes!
Conceived in 2009 in Belgium by the computer scientist Patrick Debois, the DevOps movement is intended to bring together two different skill sets: development (Dev), on the one hand, and systems and architecture administration (Ops), on the other. The term DevOps was born from the union of development and operations. Its goal is to improve communication between the two teams. DevOps is intended to create a culture and an environment in which the design, testing and deployment of software can be carried out rapidly, frequently and efficiently.
DevOps is more than just a methodology: it’s a true work philosophy and a collaborative continuous improvement process.
Note: in certain small organisations, the two skill sets are sometimes combined in a single person to promote better application design and greater productivity. However, the role of the DevOps engineer is to bridge the two fields and not to be a kind of Swiss knife that can take on every task.
How was DevOps born?
The arrival of DevOps is the result of the growing success of agile software development, thanks to which companies deploy applications more quickly and more frequently. Companies are looking for ways to overcome the constraints of their new version management processes and the need to develop processes which automate software integration and delivery has become increasingly important.
Over the past few years, development and operations teams have had to improve their working methods significantly. Today, the need to realign the two teams is increasing. The DevOps movement was born of, and is continuously fed by, this need for realignment. DevOps is at the origin of a philosophy which has completely transformed the way in which IT professionals understand the stability and operation of the systems they manage, as well as their own role in the added-value flow, from beginning to end. Cloud computing and SDN (software-defined networking) are two aspects which have accelerated the destruction of the silos which separate development and operations teams.
DevOps has become a cross-functional discipline which integrates all of the stakeholders of the company around a development project.
What is the main objective of DevOps?
The main objective of DevOps is to combine the automation and management of all of the steps of the software development life cycle from integration to deployment and infrastructure administration, including the test and release phases. DevOps is intended to shorten development cycles, increase deployment frequency and guarantee the release of reliable versions while remaining consistent with company objectives.
Why implement DevOps?
By encouraging cooperation between developers (Dev) and the people responsible for IT production (Ops), DevOps aims to create a more effective digital experience for application users, regardless if they are employees or customers. Software automatically performs better when the constraints of IT production are taken into account from the programming phase on. The number of bugs and security failures also decreases.
Systems administrators and development teams continue to work together after the applications are deployed. The goal is to solve any problems that might arise with the software regardless if they result from the application as such or from its dependencies on other information system layers (application server, physical server, cluster, etc.). This also highlights the value of having the two teams working together closely as solutions to incidents are found more quickly. The challenge of DevOps is to improve user satisfaction.
The main benefits of DevOps
The DevOps movement brings together and continues to integrate many principles and best practices which can be implemented by IT organisations of all sizes (internal and external). Experience has led to an approach which is intended to improve the way in which IT provides added value to customers.
Certified DevOps professionals meet this goal thanks to better communication and collaboration between the IT teams and better integration of techniques, processes and people.
The benefits of DevOps include:
- improved code, product and services quality (decrease in errors, greater success rate for changes, etc.);
- increased efficiency (e.g., optimisation of the time dedicated to activities which create added value, unprecedented added value for customers);
- shorter times to bring products to market;
- better alignment between IT and the business lines;
- smaller versions released very quickly and at a much higher frequency;
- increased productivity and customer and staff satisfaction;
- fewer risks and re-writes;
- a reduction in long-term costs.
DevOps isn’t a methodology or a change in process. It requires a change in company culture. This is a real challenge since the conflicting goals of the IT departments make the cultural change difficult. Operations teams look for stability, whereas developers make frequent changes and testers are there to minimise risk. Collaboration and the intelligent integration of the teams are decisive challenges for the implementation of DevOps in a company.
What profiles are sought after?
As a result of the customer-oriented development done by companies and the growing adoption of DevOps, the expertise (or, rather, dual expertise: developer and systems engineer) required for DevOps is increasingly sought after by companies. A 2018 RegionsJob study revealed that DevOps expertise was among the top three skills sought after in the IT sector in Europe. While there isn’t currently any formalised training available, the future looks bright for upcoming IT engineers who can seize on the DevOps opportunity.