Day 2 for the Into The Box conference started with our second keynote focusing on how to evolve legacy ColdFusion (CFML) applications/dinosaurs into modern ColdFusion applications. We discussed all the modern tools created by Ortus in order to facilliate developers to not only evolve your applications but also be able to containerize them into microservices. We then focused on best practices to decompose these wild and unpredictable animals into modular architecture components and even RESTFul services uses common patterns like the [strangler application pattern]( Our very own Jon Clausen went into depth of all the tools to tame these animals including of course [ColdBox MVC](/products/coldbox) as the base for modular development and [behavior driven development](/products/testbox) for increasing code quality and capturing requirement states.

This is the age of the containers, so it is imperative to evolve your applications and apply modern techniques not only for development but also for distribution and portability. We are at the age where you can run ANY ColdFusion CFML application with a single CLI command using our docker containers:

docker run -v "/path/to/your/app:/app" ortussolutions/commandbox

Let's remember our day 1 keynote quote:

In this day and age, every company and let me repeat that, every company is a software company and thus must be agile, present and modern. The tooling is here, use it.

It is imperative to be able to deploy and deploy fast in this day and age. Let's investigate some motivating questions:

  • How long does it take you to go to production?
  • Is it a manual process or an automated process?
  • Do you have zero downtime or do you cross your fingers when you deploy?
  • Do you have a no deploys on Fridays rule?
  • What do you do if your deploy fails?
  • How do you rollback your deploys?

Hopefully this video will inspire you to do more with your legacy animals and hopefully strangle them into submission:

  • Transform - Create parallel CFML applications based on modular ColdBox architectures, RESTFul principles and microservices
  • Coexist - Leave the existing animal alone for a time. Redirect from the existing site to the new infrastructures
  • Eliminate - Remove the old functionalities from the existing procedural apps and re-direct traffic to the new implementations.
  • Rinse and Repeat - Repeat the process until you can finally eliminate the procedural/legacy dinosaur

Enjoy the video recording and remember: ColdFusion (CFML) and its tooling is as modern as any language. It is up to you to implement, share and communicate. Evolve or Die!

## Keynote Video

Keynote Slides