ARTIST Quick Guide Advanced software-based seRvice provisioning and migraTIon of legacy Software ARTIST Quick Guide www.artist-project.eu Page 1 of 12 ARTIST Quick Guide Table of Contents Table of Contents .......................................................................................................................... 2 1 Introduction .......................................................................................................................... 4 2 Eclipse ARTIST suite ............................................................................................................... 4 2.1 Prerequisites ................................................................................................................. 4 2.1.1 2.2 3 2.1.1.1 Eclipse Modeling distribution ............................................................................ 5 2.1.1.2 Required Eclipse plugins.................................................................................... 5 ARTIST Suite .................................................................................................................. 5 BFT ......................................................................................................................................... 5 3.1 Prerequisites ................................................................................................................. 5 3.1.1 4 Installation instructions ......................................................................................... 5 .NET Toolset .......................................................................................................................... 6 4.1 DBML2UML and SP2UML .............................................................................................. 6 4.1.1 Prerequisites.......................................................................................................... 6 4.1.2 Installation instructions ......................................................................................... 6 4.2 DBML-UML to EDMX/Services and SP-UML to EDMX/Services .................................... 6 4.2.1 Prerequisites.......................................................................................................... 6 4.2.2 Installation instructions ......................................................................................... 6 4.3 Multi-tenancy Migration Tool ....................................................................................... 7 4.3.1 Prerequisites.......................................................................................................... 7 4.3.2 Installation instructions ......................................................................................... 7 4.4 5 Installation instructions for the prerequisites....................................................... 5 Schema Migration Tool ................................................................................................. 7 4.4.1 Prerequisites.......................................................................................................... 7 4.4.2 Installation instructions ......................................................................................... 7 Benchmarking/Profiling Toolset ............................................................................................ 7 5.1 Benchmarking Suite ...................................................................................................... 7 5.1.1 5.1.1.1 5.1.2 5.1.2.1 5.1.3 5.1.3.1 5.2 Benchmarking Controller ...................................................................................... 8 Installation instructions ..................................................................................... 8 Benchmarking GUI................................................................................................. 9 Installation instructions ..................................................................................... 9 Benchmarking Rest Interface ................................................................................ 9 Installation instructions ..................................................................................... 9 Profiling Toolset .......................................................................................................... 10 www.artist-project.eu Page 2 of 12 ARTIST Quick Guide 5.2.1 Profiling Tool ....................................................................................................... 10 5.2.1.1 Benchmarks profiling ...................................................................................... 10 5.2.1.2 Application profiling ........................................................................................ 11 5.2.2 Classification Tool................................................................................................ 11 5.2.2.1 Prerequisites.................................................................................................... 11 5.2.2.2 Installation instructions ................................................................................... 12 www.artist-project.eu Page 3 of 12 ARTIST Quick Guide 1 Introduction This purpose of this document is to provide a set of installation instructions for the ARTIST Suite and the toolsets created within the context of project ARTIST. 2 Eclipse ARTIST suite Eclipse ARTIST Suite contains the tools/toolsets listed below: Code Generation Toolbox Deployment Tool Model Discovery Toolbox Java2UML JUMP Certification Tool Methodology Process Tool Model Understanding Toolbox Target Environment Specification Tool Model Based Testing Non-functional Requirements Verification Tool Technical Feasibility Tool ARTIST Repository Client 2.1 Prerequisites A fresh instance of the Eclipse Modeling distribution and several plugins are required for a successful installation of the ARTIST Suite. The Eclipse Modeling distribution can be found here. The list of required Eclipse plugins can be found below: Acceleo 3.4.2.201401221203 - http://download.eclipse.org/releases/kepler ATL - ATL Transformation Language 3.5.0.v201405260755 http://download.eclipse.org/mmt/atl/updates/releases/3.5 ATL EMFTVM 3.5.0. v201405260755 http://download.eclipse.org/mmt/atl/updates/releases/3.5 Xtext SDK 2.6.2.v201407030533 http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/ EMF-IncQuery SDK (Incubation) 0.8.0.201407021417 http://download.eclipse.org/incquery/updates/release MoDisco SDK (Incubation) 0.11.2.201401201005 http://download.eclipse.org/releases/kepler Papyrus UML (Incubation) 0.10.2.v201402191554 http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/kepler Papyrus Extra Feature (Incubation) 0.10.2.v201402191638 http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/kepler Sirius Core Runtime (Incubation) 0.9.0.v201312101559 http://download.eclipse.org/sirius/updates/releases/0.9.0/kepler/ Sirius Runtime IDE (Incubation) 0.9.0.v201312101559 http://download.eclipse.org/sirius/updates/releases/0.9.0/kepler/ Scala IDE for Eclipse 3.0.4.v-2_11-201407232043-c46f499 http://download.scalaide.org/sdk/helium/e38/scala211/stable/site www.artist-project.eu Page 4 of 12 ARTIST Quick Guide 2.1.1 Installation instructions for the prerequisites 2.1.1.1 Eclipse Modeling distribution 1. Browse to this web page for the Eclipse Modeling distribution. 2. Select and download the OS version of your choice from the Download Links section at the right side of the page. 3. Extract the compressed file’s content to a destination of your choice. 4. Use the Eclipse launcher file to launch Eclipse. 2.1.1.2 Required Eclipse plugins All the plugins listed in section 1.1 should be installed in the given order using the instructions below. 1. Open the Help menu in Eclipse and select Install New Software menu item. A dialog will appear. 2. Uncheck the Show only the latest versions of available software checkbox. 3. For each plugin listed in section 1.1: a. Click the Add button on the dialog. b. Type a name of your choice to the Name field c. Copy & paste the update site link for the respective plugin (provided in section 1.1) to the Location field d. Click Ok e. Select the plugin by paying attention to the version. f. Click “Next” and follow the instructions. g. After the installation, restart Eclipse. 2.2 ARTIST Suite 1. Download latest release of the ARTIST Suite Update here. 2. Extract the compressed file’s content to a destination of your choice. 3. Open the Help menu in Eclipse and select Install New Software menu item. A dialog will appear. 4. Click the Add button on the dialog. 5. Type a name of your choice to the Name field 6. Click the Local button. A folder selection dialog will appear. 7. Select the folder extracted in the second step and click Ok. 8. Click Ok. 9. Select ARTIST and continue with the installation. 10. After the installation, restart Eclipse. 3 BFT 3.1 Prerequisites Download BFT documentation: D5.4.3_Business_Feasibility_Tools_M30_31032015.pdf. Install Git for your platform. 3.1.1 Installation instructions Clone the ARTIST BFT repository. This will produce an ARTIST-BFT folder: git clone https://github.com/artist-project/ARTIST-BFT.git www.artist-project.eu Page 5 of 12 ARTIST Quick Guide Follow instructions contained in D5.4.3_Business_Feasibility_Tools_M30_31032015.pdf in order to install the different BFT tools you need: Business Scenario Workbench (BFT-BSW): section 3.2.2. A Windows Eclipse instance of the BFT_BSW in contained within this folder: ARTIST-BFT/binaries/BFT-BSW/eclipsebft Execute the eclipse executable contained within this folder in order to launch BFT-BSW For installing it in other OS, follow the installation instructions Business Scenario Simulator (BFT-SIM): section 4.2.2 Business Scenario Assessment Dashboard (BFT-DSH): section 5.2.2 Costs-Benefits Analysis (BFT-CBA): section 6.2.2 4 .NET Toolset A number of additional tools are built but not directly included in the general Eclipse ARTIST Suite (as described in section 1). These tools are targeting the .NET platform/framework. 4.1 DBML2UML and SP2UML 4.1.1 Prerequisites Download and install JRE7. Install Git for your platform. 4.1.2 Installation instructions The DBML2UML and SP2UML tools are part of the Model Discovery Toolbox and can be downloaded by cloning the git repository: git clone https://github.com/artist-project/ARTISTMDT Both tools are self-contained standalone command-line tools. Navigate to the folders ‘binary/DBML2UML’ or ‘binary/SP2UML’ respectively. The tools can be executed by following the instructions in the manual. 4.2 DBML-UML to EDMX/Services and SP-UML to EDMX/Services 4.2.1 Prerequisites An instance of the Eclipse Modeling distribution is required. The Eclipse Modeling distribution can be found here. The list of required Eclipse plugins can be found below: Acceleo 3.4.2.201401221203 - http://download.eclipse.org/releases/kepler 4.2.2 Installation instructions The installations of the prerequisites are identical to the procedure described in section 1.1. If you already have the Eclipse ARTIST Suite you should be ready to go. The tools: DBML-UML to EDMX DBML-UML to Services SP-UML to EDMX SP-UML to Services are part of the Modernization Framework and can be downloaded by cloning the git repository: www.artist-project.eu Page 6 of 12 ARTIST Quick Guide git clone https://github.com/artist-project/ARTIST-MCF All the plugins can now be installed into your Eclipse environment: Copy the different jar files into the “dropins” folder of your eclipse distribution The tools can now be used by following the instructions in the user manual. 4.3 Multi-tenancy Migration Tool 4.3.1 Prerequisites At the moment of writing there are a number of requirements in order to execute the tool: Set up a box with Visual Studio 2015 Preview. Either install Visual Studio 2015 Preview, or grab a prebuilt Azure VM image. Install the Visual Studio 2015 Preview SDK. You'll need to do this even if you're using the Azure VM image. Install the SDK Templates VSIX package to get the Visual Studio project templates. Install the Syntax Visualizer VSIX package to get a Syntax Visualizer tool window to help explore the syntax trees you'll be analyzing. 4.3.2 Installation instructions Clone the git repository for this particular tool: git clone https://github.com/artist-project/ARTIST-Multitenancy_Migration_Tool The tool is a standalone command-line tool. It can be executed, without any additional installation, by following the instructions in the user manual. 4.4 Schema Migration Tool 4.4.1 Prerequisites In order to execute this tool the .NET Framework version 4.5 is required. This can be downloaded from here. 4.4.2 Installation instructions The tool is a standalone command-line tool. It can be executed, without any additional installation, by following the instructions in the user manual. 5 Benchmarking/Profiling Toolset 5.1 Benchmarking Suite Benchmarking Suite consists of 3 tools www.artist-project.eu Page 7 of 12 ARTIST Quick Guide 5.1.1 Benchmarking Controller Details about the tool can be found here: http://www.artistproject.eu/sites/default/files/D7.2.3_Cloud_services_modeling_and_performance_analysis_ framework_M30_31032015.pdf 5.1.1.1 Installation instructions 1. Download the latest version of the tool: a. https://github.com/artistproject/ARTIST/blob/master/binary/BenchmarkingSuite/Benchmarking%20Cont roller--3.0.0-0.tar.gz (binary) b. https://github.com/artist-project/ARTIST/tree/master/source/Tooling/premigration/Benchmarking%20Suite/benchmarking%20controller (source) 2. Download and install MySql Server: Run the sql dump script for the creation of the benchmarking database: https://github.com/artistproject/ARTIST/blob/master/source/Tooling/premigration/Benchmarking%20Suite/MySqlDump.sql 3. Set up a Python Development Environment: Open the PyDev Perpsective. In the main menu select Window > Open Perspective > PyDev 4. You need a project to store our source code. In the main toolbar, click on the New PyDev Project button. Enter Controller as project name, then click Finish 5. Import the Controller into created PyDev project: Right click on Controller project > Import > Archive File. Click Next; Browse to Benchmarking Controller--3.0.0-0.tar.gz 6. Configure the Benchmark MySql database connection :In the PyDev editor, access to src/eu/artist/benchmarking/parsers/database.py file and enter your benchmark database connection parameter. Default ones are the following: MySQLdb.connect(host='127.0.0.1',user='root',passwd='test',db='cloudbench') 7. Configure the Controller for a Cloud Provider:Example for Amazon EC2 (redHat instance, m1.large). The next step is to create a new Cloud Provider configuration file. In the PyDev editor, access to cloud_providers folder and edit a new file amazon.conf. Similarly to example.conf file available in the folder, fulfill it with the following information: cp_class = eu.artist.benchmarking.cloudproviders.amazon.AmazonProvider access_id = your Amazon EC2 access ID secret_key = your Amazon EC2 secret key key_name = your key name key_path = path to your local .pem key [redhat-large] platform=redhat script_deploy_location = /home/ec2-user output_file =/home/ec2-user/output.dat image_id = your ami id size_id = m1.large vm_user = ec2-user www.artist-project.eu Page 8 of 12 ARTIST Quick Guide 8. Using the controller for the submission of ax existing workload on Amazon : In order to run a DaCapo workload on the Amazon instance right click to test/tests.py > Run as > Python run Conclusion: You have successfully performed the Benchmarking Controller; the performance data related to the execution of a single workload (belonging to the DaCapo Suite tool) on m1.large Amazon EC2 instance, are now available in the benchmark database (dacapo table). 5.1.2 Benchmarking GUI Details about the tool can be found here: http://www.artistproject.eu/sites/default/files/D7.2.3_Cloud_services_modeling_and_performance_analysis_fra mework_M30_31032015.pdf 5.1.2.1 Installation instructions 1. Download the last version of the tool: 2. https://github.com/artist-project/ARTIST/blob/master/binary/BenchmarkingSuite/CloudBench.war (binary) 3. https://github.com/artist-project/ARTIST/tree/master/source/Tooling/premigration/Benchmarking%20Suite/GUI_controller_integration (source) 4. Download and install MySql Server. 5. Run the sql dump script for the creation of the benchmarking database: https://github.com/artist-project/ARTIST/blob/master/source/Tooling/premigration/Benchmarking%20Suite/MySqlDump.sql 6. Import the WAR file to Eclipse: File > Import > web > WAR; Browse to Cloud-bench.war file, choose your Target Environment and click Finish. The project will be associated to Java EE perspective. 7. Deploy the WAR file 8. Right click on the just created web project > Run as > Run on Server; Select your Server, then click Finish. 9. In order to run the GUI navigate via browser to http://server_ip_address:server_port/Cloud-Bench/reports Conclusion: You have successfully performed the benchmark GUI interface. 5.1.3 Benchmarking Rest Interface Details about the tool can be found here: http://www.artistproject.eu/sites/default/files/D7.2.3_Cloud_services_modeling_and_performance_analysis_ framework_M30_31032015.pdf 5.1.3.1 Installation instructions 1. Download the last version of the tool: 2. https://github.com/artistproject/ARTIST/blob/master/binary/BenchmarkingSuite/Benchmark_Rest_interface-1.0.0-0.tar.gz (binary) www.artist-project.eu Page 9 of 12 ARTIST Quick Guide 3. https://github.com/artist-project/ARTIST/tree/master/source/Tooling/premigration/Benchmarking%20Suite/Benchmark_Rest_interface (source) 4. Download and install Flask Server: http://flask.pocoo.org/docs/0.10/installation/ 5. Download and install MySql Server. 6. Run the sql dump script for the creation of the benchmarking database: https://github.com/artist-project/ARTIST/blob/master/source/Tooling/premigration/Benchmarking%20Suite/MySqlDump.sql 7. Set up a Python Development Environment: Open the PyDev Perpsective. In the main menu select Window > Open Perspective > PyDev 8. You need a project to store our source code. In the main toolbar, click on the New PyDev Project button. Enter RestInterface as project name, then click Finish 9. Import the Flask Project into created PyDev project 10. Right click on RestInterface project > Import > Archive File. Click Next; Browse to Benchmark_Rest_interface--1.0.0-0.tar.gz file 11. Configure the Flask-MySql database connection: In the PyDev editor, access to FLASK/Metrics.py and enter your benchmark database connection parameters (default values are: host='127.0.0.1' ,user='root', passwd='test' ,db='cloudbench'). 12. To run your application, right-click on FLASK/app.py and select Run as > Python run. This way the FLASK server is started 5.2 Profiling Toolset 5.2.1 Profiling Tool There are two different usage modes of the Profiling tool (the application profiling and the benchmark profiling). Download latest release of the Profiling Tool : https://github.com/artistproject/ARTIST/tree/master/binary/ProfilingTool 5.2.1.1 Benchmarks profiling Prerequisites: Using the Profiling tool for benchmarks profiling requires the existence of a file (located anywhere in the file-system of the physical host) containing the commands used for executing the workloads of a benchmark. This file will be referred to as input file. Each command must be stored in a different row inside this file. Installation Instructions: 1. Open a terminal 2. Navigate to the directory where the executable ProfilingTool.jar is located. 3. Type the command: java -jar ProfilingTool.jar benchmarks 4. After typing the command (step 3) a graphical interface appears which introduces a form with empty text fields. The fields have the following meaning: Workspace path: The path to the directory to be used as the workspace of the tool. Note that a subdirectory called tmp should exist inside workspace. Pidstat Info Group: Process ID: Process ID of the VM to be monitored. It is an identifier assigned to each process by the Operating System and can be retrieved by filtering the command ps aux (e.g ps aux | grep <name of the VM>). Be sure that the correct process ID is entered. Otherwise, in case of misreading the Pidstat command will not be executed and in case of confusion between two different PIDs, the wrong process will be monitored. www.artist-project.eu Page 10 of 12 ARTIST Quick Guide password: Password for executing Pidstat with sudo privileges. Tshark Info Group: IP to monitor: IP of the VM to be monitored. Ethernet card to monitor: The ethernet card on which Tshark will capture traffic. Note that the name of the card provided will refer to the physical host. password: Password for executing Tshark with sudo privileges. Benchmark Info Group: VM IP: The IP of the Benchmark VM (used for the ssh command) VM user: The user for the ssh command password: Password for the user used for the ssh command Input File: The input file containing the commands for the workload execution. Note: For files and directories full paths are accepted. When the OK button is pressed, both the execution of the benchmark workloads as well as the monitoring commands begin. When the whole process (execution of all the benchmark workloads contained in the input file) ends, the tool exits automatically and the results are stored in the directory defined as workspace. 5.2.1.2 Application profiling 1. Open a terminal 2. Navigate to the directory where the executable ProfilingTool.jar is located. 3. Type the command: java -jar ProfilingTool.jar application o After typing the command (step 3) a graphical interface appears which introduces a form with empty text fields. 4. When pressing the OK button, a graphical interface with two buttons appears. 5. When the “Start!” button is pressed, both Pidstat and Tshark start to monitor the VM where the application is running. The execution of these commands will not end until the “Stop!” button is pressed. The results are stored in the directory defined as workspace. The Profiling tool is not responsible for synchronizing the execution of the application and the monitoring process. The synchronization is achieved by the start and stop button. As a result, the user is encouraged to be as accurate and careful as possible so as not to interfere with the results. 5.2.2 Classification Tool 5.2.2.1 Prerequisites Install Java v7 (or later), if not already installed in your system. Download the runnable jar file from the ARTIST public repository. Prior to the tool execution: Make sure that a file with the benchmark profiles (training file) is created by merging Tshark and Pidstat files derived from benchmark profiling process using Profiling tool and a predefined workload name for each of them is provided. Ensure that the input files derived from the application profiling process using Profiling tool (Tshark and Pidstat results for the arbitrary application component) are locally stored. Create a configuration file called conf.ini using the standard INI file format which includes three sections: the first section is the [classification] section where the user fills in the classifier www.artist-project.eu Page 11 of 12 ARTIST Quick Guide engine to be used for the classification process and the second one is the [database] section where the user fills in the information needed for establishing DB connection such as hostname, TCP port, DB name and user credentials. The last one is the [service_efficiency] section where the user provides the weights for price and performance according to his/her interests both needed for the calculation of the Service Efficiency metric. The conf.ini file must be located in the same folder as the ClassificationTool.jar 5.2.2.2 Installation instructions 1. Download latest release of the Classification Tool https://github.com/artistproject/ARTIST/tree/master/binary/ClassificationTool 2. Navigate to the directory where the executable ClassificationTool.jar is located. By double clicking on the jar file, a graphical interface appears introducing a form with empty fields. The user clicks on the “Browse…” buttons in order to locate the files needed for the classification process. The training file includes the benchmark profiles while the Tshark and Pidstat files include the application profile. 3. In turn, the user clicks on Calculate classification so that the arbitrary application component can be classified. 4. After the completion of the classification process, the result is displayed in the class field. 5. In the last step, the user proceeds with clicking on the “Calculate best instance type!” button in order for the Classification tool to calculate the best cloud offering which is displayed on the instance field. www.artist-project.eu Page 12 of 12