Deploying Apps to Shared Spaces | MuleSoft Documentation
# Deploying Apps to Shared Spaces
You deploy apps to a shared space using Runtime Manager.
CloudHub 2.0 supports Mule runtime engine versions 4.3.x and later. Mule 3.x is not supported.   
---  
Runtime Manager doesn’t support deploying an application to CloudHub 2.0 or Runtime Fabric if the asset was previously soft-deleted in Exchange.   
---  
## Deploy an App to a Shared Space
  1. From Anypoint Platform, select **Runtime Manager** > **Applications**.
  2. Click **Deploy application**.
  3. On the **Deploy Application** page:
    1. Enter the name of the application.
You cannot change the name of an app after you deploy it. To change the name, you must delete and redeploy the app using the new name.   
---  
    2. Select an application file:
       * To upload a Mule app JAR file from your system, select **Choose file > Upload file**.
       * To choose an example app from Anypoint Exchange:
         1. Select **Choose File > Import file from Exchange**.
         2. In the **Get from Exchange** page, enter `hello` in the **Search assets by name** :
         3. Click **Hello World** and then click **Select**.
    3. Select **CloudHub 2.0** , and then **Shared Space** for the region from the **Deployment Target** list.
For the list of regions, see Shared Global Regions. If you have the global deployment entitlement, all regions are available. If you have region restrictions based on your subscription, only regions that are available to your organization appear.
    4. Configure options for deployment:
       * Specify runtime options.
       * Change app behavior with properties.
       * Configure logging for the app.
  4. Click **Deploy Application**.


### Specify Runtime Options
Click the **Runtime** tab and specify the following options: 

Runtime version
    
Specifies the Mule runtime engine version. Versions 4.3.x, 4.4.x, 4.5.x, and 4,6.x are supported. 

Release Channel
    
Starting with Mule 4.5, MuleSoft introduces two new release channels, Edge and Long-term Support (LTS).
For new applications, the Edge channel is selected by default in the **Release Channel** drop-down menu.
For existing applications using a legacy version, the **Release Channel** drop-down list is selected as `None` by default. Use the **Release Channel** drop-down list to select the desired release channel.
For existing applications using an Edge version, the **Release Channel** drop-down list is selected as `Edge`. The **Runtime Version** dropdown list indicates if there is an update available, as well as the previous and latest version of the application. Use the **Release Channel** drop-down list to change to a legacy version.
For existing applications using an Edge or an LTS version on extended support, a warning message appears indicating the version’s EOL.
After End of Extended Support for Mule runtime 4.3 and 4.4, Mule applications deployed to CloudHub or CloudHub 2.0 environments are stopped.   
--- 

Java Version
      
Select the Java version for your application. For more information, visit Java Support. 

Replica size
    
Specifies the number of vCores in the replica to run your application.
For information on replica sizes, memory, and storage, see CloudHub 2.0 Replicas. CloudHub 2.0 limits the replica size per deployment to four vCores. 

Replica Count
    
Specifies the number of replicas, or instances, of the application to deploy.
A minimum of two replicas is required for high availability. 

Run in Runtime Cluster Mode
    
Enables Mule clustering across each replica of the application.
This option requires at least two replicas. 

Use Object Store V2
    
You can select Object Store v2 as the implementation for Mule 3 and Mule 4 by checking the **Use Object Store V2** checkbox. 

Deployment model
    
  * **Rolling update** :
    * Maintains availability by incrementally updating replicas.
  * **Recreate** :
    * Terminates replicas before redeployment.
    * Redeployment is faster and doesn’t require additional resources.


### Application Names
The application name you specify can contain between 3 and 42 alphanumeric characters (a-z, A-Z, 0-9) and dashes (-). They cannot contain spaces or other characters. The application name must start with a letter (a-z or A-Z). It cannot start with a number or dash and it cannot end with a dash.
To ensure that names are unique and avoid domain conflicts, CloudHub 2.0 adds a six-character `_unique-id_`to the application name that you specify in the public endpoint URL.
The application name identifies your application not only in Runtime Manager but also in the public `cloudhub.io` domain. For example, an application named `myapp` is accessible at `http://myapp-_unique-id_._shard_.usa-w2.cloudhub.io`. You must have unique application names for each deployment target.
To further customize your app names, you can create a naming convention. For example, you could prepend your company name and department to all application names, such as `mycompany-mydept-myapp`. You can then add DNS records to hide the complex application name. For example, you might route requests to `myapp.mycompany.com` to `mycompany-mydept-myapp-_unique-id_._shard_._region_.cloudhub.io`.
Make application file names as unique as possible. An app cannot be deployed if it shares the same name as an asset in Exchange.
## Change App Behavior with Properties
You can configure property values, such as specifying the environment or setting passwords and usernames, during app deployment.
For information about configuring app properties, see:
  * Changing App Behavior with Properties
  * Protecting App Property Values


## Configure Logging for the App
Logging is enabled by default for apps deployed to CloudHub 2.0.
### Disable or Enable Logging
To disable or reenable logging for the app:
  1. Click the **Logging** tab.
  2. Deselect or select the **Forward application logs to Anypoint Platform** option.
  3. Click **Apply Changes**.


If you disable logging, the **Logs** heading still appears in the Runtime Manager navigation menu, but application logs are not collected.
### Configure Log Levels and Categories
To configure additional log levels and categories to include in logs:
  1. Click the **Monitoring** tab.
  2. Select the log level:
     * **INFO** : Informative messages
     * **DEBUG** : Debugging messages
     * **WARNING** : Warning messages
     * **ERROR** : Error messages, such as when an exception occurs
     * **FATAL** : Fatal messages for when an application fails
  3. Optionally, set the log level for specific a Java package class by selecting the log level, entering the `package.name`, and pressing the Enter key.
  4. Click **Apply Changes**.


Changing the log level and clicking **Apply Changes** restarts the application.   
---  
## Enable Trace Data Collection
This feature is available only if your organization has the Anypoint Integration Advanced package or a Titanium subscription to Anypoint Platform. For more information, see the Pricing and Packaging documentation.   
---  
Traces enable you to understand the path of a transaction in the MuleSoft ecosystem by providing full visibility into the execution path of API calls or application transactions. When you enable trace data collection for an app, Anypoint Platform collects and exposes tracing information from Mule runtime engine in the OpenTelemetry standard, enabling you to export it using the Anypoint Monitoring Telemetry Exporter.
You can enable trace data collection for your CloudHub 2.0 applications running on Mule version 4.6 or later. You can’t enable trace data collection using the Mule Maven plugin, Anypoint CLI, or Anypoint Studio. You can enable trace data collection using only the UI and API.
To enable trace data collection for an app:
  1. Click the **Monitoring** tab.
  2. Select the **Enable tracing** checkbox.
  3. Click **Deploy Application** if you are enabling the feature for a new deployment, or **Apply Changes** if you are editing an existing application.


Once you enable tracing, and redeploy your application, the Runtime Manager backend starts instrumenting traces for your application.
## See Also
  * Downloading Test Apps from Exchange
  * Example Assets provided by MuleSoft on Exchange
  * Integrating with Your Logging System Using Log4j