DevOps refers to a cross-disciplinary community of behaviors dedicated to the study of building, evolving and operating rapidly-changing resilient systems at scale.
More than a practice, it is a philosophy whose meaning can change from company to company, and according to any number of factors, such as size and age of a firm, industry and how sophisticated technologies are within an organization.
Further influencing factors include whether a business has a data center or SaaS, if it’s siloed or integrated, an enterprise’s development methodology (agile or waterfall) and the nature of its mission-critical applications (Web 2.0 / virtualized / client-server).
The genesis of DevOps
DevOps finds its feet in the convergence of two key trends.
The first of these – ‘agile operations’ – was born of the need for leaner approaches to work. The second concerns collaboration between development and operations staff throughout the development cycle when creating and operating a service. This has become a more critical factor, as the importance of operations has increased in a world increasingly geared towards optimizing service.
Collaboration has spread into IT through DevOps, an approach which relies upon developers and operations staff dovetailing to work more effectively. However, careful planning and investment are crucial if a DevOps culture is to be assimilated by work forces at large.
Implementing a culture of DevOps
Implementing DevOps is not simple; it can cause roles, targets and reporting structures to change, while embedded mind-sets can vanish altogether. With automation, new tools and applications may render manual operations redundant.
Ian Head, research director at Gartner says that by 2018, 90 per cent of infrastructure and operations organizations face failure if they engage DevOps without anticipating cultural overhaul.
As described during a webinar by Ronni Colville, vice president and analyst for IT operations management research at Gartner, collaboration is a key component to DevOps. It calls for staff to be empowered as development and operations dovetail, to facilitate the life cycle of an application.
A second facet is the consideration of operations from a development perspective, bringing in codification of the infrastructure and evaluating the application from right to left, from development to test to QA. This pushes the responsiveness and resilience of operations, in a similar way to developers codifying an application.
The third facet looks at how more advanced cloud computing firms have created their infrastructures. Besides implementing commodity hardware and software, expediency is prioritized as new technologies are embraced to optimize the speed of IT.
Bridging the behavior divides
Nurturing a DevOps culture depends on firms analyzing a behavioral gap to establish their current position and their desired position, focusing on which practices can be immediately dealt with.
Companies need to educate staff on the benefits of DevOps and associated behaviors, such as collaboration. However, the by-in needs to start at C-suite level; it is essential that business leaders as well as IT departments are leading the way in all aspects of the transition.
DevOps may not be applicable to all projects, but its focus on collaboration and high-quality means the approach will remain an essential arrow in the quiver of every department.
It is essential to carefully select appropriate participants from the IT organization and to choose the right project to safeguard the early stages of the enterprise’s DevOps.
Teams need to be motivated, and this can be helped if a simple pilot project is picked, which has a good chance of working.
A basic project and a willing, well-chosen team will give the best chance of positive results which can grant invaluable momentum as the team goes onto a second, more complex project. This approach can also be effective in firms where C-suite members take time to warm to the new philosophy.
DevOps depends upon news analytics which report on the completion progress of an application, which in turn motivates collaboration and fosters team ethic. As developers are concerned with code complete, testers today are concerned with test complete.
Automate and integrate
Automated testing in development enables firms to further trust that code carries fewer bugs, because it is created more quickly. The automation of service management enables companies to facilitate operational goals, and enables developers to engage further with the production environment stack, which in turn allows them to nip problems in the bud.
DevOps concerns automation of the entire life-cycle, eliminating inertia, through more integration. How it is achieved is not precisely defined; while Agile is a way to enable the process, it is not the only way.
DevOps-ready tools are increasingly available from industry vendors, helping to establish infrastructures as code, whereas other DevOps-enabled tools can be used to make “pipeline environments”.
Frequently, these tools can fit into the new culture, addressing designated areas – for example, moving artefacts, or understanding the commonality between configuration and environmental tools.
Avoid the jam
When optimized, DevOps enables an organization to achieve faster releases, but an undeveloped plan could easily lead to new apps hitting bottleneck at the infrastructure or cloud.
With this in mind, it is essential that DevOps includes infrastructure, cloud teams and domain experts, working in collaboration with supervisors of critical solutions such as databases.
Modern business needs to re-evaluate its approach on all levels, and the pathway offered by DevOps looks very much the way to go, especially when you consider the limited pitfalls of aligning two opaque siloes.
DevOps brings down the likelihood of production changes, while delivering systems to the business faster through automated non-functional testing and narrower development iterations.
Furthermore, service management becomes automated, facilitating operational objectives and granting increased comprehension of each layer of the production environment stack. In turn, problem prevention and solution-finding are made easier.
For this to be mobilized, the crux falls far more on a change of culture than on a change of technology; DevOps ultimately relies on good management of organizational structures and mindsets, which must then be underpinned with the correct mix of skills.