The magic of DevOps.
A catch up on the world of DevOps.
Introducing DevOps is not about implementing a bunch of tools and throw all developers and support engineers into a room to magically fix the IT issues. Even thou there is no blueprint on how to do DevOps, nor a formal definition of it, many companies have their own way to approach into this methodology.
I have worked as an operations engineer same as a developer and I'd try to give my best attempt to explain how this all DevOps-thing goes. If you are a developer, I will try to make it promising and fun, but if you are an operations engineer, look carefully some skills you will need.
Back to the Roots
If we think about it, we would notice a certain difference between the way operations team works against how dev team works, and from there I guess we can derive pretty good conclusions.
I wouldn’t dare to say both teams have been historical enemies, but they have had always different objectives and, hence, it's been difficult to build some synergy towards a common goal. From one side, the operations team has been willing to keep the business running and prevent changes, because changes create incidents and issues. From the other hand, dev team needs to introduce changes for new functionalities, enhancements or innovations.
That's why this whole thing of DevOps tries to not isolate them both and make the best of it to create a better outcome from IT.
Introducing DevOps
Plenty of definitions have been written and opinions are all over the internet, but the most punctual to me is the one from Adam Jacob at the Velocity conference in 2010: "DevOps is a cultural and professional movement. Period."
Since then, the term has become more and more mainstream, even from small businesses with "you code it, you own it" approach, until now big enterprises discovering the benefits of DevOps.
DevOps looks forward to taking a group of people that usually don’t get along and make them work toward a common goal: increase value.
This not only includes developers and operations engineers but also DBAs, system administrators, whoever involved in the software development lifecycles and the operational model altogether can embrace the culture and practices of DevOps.
Cultural Change
When people first start reading about the DevOps along with the Agile Manifesto, Scrum, XP, and what-else-you-name-it, they feel overwhelmed with all this information they tend to implement right away a set of tools and hire a bunch of technical people and great coders. DevOps requires thoughtful consideration and planning and more importantly, is not about technology first. It's culture.
DevOps adoption is widely linked to the effectiveness of learning new processes and the transformation of traditional practices. Developers may find it easy to tackle the issues but may need to improve communicating to customers, while operation engineers would need to learn new skills and best practices for problem-solving.
The key is on communication and sharing. DevOps engineers seek for making thing easier and give access to all information, as much as possible, for the production environment while creating scalable and robust solutions.
The Takeaways
While DevOps present a core set of practices, it's always important to embrace the cultural change it represents. Break down the silos to align all IT with the business and customer experience, while enabling the team to work towards a common goal and grow together.