MetLife will turn 150 years old next year and the venerable company is still using applications that were written in 1980s.
If you think MetLife is unique, think again. According to a 2016 Fortune article, “the average age of a Fortune 500 company is 80 years.”
In a keynote speech at DockerCon, Aaron Ades, an assistant vice president at MetLife, explained the challenges companies like MetLife face with legacy applications. Here we have a 150 year-old company, banking on a technology that is less than five years old.
In the pre-Docker era, modernization meant upgrading your application to the latest version of libraries and framework and you had to repeat that with every new release. Refactoring is expensive and more of a maintenance problem that really doesn’t add any value to customers, so there was little incentive for companies to modernize their applications.
Microsoft’s Taylor Brown, lead program manager for Windows Server and Hyper-V Containers, and Chris Van Wesep, director of product marketing for enterprise cloud at Microsoft, told me that there are many reasons why companies are hesitant to touch in-production applications. Two that are often cited are: 1. don’t fix what isn’t broken; 2. immense investment will be needed to refactor these applications.
Companies are fully aware that legacy applications slow them down. It takes months and sometime years to upgrade or add new features. It’s expensive and insecure as they have to ‘waste’ money on maintaining the older infrastructure to support these applications because upgrading the infrastructure also means refactoring apps.
A large percentage of IT budgets are spent on servicing, maintaining and operating legacy apps. At the same time, enterprise IT is under tremendous pressure from the top down to have a public cloud strategy and/or a hybrid cloud strategy.
Containers can solve some of these problems. But, once again, that would mean refactoring and risking breaking something.
Is there a way to modernize legacy applications without breaking things and without expensive code refactoring?
There is now.
At DockerCon this week, Docker announced a new program called Modernize Traditional Apps (MTA) that helps companies modernize their legacy applications written in .NET and Java by containerizing them. Docker is working with partners like Microsoft, Cisco, Avanade, and HPE on the MTA project.
Docker has built a tool called ‘Image to Docker’ that scans applications and identifies the relevant binaries and automatically generates a Docker file that is then used to generate a Docker container.
Not to be left out of the container party, Oracle announced the availability of certified Oracle products in the Docker Store. Yes, Oracle is containerizing its own products.
Docker teams gave multiple demos of modernizing legacy apps (including Oracle database) by containerizing them. The entire demo lasted less than five minutes. Yes, they containerized entire app, on stage, within a few minutes without changing a single line of code.
Modernizing traditionals skills
Containerization, microservices and the DevOps movement is as much about skills as it is about technology. Modernizing applications won’t help companies until they also modernize their skillset. Docker knows that. One of the core requirements of the MTA program is that participating companies who want to modernize their legacy applications have to commit engineering talent towards it.
“Part of this program is not just our consulting partners doing all the work, but the company has to dedicate three of their people to do it,” said Scott Johnston, COO at Docker, Inc. “They have to dedicate the application owner, the application architect and sometimes those are one and the same. Then there is a third person who is the sysadmin or the operator. Because without that, you don’t pass on the learning, not just on the technical level, but at the process level.”