New capabilities for modernizing applications to
leverage Kubernetes
Tackle 2
1
2
Bio & Coordinates
Senior Product Manager
Ramón Román Nissen
Madrid - Spain
@rromannissen
3
Application Portfolio
Modernization and
Migration with Tackle
4
The ultimate Open Source toolkit to help organizations
safely migrate and modernize their application portfolio
to leverage Kubernetes, providing differential value on
each stage of the adoption process
5
The ultimate Open Source toolkit to help organizations
safely migrate and modernize their application portfolio
to leverage Kubernetes, providing differential value on
each stage of the adoption process
6
Application Inventory
Manage your Application Portfolio
▸ Used to maintain a portfolio of applications
▸ It is the hub, and natural integration point for
all Tackle projects in the future
▸ Applications can be linked to the business
services that they support
▸ Application interdependencies can be defined
and managed
▸ Through the use of tags extensible metadata
can be added to describe and categorize the
applications in multiple dimensions
7
Application Assessment
Assess your Application Portfolio
▸ A questionnaire based tool that assesses the
suitability of applications for deployment in
containers within an enterprise Kubernetes
platform
▸ The reports provide information about the
suitability of the applications for
containerization, highlighting risks and
producing an adoption plan informed by
effort, priority and dependencies
8
New Features in
Tackle 2.0
9
Hub and Spoke Architecture
Complete rearchitecture to simplify integration and improve scalability
▸ Tackle Hub as the central component to
store application data
▸ Addons enrich application data or integrate
with external systems to act on application
source
▸ Refactored backend and Kubernetes native
approach to improve scalability
10
Tackle Operator
Manage and upgrade your Tackle instances
▸ Completely reimplemented operator
▸ Available for all Kubernetes distributions
▸ Capability Level II, allowing seamless
upgrades
▸ Enhanced configuration management
○ Enable authless deployment
○ Manage volume sizes
○ Configure storage classes
▸ Manages two CRs now: tackle and addon
11
Administrator Perspective
New perspective to manage the toolkit
▸ Dedicated perspective to manage tool-wide
configuration.
▸ Similar approach and design to the
OpenShift Administrator Perspective.
▸ Enforces enhanced RBAC with three new
differentiated personas:
○ Administrator
○ Architect
○ Migrator
12
Integration with repositories
Get source code and binaries from repositories
▸ Integration with source code and binaries
repositories:
○ Git
○ Subversion
○ Maven Artifact repositories
13
Credentials Management
Manage and assign credentials securely
▸ Secure store for multiple credential types:
○ Source control
○ Maven settings files
○ Proxy
▸ Credentials are managed by administrators
and assigned by architects to applications.
14
Proxy integration
Allow the use of proxies to connect to external systems
▸ HTTP and HTTPS proxy configuration in the
UI/UX.
▸ Used to interact with external systems like
repositories.
15
▸ Analyzes application source code and
binaries and helps estimating the migration
effort for different targets or paths
▸ Decompiles and analyzes Java applications
executing an extensible set of rules to
identify issues
▸ Support numerous migration paths and
creates a rich set of reports
Application Analysis
Get precise data about your Application Portfolio and estimate migration cost
16
Application Analysis
Integration with Windup
▸ Execute application analysis from the
application inventory.
▸ Leverage the integration with repositories to
streamline the user experience.
▸ Oriented to bulk analysis.
▸ Enhanced inventory view with dedicated
tabs to assessment and analysis data.
17
Application Analysis
New analysis modes
▸ Multiple analysis modes:
○ Source
○ Binary
○ Source + dependencies (parses POM to
gather dependencies)
○ Upload a binary from local workstation
18
Application Analysis
Analysis scope selection
▸ Simplified user experience to configure the
analysis scope.
▸ Possibility to force the analysis of known
Open Source libraries.
▸ Predetermined analysis scopes or manual
selection of packages to analyze.
19
Application Analysis
Issue identification
20
Application Analysis
Technologies report
21
Application Analysis
Dependencies identification
22
Application Analysis
Migration paths out of the box
Source
Platform
Targets
Migration to
JBoss EAP 7
Cloud
Readiness
OpenJDK
8 & 11 Jakarta EE 9 Camel 3
Spring Boot
in Red Hat
Runtimes Quarkus
Open
Liberty
Oracle
WebLogic
Server ✔ ✔ ✔ - - - - -
IBM
WebSphere
Application
Server ✔ ✔ ✔ - - - - ✔
JBoss EAP 4 ✘ [1] ✔ ✔ - - - - -
JBoss EAP 5 ✔ ✔ ✔ - - - - -
JBoss EAP 6 ✔ ✔ ✔ - - - - -
JBoss EAP 7 ✔ ✔ ✔ - - - - -
Thorntail ✔ [2] - - - - - - -
Oracle JDK - ✔ ✔ - - - - -
Camel 2 - ✔ ✔ - ✔ - - -
Spring Boot - ✔ ✔ ✔ - ✔ ✔ -
Any Java
application - ✔ ✔ - - - - -
Any Java EE
application - - - ✔ - - - -
23
▸ For your own Frameworks
○ “If you encounter this - here is how you migrate”
▸ Also great for large engagements, once you have built your “cookbook”
▸ Provide your internal guidance and link directly to your documentation
Application Analysis
Custom rules development
24
Building Tackle
together
25
Tackle Initiatives
Different projects under the Tackle umbrella
▸ Tackle Hub - Red Hat
▸ Windup - Red Hat
▸ Pathfinder - Red Hat
▸ Containerization Assessment - IBM Research
▸ Automated Configuration Discovery (ACD) - IBM Research
▸ Data Intensive Validity Advisor (DiVA) - IBM Research
▸ Test-driven Modernization - IBM Research
26
Tackle Roadmap
27
August 2022
July 2021 June 2022
Tackle 1.1 - UX improvements
MTA 5.2.1 - New rules
Tackle 1.0 - First release Tackle 2.0 - Tackle Analysis with seamless user
experience.
Tackle 3 - Enhanced
integration with Tackle projects
and Move2kube
Q4 2021
Tackle Roadmap
Tackle Analysis Integration
Tackle 2.1 - Integration with
DiVA, Bulk Delete, enhanced
CSV import
Q4 2022
28
Demo
29
Retail Application
Original monolithic architecture
Retail App
inventory
orders
customers
Retail Application
Carving out microservices
customers
30
inventory orders
gateway
frontend
Retail Application
End state
31
inventory orders customers
gateway
frontend
32
Questions?
Thank you!
33
Ramón Román Nissen
Senior Product Manager
Modernization and
Migration Solutions
Red Hat

Tackle 2: New capabilities for modernizing applications to leverage Kubernetes

  • 1.
    New capabilities formodernizing applications to leverage Kubernetes Tackle 2 1
  • 2.
    2 Bio & Coordinates SeniorProduct Manager Ramón Román Nissen Madrid - Spain @rromannissen
  • 3.
  • 4.
    4 The ultimate OpenSource toolkit to help organizations safely migrate and modernize their application portfolio to leverage Kubernetes, providing differential value on each stage of the adoption process
  • 5.
    5 The ultimate OpenSource toolkit to help organizations safely migrate and modernize their application portfolio to leverage Kubernetes, providing differential value on each stage of the adoption process
  • 6.
    6 Application Inventory Manage yourApplication Portfolio ▸ Used to maintain a portfolio of applications ▸ It is the hub, and natural integration point for all Tackle projects in the future ▸ Applications can be linked to the business services that they support ▸ Application interdependencies can be defined and managed ▸ Through the use of tags extensible metadata can be added to describe and categorize the applications in multiple dimensions
  • 7.
    7 Application Assessment Assess yourApplication Portfolio ▸ A questionnaire based tool that assesses the suitability of applications for deployment in containers within an enterprise Kubernetes platform ▸ The reports provide information about the suitability of the applications for containerization, highlighting risks and producing an adoption plan informed by effort, priority and dependencies
  • 8.
  • 9.
    9 Hub and SpokeArchitecture Complete rearchitecture to simplify integration and improve scalability ▸ Tackle Hub as the central component to store application data ▸ Addons enrich application data or integrate with external systems to act on application source ▸ Refactored backend and Kubernetes native approach to improve scalability
  • 10.
    10 Tackle Operator Manage andupgrade your Tackle instances ▸ Completely reimplemented operator ▸ Available for all Kubernetes distributions ▸ Capability Level II, allowing seamless upgrades ▸ Enhanced configuration management ○ Enable authless deployment ○ Manage volume sizes ○ Configure storage classes ▸ Manages two CRs now: tackle and addon
  • 11.
    11 Administrator Perspective New perspectiveto manage the toolkit ▸ Dedicated perspective to manage tool-wide configuration. ▸ Similar approach and design to the OpenShift Administrator Perspective. ▸ Enforces enhanced RBAC with three new differentiated personas: ○ Administrator ○ Architect ○ Migrator
  • 12.
    12 Integration with repositories Getsource code and binaries from repositories ▸ Integration with source code and binaries repositories: ○ Git ○ Subversion ○ Maven Artifact repositories
  • 13.
    13 Credentials Management Manage andassign credentials securely ▸ Secure store for multiple credential types: ○ Source control ○ Maven settings files ○ Proxy ▸ Credentials are managed by administrators and assigned by architects to applications.
  • 14.
    14 Proxy integration Allow theuse of proxies to connect to external systems ▸ HTTP and HTTPS proxy configuration in the UI/UX. ▸ Used to interact with external systems like repositories.
  • 15.
    15 ▸ Analyzes applicationsource code and binaries and helps estimating the migration effort for different targets or paths ▸ Decompiles and analyzes Java applications executing an extensible set of rules to identify issues ▸ Support numerous migration paths and creates a rich set of reports Application Analysis Get precise data about your Application Portfolio and estimate migration cost
  • 16.
    16 Application Analysis Integration withWindup ▸ Execute application analysis from the application inventory. ▸ Leverage the integration with repositories to streamline the user experience. ▸ Oriented to bulk analysis. ▸ Enhanced inventory view with dedicated tabs to assessment and analysis data.
  • 17.
    17 Application Analysis New analysismodes ▸ Multiple analysis modes: ○ Source ○ Binary ○ Source + dependencies (parses POM to gather dependencies) ○ Upload a binary from local workstation
  • 18.
    18 Application Analysis Analysis scopeselection ▸ Simplified user experience to configure the analysis scope. ▸ Possibility to force the analysis of known Open Source libraries. ▸ Predetermined analysis scopes or manual selection of packages to analyze.
  • 19.
  • 20.
  • 21.
  • 22.
    22 Application Analysis Migration pathsout of the box Source Platform Targets Migration to JBoss EAP 7 Cloud Readiness OpenJDK 8 & 11 Jakarta EE 9 Camel 3 Spring Boot in Red Hat Runtimes Quarkus Open Liberty Oracle WebLogic Server ✔ ✔ ✔ - - - - - IBM WebSphere Application Server ✔ ✔ ✔ - - - - ✔ JBoss EAP 4 ✘ [1] ✔ ✔ - - - - - JBoss EAP 5 ✔ ✔ ✔ - - - - - JBoss EAP 6 ✔ ✔ ✔ - - - - - JBoss EAP 7 ✔ ✔ ✔ - - - - - Thorntail ✔ [2] - - - - - - - Oracle JDK - ✔ ✔ - - - - - Camel 2 - ✔ ✔ - ✔ - - - Spring Boot - ✔ ✔ ✔ - ✔ ✔ - Any Java application - ✔ ✔ - - - - - Any Java EE application - - - ✔ - - - -
  • 23.
    23 ▸ For yourown Frameworks ○ “If you encounter this - here is how you migrate” ▸ Also great for large engagements, once you have built your “cookbook” ▸ Provide your internal guidance and link directly to your documentation Application Analysis Custom rules development
  • 24.
  • 25.
    25 Tackle Initiatives Different projectsunder the Tackle umbrella ▸ Tackle Hub - Red Hat ▸ Windup - Red Hat ▸ Pathfinder - Red Hat ▸ Containerization Assessment - IBM Research ▸ Automated Configuration Discovery (ACD) - IBM Research ▸ Data Intensive Validity Advisor (DiVA) - IBM Research ▸ Test-driven Modernization - IBM Research
  • 26.
  • 27.
    27 August 2022 July 2021June 2022 Tackle 1.1 - UX improvements MTA 5.2.1 - New rules Tackle 1.0 - First release Tackle 2.0 - Tackle Analysis with seamless user experience. Tackle 3 - Enhanced integration with Tackle projects and Move2kube Q4 2021 Tackle Roadmap Tackle Analysis Integration Tackle 2.1 - Integration with DiVA, Bulk Delete, enhanced CSV import Q4 2022
  • 28.
  • 29.
    29 Retail Application Original monolithicarchitecture Retail App inventory orders customers
  • 30.
    Retail Application Carving outmicroservices customers 30 inventory orders gateway frontend
  • 31.
    Retail Application End state 31 inventoryorders customers gateway frontend
  • 32.
  • 33.
    Thank you! 33 Ramón RománNissen Senior Product Manager Modernization and Migration Solutions Red Hat

Editor's Notes

  • #3 Experience in consulting: 5 years large scale migration projects
  • #4 So now that we have an overview of Konveyor and how it helps on the adoption of Kubernetes, let’s dig deeper into the application modernization and migration use case and discuss Tackle, our open source tool for that.
  • #5 The vision is simple yet ambitious
  • #6 Safely is stressed. For the refactoring scenario there is no magic. Tackle is not so much about automating migration like Crane and Forklift. But rather about providing as much insight as possible for the adoption leads to make informed decisions and giving migrators guidance and some degree of automation for the adaptations that might be required on applications. Reduce risks and make the migration and modernization process measurable and predictable.
  • #26 The application inventory and pathfinder are just the beginning. As we said before, there is an ongoing collaboration between Red Hat and IBM for the Tackle projects. IBM research is going to share a lot of new projects under the Tackle umbrella in the upcoming months, and we will also be contributing another additional piece for application analysis. We wanted to address briefly some of these projects; First of all we have Windup, the upstream project behind the current Migration Toolkit for Applications, that we will be contributing to Konveyor in the upcoming months. To keep things short, Windup analyzes application source code and binaries to determine the gap to migrate to a given target platform. In our case, it will be especially useful for application containerization. Containerization assessment uses AI to be able to understand a description of an application using natural language and suggest the most suitable container image to containerize the application. The Automated Configuration Discovery is able to locate and transform configuration files to adapt them to a target runtime, for example when migrating Spring Boot applications to Quarkus. The Data Intensive Validity Advisor or DiVA analyzes the data layer of applications and is capable of detecting dependencies to different data stores and distributed transactions. Finally, the Test Driven Modernization tool allows to certify that an application behaves the same way after migrating by creating a functional profile of the application using unit tests that get automatically generated.