I’ve been following a thread on Twitter where they have been discussing the input from developers in the ‘Devops’ community. It seems that some people felt the Devops initiative is been driven by Developers. My experience working with various clients is that it isn’t actually the case but then again I don’t meet many who do my role. I am usually considered part of the development team I attend scrum and have backlogs and work items to burn down just like the developers .
It suits me sitting with a bunch of Devs as it means I have direct access to the guys who can code a hell of a lot faster than me and I can gain the knowledge of the application I need. I’m sat with them watching the app evolve (I just love it when the finished app is ready to be let loose) and can pipe up early in the development process rather than later on when it’s too late if I need to get something to change.
In a typical engagement I will undertake the following tasks amongst others
- Understand what the application is ultimately supposed to achieve and understand the target environment
- Facilitate the CI build and deployment processes (automation)
- Implementing appropriate operational processes to support the application
- Involve the operational team from the beginning of the development process
There are a number of challenges one of which is usually getting someone from operations involved so my role as the bridge between dev and ops seems to work as I understand both sides.
The developers I work with are focused on development activities and stuff like making the build work and getting the deployment environments ready are distractions from their main tasks so this observation doesn’t really tally with its the Devs trying to take over our role scenario.
The developers do have to know what’s going on in the operations area , that’s what I’m there to help facilitate and with tools like CloudFormation from AWS and Chef from Opscode all this provisioning and configuration stuff is made easy.
Countering this so called disinterest most corporations I have worked with it’s a lead dev who looks after the build process and the operations team go nowhere near it apart from making sure the O/S is up and running . This needs to change because if operations are involved in facilitating the build processes then they are immediately involved with the process of developing the application.
Basically the key to DevOps is to get The Developers and the Operations team working together however you can.
If you can’t get someone from operations involved daily then make sure you keep them in the loop so there are no surprises talk through the architecture with them, discuss monitoring and how it fits in with what they do today, automation is always welcome. You can’t dictate if they have existing processes and if you are going to introduce new ways of working then you will need to educate and solicit feedback, hold workshops and demo stuff regularly .
The developers I work with totally get Devops , they just don’t feel the need to talk about it as it’s just happening and certainly do not go round bad mouthing the ops team.
I have however found it’s introducing the same concepts that apply to developing applications to your infrastructure is where the struggle occurs with existing Operations teams but that’s a different problem from the Dev’s stay off my patch perceived war.
Although the whole ideas of DevOps has been around for a while I just don’t think it’s been as widely accepted because operations and Developers tend to work in separate silos. This is what needs to change. Despite the common misconception Developers do actually want their applications to be deployed consistently every time to a know target environment. This is what Operations want to . So where’s the problem ?