Legacy Apps to Cloud Microservices?

Dr. John R. Wetsch, Program Director of Cloud Computing, Wake Technical Community College

Dr. John R. Wetsch, Program Director of Cloud Computing, Wake Technical Community College

John R. Wetsch, Ph.D., is the Program Director for Cloud Computing at Wake Tech Community College and a Lecturer in Cloud Computing for CalTechs CTME.  He has over 30 years of experience working in industry, government, and higher education. He is a recognized industry leader in large scale information systems development and deployment, software engineering, systems analysis and design, cloud migration, and related technologies.

Through this article, John R. Wetsch discusses the challenges and strategies involved in migrating legacy applications to the cloud. It emphasizes that most organizations operate in hybrid multi-cloud environments and face decisions about whether to continue increasing their cloud footprint or keep certain applications on-premises.

The cloud landscape consists primarily of hybrid multi-cloud environments with a smaller percentage of cloud implementations being single cloud provider implementation.  Regardless, all organizations that have adopted the cloud deal with migration efforts of infrastructure and applications to the cloud.  Whether an organization continues to increase its cloud footprint or not they are faced with decisions to “cloudify” their application environment.  If the cloud service cannot be found and implemented as a SaaS, organizations may very well have to decide how to bring their legacy apps into the cloud.

Older legacy applications may be accessible through the web but were not designed to operate in the cloud.  Decisions to keep these applications running on prem are doable for the short term but technology will continue to change and the ability to support them will continue to become more costly and may be further hindered in their operability due to changes in operating systems and hardware preventing the migration to newer platforms.  That is, if maintaining the legacy mindset stays entrenched.  The expected operational life of the application should be evaluated alongside the feasibility of moving to the cloud.

“Going forward with a legacy to a microservice strategy can be applied to siloed cloud environments to trending multi-cloud integration and begins with containerization.  The strategy begins with making decisions regarding the functionality of the legacy system.”

The migration strategy to determine the feasibility of moving legacy applications to the cloud needs to take into consideration the implementation of the application as microservices.  Other considerations may preclude the redevelopment of the legacy application if there are already service providers that can provide the same functionality as a SaaS with more than likely some customization to be applied.  Nonetheless, this may not be the easiest decision as a thorough assessment is needed.  For example, if the legacy system requires heavy use of proprietary data or is highly regulated more local control would be required.  The organization must address the facts of your system with a good use case to make a solid decision of the migration.

Going forward with a legacy to a microservice strategy can be applied to siloed cloud environments to trending multi-cloud integration and begins with containerization.  The strategy begins with making decisions regarding the functionality of the legacy system.  The user facing functionality allowing access to the system needs to be in a container and bring up the home web page.  From this web page navigational points to another container with its functionality can be provided.  A good analogy of this would be a shopping site where you can have one container set up for product search and selection and another container for the shopping cart.   Thus, not only processing needs are serviced through containers, but you can also contain your data storage and data retrieval needs.

Doing this provides a considerable number of benefits but also challenges. The benefits include good granularity in the monitoring and support of the microservice.  Each container can be monitored, and appropriate computing resources can be applied to handle increased or decreased processing loads. Far better insight into the application is provided through the container than what was accomplished in monitoring large legacy systems that were more monolithic.  Additional containers with the same functionality can be ramped up or down as needed.  Security for an application service can be set up on a per-container basis and can allow for different levels of security based on the data or transactions undertaken by the system.  In short, application resiliency and built-in redundancy can be applied to the system through a microservice implementation.  The former large legacy application is now broken down into secure redundant parts that can allow the application to continue operating even if a container should fail.

The benefits are only realized with sound IT governance and cloud infrastructure with applied application expertise.  Governance includes the establishment of sound cloud policies that include the configuration and monitoring of the system.  This is because multi-cloud and microservices add complexity and if not handled well will result in unexpected cloud spend.  Knowing what resources to ramp up and when to ramp down must be observed and optimized to avoid cloud waste.  Strong connectivity to allow for the startup and maintenance of communications channels is a must especially when new containers are ramped up.  Errors in implementation will occur but you will know that you have a sound robust cloud infrastructure and application deployment when these issues are invisible to the user.  Simply put, the application continues to operate even when there are service failures, issues are being fixed by the support team, and cloud spend is under control.

Organizations should be looking at their cloud architects to design cloud systems that bring to bear the advantages of cloud use.  This may include integration across multiple cloud platforms with the organization to external partner cloud environments.  Cloud engineers are strongly needed to make sure the infrastructure is supporting a strong cloud environment, and this includes having skills in operating systems (e.g. Linux, Windows), virtualization, storage, networking, and programming in Python.  Cloud engineers should ensure the cloud infrastructure is able to support the needed business platform and operating environment.  They need to engage with the application development team through DevOps and to look to improve how to better manage and support the cloud to deal with increasing complexity.  The trending methods to do this are to bring in tools and methods to support cloud system monitoring and operability through AIOps.    

To conclude, getting Legacy applications cloudified will either require a cloud development activity or movement towards a comparable cloud SaaS.  Organizations still running legacy applications should also consider that the legacy application has a limited life span.  So, plans need to be put in place to determine how to move and implement these applications to the cloud. That can range from customization and adoption of existing SaaS to implementing their own microservices.  The cloud environment used to support microservices must also be well implemented and supported to take advantage of the cloud environment and containers operating in that environment.

Weekly Brief

Read Also

Our AI Crisis isn't Technical. It's Human.

Our AI Crisis isn't Technical. It's Human.

Fatma Mili, Professor, Grand Valley State University
4 Keys to Managing Change

4 Keys to Managing Change

Sten Swenson, Director of Information Technology, North Carolina State University
Active Engagement is the Foundation of Effective Leadership

Active Engagement is the Foundation of Effective Leadership

Amber Pleasant, Program Director of Adult Education and English Language Learning, Aims Community College
Empowering Leadership through Innovation in Higher Education

Empowering Leadership through Innovation in Higher Education

Brian Fodrey, Assistant Vice President, Business Innovation, Carnegie Mellon University
The New Era of Education

The New Era of Education

Yrjö Ojasaar, Investment Partner, Change Ventures
Redefining Readiness: A Path Toward a Technology-Agnostic Future

Redefining Readiness: A Path Toward a Technology-Agnostic Future

Fatma Elshobokshy, Director of the Center for the Advancement of Learning (CAL), University of the District of Columbia