Apps

Accelerating the application containerization journey

Share this post:

Container strategy has become an essential part of any enterprise’s cloud transformation journey. The flexibility and cost optimizations that containers bring to the table has made many enterprises to adopt a “container first” strategy.

While this is a good guiding principle, many challenges come into play while executing this strategy. The primary challenge is to decide which of the existing applications in an enterprise’s IT landscape can be containerized. Most enterprises have application portfolios built on a range of technologies and platforms. While applications built on modern technologies such as Java are ideal for containerization, established applications on platforms like the mainframe may not be a good fit.

Questions to help guide the application containerization journey

It’s important to evaluate the organization’s existing applications and how these assets may transfer to containers. Questions that should be considered before enterprises begin the containerization journey include:

  • Which applications in the business portfolio can be containerized?
  • Is there a real benefit in containerizing an application?
  • Should a large monolith application be decomposed before it is containerized?
  • How can application containerization be done faster?
  • What is the best container platform for the enterprise?
  • What are the other extensions needed in the container platform to accommodate the applications?
  • Is there real value in containerizing all the applications?
  • Will the containerized applications be able to meet existing Service Level Agreements (SLAs)?
  • What will the upskill path be for developers?

 

The four phases of application containerization

It is important to have a well-defined approach that is supported by accelerators and skills to address the key concerns of enterprises, while realizing the containerization journey.

A “containerize first, transform next” approach is ideal in most cases when containerizing the existing application portfolio. The journey typically consists of four phases:

1. Application assessment for containerization

In this phase, the application portfolio is assessed to determine the container affinity of each application. The outcome of this assessment shows the “ease of containerizing” each application in the portfolio. This assessment can be accelerated by using assets like the IBM Cloud Advisory Tool. The tool captures various attributes of the applications and associated infrastructure. When applied to the collected data, the inbuilt rules determine the cloud affinity value for the application.

Once the container affinity assessment is complete, an initial list of applications for containerization will be available. The target images and patterns needed can be determined from this list.

It is important to confirm the business case of containerizing the applications. The “as is” cost of running the applications, the transformation cost and the target state run cost will be captured to calculate the ROI. This is a key input for the decision to move forward or not. Once a containerization journey begins, key execution accelerators, like the containerization playbooks are created.

IBM and RedHat have other assets like IBM Cloud Transformation Advisor and RedHat Application Migration Toolkit that provide detailed recommendations to containerize JEE applications. These tools provide steps to be followed to containerize the JEE applications for WebSphere and RedHat targets, respectively.

2. Execution planning

The dependencies of applications are an important aspect to be considered prior to defining the containerization execution plan. Application groups are formed with dependent applications. IBM has multiple assets that collect data from the application runtimes and derive the application dependency model. The containerization waves can be defined based on the analysis of these dependency models. Each wave can include one or more application group.

3. Containerize, lift and shift

The “containerize first, transform next” approach can incorporate the benefits of containers upfront in most cases. This is the general recommended approach for transforming existing applications. The approach typically will not perform any code changes to the application.

The steps that will be performed are related to finalizing the container image and integrating the application with the DevOps toolchain. This will typically have a well-defined set of steps and can be executed in a Migration Factory Model.

There could be a scenario where a monolith application is too large. In this case, it will be best to decompose the application prior to containerization. There may also be a scenario where an existing application is not able to be containerized. In such case, rearchitecting the application should be considered.

End-to-end DevOps is a critical element for the accelerated execution of the containerization journey. A DevOps assessment of the applications in scope should be conducted, while the toolchain should be optimized to meet the needs of the containerized applications.

4. Transform applications

This is the last step in the approach and may not be applicable for all containerized applications. There may be scenarios where it is ideal to modernize an already containerized application to newer architectures like the microservices architecture. This is determined based on detailed analysis of the applications in scope. Transformations usually include rearchitecting and reengineering the applications. Development Squads following the IBM Garage practices are ideal for delivering application transformations.

Streamline application containerization with the right tools

IBM has a variety of methods, tools, assets and service offerings that can streamline an enterprise’s hybrid cloud journey using containers. For example, RedHat OpenShift Container Platform (RHOCP) is the market leading Kubernetes-based container platform. RHOCP abstracts most of the complex tasks associated with container platforms making deploying and managing containers easier. IBM Cloud Paks provide enterprise-ready, containerized software solutions that give clients an open, faster and more secure way to move core business applications to any cloud. IBM Cloud Paks runs on RHOCP and this combination provides a foundation for accelerated application containerization.

Visit IBM Services for Cloud to learn more on how IBM can help in your hybrid cloud journey.

 

More Apps stories

ExxonMobil and IBM Cloud fuel customer satisfaction at the pump

As digital technology has dramatically transformed how people live, it has also reshaped how consumers experience brands, turning transactions into experiences, and experiences into relationships. But digital transformation is more than simply building an app and going digital. It’s also about changing the way people think. Many people can remember having to go to the […]

Continue reading

A strategic approach to adopting cloud-native application development

Approximately three out of four non-cloud applications will move to the cloud within the next three years, according to a recent IBM report titled “The enterprise outlook on cloud-native development”. In today’s modern enterprise, optimizing the application cycle is critical: it can help companies keep up with consumer expectations, keep business operations agile, and speed […]

Continue reading

4 steps to modernize and cloud-enable applications

Customers today are no longer satisfied by the traditional consumer-business relationship. Instead, they expect engaging and informative digital experiences. In order to match these expectations and stay ahead of the curve, organizations must lean into digital transformation. Businesses need to modernize both customer-facing and enterprise applications to support a customer-centric approach to business. Developing a […]

Continue reading