Skip to main contentIBM Cloud-Native

CP4Apps Overview

Introduction

Enterprises employ cloud technologies to deliver innovation at scale and at lower cost. New services are often built natively on cloud, but can also come with risk of “vendor lock-in” and escalating cost. Existing applications can be rewritten, but rewriting thousands (if not tens of thousands) of applications from the ground up is both cost and time prohibitive, so taking steps to modernize existing applications can be an attractive approach with faster time to value. Both strategies — building new cloud-native applications and modernizing existing applications to support cloud environments — need to be done in an open, portable manner that helps clients improve time to value while avoiding lock-in. Containers and Kubernetes enable this by providing portability and consistency in development and operations, but developers and administrators are still required to continuously connect component layers and verify interoperabilty. In addition, collecting, integrating and analyzing data enables data engineers and scientists to help application developers infuse AI into applications; but the trick is to do this without adding complexity and cost. And, then, once applications are built and connected to data, IT operations need them to run in an environment that is high performing, scalable and reliable. Today, around 80 percent of existing enterprise workloads have not yet moved to the cloud due to these challenges and enterprises struggle with movement, connectivity and management across clouds

Cloud accelerates digital transformation

  • Innovate Faster : Deliver true business value and delight your customer

  • Transform Business : Refresh legacy and employ the cloud to deliver a competitive advantage

  • Optimize ROI : Increase operational efficiency and reduce cost

What’s preventing rapid Modernization today

Factors that probably provide hinderance for Application Transformation and Modernization are

  • Skills : Microservices, containers/Kubernetes, open source, using Cloud based services

  • “What code changes need to be made?” : Effort to change, affinities with current execution environment

  • Enterprise needs : Security, compliance, data movement, scaling, integration, management, analytics, “day 2 operations” in a hybrid Cloud environment

Cloud Paks

A faster, more secure way to move your core business applications to any cloud through enterprise-ready containerized software solutions. A family of Cloud Paks that give developers, data managers and administrators an open environment to quickly build new cloud-native applications, modernize/extend existing applications, and deploy middleware in a consistent manner across multiple clouds.

Cloud Paks provide :

  • Containerized IBM middleware and open source components

  • Consistent added capabilities for deployment, lifecycle management, and production quality of service – logging, monitoring, version upgrade and roll-back, vulnerability assessment and testing

  • Certification by IBM to run on Red HatOpenShift, providing full software stack support,and regular security, compliance and versioncompatibility updates

cloud Paks

Cloud Paks Offerings

Today, IBM introduces six new Cloud Paks: Cloud Pak for Applications, Cloud Pak for Data, Cloud Pak for Integration, Cloud Pak for Multicloud Management, Cloud Pak for Automation and Cloud Pak for Security that deliver IBM enterprise software and open source components in open and secure solutions that are easily consumable and can run anywhere

cloud Paks Pillars
  • Cloud Pak for Applications : IBM Cloud Pak™ for Applications helps to accelerate the build of cloud-native apps by leveraging built-in developer tools and processes, including support for microservices functions and serverless computing. Customers can quickly build apps on any cloud, while existing IBM middleware clients gain the most straightforward path to modernization.

  • Cloud Pak for Data : IBM Cloud Pak™ for Data helps to unify and simplify the collection, organization and analysis of data. Enterprises can turn data into insights through an integrated cloud-native architecture. IBM Cloud Pak for Data is extensible and easily customized to unique client data and AI landscapes through an integrated catalog of IBM, open source and third-party microservices add-ons.

  • Cloud Pak for Integration : IBM Cloud Pak™ for Integration helps support the speed, flexibility, security and scale required for all of your integration and digital transformation initiatives, and comes pre-integrated with a set of capabilities including API lifecycle, application and data integration, messaging and events, high-speed transfer and integration security.

  • Cloud Pak for Automation : IBM Cloud Pak™ for Automation helps you deploy on your choice of clouds anywhere Kubernetes is supported, with low-code tools for business users and real-time performance visibility for business managers. Customers can migrate their automation runtimes without application changes or data migration, and automate at scale without vendor lock-in.

  • Cloud Pak for Multicloud Management : IBM Cloud Pak™ for Multicloud Management helps to provide consistent visibility, automation and governance across a range of hybrid, multicloud management capabilities such as event management, infrastructure management, application management, multicluster management, edge management and integration with existing tools and processes.

  • Cloud Pak for Security : IBM Cloud Pak® for Security helps to uncover hidden threats, make informed decisions about the risks they pose, and then respond faster to those threats — while leaving data where it is. Customers can integrate tools and connect workflows across hybrid, multicloud environments, using a security platform that runs anywhere.

Cloud Paks for Applications

The IBM Cloud Pak™ for Applications provides a complete and consistent experience to speed development of applications built for Kubernetes using agile DevOps processes. You can easily modernize your existing applications with IBM integrated tools and develop new cloud-native applications faster for deployment on any cloud.

Running on Red Hat® OpenShift®, IBM Cloud™ Pak for Applications provides a hybrid, multicloud foundation built on open standards, enabling workloads and data to run anywhere. A self-service environment combines open source tools with your existing middleware for continuous compliance and visibility across secure, hybrid, multicloud environments.

Accelerate innovation while leveraging existing investments by transitioning traditional applications to the cloud in a way that makes sense for your business and is cost-effective.

Move from monolithic to microservices with DevOps methodologies and modernization toolkits. IBM Cloud Pak for Applications V4 is here.

Use Cases:

Three use cases related to Cloud Pak for Applications are:

  • Run existing applications as is that might need not move to cloud or high complexities applications to continue run as is

  • Modernize applications by using insights to appropriately refactor, optimize resources and costs and reduce complexity

  • Develop cloud native apps with containers, starting with open source, common services, developer tools of choice and integrated DevOps

cloud Paks usecases

Architecture - Cloud Pak for Applications

With IBM Cloud Pak for Applications, you can develop innovative cloud-native applications by using the tools and runtime of your choice. IBM Cloud Pak for Applications is an enterprise-ready, containerized software solution for modernizing existing applications and developing new cloud-native apps that run on Red Hat OpenShift. This hybrid, multi-cloud foundation breaks down technology and data silos to make modernization faster and more secure, and speeds development of applications that are built for Kubernetes, so you can access cloud services — all while meeting the technology standards and policies that your company requires.

cloud Paks Architecture

In short, Cloud Pak for Applications provides support for existing, and future environments, and runs on OpenShift.

Components

IBM Cloud Pak for Applications runs on Red Hat OpenShift. Currently, IBM Cloud Pak for Applications includes these components:

  • IBM Application Navigator: A tool that compliments the IBM Cloud™ Private console, by allowing you to visualize, inspect, and interact with the deployed resources that comprise hybrid and cloud native applications.

  • IBM WebSphere® Application Server: A flexible, security-rich Java server runtime environment for enterprise applications.

  • IBM Cloud™ Transformation Advisor: Helps you access, analyze and modernize middleware based apps into IBM Cloud(s).

  • IBM WebSphere Liberty: A Java™ EE application server with a low-overhead Java runtime environment designed for cloud-native applications and microservices.

  • IBM WebSphere Network Deployment: Provides a flexible, secure server runtime environment for large-scale and mission critical application deployments.

  • IBM Mobile Foundation: A platform to build and deploy the next generation of digital apps, which includes mobile, wearables, conversation, web and PWAs.

  • Accelerators for Teams: Based on Kabanero, an open source project focused on bringing together foundational open source technologies into a modern microservices-based framework.

  • Node.js: A runtime environment to run JavaScript code outside the browser.

  • Open Liberty: A lightweight open framework for building fast and efficient cloud-native Java microservices.

  • Spring: An open-source framework that provides end-to-end support for reactive & servlet-based apps on the JVM.

cloud Paks Accelerator

Accelerators for Teams

Cloud Pak for Applications Accelerators for Teams is designed to deliver integrated workflows for application architects, application developers, and operations teams, allowing them to focus more intently in their respective areas of expertise.

Accelerators for Teams workflows covers common scenarios for these different roles, such as architects defining base images and starter applications for developers, developers iterating through code changes from their favorite IDE without worrying about the setup of a Kubernetes cluster, and operation teams using pipelines that can continuously monitor code deliveries and deploy the finished applications to a running cluster.

The following sections outline the overall architecture of the system, its components, and explains the typical workflows for the different roles.

Architecture

The Kabanero architecture supports the activity of application developers, application architects, and operations teams in continuously delivering applications to Kubernetes environments. The architecture also covers non-functional requirements, such as supporting the implementation of operational policies for application management and security.

Kabareno Architecture

Application Stacks

A large portion of the Kabanero experience is centered around application stacks. An application stack is created by an application architect as a logical set of software components for developing and deploying applications. Although the application architect builds the stacks, all of the software components that comprise them should be agreed upon by operations, enterprise, and developer advocates. An application stack is realized as components (such as tools and container images) used at coding time by application developers. Application stack configuration is done via standard Kubernetes operator (CRD) configuration.

If necessary, an application stack can be customized to meet local requirements. For example, you might want to define specific maintenance levels of software components or expose particular ports for use by the applications that are based on the stack. Customizing an application stack provides a mechanism for controlling the precise development and runtime environment for an application. In a large organization, customization ensures that applications are developed and tested with a level of consistency that promotes quality and helps guarantee a seamless implementation in your production environment.

Developer experience

For application developers, the Kabanero experience is realized as tools that allows a developer to continuously iterate over changes to source code and validate the changes, considerably reducing or even eliminating the amount of time spent setting up and dealing with infrastructures such as Docker containers and Kubernetes clusters. The current tools are offered as a combination of the following initial offerings:

  • Appsody: A Command-line interface with commands for creating, building, running, and deploying applications. Appsody also has extensions that are used by other portions of the architecture to reassemble the application as a container image and to deploy it to a running container, and those will be covered in the respective sections of this overview.

  • Codewind: Hosted IDE (Codewind for Eclipse Che) and IDE extensions (Eclipse and Visual Studio Code) with a set of commands for creating, building, running, and profiling applications. When compared to Appsody, Codewind cannot deploy an application directly to a Kubernetes cluster, but it adds useful profiling capabilities where developers can inspect the usage of system resources between different local iterations on the source code.

Both Appsody and the local IDE extensions of Codewind depend on a running docker daemon to run a container with the resulting image for the application being developed.

Architect Experience

The solution architect can codify technology standards and company policies using the Management Experience. The architech defines Stacks providing an efficient way for application developers to use them.

A stack is designed, built, and published by an application architect, which can then be pulled into local registries by application developers and into the deployment pipeline upon code deliveries.

Architect Experience

A stack has conventions for its internal structure, with a clear separation between the portions of the stack that are common across all applications created with the stack and the portions that are unique to each application, being visible and editable by application developers.

Those conventions for a stack are detailed in the Stack Structure section of the Appsody website. For the portion of the stack that is common across all applications, an application architect makes choices such as the base container image, the runtime framework for the programming language being targeted by the stack, the toolset for the runtime framework, the management choices for the running application, and many other choices not directly related to the functional aspects of the application.

Medernize Existing Applications - Transformation Advisor

Transformation Advisor can help you with your transformation journey in these areas:

  • Assessment

    • Applications evaluated based on business needs
    • High-level inventory of application content and structure
    • Potential issues and migration complexity assessments
  • Strategic Planning

    • Identification of key applications that require replacement or upgrade
    • Estimated effort for resolving migration issues
    • Recommendations for a modernization path
  • Execution

    • Migration bundle automatically generated to assist with containerization and deployment
    • Files that are included are tailored to your applications
    • Dependencies identified to help you to complete the bundle

Transformation Advisor analyzes the following middleware:

Java EE application servers

  • WebLogic Server V6.0 – V11.0
  • IBM WebSphere® Application Server V7.0, or later
  • Apache Tomcat V6.0 (and later)
  • Java applications directly

Messaging

  • IBM MQ V7, or later
Transforamtion Advisor

When you run Transformation Advisor for the first time, you have a choice of data collector agents that you can download and run on your on-premises servers. The data collector analyzes your Java™ EE applications that run on IBM WebSphere Application Server, Apache Tomcat, or WebLogic application servers, and IBM MQ queue managers. The collector automatically uploads the results to Transformation Advisor. A detailed analysis that includes several reports is provided to help you understand issues and where code changes might be required.

Benefits

Cloud-native technologies & toolkits can help your organization pursue the goals of increasing productivity, accelerating time to market, delivering superior experiences, and gaining operational efficiency.

Increase developer productivity

Give your developers the resources and environments that they need to innovate and deliver applications faster on-premises or in the cloud. Use containers, cloud resources, and automation without compromising security and compliance. Cloud-native continuous integration (CI) tools speed the software development process, reducing the cost of delays. Your organizations can go from waiting weeks for new build pipelines to instantiating them in minutes. You can scale when you need it and pay only for what you use.

Accelerate time to market

In a digital world, businesses need to move quickly to increase customer acquisition and retention. By building and deploying cloud-native loosely coupled applications, IT can make quick updates and enhancements. Faster updates and enhancements mean that your business can deliver products and services at a faster pace.

Deliver superior experiences

Cloud-native technologies provide resiliency and auto-scaling through microservices and container orchestration. You can deploy, update, scale, and restart cloud-native applications without impacting the system or users. Enterprises and service providers can deliver superior customer experiences with a high availability.

As software becomes key to how people engage with businesses and how businesses innovate to stay competitive, the speed of your application development and delivery is imperative.

Gain operational efficiency

Businesses are running at a faster pace, but often struggle to respond quickly enough to changing market conditions. Cloud-native applications help your business operate with efficiency through automation, self-service, telemetry, and analytics that scale as needed.

DevOps is a set of practices that automate the processes between development and IT operations teams. The concept is founded on building a culture of collaboration between development and operations teams that historically functioned in relative silos. The benefits of DevOps include increased trust and faster software releases, and the ability to quickly solve critical issues and better manage unplanned work.