Overview

Skill Level: Any Skill Level

The Transformation Advisor is a free developer tool to help you quickly evaluate on-premise Java EE apps for deployment to the cloud. This recipe describes how to use Transformation Advisor on ICP.

Ingredients

IBM Cloud Private 2.1 or later

IBM Transformation Advisor 1.8.0 installed (see how here)

Step-by-step

  1. Introduction

    The Transformation Advisor application is available as additional free content on IBM Cloud Private. It has the capability to quickly evaluate your on-premise applications (running on WAS, JBoss or Weblogic application servers) for rapid deployment on WebSphere Application Server and Liberty on Public and/or Private Cloud environments. On running the Transformation Advisor it will create a custom data collector which you download and run on your on-prem application server. The data collector identifies the Java EE programming models on the application server and creates a high-level inventory of the content and structure of each application and information about potential problems moving that application to the cloud. This information is used to determine the complexity of your applications. Transformation Advisor calculates a development cost to perform the move to cloud and makes recommendations on the best target environment.

    The detailed reports include advice, suggestions, and best practices to ensure that the application runs correctly in the recommended cloud environment, enabling administrators to evaluate applications in minutes without accessing source code.

    Transformation Advisor also helps to get you started making the move to cloud by automatically generating many of the artifacts you need to containerize and deploy your application to the cloud, and via Microclimate APIs can containerize and deploy your application to IBM Cloud Private.

     

  2. High Level Architecture

    Under the hood the Transformation Advisor makes extensive use of the IBM WebSphere Application Server Migration Toolkit for Application Binaries (WAMT) and the WebSphere Configuration Migration Toolkit (WCMT). They are integrated with the Data Collector which is downloaded to the target WAS server.

    The applications are scanned and results from the Data Collector are sent back up to the Transformation Advisor as input to the final recommendations and costing.

    diagram1

  3. Getting Started with the Transformation Advisor

    If you do not yet have the Transformation Advisor installed follow the installation instructions here first. Once installed access the URL from your browser as described in the installation instructions, you will see the following screen.

    welcome-1

    You should get started by creating a new workspace that will be used to house your recommendations, this can be any string  you want, such as the project name or the name for the portfolio of applications you will be analysing, basically anything that will help you to easily identify your work when you return to it at a later date. 

    newWorkspace

     

    You will then be asked to enter a collection name, this is an opportunity for you to sub-divide your work even further into a more focused grouping – it would typically be associated with a single run of the datacollector and may be the name of the individual WAS server that you will be running the datacollector on. It can be any string and can be deleted later – so don’t be afraid to get creative!

    collection

    Hit ‘Let’s Go’ and get started with the Data Collector.

  4. Download and run the Data Collector

    The Data Collector tab should now display the screen shown below. The data collector is a downloadable zip file that needs to be extracted and run on your target server where the applications you wish to migrate are located ie your application server machine. You should choose the correct data collector for your target server’s operating system.

    DC

    Download the zip file to your browsers download directory and copy/ftp to your target server, then follow the directions as described on the page to unzip and run the data collector.

    WARNING – This is tool should not be run on production servers

    Depending on the number, size and complexity of your applications the Data Collector may take quite some time to execute and upload results. During this process, you can keep track of its progress by checking your command line.

    If there is a connection between your system and your new collection, the Data Collector will send your application data for you.

    If there is no connection, the Data Collector will return a .zip file containing your application data in which you will need to manually upload to your Recommendations page.

    manup

     

    Check the Recommendations tab to view the results as described in the next step.

    Note that the Data Collector will collect configuration information in WAS installations at version 7 or later.

  5. View the recommendations and cost estimates

    The Recommendations view after the data collector has completed and uploaded results should display a screen similar to that shown below. Please be aware that any cost estimates displayed by the tool are high level estimates only and may vary widely based on skills and other factors not considered by the tool.

    reco

    The recommendations tab shows you a table with a summary row for each application found on your application server. Each row contains the following information :

    Application Name : The name of the EAR/WAR file found on the application server.

    Complexity : This is an indication of how complex Transformation Advisor considers this application to be if you were to migrate it to the cloud.

    Technology Match : This is a percentage and if less than 100% it indicates that there may be some technologies that are not suitable for the recommended platform. You should investigate the details and ensure your application is actually using the technologies.

    Dependencies : This shows potential external dependencies detected during the scan. Work may be needed to configure access to these external dependencies.

    Possible Issues : This indicates the number and severity of potential issues migrating the application.

    Dev Cost : This is an estimate in days of the development effort to perform the migration.

    Total Cost : This is the total estimate in days of the overhead and development costs in migration up to the point of functional testing.

    Migration Plan : This button will take you to the Migration tab for the application.

    Each column in the table is sortable. There is a filter text box on the top right hand side which allows you to filter out rows of data.

    By selecting the ‘>’ on any row the view for that application will be expanded to show all recommendations for that app. This is useful in understanding the complete analysis that is applied to each application. As you can see from the example below, when we expand and look at all the recommendations for  ‘DefaultApplication’ear’ you can see that there are technology match issues and this would be a Complex move to Liberty on Private or Public Cloud. However in this instance we would recommend a move to tWAS on Private Cloud and that move would be moderate complexity, with some dependencies to consider but no issues or code changes required.

    expand

    Clicking on any application row will show you the details behind the analysis. You can see a lot more detail. For starters the complexity rating is explained for you.

    complexity

    You will also see details on each issue and dependency discovered:

    screen10

     

    For some issues there is an arrow, which when selected will display extra information about the issue and any known hints/tips to resolve.

    screen10.1

     

    Scrolling to the end of the Recommendations screen you will see three links to further detailed reports.

    screen11

    These are described in the subsequent 3 Steps here.

  6. Analysis Report

    The binary scanner’s detailed migration report digs deeper to understand the nitty-gritty details of the migration. The detailed report helps with migration issues like deprecated or removed APIs, Java SE version differences, and Java EE behavior differences. Please note that the Transformation Advisor uses a rule system based on common occurring events seen in real applications to enhance the base reports and to provide practical guidance. As a result of this some items may show a different severity level in Transformation Advisor than they do in the detailed binary scanner reports.

    analysis

  7. Technology Report

    The binary scanner can examine your application and generate the Application Evaluation Report, which shows which editions of WebSphere Application Server are best suited to run the application. The report provides a list of Java EE programming models that are used by the application, and it indicates on which platforms the application can be supported.

    evaluation

  8. Inventory Report

    The binary scanner has an inventory report that helps you examine what’s in your application including the number of modules and the technologies in those modules. It also gives you a view of all the utility JAR files in the application that tend to accumulate over time. Potential deployment problems and performance considerations are also included.

    inventory

  9. Migrate

    Once you have decided on an application you would like to migrate, hit the Migrate button and you will land on the Migration Tab.

    ready

     

    TA will automatically generate the artifacts you will need to containerize your application running on liberty and deploy to IBM Cloud Private. You will have the opportunity on this page to upload your application binaries and any external drivers we have detected that you may need. You can then download them all in a single zip and use them for the next steps to migrate. A pdf document is included in the zip bundle that will give you detailed instructions on the next steps you need to take. Alternatively as you will see on the right hand side there are instructions also available here.

    zip

     

  10. What if I don't have network access to my WAS server from TA?

    There is a disconnected mode of operation. If you can get the Datacollector zip onto your server via USB stick or other means, you can similarly move the resulting datacollector zip back to your desktop and upload via your browser to TA via the Upload Button on the Data collector tab

    uploadButton

     

     

  11. Take the next step and move it

    With Transformation advisor version 1.5 onwards, you can now use TA to deploy your application to ICP using Microclimate, for more on how to do this, see this tutorial : https://developer.ibm.com/recipes/tutorials/transformation-advisor/

                                        deploy

  12. Why migrate to cloud?

    Cloud hosting has economies of scale that can reduce both your capital and operating expenses. Multi-tenant, or public, cloud offerings tend to offer the largest savings, but even single-tenant systems, which provide the best isolation and predictable throughput, can provide significant reductions in cost.

    This smart spreadsheet can help you to estimate the possible savings from a variety of cloud hosted WebSphere offerings.

  13. What is Liberty on cloud?

    The WebSphere Application Server product now has an option of a light-weight application server: WebSphere Liberty . It is available on Public cloud on Bluemix and on Private Cloud with IBM Cloud Private 2.1.

    Liberty has a small, dynamic kernel and a set of pluggable features which provide an exact fit for each application. Each server instance runs only the features that the application needs, making it an ideal runtime for shared environments like container and cloud systems. The broad set of available features (including all of Java EE7) allows Liberty to support a full spectrum of applications: from the smallest microservice to the most capable SOA application.

    Liberty provides a highly efficient development runtime, with 2-3 second restarts, fast application start, and fully dynamic updates for applications and configuration (no server restarts required). The configuration is very small and simple, and can all be contained in a single XML file.

    When compared with open source servers, Liberty gives a better return on investment and more efficient development and administration.

    Liberty supports the full Java EE 7 programming model, as well as some additional standards and WebSphere APIs. There are still some differences between Liberty and WebSphere traditional that can affect how easily an application will move from the traditional runtime. In general, web, mobile and web service applications move quite easily to Liberty. Applications using Entity Beans, or remote calls to Enterprise JavaBeans, will require more effort to move so may not be a good fit.

Join The Discussion