How to modernize legacy applications | Venturus

How to modernize legacy applications

Cloud computing is becoming the norm for software development, but legacy applications are still an issue in a lot of cases.

After spending a lot of time in the fog, we have finally reached a stage where our thinking is more directed towards the cloud. This is great, especially when we start developing a “greenfield” or “from scratch” software, where “everything is easier and the sky is the limit”.

However, as we well know, software development is not a bed of roses and, for the overwhelming majority of the time, we have to deal with legacy software. It is then that some questions usually arise:

  • Is it worth moving this legacy system to the cloud?
  • If the system is transferred to the cloud, how will it work afterwards?
  • Is the cloud so magical? Is my software (which has never been scalable) going to be become ultra scalable when it’s there?

The answers to these questions are tied to the next steps than the migration to the cloud itself. Let’s understand better how to make this as less traumatic as possible!

 

Strangler Fig Pattern

One of the most common things when we do a lift-and shift is to upload our application in the cloud and leave it there, without any change.

This, at first, can give the feeling of a job done. But, as time goes by — with the bill arriving at the end of each month and with the promise of scalability and elasticity not fulfilled —, doubt begins to creep in: was migrating a legacy system to the cloud the right decision?

Don’t worry if that is your current reality, this is more common than you might think! Let’s see how to solve this problem.

There is a Pattern created by legendary Martin Fowler, a big name in the field of software architecture, called StranglerFigApplication (available here).

Simply, he says that, at first, you only have the legacy system. But, little by little, it is possible to strangle the legacy functionalities until the legacy as a whole becomes modern software, as the image below shows us.

Process of migration of legacy applications to the Cloud

 

How to strangle my legacy and modernize in the cloud

Whenever we do a lift-and-shift, we use the IaaS model as a basis — since, we usually put our legacy software in VMs (Virtual Machines) at first. To better understand cloud service models, see our article.

However, it is after this initial step that things get more interesting. To use all the computing power that the cloud has to offer, we first need to map features from our legacy that we can “easily” migrate to a PaaS or SaaS models in the cloud.

Let’s go to some examples:

Imagine that you have an application that makes use of unstructured data (images, video files, texts, etc.) storage.

In the long run, this feature can compromise your application’s storage space. But the worst thing is the fact that it makes it impossible to scale access to files in an exclusive manner.

Let’s say you find that your application is taking time to access these files because it needs more computational power to scale. In this scenario, you will need to increase the computational power of the entire VM (what is known as vertical scalability), since all files reside on the same VM.

A first step to taking advantage of the best that the cloud offers would be to move these files to a storage in the cloud (S3 on AWS and Azure Storage on Azure).

With this, you:

  • decouple files from your application;
  • configure access to these files in the best possible way;
  • uses their redundancy, changing the least accessed files to more “cold” layers;
  • end up paying less for file storage.

In this simple example, in addition to starting to uncouple your application, you will also probably start saving a good amount of money.

Another example: let’s say that in your application there is a job (periodic execution process) that runs every day at certain time(s). You most likely use a service in the database or something in the application for the execution to occur.

However, this service is coupled to your application and can be easily ported to a standalone service in your cloud using Serverless architecture as a solution (Lambda on AWS and Azure Functions on Azure).

Both AWS and Microsoft Azure provide 1 million free runs per month. In other words, if your Job does not pass that number of executions per month, you will have zero costs with your jobs. Another clear sign that reshaping your legacy can yield great results in the cloud.

 

The bottom line

As we saw in this post, reshaping your legacy is key to taking advantage of everything the cloud can offer, allowing your application to become more scalable, more dynamic, more secure — and, most importantly, more economical.

To learn how Venturus can help you reshape your legacy in the cloud, contact one of our experts.

Veja mais
Digital Transformation
Redação Venturus

Lean digital for business edge

Digital Transformation (DT) has greatly intensified since the Covid-19 pandemic. Due to social distancing, digital solutions have gained prominence to help maintain productive activities and
Leia mais »
Uncategorized
Redação Venturus

How to create a study routine

Maintaining a steady study pace can be very challenging, especially when looking to improve your knowledge and technical abilities for the job market. There are
Leia mais »

Entre em contato

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Campinas / SP - Brasil

Estrada Giuseppina Vianelli di Napolli, nº 1.185
Condomínio GlobalTech Campinas
Polo II de Alta Tecnologia
CEP 13086-530 – Campinas – SP
+55 (19) 3755-8600

+55 (19) 3755-8600
contato@venturus.org.br