3 - 4 OCTOBER 2018 / EXCEL LONDON

Modernising Traditional Applications with Docker

Monday 25 September 2017

Docker is a platform for running applications in lightweight, isolated units called containers. You can run new and old apps in containers, using Windows or Linux. Docker adds portability, security and efficiency to your existing app landscape.

Apps that were designed and built ten years ago - or one year ago - are likely to use traditional approaches, which make them difficult to develop and manage. They could be running on any technology stack, but they have common traits:

- monolithic code bases that need a lot of manual testing, even for small changes

- unclear dependencies, so they run in high isolation to prevent interference

- multiple management and deployment tools - every app is different.

Companies spend most of their IT budget keeping traditional apps running, rather than on developing new products and features.

 

Docker and Traditional Apps

 

Apps need consistency, so your whole estate can be built, deployed and managed in the same way. Docker brings consistency to traditional apps. When you run your apps in Docker containers, you use the same tools and processes everywhere, no matter what the app is doing or what technology it uses.

Docker Enterprise Edition is the only platform which provides production support for containers running on Linux and Windows. You can run containers in the cloud or the datacenter, and you choose how far along the modernization spectrum you want to take each app.

 

The Modernization Spectrum

 

Modern apps run in small components with distinct responsibilities, which can be independently scaled and updated. Traditional apps will need a significant rewrite to fit the modern pattern. Some apps will justify the investment, but for others you will get far better ROI just by running the existing monolith in a container.

Docker supports the full spectrum of modernization projects:

 

1. Migrate as-is. Moving your application to Docker with no code changes is the simplest way to start modernizing.

 

2. Adopt the platform idioms. Change the setup of your app to use more Docker features, like logging and configuration.

 

3. Adapt to the new runtime. Make minor code changes to take advantage of the platform features in Docker, like secure secret management and rapid scaling.

 

4. Extract features into separate containers. Break key features out of your app and plug the components together with Docker, so you can work on and deploy features independently.

 

5. Rebuild and renew. Split your app into small components, using the right technology for each. Use production-grade software in your solution from Docker Store, and upgrade custom components to use the latest approaches and frameworks.

Elton Stoneman, Developer Advocate at Docker, Inc will be speaking on October 4 at IP EXPO Europe 2017.

Top