Downloading and installing IBM Mono2Micro

You can download and install the IBM® Mono2Micro™ command line tool and then use the tool to install Mono2Micro components as well as the command line bundle and the example bundle.

If you haven't done so already, check system requirements before installation.

Procedure

  1. Download and install the command line tool.
    1. Download the Mono2Micro-CLI.zip file from http://ibm.biz/Mono2Micro-downloads.
    2. Extract the archive to a directory in your system path.
    3. Run the mono2micro command in your CLI environment to get help on all commands and options. To get help for a specific command, add the -h or --help option. Add the --verbose option to get a more detailed log as the command runs.

    For example, running the mono2micro -h or mono2micro --help command displays the following command help.

    Mono2Micro: AI driven transformation of Java monoliths to microservices for WebSphere Liberty
    Usage: mono2micro [-hvz] COMMAND
      -h, --help      Display help information
      -v, --version   Display Mono2Micro component versions
      -z, --verbose   Enable verbose mode
    Commands:
      install     Install Mono2Micro components and images
      analyze     Analyze the monolith application source code or binary code
      usecase     Capture use case context (names and times) while running them on the instrumented application
      recommend   Run the AI engine on collected application data to recommend partitions for the monolith
      workbench   Run the workbench UI to view and customize the AI recommended partitions
      refine      Regenerate reports and partition information files for user customized partitions
      transform   Generate starter code to implement and run the partitions as microservices
    
    Run 'mono2micro COMMAND --help' for more information on a command.
  2. Install Mono2Micro components.

    To install all Mono2Micro components, run the mono2micro install command, specify license information, and then install the images for the various Mono2Micro components.

    The command line tool uses Podman by default but you can configure your choice of container engine with the mono2micro install -c <docker|podman> command. For example, to use Docker, run the mono2micro install -c docker command.

    To install Mono2Micro components in an air gapped environment, run the mono2micro install --airgap command and follow the provided instructions. The computer on which the command is run must have internet connectivity and have Docker or Podman installed.

    To get the full list of options for the install command, run the mono2micro install --help command.

    When running the Mono2Micro tools on the Windows™ operating system, accept any prompts by your firewall software to allow the container engine (such as Docker) access to file sharing or the network.

    Tip: Example commands in the documentation use the forward slash ( / ) in the file path for macOS and Linux® operating systems. For the Windows operating system, you might need to use the drive letter and backward slash ( \ ).

Contents of the command line tool bundle (Mono2Micro-CLI.zip)

The Mono2Micro-CLI.zip file contains the flicker, flicker-embedded, instrumenter, licenses, and simplentpserver subdirectories.

  • The flicker subdirectory contains the flicker-1.0.jar file, which includes the use case recorder tool and the .jar files that are needed to run it.
  • The flicker-embedded subdirectory contains the code and user guide to help incorporate the use case recorder tool in any existing Java-based automated test suite for your applications.
  • The instrumenter subdirectory contains the minerva-agent-1.0.jar file, which is the binary instrumenter. It is a Java-based agent that is used to dynamically inject instrumentation statements into your application to collect data about the runtime execution of your application.
  • The licenses subdirectory contains relevant license information.
  • The simplentpserver subdirectory contains two open source .jar files that are needed to start an NTP server, commons-net-3.6.jar and commons-net-examples-3.6.jar.

For more information about use case recorder, see Recording business use cases and timing information with use case recorder.

For more information about the binary instrumenter, see Instrumenting applications at runtime with the binary instrumenter.

Contents of the example bundle (Mono2Micro-Example.zip)

The example bundle contains the following information:

  • The Daytrader Java monolithic application.
  • All of the collected data of the example for analysis.
  • The results of applying Mono2Micro to the example Java monolithic application.