Migrating a 14-year-old legacy application to the cloud 👵🏼

June 6, 2020

The customer

VIA FUTURA is a software development partner from Antwerp, Belgium that provides services in three domains: event websites, tailor-made web-based solutions, and websites.

The situation

Back in 2007, VIA FUTURA created a Content Management System to manage the websites of their customers. Nowadays, the team has moved on to modern web technologies, but the legacy CMS is still used by some of its customers. The CMS comprises a monolithic application designed according to the multi-domain architecture. This means that all the websites of their customers are managed through a single admin panel and database. Requests to www.customer-website.be are forwarded to the CMS, which then dynamically renders the website of the respective customer.

The application is implemented in PHP 5.3 in combination with the CodeIgniter framework. The entire multi-domain logic is built with Apache and the database used is MySQL 5.6.

Hosting legacy software like this CMS is hard. Most of the technologies used are not compatible with modern standards and are often badly documented. For this reason, the previous hosting partner of VIA FUTURA ended its support for this project. However, as some companies are still depending on the CMS, the team at VIA FUTURA started looking for a partner that was up for the challenge. Eventually, they turned to Smoothy.

The solution

As the first step in this project, we thoroughly analyzed the source code of the CMS and discussed the requirements of the projects with the technical lead at VIA FUTURA. Based on our findings, we then started building a Docker image for the application.

When building Docker images, we always try to stick as close to the official Docker images as possible. This way we minimize the maintenance effort to enjoy the patch and security releases from the developer community. However, as for PHP, there only exists an official image for versions 5.4 and up. Therefore, we had to build our own image from scratch, compile PHP 5.3 manually, and install all the required extensions.

Once the image was ready, we modified the source code of the CMS and the Apache configuration to support communication over a secure HTTPS connection. Nowadays, TLS-support in web applications is taken for granted, but back in 2007, this was not the case.

Next, we used our cloud platform to quickly spin up a new cloud server. We rolled out the Docker image to the server and used our application catalog to install a MySQL 5.6 database. After migrating the existing 5 GB dataset, we triple-checked that everything was working as expected. And once the technical lead at VIA FUTURA gave us the green light, we made the necessary DNS changes and added the required endpoints.

Finally, we integrated the self-hosted Gitlab instance of VIA FUTURA with our cloud platform and automated the deployment process for their CMS.

The result

Hosting legacy software is hard, but we pulled it off. The 14-year-old Content Management System of VIA FUTURA is now running on top of state-of-the-art cloud technologies and is served over a secure HTTPS connection. With this upgrade, the application is ready to comfortably live its last years of life.

Powered by Froala Editor

Ready to dive in? Start your free trial today.

Discover today whether our Cloud Native platform is the right fit for your team. Registration only takes a minute and our documentation gets you up and running in no time.