![]() | DevOps Fundamentals |
DevOps Culture and PracticesThe DevOps CultureDevOps culture is a set of practices that reduce the barriers between developers, who want to innovate and deliver faster, on the one side and, on the other side, operations, who want to guarantee the stability of production systems and the quality of the system changes they make. DevOps culture is also the extension of agile processes (scrum, XP, and so on), which make it possible to reduce delivery times and already involve developers and business teams, but are often hindered because of the non-inclusion of Ops in the same teams. The DevOps movement is based on three axes:
The culture of collaboration: This is the very essence of DevOps—the fact that teams are no longer separated by silos specialization (one team of developers, one team of Ops, one team of testers, and so on), but, on the contrary, these people are brought together by making multidisciplinary teams that have the same objective: to deliver added value to the product as quickly as possible. Processes: To expect rapid deployment, these teams must follow development processes from agile methodologies with iterative phases that allow for better functionality quality and rapid feedback. These processes should not only be integrated into the development workflow with continuous integration but also into the deployment workflow with continuous delivery and deployment. The DevOps process is divided into several phases:
Tools: The choice of tools and products used by teams is very important in DevOps. Indeed, when teams were separated into Dev and Ops, each team used their specific tools—deployment tools for developers and infrastructure tools for Ops—which further widened communication gaps. With teams that bring development and operations together, and with this culture of unity, the tools used must be usable and exploitable by all members. Developers need to integrate with monitoring tools used by Ops teams to detect performance problems as early as possible and with security tools provided by Ops to protect access to various resources. Ops, on the other hand, must automate the creation and updating of the infrastructure and integrate the code into a code manager; this is called Infrastructure as Code, but this can only be done in collaboration with developers who know the infrastructure needed for applications. Ops must also be integrated into application release processes and tools. The following diagram illustrates the three axes of DevOps culture—the collaboration between Dev and Ops, the processes, and the use of tools: ![]() The benefits of establishing a DevOps culture within an enterprise are as follows:
Learning DevOps does a great job of focusing on the culture behind DevOps. To succeed, you must change the way your team thinks about their roles. Everyone must have a common goal that encourages collaboration. Delivering value to the end user is the responsibility of everyone involved in the application. Today, with the evolution of technologies and ever-increasing competition, companies are facing a real challenge to design and deliver products faster – all while maintaining user satisfaction. One of the solutions to this challenge is to introduce (to companies) a culture of collaboration between different teams, such as development and operations, testers, and security. This culture, which has already been proven and is called a DevOps culture, can ensure that teams and certain practices reduce the time to market of companies through this collaboration – with shorter application deployment cycles and by bringing real value to the company's products and applications. Moreover, with the major shift of companies toward the cloud, application infrastructures are evolving and the DevOps culture will allow better scalability and performance of applications, thus generating a financial gain for a company. If you want to learn more about the DevOps culture and apply its practices to your projects, this book will introduce the basics of DevOps practices through different tools and labs. |