As an initiative to get developers, sysadmins, and testers working together to increase the speed of delivering high quality software changes, a key challenge devops must address is trust. Sysadmins simply don’t trust developers to hand them production ready code.
Sysadmins often seem to hear devops as, “You guys need to be more agile, like us developers. You should be putting our code into production every time we make a change, dude!”
Given that sysadmins are used to dealing with software releases hard-coded to run on a developer’s workstation, this proposition isn’t always well received.
The way to overcome this is to make sure that when the developers hand the first “production ready” build to the ops team, the ops team knows exactly what they’re getting. The release will be a non-event if the ops team has been involved in planning, designing, and testing the application throughout development:
- they know it will reliably deploy into production, because it’s been deployed into environments which replicate production, using the same tools and processes, several times every day;
- they know the things they’re concerned might break in production have been automatically tested, repeatedly;
- they know how to monitor it because their new monitoring checks have been deployed and verified as part of the automated testing process;
- they know its logging includes what they need;
The ops team knows everything about the release that they need to know to put it into production because they have been involved from day one.