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?

For more of a background on containerization, check out the following video and the article “The Benefits of Containerization and What It Means for You“:

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.
” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen>

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 Red Hat 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 Red Hat 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.

Was this article helpful?
YesNo

More from Cloud

IBM Tech Now: April 8, 2024

< 1 min read - ​Welcome IBM Tech Now, our video web series featuring the latest and greatest news and announcements in the world of technology. Make sure you subscribe to our YouTube channel to be notified every time a new IBM Tech Now video is published. IBM Tech Now: Episode 96 On this episode, we're covering the following topics: IBM Cloud Logs A collaboration with IBM watsonx.ai and Anaconda IBM offerings in the G2 Spring Reports Stay plugged in You can check out the…

The advantages and disadvantages of private cloud 

6 min read - The popularity of private cloud is growing, primarily driven by the need for greater data security. Across industries like education, retail and government, organizations are choosing private cloud settings to conduct business use cases involving workloads with sensitive information and to comply with data privacy and compliance needs. In a report from Technavio (link resides outside ibm.com), the private cloud services market size is estimated to grow at a CAGR of 26.71% between 2023 and 2028, and it is forecast to increase by…

Optimize observability with IBM Cloud Logs to help improve infrastructure and app performance

5 min read - There is a dilemma facing infrastructure and app performance—as workloads generate an expanding amount of observability data, it puts increased pressure on collection tool abilities to process it all. The resulting data stress becomes expensive to manage and makes it harder to obtain actionable insights from the data itself, making it harder to have fast, effective, and cost-efficient performance management. A recent IDC study found that 57% of large enterprises are either collecting too much or too little observability data.…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters