Collaboration is vital to a DevOps ethos that promotes agile deployment. The variety of people, tools and workloads often combine for a chaotic process with no running thread. Automation can be the common denominator that binds the release cycle.
Automation documents every step of each release whilst providing a single architecture: a high-level summary of the entire project that can be accessed by every staff member involved. This helps to delineate relationships between complex processes and promotes the blurring of responsibilities that DevOps is based on.
These five tenets of DevOps should develop naturally once automation is introduced:
Historically Dev and Ops might even have been in different offices or even different continents with little communication. A new app could have been ‘thrown over the wall’ from Devs to Ops without the latter knowing too much about it until that point. Automation can be a catalyst for discussion.
The full audit chain automation produces means all changes are propagated to the rest of the team. This negates superfluous emails being sent or questions being asked and means discussions can be efficient and productive.
Dependencies and complexities that can hold up a release cycle are laid out visually in an automation dashboard so Ops know how to deploy, when and to what environment.
Because each process is outlined end-to-end in a standardized, repeatable loop, every contributor to the release cycle can be trusted to start the process as all it takes is the pushing a button. This reduces the need for supervision and allows staff to get things done quicker by removing bottlenecks that were previously caused by waiting on a certain member of staff to do a job only they knew how to do.
Trial and error
In the past Devs and Ops tended to form different sides of the war room. Blame needs to be replaced by constructive analysis, which enables staff to express themselves without fear. By releasing apps faster and in smaller iterations with automation, each error is insignificant and isolatable. Ops can adopt a desire to change, while Devs can learn to make change more reliable.
DevOps slogans such as ‘Done is better than perfect’ and ‘Break things and move fast’ are dependant on rapid, efficient reconciliation. When things go wrong the team can see where and why the fault occurred. The ability for rollback, a full audit trail, and the visibility automation gives the release process means issues can be identified and resolved quickly.
Dev and Ops can be separated technically as well as physically, as the large amount of different software used in a release cycle can hinder collaboration. Sometimes Ops can be too busy to enable Devs with new software quickly, so Devs can download open source tools to make things happen faster.
At the same time a number of legacy apps (especially mainframe) that do not fit into the open source world of DevOps could be in use. There can be more than 20 separate pieces of software being used in total.
Automation tools show metrics on release and status, whilst ensuring the same tools and platform are used by both sides. This ensures consistency.
Time to market
Applications mean money and delivery takes time. Cooperation and automated processes reduce risk of error, and allows DevOps to move faster without crashing, while enabling them to recover quickly when something does go wrong.
Automation allows staff to concentrate unimpeded. Rather than taking time to explain what they have done and what they are going to do, Ops can get on with the job while their progress is tracked from anywhere in the world. Automation allows the right kind of communication at the right times to enhance speed and agility.
Only when these five tenets become second nature can a collaborative DevOps ethos truly flourish. With automation comes understanding. It brings agility and a collaborative mindset, which enables DevOps to bring innovative new apps to market faster, without additional risk of change.
Sourced from Vladi Shlesman, Global Head of Pre-Sales, Automic Software