The IT environment is extremely complex, but this is no mystery. The mystery, in fact, was the delay in finding out why several teams, operating in this segment in common, do not work in harmony.
DevOps was a term first mentioned in 2009 at Velocity. In which two Flickr engineers (John Allspaw and Paul Hammond) came up with the concept of this methodology, and explained, in a very direct talk, how they did 10 deploys a day.
The truth is that software developers have always worked on real islands, relative to sysadmin (System Administrators). This means that they felt independent with their goals, deadlines, etc. And the reciprocal is also true.
So what else happened was to create a headache for both parties: System Administrators, whose objective is simple: to maintain the stability of the software, servers, to avoid unavailability of the systems and of course, keep the customer happy with better and better applications; and the developers, who took care of innovation, quality and agility.
But this did not come to consensus, it could be said that there was a real war between the Developers and the Systems Administrators (the operational ones). Even both with the same goal, please customers, they did not quite understand. This was obsolete and had to stop because the processes were not moving at the same pace, and deliveries, updates and deploys were not up to date.
When Flickr’s engineers arrived with the DevOps concept, people were relieved that they were hoping for greater delivery of the solutions, that is, faster, more efficient delivery.
While this has indeed happened, it would be unfair to talk about DevOps without mentioning Agile, which came out in 2008. For those who do not know, Agile was an idea of infrastructure optimization that inspired DevOps. From there, the term “agile infrastructure” emerged. We’ll see more about this from now on.
Basically, administrators said that they could not do deploys frequently without evaluating the codes, as some users could find a bug in production and hurt the business. But to solve this, what is called agile infrastructure has emerged.
Finally, we have the biggest culprit for the conflict is the company itself, which, of course, also suffers from it. It is always charging sysadmins stability and developer innovation and agility. But what she forgets most is that the bottleneck of it all is infrastructure itself.
The company often does not give professionals the proper tools to work properly, resulting in the conflict between the sides, devs and ops, who fight to the death. Of course both sides often do not seek to understand each other, but the company at various times does not help.
Agile infrastructure (remember Agile 2008?) Is a concept that is within DevOps. It is not enough just to bring the two teams together, one must be able to have the infrastructure optimized and both work in harmony, with everything they are entitled to. This makes teams start streamlining processes, performing deploys with speed, and reducing the risk of problems and bugs.
For this to become a reality, there are some key tools that will be characteristic of the agile infrastructure, for example:
- Orchestrator (s): is a software / application manager that will tune everyone and will, as the name says, orchestrate the infrastructure. It will run command and control instances on the machines in real time.
- Configuration management: this is what will guarantee the standardization of the IT environment.
- Provisioning: allows you to create simple or complex environments, regardless of configuration management or orchestration.
Before the term DevOps came along, or all this agile infrastructure idea, there were huge conflicts between system administrators and developers. Both worked in their square, and both refused to give the arm twisting. There are still people and companies that work with this profile but this is lagging behind.
DevOps is approaching a philosophy that makes these two groups of professionals work in teams, in an integrated and agile way, one seeking to understand the other and following the same objectives: to maintain the quality of their products for a better experience for the client.