Are you using DevOps tools?
- Posted on September 14, 2017
- Estimated reading time 2 minutes
The following blog post was written by Avanade alum Vikram Verma.
If you considered answering "yes" to this question, you are probably not looking at it in the right way. That’s probably why you cringe every time someone brings up the word DevOps.
DevOps is essentially a name given to the practices designed to work through the journey of Agile delivery and support the process of making every iteration "potentially releasable."
The purpose of Agile delivery methodologies is to deliver a robust product into the hands of the users with improved speed to market and stability.
Most organisations trying to adopt a DevOps mindset only manage to reap half the benefits, either due to lack of understanding or reluctance to fully adopt it, or both.
Being Agile focuses on the value being delivered, more than anything else. Extend the same thought to ensure that the product is received and managed with the same ease. So, when thinking of following DevOps philosophy, think about how you can bring your teams (all teams) together and assume shared responsibility with one common objective - keeping production stable.
Try answering these questions to assess cultural alignment of your organisation:
• Do your teams feel "officially" responsible for keeping production healthy, and have the right support to do so?
• Do you involve all teams (including Ops) from initial phases of envisioning and design, through to post production troubleshooting?
• Along with every release, do you publish a set of known issues and fix steps?
• Is Ops empowered to deal with anything outside the known list? Do such issues become product backlog?
• Does Ops have required capability to closely monitor all controlled environments and identify impact of a potential release early on?
• Does project provide the set of additional capabilities / factors Ops needs to monitor with new releases?
And consider providing the following DevOps tools to achieve the intended benefits by enabling teams to:
• test easily and often (test automation)
• catch integration issues early on (continuous integration)
• test on prod-like environments to catch potential issues earlier (infra-as-code). Tip: Consider using Containers as a way of packaging environment with the application.
• take the pain out of running deployments (deployment automation)
• deploy seamlessly with integrated review and approval, at least to lower environments (continuous deployment)
• extensible monitoring capability that can be expanded with new releases (smart insights)
• go to production automatically for selected releases (continuous delivery)