Application Definition

Version: 1.0
Last Modified: 12/30/2020

The Apps page lets you create application definitions for any applications deploying to our registry. Doing this creates an 'inventory' of your applications that are part of the registry. Creating an application definition also prepares it for deployment. Refer to our Tutorial: Deploying an application to the MobiledgeX platform for steps on how to deploy a sample application.

You can apply a privacy policy to each application you wish to deploy and configure your outbound connections as prohibited. Upon deployment of your application, the security policy is applied and thus, making your deployment fully private. For more information on how to set up your privacy policy for your applications, refer to the section on Manage Applications with Policies. Note that this is only supported for Dedicated IP access.

The following actions may be performed on this page:

  • Filter your apps by region
  • Create a new app definition
  • Access the quick access menu under Actions to either Update, Delete, or Create Instance.

To specify your application definition:

  1. Navigate to the submenu Apps and click the + sign.
  2. Once the Create App page opens, populate all required fields.
  3. Click Create.

Note: When typing in an application name, do not use underscores.

Warning: Validation between ports/names are not performed automatically. Therefore, when specifying your ports/names, you must ensure that there are no conflicts between them. Otherwise, your deployment will not succeed.

Create Apps screen

Once you have defined your application, it will appear on the Apps page.

Application Definition list

Application Versioning

Application version is used as a key within the MobiledgeX platform. This means a given application is identified by the following:

  1. Region
  2. Organization
  3. Application Name
  4. Application Version

Although it is a key, the application version is not checked or parsed by the MobiledgeX platform; this is purely provided as a reference for the developer. Any versioning scheme can be used to identify the app version, for example, you can use a github commit ID, an image tag name, or even a string description to identify the app version.

Upgrade Prompt

When a new version of an application is created, the MobiledgeX platform will prompt you to upgrade any Application Instances that are on a version of the application that is older than the most recently deployed version. Note that this does not perform any check of the data entered into the version field; it simply checks to see if there is an updated Application with a new version key.

To set up application versioning:

  1. Create a new application version from the Applications screen.
  2. Within the Application Instances screen, you will see the option to upgrade an application in the Actions menu. Additionally, you will see an up-arrow next to the Application Region column. You may upgrade each application instances on this screen by clicking Upgrade on the application instance. Upgrading allows you to upgrade each application instance at your own pace.
  3. To perform a bulk upgrade to all application instances in a specific region, click Upgrade from the Applications screen. The platform will upgrade all the application instances that have been launched from that application.

Note: The platform does not enforce any versioning standards; any value may be added in this field.

Direct vs. Load Balancer Access Type

When creating an application instance, you can determine how the traffic is routed to that application instance.

  • Dedicated: Select this option to route traffic directly to your application instance. This option is advised for applications that require a range of ports to be opened.
  • Load Balancer: Select this option to use a load balancer to route traffic to your application instances. Load Balancer provides statistical information that can be used to monitor your application's performance and data points, like the number of connections active, and the amount of data transferred. With the information provided by the Load Balancer, you can make informed decisions about whether to scale up or down your application instances, depending upon performance expectations.

Securing application access with TLS

MobiledgeX provides two ways to quickly and securely deploy your applications using TLS, allowing you to either have full control over your connections or rely on MobiledgeX to manage your TLS connections for you. If you choose manage your own TLS connections, The MobiledgeX LoadBalancer will forward TLS traffic directly to your container, where you can essentially perform your own TLS termination.

The image below illustrates four scenarios to secure your applications with TLS. In the first three scenarios, the Loadbalancer terminates TLS at the Loadbalancer, which is specified on the public portand defined within the Application Instance mapped_ports stanza. Data is then sent to the specified internal port as HTTP; no encryption is used between the Loadbalancer and the Container. Note that if the requested ports are in use or unavailable, MobiledgeX will assign other ports available. For the fourth scenario, traffic can be sent directly to the Application Instance, however, ports will still need to be specified.

TLS setup examples

Self-managed TLS

For manual control over your connection, first ensure that you have a domain with the ability to add DNS records.

  1. Within the Create Apps page, enable Direct as the Access Type.
  2. Deploy your application instance(s).
  3. Retrieve the URL for your application instance.
  4. Add a DNS CNAME to your DNS configuration that points to the FQDN part of the URI retrieved from the previous step.
  5. Verify that the CNAME resolves appropriately.
  6. Create/retrieve the Certs that correspond to your CNAME, or alternatively a wildcard Cert for your domain.
  7. Configure the application instance to use the Certs.
  8. Finally, test your connection.

MobiledgeX-managed TLS

MobiledgeX offers TLS termination at the load balancer. With TLS termination, the resulting traffic is sent directly to your application instance, allowing you to quickly and securely deploy your application. Enable the TLS option when you specify your port(s) within the Create Apps page. The TLS option removes the need to generate and manage Certs, and eliminates the requirement to configure your application for TLS.

  1. Within the Create Apps page, Select Load Balancer as the Access Type.
  2. Enable TLS for each port(s) desired.
  3. Ensure your application is listening on the ports enabled; TLS termination will be performed at the load balancer, so you do not need to enable TLS/SSL in your application.
  4. Test your connection.

Where to go from here