Opinion: Brett Hofer, Global DevOps Practice Lead at Dynatrace, navigates the minefield that is DevOps methodology.
In today’s digital economy, consumers have become more demanding of the services businesses provide, and industry rivalry has grown more intense. The battle rages to deliver the best user experience, so the ability to introduce and update digital services quickly has become critical to success.
In order to do so, many businesses have come to realise that traditional approaches to IT management are insufficient. Development and operations teams can no longer work in departmental siloes; they must work collaboratively towards shared goals if they are to serve the needs of the business effectively. In order to facilitate this new, more cooperative method of service delivery, firms must move towards a DevOps methodology.
With DevOps, service design and delivery teams work together to continuously improve services based on their performance, enabling new services to be brought to market much faster. However, switching to a DevOps model is not like flicking on a light switch; it takes time and careful strategic planning. As the digital battleground heats up; where better to turn for tips than a military strategy guide?
Although times have changed significantly since it was written, many of the concepts in Sun Tzu’s ancient treatise, "The Art of War" still hold true today. Digital services, like ancient warriors, need to be directed, trained and deployed to the frontline safely, effectively and efficiently in order to ensure victory. It’s time to learn the Art of DevOps.
Developing the battle plan
To deliver the best digital offerings possible, businesses must first identify where current services can be improved, or perhaps where there is demand for an entirely new service. For example, a few years ago internet banking was all the rage, but the rise of smartphones led to demand for a whole new form of online banking optimised for mobile devices. These new services and improvements must be driven with clear direction from the business, or developers will find it impossible to create the solutions needed to meet the end-user requirements.
DevOps makes this process significantly easier, ensuring that each service release is developed with clear and concise orders from the top, and input from the operations team that will lead it into the field to deliver services to end-users. By calling on the expertise of those that have the knowledge of where problems lie in existing services and what customers are calling for in new ones, those responsible for designing a solution to meet the needs of the business are in a much better position to do so effectively.
Live fire training exercises
Once a service has been designed, it’s important to remember that a poor user experience can erode a brand’s reputation, which inevitably damages revenue. A recent survey found that over a third of European shoppers would abandon a slow mobile service and shop elsewhere. With the stakes so high, companies can’t afford to deploy a substandard digital service. In order to be confident that customers will enjoy the desired experience, digital services need to be thoroughly tested so that performance issues are quickly identified and resolved.
Just as military commanders train their soldiers in live fire exercises to ensure they can handle the pressure on the battlefield, so too must service developers be confident that their digital offerings will run as expected in live deployment. As such, the DevOps approach delivers a major advantage, as operations teams can ensure the service is deployed in a realistic testing scenario and developers gain first-hand experience of how their offering will perform in reality.
The testing regime must also be continuous, or there’s a risk that inefficiencies could creep in over time as infrastructure ages and new technologies, such as consumer devices, emerge. As such, batteries of automated tests should be established to regularly hit digital services with a vengeance, in both the preliminary testing area and in live deployment. By automating these tests, companies can reduce resourcing requirements and speed up delivery.
It is here that DevOps has the added advantage that development and operations teams are sharing digital service performance data, exposing problems quickly and enabling them to identify any issue’s severity and its root causes instantly and accurately.