1. Introduction

This document is designed for persons who are planning to set up a Techila Distributed Computing Engine (TDCE) environment in Amazon Web Services (AWS) EC2. If you are unfamiliar with the Techila terminology used in this document, please refer to Introduction to Techila Distributed Computing Engine.

Screenshots and dialogs in this document are from Microsoft Windows 7. Depending on your system, the appearance of screens might be different.

The structure of this document is as follows:

Preparation contains a list of prerequisites that must be met before proceeding with setting up a TDCE environment in Amazon Web Services EC2.

Deploying the Techila Server in Amazon Web Services EC2 contains instructions for deploying the Techila Server in Amazon Web Services EC2.

Deploying Techila Workers in Amazon Web Services EC2 contains instructions for deploying Techila Workers in Amazon Web Services EC2.

Installing Bundles contains instructions for installing Bundles on the Techila Server. These Bundles are required if you are planning on using MATLAB, R, Python or Perl in your computational tasks.

Adding End-Users contains instructions for adding End-Users to the Techila environment.

Components Created During the Deployment Process contains a description of Amazon Web Services EC2 components that are created when deploying the Techila Server and Techila Workers in Amazon Web Services EC2.

Removing Components from Amazon Web Services EC2 contains instructions on how shut down the Techila Server and Techila Workers. Also contains instructions on how to remove all cost incurring TDCE components from Amazon Web Services EC2. Note that performing the steps described in this Chapter will also remove all data from the Techila Server meaning the state of the Techila Server will be lost.

2. Preparation

Before proceeding, please verify that you have the following components available:

  • Techila License package

  • Techila Deployment Tool for Amazon Web Services EC2 (delivered in a zip file named awsinstaller.zip)

For the remainder of this document "Techila Deployment Tool for Amazon Web Services EC2" will be referred to as "Techila Deployment Tool".

If you do not have a Techila License package, please contact your Account Manager or Techila Support at support@techilatechnologies.com.

The Techila Deployment Tool is available in the Techila Extranet located at the following address:

If you do not have access to Techila Extranet, please contact your Account Manager or Techila Support at support@techilatechnologies.com to request for Techila Extranet access.

2.1. Ensuring that Java is available

In order to launch the Techila Deployment Tool, Java needs to be installed on the computer you are using. Java Platform, Standard Edition 6 (or newer) Java Development Kit (JDK) or Java Runtime Environment (JRE) are supported.

When Java is installed and available from the command line, Java version can be verified with the following command. Please note that executing the command requires that the Java installation path is listed in the PATH environment variable.

java -version
image005
Figure 1. Verifying the Java version from the command line.

2.2. Extracting the Techila License file

The Techila License file will be needed when deploying the Techila Server in Amazon Web Services EC2. Please follow the steps below to extract the Techila License file to your computer:

  1. Locate the Techila License package. In the figure below, a Techila License package is located in the directory C:\TechilaLicense.

    image006
    Figure 2. The Techila License is delivered in a zip file.
  2. Extract the Techila License package. After extraction, a Techila License file will be available as illustrated below. This file will be imported to the Techila Server later during the deployment process.

    image007
    Figure 3. A Techila License file can be recognised from the .license suffix.

2.3. Downloading and Extracting the Techila Deployment Tool

The Techila Deployment Tool is available in the Techila Extranet and is delivered in a zip file called awsinstaller.zip.

  1. Login to the Techila Extranet located at:

  2. Navigate to "Administrator Downloads" and download the file awsinstaller.zip.

    image008
    Figure 4. Downloading the Techila Deployment Tool
  3. After downloading the file, locate the zip file on your computer. In the figure below, the zip file is located in the directory C:\Downloads.

    image009
    Figure 5. The Techila Deployment Tool is delivered in a zip file.
  4. Extract the awsinstaller.zip package to a directory that does not require administrative privileges for creating files. This is required, because the Techila Deployment Tool will create files in the current working directory.

    After extraction, the Techila Deployment Tool (awsinstaller.jar) will be available as illustrated below.

    image010
    Figure 6. The Techila Deployment Tool

3. Deploying the Techila Server in Amazon Web Services EC2

This Chapter contains instructions for deploying the Techila Server in Amazon Web Services EC2. Instructions for removing the Techila Server can be found in Removing the Techila Server.

  1. Navigate to the directory that contains the Techila Deployment Tool (awsinstaller.jar) and launch the application.

    When using a file manager, the application can be launched by double clicking on the awsinstaller.jar file icon.

    When using a command prompt, the application can be launched using command java -jar awsinstaller.jar.

    Note! If you are unable to launch the application from the command line, please verify that your PATH environment variable contains the location of your Java installation.

    Note! The awsinstaller.jar application will create files in the current working directory, which means that the application must have write access to the directory. Ensure that the directory containing the awsinstaller.jar file does not require administrative privileges rights for creating files.

    image011
    Figure 7. In this example, the file awsinstaller.jar that contains the Techila Deployment Tool is located in directory C:\AWSDeployment. The application can be launched by double clicking the file icon.
  2. After launching the Techila Deployment Tool, click the Open AWS Console button. This will open the AWS Management Console sign-in page in your web browser.

    In the following steps, the AWS Management Console will be used to add a new AWS User, including security credentials for the User. These security credentials will then be linked with the Techila Deployment Tool, which will enable you to use the Techila Deployment Tool to manage the AWS EC2 environment.

    image012
    Figure 8. Click the highlighted button.
  3. Click the Sign in to the AWS Console button to sign-in.

    image013
    Figure 9. Signing in is required in order to access the AWS Management Console.
  4. Sign in using your login credentials.

    Note! In order to login by using your Amazon account, your account needs to be signed up for AWS.

    Note! In order to login using your AWS IAM (Identity and Access Management) User credentials you will need to sign in using your "IAM User Sign-In URL". This URL can be retrieved from the AWS Management Console.

    image014
    Figure 10. Sign in to the AWS Management Console using your login credentials. In this screenshot, signing in will be done as "Example User", which is an IAM User.
  5. After signing in, click Identity & Access Management (IAM).

    image015
    Figure 11. Open the IAM view to manage access credentials.
  6. Select Users and click the Create New Users button.

    image016
    Figure 12. Adding a new User.
  7. Enter the User name and tick the checkbox for Generate an access key for each User. After filling the fields, click the Create button.

    image017
    Figure 13. Filling out the User name.
  8. After adding the User, User security credentials can be accessed. Click the Show User Security Credentials option.

    image018
    Figure 14. View the security credentials.
  9. After displaying the security credentials, copy the information to the Techila Deployment Tool.

    image019
    Figure 15. Copy the security credentials to the Techila Deployment Tool. Text can be pasted to the text fields by using the Ctrl-V keyboard shortcut or the right mouse button menu.
  10. After copying the security credentials, go back to your web browser and close the window by clicking the Close Window button.

    image020
    Figure 16. Close the window.
  11. At this point, you might be prompted to download the security credentials in a file. If you want, you can click the Download Credentials button to download the credentials for safe keeping. Click the Close Window button to continue.

    image021
    Figure 17. Login credentials can be downloaded by clicking the Download Credentials button. Click the Close Window button to continue.

    Next steps will consist of giving the AWS User elevated permissions, which are required in order to use the Techila Deployment Tool.

  12. Select the User by clicking on the User Name.

    image022
    Figure 18. Modifying User permissions.
  13. Under Permissions, click the Attach Policy button.

    image023
    Figure 19. Attaching a user policy.
  14. Select the Power User Access by ticking the highlighted checkbox and clicking the Attach Policy button.

    Tip! You can use the text box to easily search for the correct policy.

    image024
    Figure 20. Selecting the Power User policy.
  15. Go back to the Techila Deployment Tool and click the Test AWS Connection button. After the network connection test is completed, the message AWS connection tested successfully will be displayed in the message area.

    image025
    Figure 21. Message "AWS connection tested successfully" indicates that the network connection test was successful.
  16. Click the Next button to continue to the Deploy Server tab.

    image026
    Figure 22. Proceed to the next tab.
  17. On the Deploy Server tab, click the Import License button. This will open a file dialog window, which will be used to select your Techila License file.

    image027
    Figure 23. Importing a License is required before deploying the Techila Server. Techila Licenses are provided by Techila Technologies. If you do not have a Techila License, please contact support@techilatechnologies.com or your account manager.
  18. After clicking the Import License button, use the file dialog window to select your Techila License file. The Techila License file can be recognized from the .license suffix. After selecting the file, click the Open button.

    image028
    Figure 24. The file dialog window can be used to select your Techila License.
  19. After importing your Techila License, the "Licensed to" field will contain information stored in the Techila License file.

    image029
    Figure 25. The Techila License information will be displayed after a successful import process.
  20. Using the dropdown menu, choose the region where the Amazon Web Services EC2 components will be created.

    image030
    Figure 26. The dropdown menu can be used to select the desired region.
  21. After selecting the region for the components, click the Deploy/Start Server button to begin the Techila Server deployment process.

    This deployment process will create all necessary AWS components and will also automatically deploy one (1) AWS EC2 m3.xlarge instance, which will be used to run the Techila Server. Please refer to Techila Distributed Computing Engine Product Description for recommended minimum and required minimum Compute instance features.

    image031
    Figure 27. Clicking the Deploy/Start button will start the deployment process. This process may take several minutes.

    During the deployment, a computational Project will be automatically created for testing purposes. The progress of the test Project will be indicated by a status window, which will be visible for the duration of the Project. The status of the Project will also be displayed in the text field of the Techila Deployment Tool.

    After the deployment process has been completed, a message stating Techila Server Installation completed will be displayed and the Open Techila Server Web Interface button will be enabled. The password for the User admin will be displayed in the Administrator password to Techila Server Web Interface field.

    The Techila Server has now been successfully deployed and is ready for use. You can now continue with deploying Techila Workers in Amazon Web Services EC2 as described in Deploying Techila Workers in Amazon Web Services EC2.

    Note! If you want, you can change the Techila Web Interface password for the admin User.

    image032
    Figure 28. A successful Techila Server deployment to Amazon Web Services EC2.
  22. After the Techila Server has been deployed, you can change the Techila Web Interface password for the admin User by entering a new password to the Administrator password to Techila Server Web Interface. After entering the new password, click the Set Password button.

    image033
    Figure 29. Changing the Techila Web Interface password for the admin User.
  23. After clicking the button, the message Administrator password changed will be displayed. The password has now been successfully reset.

    image034
    Figure 30. A successfully changed password.

4. Deploying Techila Workers in Amazon Web Services EC2

This Chapter contains instructions for deploying Techila Workers in Amazon Web Services EC2. Instructions for removing Techila Workers can be found in Removing Techila Workers. When deploying Techila Workers using the Techila Deployment Tool, the Techila Workers are automatically placed in to auto scaling groups. The amount of Techila Workers that are running is controlled by entering the desired values to the Techila Deployment Tool, which will then automatically adjust the auto scaling groups to match the desired values.

Please note that in order to deploy (or remove) Techila Workers, a deployed Techila Server must be available. Instructions for deploying the Techila Server in Amazon Web Services EC2 can be found in Deploying the Techila Server in Amazon Web Services EC2.

  1. Navigate to the directory containing the Techila Deployment Tool and launch the application by double clicking on the awsinstaller.jar file icon.

    Note! If the Techila Deployment Tool is already running and you have performed a connection test, you can continue from Step 3.

    image035
    Figure 31. After a successful deployment of the Techila Server in your Amazon Web Services EC2 environment, several new files have been automatically generated in to the directory containing the Techila Deployment Tool. The application can be re-launched by double clicking the awsinstaller.jar file icon.
  2. After the Techila Deployment Tool has been launched, click the Test Amazon Web Services EC2 Connection button.

    image036
    Figure 32. Performing a connection test is required before you can proceed to the other tabs in the Techila Deployment Tool
  3. After the connection test has been performed, click on the Deploy Workers tab to open the tab that will be used to deploy Techila Workers in Amazon Web Services EC2.

    image037
    Figure 33. After a successful connection test, the "Deploy Workers" tab will be available.
  4. The "Deploy Workers" tab can be used to deploy Techila Workers on Amazon Web Services EC2 instances. Before any Techila Workers have been deployed, the tab should resemble the one illustrated in Figure 34.

    The "Total" value in the highlighted field contains information on how many cores are currently used by existing Techila Worker deployments and how many cores would be used if the specified number of Techila Workers (value in the "Selected Worker Count") would be deployed.

    image038
    Figure 34. The "Deploy Workers" tab will contain information on the currently deployed Techila Workers.

    When deploying Techila Workers, you will need to specify the following settings:

    • The instance size of the Techila Workers

    • The instance operating system

    • The Techila Worker count for the deployment

    • The instance shutdown delay (optional)

    • Spot price bid (optional)

      These settings are explained below:

      Techila Worker Size dropdown menu can be used to select the Amazon Web Services EC2 instance type that will be used when deploying Techila Workers. The maximum number of instances you can deploy will be determined by the quota of your Amazon Web Services account.

      When selecting the Techila Worker Size, it is recommended that you choose the instance type that best suits the distributed application(s) you plan on computing on the Techila Workers. Most important properties include the amount of memory, amount of available disk space and the instance price per hour. Information on these properties can be found on the following webpage:

      The total amount of CPU cores that can be deployed can be increased by selecting an instance type with a large number of CPU cores per instance. The examples below illustrate the difference in the amount of CPU cores that can be deployed when changing the selected instance type.

      Example 1: John plans on deploying 20 instances using c3.large instances (2 cores each). This means that John will have access to 20 * 2 = 40 CPU cores of computing capacity.

      Example 2: John plans on deploying 20 instances using c3.8xlarge instances (32 cores each). This means that John will have access to 20 * 32 = 640 CPU cores of computing capacity.

      image039
      Figure 35. Using different instance types will change the maximum number of CPU cores that can be deployed by using your quota.

      Note! The "Selected Worker Size" dropdown menu will only be available if there are no currently deployed Techila Workers for the selected service.

      image040
      Figure 36. The "Selected Worker Size" dropdown menu can be used to set the Instance size. Only available when no Techila Workers are currently deployed.

      After you have deployed Techila Workers to a service, all additional Techila Workers will be automatically deployed on the same instance type and operating system. If you wish to have Techila Workers deployed on different instance types at the same time, please see instructions in Deploying Techila Workers on Different Instance Types

      Selected Worker OS dropdown menu can be used to select the operating system of the Techila Workers that will be deployed. The following operating systems are available in the dropdown menu:

    • Linux

    • Windows

      The dropdown menu is illustrated in the screenshot below.

      image041
      Figure 37. The OS dropdown menu can be used to select the Techila Worker operating system.

      The selected OS will affect the time required to deploy the Techila Workers. Techila Workers with a Windows operating system typically take approximately 10-15 minutes to deploy. Techila Workers with a Linux operating system are typically deployed in 2-4 minutes. Please note that deployment times for your environment might differ from the ones mentioned here.

      Selected Worker Count field can be used to specify the number of deployed Techila Workers. In the example below, the deployment count is set to 10 and the Worker Size has been set to "m1.small". These settings could be used to deploy 10 Techila Workers on "m1.small" instances.

      image042
      Figure 38. The value defined in the "Selected Worker Count" field is used to control the number of Amazon Web Services EC2 Instances that will be deployed as Techila Workers.

      If you have already deployed Techila Workers, specifying a larger value will enable you to increase the number of deployed Techila Workers. In the example below, the current Techila Worker deployment count is 10 and the "Selected Worker Count" field contains the value 15. These settings could be used to deploy five additional Techila Workers, bringing the total number of deployed Techila Workers to 15.

      image043
      Figure 39. Additional Techila Workers can be deployed by entering a larger value to the field. With the settings shown in this example, the Techila Worker deployment count would be increased from 10 to 15.

      Note! If you attempt to deploy a larger number of instances than allowed by your Amazon Web Services EC2 quota, the deployment will fail with a quota related error message as illustrated below.

      image044
      Figure 40. Deploying more instances than allowed by your quota will generate an error message. In this example, 490 additional Techila Worker instances were requested but the request failed because the maximum quota was only 200 instances. Please note that your quota might be different than the one illustrated here.

      Instructions for reducing the number of deployed Techila Workers can be found in Removing Techila Workers.

      Shutdown Idle Delay (minutes) field can be used to specify a shutdown delay for the Techila Workers that are deployed in the service. Specifying a shutdown delay will automatically shutdown the instances hosting the Techila Workers if they remain idle for the specified time. It is however strongly recommended that the deletion of the instances is always verified using the Amazon Web Services EC2 management portal.

      The shutdown timer will be activated when computational Jobs are detected on the Techila Workers belonging to the specified service. Computational activity is polled at five second intervals, meaning extremely short test Projects might not trigger the shutdown counter. Please note that this also means that if the Techila Workers have only been deployed, but no Projects have been created, the instances will not be automatically shutdown.

      The counter will be automatically reset when a new computational Job is detected on any of the Techila Workers belonging to the specified service. It is also possible to modify the shutdown delay of existing Techila Worker deployments by entering a new value to the field and clicking the Deploy Workers button.

      In the example below, the shutdown delay has been set to 30 minutes and the Techila Worker deployment count to 10. This means that all Techila Workers will be automatically terminated if they remain idle for 30 minutes after a Job has been detected on the Techila Workers.

      image045
      Figure 41. Specifying that Techila Workers should be shut down after 30 idle minutes.

      Automatic shutdown can be disabled by entering the value 0 field as illustrated below.

      image046
      Figure 42. Specifying that Techila Workers should not be automatically shutdown

      It is also possible to modify the "Shutdown Idle Delay (minutes)" value of existing Techila Worker deployments. This can be done by entering the new desired value to the field and clicking the Deploy button for the specified service.

      Spot Price ($) field can be used to specify a spot bid, which allows you to use spot instances instead of regular on-demand instances when starting Techila Workers. If you want to use spot instances, enter the spot price that you are willing to pay per instance hour to the Spot Price ($). The decimal separator is a dot (.). If your bid does not exceed the current spot price, no instances will be started. Spot pricing information can be found here. More information about spot instances can be found here. As a rule of thumb, if you are in a hurry and want to ensure that you get the Techila Workers started as soon as possible, it is recommended that you do not use spot instances.

      In the example below, a spot bid of $0.02 has bee specified, meaning the c4.large Linux instance will only be launched if the bid exceeds the current spot price.

      spot
      Figure 43. Specifying a spot bid for an instance.

      In order to deploy Techila Workers, specify the following settings:

    • Worker Size

    • Worker operating system

    • Number of Techila Workers to be deployed

    • The shutdown idle delay value (optional)

    • Spot price bid (optional)

      After specifying these settings, click the Deploy button to begin the deployment process

      In the example below, the Worker Size has been set to m1.small and the operating system has been set to Linux and the Techila Worker count to ten (10). The value of the shutdown delay has been set to 30, meaning that the instances will be automatically shut down after 30 minutes of idle time. The Spot Price ($) is empty, meaning spot instances will not be used.

      image047
      Figure 44. After selecting the desired Worker Size and the number of Techila Workers that should be deployed, click the Deploy button to begin the deployment process.

      After the virtual machines have been deployed, the "Current Techila Worker count" field will display the number of deployed Techila Workers and should match the value you specified in the previous step.

      Note! It will take several minutes before the Techila Workers can be used in computational Projects. Techila Workers with Linux operating system should take approximately 2-4 minutes. Techila Workers with Windows operating system typically take 10-15 minutes.

      Note! The "Status" column is updated based on the information from the AWS EC2 environment and does not include the configuration of the Techila Worker components. This means that even though the "Status" column would report "10 of 10 deployed", it might take several minutes before the Techila Workers will be visible in the Techila Web Interface and before they can be used in computational Projects.

      In the example below, 10 Techila Workers have been deployed on "m1.small" instances. After you have deployed Techila Workers, the Techila Worker Instance Size dropdown menu will be disabled and all new Techila Workers will be deployed on the same instance type. You can now continue with installing Bundles on the Techila Server as described in Installing Bundles.

      image048
      Figure 45. After the Techila Workers have been deployed, the "Current Worker Count" and "Status" columns will display information on the number of deployed Techila Workers.

4.1. Deploying Techila Workers on Different Instance Types

This Chapter contains instructions on how to deploy Techila Workers on different AWS EC2 instance types.

  1. Navigate to the directory containing the Techila Deployment Tool and launch the application by double clicking on the awsinstaller.jar file icon.

    Note! If the Techila Deployment Tool is already running and you have performed a connection test, you can continue from Step 3.

  2. Click the Test Amazon Web Services EC2 Connection button

  3. Click the Deploy Workers tab. In the example below, there are already 10 Techila Workers deployed on m1.small instances. Click the Add Service button.

    image049
    Figure 46. In this example, the environment already contains 10 deployed Techila Workers on "m1.small" instances.
  4. After clicking the Add Services button, a new line will be displayed. This line can be used to deploy Techila Workers on different instance types and/or operating system.

    image050
    Figure 47. After clicking the Add Services button, a new line will be displayed.
  5. Specify the following settings for the new service. Specifying these settings follows the same principle as described in Deploying Techila Workers in Amazon Web Services EC2.

    • Techila Worker Size

    • Techila Worker operating system

    • Number of Techila Workers to be deployed

    • Shutdown idle delay

      After defining the settings, deploy the Techila Workers by clicking the Deploy button on the matching line.

      Note! If you have added multiple new lines containing Techila Worker deployment settings, you can deploy all Techila Workers by clicking the Deploy All button.

      In the example below two (2) Techila Workers will be deployed on m1.medium instances.

      image051
      Figure 48. Techila Worker deployment will be started when the Deploy button is clicked.

      After new Techila Workers have been deployed, the information on the line will be updated in the "Current Worker Count" and "Status" columns.

      image052
      Figure 49. After the Techila Workers have been deployed, the information will be automatically updated.

5. Installing Bundles

This Chapter contains instructions for installing Bundles on the Techila Server. Please note that in order to install Bundles, a deployed Techila Server must be available. Instructions for deploying the Techila Server in Amazon Web Services EC2 can be found in Deploying the Techila Server in Amazon Web Services EC2.

Installed Bundles will be automatically transferred to Techila Workers if components are required in the computational Job that is assigned to the Techila Worker. The Bundle transfer process from the Techila Server to the Techila Workers may take several minutes depending on the size of the Bundle, but will only need to be performed once per deployment.

After the Bundle has been transferred to Techila Workers, the Techila Workers will automatically re-use the Bundle in subsequent computational Projects. Please note that if the Amazon Web Services EC2 Instances hosting the Techila Workers are shut down and restarted, the Bundles will need to be transferred again from the Techila Server to the Techila Workers. This is due to the stateless nature of Techila Workers in the Amazon Web Services EC2 environment.

There are two different methods for installing Bundles:

  • Installing Runtime Bundles This is the default method, which is typically used when deploying a Techila Distributed Computing Engine (TDCE) environment in Amazon Web Services EC2.

  • Installing Custom Bundles This method is typically used only when you create your own Runtime Bundles or when you receive Bundles from Techila Technologies.

5.1. Installing Runtime Bundles

This Chapter contains instructions for installing Runtime Bundles that are available in the Bundle list. Runtime Bundles contain runtime components that are required when performing computations using the following programming languages.

  • MATLAB

  • R

  • Python

  • Perl

    1. Navigate to the directory containing the Techila Deployment Tool and launch the application by double clicking on the awsinstaller.jar file icon.

      Note! If the Techila Deployment Tool is already running and you have performed a connection test, you can continue from Step 3.

    2. Click the Test Amazon Web Services EC2 Connection button

    3. Click the Install Bundles tab

      The Install Bundles tab contains a list of Bundles that can be installed to the Techila Server. Bundles can be marked for installation by ticking the checkboxes of the Bundles you wish to install.

      The naming convention of the Bundles is typically of the following format:

      <Programming Language> <Version> <Processor Architecture>

      image053
      Figure 50. The appearance of this tab will vary, depending on which Bundles are currently available. In this example, Bundles containing the runtime components for Python and Perl can be selected and installed.

      When installing Bundles containing the runtime components, you will need to remember two principles:

  • Bundles are programming language specific

  • Bundles are version specific

    These two principles are shortly explained below

    Bundles containing the runtime components are programming language specific, meaning you will need to install the Bundles for the programming languages you plan on using. For example, if you wish to perform computations using the Python programming language, you will need to select and install the Bundle containing the Python runtime components.

    In the example below, the Bundle containing the runtime components for Python version 2.6.2 has been selected.

    image054
    Figure 51. Support for programming languages can be added by selecting and installing applicable Bundles.

    Bundles containing the runtime components are version specific. It is therefore recommended that you install Bundles that contain the same version of the runtime components as used by the End-User. The versions of the runtime components stored in the Bundles are visible in the list displayed in the "Install Bundles" tab.

    In the example below, the version of the runtime components in the Python Bundle has been highlighted. The runtime components correspond to the Python version 2.6.2.

    image055
    Figure 52. The version of runtime components in Bundles should match the development environment versions used by the End-Users.

    If you plan on performing MATLAB computations in the Techila Distributed Computing Engine (TDCE) environment, you will need to install a MATLAB Bundle with the same version and processor architecture as the MATLAB you are using for creating the computational Projects. This is due to MATLAB compilations being processor architecture specific, meaning that e.g. 64-bit compilations will require 64-bit runtime components for the same MATLAB version.

    Select the Bundles you wish to install by ticking the checkboxes and click the Install and Test Bundles button to install the Bundles. In the example below, the Bundle containing the runtime components for Python version 2.6.2 will be installed.

    image056
    Figure 53. Bundles are installed by ticking the checkboxes of the Bundles you wish to install and clicking the Install and Test Bundles button. Multiple Bundles can be installed by ticking several checkboxes.

    After clicking the Install and Test Bundles button, the installation process will be started. This may take several minutes. After the Bundles you selected have been installed, a message stating that the installation process was successful will be printed and the selections you made will be grayed out.

    The Bundles that were installed will now be automatically used in computational Projects created by End-Users. You can now continue with adding End-Users to the TDCE environment as described in Adding End-Users.

    image057
    Figure 54. After successfully installing a Bundle, the selection will be grayed out. The runtime components in the Bundle will now be automatically used in computational Projects that have dependencies to the Bundle. In this example, the support for Python version 2.6.2 was added.

5.2. Installing Custom Bundles

This Chapter contains instructions for uploading Bundles from your computer to the Techila Server in Amazon Web Services EC2. The procedure described here can be used to e.g. upload Runtime Bundles that are not included in the Bundle list. Typical usage scenarios include uploading Bundles received from Techila Technologies and uploading Bundles that you have created using the Techila Bundle Creator Tool.

  1. Navigate to the directory containing the Techila Deployment Tool and launch the application by double clicking on the awsinstaller.jar file icon.

    Note! If the Techila Deployment Tool is already running and you have performed a connection test, you can continue from Step 3.

  2. Click the Test Amazon Web Services EC2 Connection button

  3. Click the Install Bundles tab

  4. Click the Install Bundle File button. This will open a file dialog window which can be used to select the Bundle you wish to upload to the Techila Server.

    image058
    Figure 55. Clicking the highlighted button will open a file dialog window.
  5. Using the file dialog window, select the Bundle you wish to upload to the Techila Server. Click the Open button to upload the Bundle to the Techila Server.

    image059
    Figure 56. Select the Bundle you wish to upload. In this example a file called example-bundle.jar has been selected.
  6. After starting the upload process, a Status Window will displayed containing information on the upload process.

    image060
    Figure 57. Duration of the upload process will depend on the size of the Bundle and available network bandwidth.
  7. After the Bundle has been uploaded, the corresponding message will be displayed in the message area. The Bundle can now be used in computational Projects.

    image061
    Figure 58. A successfully uploaded Bundle.

6. Adding End-Users

This Chapter contains instructions for adding End-Users to the Techila Distributed Computing Engine (TDCE) environment. All End-Users in the TDCE environment will require a personal keystore containing their End-User Key. This End-User Key will be used for signing Bundles when a computational Project is created.

In addition to the actual keystore file, the End-User will also need the password of the keystore. This password will be defined during the keystore file creation process described in this Chapter.

In addition to the keystore and keystore password, the End-User will also need the hostname of the Techila Server when configuring the techila_settings.ini file as described in Getting Started.

The hostname of the Techila Server will be displayed in the message area of the Techila Deployment Tool after clicking the Test Amazon Web Services EC2 Connection button in the Access Key Management tab.

Please note that the protocol (https://) and trailing port and forward slash need to be removed as illustrated in the example below.

Parameter Example Value

Network address of the Techila Server Web Interface

https://ec2-203-0-113-0.eu-west-1.compute.amazonaws.com:443/

Hostname

ec2-203-0-113-0.eu-west-1.compute.amazonaws.com

After you have successfully added End-Users to the TDCE environment, please refer to Getting Started for instructions on how to configure your Techila SDK to connect to the Techila Server. Programming language specific preparation steps are described in the document series "Techila Distributed Computing Engine with". These documents are available in the Techila Extranet.

  1. Navigate to the directory containing the Techila Deployment Tool and launch the application by double clicking on the awsinstaller.jar file icon.

    Note! If the Techila Deployment Tool is already running and you have performed a connection test, you can continue from Step 3.

  2. Click the Test Amazon Web Services EC2 Connection button.

  3. Click the Create Users tab.

    image062
    Figure 59. The network address of the Techila Server will be displayed in the message area. If you have performed multiple operations since you launched the Techila Deployment Tool, you might need to scroll back in order to see the highlighted message.
  4. This tab can be used to launch the Techila Keytool, which can be used to create keystore files containing End-User Keys. Click the Open Techila Keytool button to launch the Techila Keytool.

    image063
    Figure 60. Keystore files containing End-User Keys are generated with Techila Keytool.
  5. After launching the Techila Keytool, the main window will be displayed. Click the Create a new end-User key and sign it button.

    image064
    Figure 61. The Techila Keytool can be used to create End-User Keys (used for signing Bundles) and Administrator Keys (used for creating End-User Keys).
  6. After clicking the button, a new window will be displayed. Specify the full name of the End-User by filling in the following fields:

    • First Name

    • Last Name

    • The Alias field will be automatically updated to match the values entered to the First Name and Last Name fields.

      Note! The End-User can use the value shown in the Alias field to log in to the Techila Web Interface.

      The Validity period field displays how long the End-User Key will be valid. By default, all End-User Keys will be valid for 365 days. A different validity period can be defined by entering the desired time period in the field.

      Using the Keystore Password and Verify Password fields, specify the keystore password that will be used to protect the keystore file. Note! This is the password that the End-User will need to enter when creating computational Projects in the TDCE environment.

      After you have filled all necessary fields, click the Generate Key button to continue.

      image065
      Figure 62. After specifying the End-User’s name and password, the Generate Key button will be enabled. In this example, an End-User with the name "Demo User" would be added to the Techila Distributed Computing Engine environment.
  7. After clicking the Generate Key button, a new window will be displayed. This window will be used to specify the following settings regarding the keystore file:

    • The name of the keystore file

    • The destination directory where the keystore file will be stored

      Click the Save button to create the keystore file.

      image066
      Figure 63. This window can be used to specify a name for the file and the location where it will be stored. In this example, the keystore file would be named demouser.jks and stored in a directory called AWSDeployment.

      A new window will be displayed that contains information on where the keystore was stored on your computer. The key will also be automatically sent to the Techila Server and a corresponding transfer status message will be displayed in the message area. If the transfer was successfully completed, the following message should be displayed:

      "Key has been sent to the server successfully."

      image067
      Figure 64. View after the key has been successfully transferred to the Techila Server
  8. The End-User has now been successfully added to the TDCE environment. The End-User Key that was created can now be used for signing Bundles, which will be required when creating computational Projects.

    In order for the End-User to access the TDCE environment they will need the following file:

    The keystore file that was created (demouser.jks in the example)

    And the following information:

    • The keystore password

    • The hostname of the Techila Server. The hostname of the Techila Server will be displayed in the message area of the Techila Deployment Tool each time the Test Amazon Web Services EC2 Connection button is clicked. This is illustrated in Figure 58.

  9. Click the Close button to close the Techila Keytool or the Back to Main Menu button if you wish to add more End-Users to the TDCE environment.

7. Components Created During the Deployment Process

This Chapter contains a description of Techila Distributed Computing Engine (TDCE) components that are automatically created in Amazon Web Services EC2 when deploying the TDCE environment.

These components are:

  • Techila Server Data Disk EBS Volume (incurred costs)

  • Elastic IP (incurred costs)

  • Security Groups (no related costs)

  • Keypairs (no related costs)

An overview of these components is visible under "All Items" in the AWS Management Console as illustrated below.

image068
Figure 65. An overview of the Techila Distributed Computing Engine resources that have been deployed to Amazon Web Services EC2.

7.1. Techila Server Data Disk EBS Volume

The Techila Server Data Disk EBS Volume is used to store information about the TDCE environment. This includes information about Techila Workers, Projects, Jobs and Bundles.

image069
Figure 66. The Techila Server data disk will be visible in the "Volumes" section.

7.2. Elastic IPs

Elastic IP addresses are used to give the Techila Server a static IP address. This will ensure that the IP address of the Techila Server will not change even if the Techila Server is shut down and re-deployed.

image070
Figure 67. Elastic IPs will be visible in the "Elastic IPs" section.

7.3. Security Groups

Security groups contain firewall rules for network communication within the TDCE environment and rules for inbound network connections to the Techila Server.

image071
Figure 68. Security groups can be viewed by clicking Security Groups under Network & Security.

7.4. Keypairs

Keypairs are used to sign in to the Techila Server using SSH.

image072
Figure 69. Keypairs are displayed in the "Key Pairs" section.

8. Removing Components from Amazon Web Services EC2

8.1. Removing Techila Workers

This Chapter contains instructions on how to terminate Techila Worker Amazon Web Services EC2 instances. Terminating all instances will stop hourly costs from being incurred by Techila Workers instances.

Note! After removing Techila Workers, verify that the Amazon Web Services EC2 instances were successfully deleted. The status of Amazon Web Services EC2 Instances can be viewed using the AWS Management Console.

Please note that in order to shut down the Techila Workers, you will need to have the Techila Deployment Tool running and you need to have access to the Deploy Workers tab.

When removing Techila Workers, the following approaches can be typically applied:

Please follow the steps applicable to your situation.

8.1.1. Removing ALL deployed Techila Workers in ALL services

To remove ALL currently deployed Techila Workers and the matching , click the Delete All button.

image073
Figure 70. The Delete All button can be used to remove all currently deployed Techila Workers.

After the operation has been completed, the changes will be visible in the "Deploy Workers" tab as illustrated below.

image074
Figure 71. After the Techila Workers have been removed, the Status column will display the message "Not Deployed".

In the AWS Management Console, there should not be any Techila related autoscaling groups visible in the Auto Scaling Group.

The example screenshot below illustrates a situation where no auto scaling groups exists. If you see any Techila related auto scaling groups, delete them using the AWS Management Console.

noauto
Figure 72. View when no autoscaling groups exists.

Respectively, there should not be any Techila Worker instances running in the Instances view.

noinstances
Figure 73. All Techila Worker instances should be terminated.

8.1.2. Removing ALL deployed Techila Workers in one service

To remove ALL currently deployed Techila Workers in one service, click the Delete button for the specified service.

In the example below, clicking the highlighted button would remove all Techila Workers deployed to the default service. Techila Workers deployed to the second service would remain unaffected.

image075
Figure 74. The Delete buttons can be used to remove Techila Workers deployed to the specified service.

After the operation has been completed, the changes will be visible in the "Deploy Workers" tab. In the example below, the Status column displays "Not Deployed", indicating that Techila Workers in the service have been removed. Please note that it may take several minutes for the changes to take effect.

image076
Figure 75. In this example, all Techila Workers from the first service have been removed.

In the AWS Management Console, there should not be a Techila related autoscaling group with the matching service id visible in the Auto Scaling Group view.

The example screenshot below illustrates a situation where no auto scaling groups exists for the first service (in other words, there is no auto scaling group with name default-admin-asg-techilaworker-1). An auto scaling group with name default-admin-asg-techilaworker-2 is listed, which contains the Techila Workers that are still running.

1autoscale
Figure 76. View when only one auto scaling group exists.

Respectively, Techila Workers belonging to the first service should not be running in the Instances view.

noinstances
Figure 77. Techila Worker belonging to the first service should be terminated.

8.1.3. Reducing the number of deployed Techila Workers in a service

To reduce the number of deployed Techila Workers in a service, specify the new Techila Worker count in the "Selected Worker Count Field". The value entered to the field will determine how many Techila Workers will remain deployed after the operation. After you have entered the value, click the Deploy button for the service to apply the changes.

In the example below, there are currently ten (10) Techila Workers deployed in the first service and the "Selected Worker Count" field contains the value three (3). These settings could be used to remove seven (7) of the Techila Workers that are currently deployed in the service.

image077
Figure 78. The number of deployed Techila Workers can be reduced by entering a smaller number in the "Techila Worker Count" field and clicking the "Deploy" button. This operation only affects the specified service, meaning the Techila Worker count in other services will remain unchanged.

After the operation has been completed, the changes will be visible in the "Deploy Workers" tab. In the example below, the Status column displays "3 OK", indicating that there are 3 Techila Workers running and 7 Techila Workers were removed.

image078
Figure 79. After the Techila Worker count has been modified, the "Status" column will display the new information.

8.2. Removing the Techila Server

This Chapter contains instructions on how to terminate the Techila Server Amazon Web Services EC2 instance. Terminating the instance will stop hourly costs from being incurred from the Techila Server instance.

Note! Removing the Techila Server will also remove all Techila Workers that are currently deployed.

Note! After removing the Techila Server, verify that the Amazon Web Services EC2 Instances were successfully terminated. The status of Amazon Web Services EC2 Instances can be viewed using the Amazon Web Services EC2 Management Portal.

  1. Navigate to the directory containing the Techila Deployment Tool and launch the application by double clicking on the awsinstaller.jar file icon.

    Note! If the Techila Deployment Tool is already running and you have performed a connection test, you can continue from Step 3.

  2. Click the Test Amazon Web Services EC2 Connection button

  3. Click the Deploy Server tab

  4. Click the Shutdown Server button to remove the Techila Server.

    Note! Shutting down the Techila Server will also shut down the Techila Workers.

    image079
    Figure 80. The Shutdown Server button can be used to delete the Techila Server instance.
  5. After the Techila Server has been removed, a Shutdown Verification window will be displayed. Click the OK button to open the AWS Management Console in your web browser.

    image080
    Figure 81. Clicking the OK button will open the AWS Management Console.
  6. After clicking the button, your web browser will display the AWS Management Console. Sign in using your login credentials.

  7. After signing in your AWS Management Console, click on EC2.

    image081
    Figure 82. The components will be visible in the EC2 section.
  8. Click on Auto Scaling Groups and verify that no Techila related auto scaling groups exist. The naming convention of Techila Worker auto scaling groups is 'default-admin-asg-techilaworker-<N>', where <N> corresponds to the Techila Worker service id. Example auto scaling group name: 'default-admin-asg-techilaworker-1'. If you see any Techila related auto scaling groups, you can delete them by using the AWS Management Console.

    The example screenshot below illustrates a situation where no auto scaling groups exists.

  9. View when no autoscaling groups exists. image::noauto.png[ ]

  10. Click on Instances and verify that all Techila Server and Techila Worker instances were successfully terminated. The Instance State should be terminated for all terminated Techila instances.

    Note! If the instances were not terminated successfully, terminate the instances using the AWS EC2 Management Console.

    image082
    Figure 83. Checking that all Techila Workers have been terminated.

8.3. Removing Components Created During Deployment

This Chapter contains instructions on how to remove all cost-incurring Techila Distributed Computing Engine (TDCE) components from Amazon Web Services EC2. The components removed during this Chapter are:

  • Amazon EC2 instances hosting the Techila Server or Techila Workers

  • Techila Server Data Disk EBS Volume

  • Techila Server Elastic IP

NOTE! Performing the procedure described in this Chapter will remove all data from the Techila Server, meaning the state of the Techila Server will be lost. The steps described in this Chapter are typically only required if you wish to discontinue the use of your current Techila Server or to re-deploy a Techila Server to a clean Amazon Web Services EC2 environment.

  1. Remove the Techila Server as described in Removing the Techila Server.

  2. Sign in to the AWS Management Portal using your Amazon credentials

  3. Click Volumes and select the volume named techilaserver-data.

    image083
    Figure 84. Select the volume.
  4. Using the "Actions" dropdown menu, select "Delete Volume"

    image084
    Figure 85. Delete the volume.
  5. When prompted, confirm the action.

    image085
    Figure 86. Confirm the action.
  6. The next steps will consist of deleting the Techila Server Elastic IP address. Click on Elastic IPs to change the view, select the IP address of the Techila Server and click the Release Addresses button.

    image086
    Figure 87. Select the IP address and click the highlighted button.
  7. After clicking the button, you might receive a pop-up window prompting for confirmation. Confirm the action.

    image087
    Figure 88. Confirm the action.

9. Appendix

9.1. Appendix 1: Techila Web Interface Login Credentials

After deploying the Techila Server in Amazon Web Services EC2, the Techila Web Interface can be accessed with the login credentials shown below:

Techila Web Interface

Login

admin

Password

Displayed in the Techila Deployment Tool "Deploy Server" tab in the field "Administrator password to Techila Server Web Interface". Password can also be reset using the "Set Password" button on the "Deploy Server" tab.

9.2. Appendix 2: Updating the Techila Deployment Tool

When a new version of the Techila Deployment Tool is released, please follow the steps below to update your Techila Deployment Tool.

  1. Download the new version of the Techila Deployment Tool from the Techila Extranet

  2. If your Techila Deployment Tool is running, close the tool.

  3. Extract the new awsinstaller.jar file over your existing awsinstaller.jar file.

    The new version is now ready for use. Previously generated files and configuration settings will be automatically used by the new version of the Techila Deployment Tool.