DevOps in Legacy Systems
Legacy applications are still at the core of many businesses’ operations and some of these are still running on old operating systems and uses old technology that are hard to manage as well as hard to find the developers as the new generation of software developers and IT professionals don’t want to work on what they view as old windows desktop backgrounds. Plus, The original vendor may no longer support the technology and also the people who set up the systems have moved on or even retired.
DevOps – an increasingly popular software development methodology and mindset that bridges the gap between development and operations teams to deliver software faster and more effectively - can help bring legacy systems into the ‘now’. While much of the buzz around DevOps has been around ‘born in the web’ projects, it can also breathe new life into old applications and bring them into the rest of the software environment.
Legacy apps are typically harder to migrate due to a blend of technology, process and cultural issues but these are not too great to overcome.The main challenge with introducing changes to your development processes, is how to handle the inevitable occasions where things go wrong. Often someone in management says, ‘That (Agile/DevOps/etc…) didn’t work, so let’s revert to the old way of doing things.’ Failure is an inherent part of using any new methodology and experts advise us not to give up, rather remain committed and keep pushing forward. One mistake – or even a dozen – does not mean that Agile or DevOps does not work.
Old applications tend to go together with old infrastructure. Upgrading the different components of a legacy application therefore becomes clumsy, expensive and error-prone. One way to address this is to create a virtualised and self-service infrastructure. While this approach is not suitable for all legacy applications, it is becoming increasingly popular, particularly with the adoption of ‘Infrastructure as Code’. However, it requires careful planning which includes finding the right strategy, the right set of tools, scripting languages. Finally, then convincing the management of the need to invest in new tools where needed.
While much of the buzz around DevOps has been around new projects, it has much to offer when extended to legacy applications. It is not necessary to leave behind or live with outdated applications and team cultures. Instead, bring the best of parts of legacy assets into the DevOps world and make them a valuable part of a modern IT environment.