Now let’s talk about DevOps practices. They are pretty well described in the book “DevSecOps. The Road to Faster, Better and Stronger Software”. Let’s have a look at the main ones.

“Automate everything” – automate everything you can. Reduce the amount of manual operation. You do something twice – think of how to automate it. This will speed up all processes and minimize errors. A robot must work, a person must rest and think!

“Configuration management”. Docker helps in configuring, saving and managing everything we need for a successful application. Container orchestration can be done with tools such as Kubernetes or Docker Swarm.

“Infrastructure as Code.” It means that the approach to configuring applications should be the same as to the code. If earlier there was nothing wrong with the system configuration through the console, today it has become a bad idea not to use automation tools for these purposes, such as Terraform, Chef, Puppet, etc. This practice allows us to optimize resources and also significantly speed up delivery time.

“Continuous deployment.” Automatically rolling out ready-made features to the work environment. And if earlier CD systems were a toy only for developers, now they are actively used to automate the changes process in configurations. This practice allows you to optimize resources, and also minimizes human participation in the delivery process to a minimum.

“Application monitoring.” If earlier monitoring systems consisted of various ways of logs control, now it is a powerful tool for monitoring the status of your application. You don’t need to spend days and weeks analyzing logs; you choose a particular metric and watch the changes in real time. Not only that, except for purely technical issues, such as the number of requests, performance, CPU utilization, you can also use the systems such as Prometheus to collect the internal characteristics of the application that are relevant to your business.

These are far from all the practices that make up the DevOps culture. However, as we can see, they are a set of methods and tools, using which you can solve the problem of fast and high-quality software delivery to the end user, as well as get feedback from him as fast as possible.

DevOps culture should be cultivated at the company level. Teams should not only be able to create the product, but also organize the testing, delivery and feedback from the end user. DevOps practices are designed to make life easier for everyone – developers, operationalists, business, because they are the thin strings between seemingly incompatible industries.