DevOps is in a state of constant change. New automation tools and working methods have had a profound effect on how software developers, integrators, IT departments, and operational staff manage their applications. Thierry Hue, Co-Founder & CEO, DynamicIQ, explains.
This is partly because teams are searching for ways to solve the challenges they now face. Complexity is rife and with highly distributed applications, the number of active environments and instances can be overwhelming.
Furthermore, once a change request has been initiated, the real work begins. The change in question could be to configuration (packages), code (new binaries) or a combination of both. Each change also needs authorising, implementing, testing, documenting for compliance purposes, and then further examination before the application can be deployed.
As you expect, this can take a considerable length of time, however the pace of many software-reliant industries has increased drastically, so waiting months for an updated application is no longer viable from a commercial perspective.
Developers, software integrators and IT teams now have to work extremely quickly and new functionality must be delivered within days. With this change in tempo, comes a greater chance of human error.
Yes, but surely fast-tracking changes and fixing any issues using patches is one solution? Not if you want to maintain application reliability and prevent angry customers from knocking on your door.
The need for application stability is even more important in highly regulated sectors. Banking is one example. Consistency is fundamental to long-term success and software errors equate to reduced profitability, damaged reputations and the prospect of financial penalties. These fines can extend into the millions of pounds, especially since the introduction of MiFID II.
Is complexity on the way out?
So, how can developers, IT departments and operational teams prevent the above scenario from happening?
Utilise the power of technology. There are a host of automation tools that remove the need for manual processes and the need to write custom plugins. This simplicity in turn reduces human error, accelerates the pace of change management and guarantees a more predictable configuration pipeline built around accountability.
Why expect each individual to record every single change they make? This is counter-productive to the very concept of DevOps. Instead, configuration automation tools can record who made a change and the parties involved in the process. This considerably strengthens compliance and enables managers to rectify issues before the application even makes it to the end-users.
Authentication, authorisation and accountability
A suitable mantra to adopt is the three As: authentication, authorisation and accountability.
Understandably, this new way of working requires DevOps teams to work closer together, and some software companies might be apprehensive about trusting such an important part of the development process to technology.
However, look at the evidence. Ullink is a financial services software provider. It’s trusted by 150 of the world’s leading banks and brokerage firms. For a while now, the organisation has been using a software tool to automate application configuration. The results have been impressive – over a period of 18 months, on one project there were 85 release changes. This involved over 300,000 lines of configuration, no new scripting languages to learn and zero failures.
In the world of global finance and fast-paced software development, zero failure is the level of reliability every company strives for. It is also what regulators expect and measure against.
With more solutions emerging every month, now is the perfect time to assess current procedures and to consider whether there is a more efficient way of working through the power of automation. This does not mean a complete overhaul, but rather tactical changes to how configuration is structured and implementing solutions that enable teams to work with greater efficiently.
Edited for web by Cecilia Rehn.