AI Unlocked
1771097 Members
3176 Online
109004 Solutions
New Article
EzmeralExperts

Monolithic to microservices made easier with HPE Ezmeral

HPE-Container-Platform-Microservices-Simple.jpgI have always believed in the famous quote attributed to Albert Einstein, "If you can't explain it to a six-year-old, you don't understand it yourself."

In the last few months, one of the hot topics I have been covering in presentations and working with customers on is application modernization. At first, I did not fully comprehend the level of effort that goes into modernizing apps. But when I explored more, I found that 70% of the global IT budget is spent on legacy application maintenance. The US government alone spends 80% of its IT budget on maintaining legacy systems, some of which were in place when John F. Kennedy was president. In fact, 7 in 10 companies today are struggling with legacy application maintenance as they undergo digital transformation.

What is Application Modernization?

Application modernization is the process of taking old applications and the platforms they run on -- and making them new again by replacing or updating each with modern features and capabilities.

By modernization, I mean changing the application to a more distributed architecture and including integration and automation through DevOps principles. In addition, it means that the architecture and source code need to be updated through modern programming languages to truly support a container or microservice model – all with built-in security and storage features.

An analogy for application modernization could be updating the design of a car. I have a warm place in my heart for vintage cars, so no offense to car enthusiasts – but for the sake of argument, let’s say you are updating a vintage Ford Mustang.

If you compare a vintage 1967 Mustang to a modern 2021 version, the 1967 does not have disk brakes, ABS, fuel injection, air bags, shoulder belts, crush zones, and many other things that make it safe, reliable, and economical.

Actually, you can do very little to a 1967 Mustang that would make it as safe, reliable, and economical as a 2021 Mustang. The only way to truly transform that model and bring it up to the standards of 2021 is to change the 1967 car’s architecture. Or, you could completely replace the old 1967 Mustang with other readily available modern architecture cars like Tesla.

It works the same way in the application world. You cannot just update the underlying compute and storage infrastructure from mainframes to Kubernetes (K8s) and expect the application to automatically behave as if it had modern features. You need to transform the application as well.

True application modernization means modernizing the infrastructure, application, and data. And how far the customer needs to go for each in this three-tier transformation journey depends on the different needs of each use case.

Challenges in Modernizing Legacy Apps

While enterprises want to embrace application modernization, they face a variety of common challenges, including the following:

  • Isolating applications from their infrastructure is often a very time consuming and manual process.
  • Legacy, monolithic systems are not designed with distributed hardware in mind and are difficult to break apart.
  • Legacy apps lack security integrations.
  • They also lack tight DevOps integration.
  • Lastly, budget and cost control are difficult to estimate, as well as difficult to test and consolidate amongst legacy applications.

What is the solution?

There are different approaches to migrating legacy applications into modern architectures (Figure 1).

Figure 1. Different ways to modernize an applicationFigure 1. Different ways to modernize an applicationRehost means a legacy application is moved to a modern compute and storage infrastructure, whether on premises or in the cloud, without altering the original code or changing its features. It is like painting a 1967 Mustang and expecting it to have all the features found in a 2021 Mustang. In other words, rehosting an application does not modernize that application.

Refactor, redesign, and rebuild: These options involve rewriting portions of the applications from scratch, while preserving the original scope and specifications. Using these methods will modernize the application by updating: the source code to a newer programming language, the underlying data to modern formats, and the compute and storage infrastructure to support the newly modernized application.

The final option is to replace the application altogether. This option eliminates the original application completely and replaces it with a new application.

Where does HPE Ezmeral fit in?

Most of these solutions are offered in the HPE Ezmeral Container Platform along with the HPE Ezmeral Data Fabric. Depending on the customer use case, application, cost, and time requirements, HPE can help smooth the way in this journey. Let’s see how.

Rehost: HPE Ezmeral is software for your modern applications. The HPE Ezmeral Container Platform offers a central control plane for virtual or physical compute resources located on premises, in the cloud, or at the edge. Included is full support for standard K8s orchestration and HPE Ezmeral Data Fabric, which powers the data plane with a global namespace for data from core to edge -- all wrapped in a secure, enterprise-class, highly available platform.

Replace: HPE Ezmeral software is tested with a large partner ecosystem. Through the HPE Ezmeral Marketplace, our partners offer modern applications that can be used to replace legacy applications.

Refactor and redesign: HPE Ezmeral offers the HPE Ezmeral Application Workbench, a powerful product that helps you redesign or refactor the application while preserving their scope and specifications.

KubeDirector for Application Deployment

KubeDirector is an open-source K8s custom controller that addresses stateful application deployment in standard K8s clusters. It uses standard K8s facilities of custom resources and API extensions to implement stateful, scale-out application clusters. This approach enables transparent integration with K8s user/resource management and existing K8s clients and tools.

Figure 2 (below) shows different resource management types for deploying an application on Cloud Native Computing Foundation (CNCF) K8s. All these types are supported on the HPE Ezmeral Container Platform, as we use CNCF K8s under the hood.

Figure 2. Kubernetes Deployment Options for Apps Refactor and RedesignFigure 2. Kubernetes Deployment Options for Apps Refactor and Redesign

HPE Ezmeral Application Workbench is a software development kit (SDK) featuring a friendly, browser-based, point-and-click user interface (WebUI) to help you create custom, containerized applications for the HPE Ezmeral Container Platform (Figure 3 below). 

Figure 3. With the HPE Ezmeral Application Workbench, you can update legacy source code to build a new, custom docker image, and convert your legacy application into a microservice-based, modern application.Figure 3. With the HPE Ezmeral Application Workbench, you can update legacy source code to build a new, custom docker image, and convert your legacy application into a microservice-based, modern application.

Once you have built your new application, it can be easily deployed on the HPE Ezmeral Container Platform, which allows it to leverage the HPE Ezmeral Data Fabric (Figure 4 below).

Figure 4. Once you build your new image, you can deploy it directly to the HPE Ezmeral Container Platform.Figure 4. Once you build your new image, you can deploy it directly to the HPE Ezmeral Container Platform.Containerized applications in just a few clicks

With its simple to use yet powerful graphical user interface (GUI), application workbench makes the HPE Container Platform even easier to use and accelerates time to value for all your application modernization projects. These include apps such as big data, artificial intelligence / machine learning (AI/ML), developer operations, (DevOps), and continuous integration / continuous deployment (CI/CD).

According to Sorin-Cristian Cheran, Ph.D., VP, Fellow of the HPE Artificial Intelligence Strategy and Solutions Group, "A great example use case is the integration with the NVIDIA GPU Cloud (NGC). In just a few clicks, a developer can specify a specific NGC image tag to build an NGC-optimized TensorFlow application. This application can then be deployed on the HPE Ezmeral Container Platform, using the KubeDirector Application Store. Developers will be truly surprised at how simple, intuitive, and easy it is to create an application. You can also create a Docker file from scratch and push it to an external registry with a click.”

Don’t let legacy applications hold you back in your digital transformation. Modernize your legacy applications in a cost-effective way, improve developer productivity, and accelerate time to value for your business with HPE Ezmeral. For more information, access HPE Ezmeral Container Platform Documentation on App Workbench.

Sahithi

About the author:

Sahithi Gunna, Product Manager, HPE Ezmeral Container Platform 

Sahithi Gunna_BlueData.jpgSahithi has been working in the Big data, machine learning, and analytics space for more than seven years covering Product Strategy, Go-To-Market, Deployment and Services, Business Development, Partner Program Management, and Software Development. Currently, she is focused on enhancing the experience of development workflows on K8s and app modernization use cases. Prior to joining HPE Ezmeral Container Platform, she worked on several large-scale enterprise deployments for ML providing her with first-hand knowledge of a variety of use cases, challenges, and best practices in the analytics space.

Hewlett Packard Enterprise

twitter.com/HPE_Ezmeral

linkedin.com/showcase/hpe-ezmeral

hpe.com/ezmeral

0 Kudos
About the Author

EzmeralExperts