Managed
  • 09 Jan 2023
  • 6 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Managed

  • Dark
    Light
  • PDF

Article Summary

Managed Apps are implemented as virtual machines that are fully managed by EchoStream. They extend your EchoStream Tenant into a remote datacenter and they contain Managed Nodes.

The primary use cases for Managed Apps are:

  • You want to extend your Tenant into another compute environment but you don't want have to manage it.
  • You need to extend your Tenant into a partner's compute environment but you want or need to maintain full control of the implementaion of that extension.
  • You have to deploy the same Node functionality to many external locations and you want to make this deployment as simple as possible.

Managed Apps have the following characteristics:

  • Support VMWare, VirtualBox, Microsoft Hyper-V, KVM and AWS EC2 virtualization environments.
  • Are implemented as hardened virtual machines.
  • Are fully managed by EchoStream; only EchoStream has access to the virtual server running the app.
    • EchoStream is responsible for running the Managed Nodes on the apps, applying patches to the virtual server running the App, collecting logs from the App and its Nodes, etc.
  • Contain Managed Nodes.

Attributes

config

You have the option of creating a configuration (aka - config) for your App.

The config is a JSON object that can contain anything that you desire. All data stored within this object is encrypted prior to being stored in EchoStream in order to protect sensitive items such as database or API credentials.

If you choose to create a config for your App, it will be passed to all Nodes within App.

Keys in your App config override those in the Tenant config can be overridden by configs that exist in your Nodes.

Example:

{
    "database": {
        "credentials": {
            "username": "foobar",
            "password": "password1"
        },
        "address": "127.0.0.1",
        "port": 3576
}

iso

When a Managed App is deployed in a Virtual Machine environment, a seed.iso is required to configure and harden the virtual machine as it starts the first time. This attribute provides the seed.iso for you to use to create the Managed App's virtual machine.

It is returned by the API as a Base64-encoded GZIP'd file, and by the EchoStream application UI as a seed.iso file.

NOTE - the seed.iso will only be valid for 24 hours from the time that you obtain it and it may only be used once.

tableAccess

If you want the Nodes that are in your Managed App to be able to access the Tenant's table this must be set to true. The default is false.

userData

When a Managed App is Deployed in an AWS EC2 environment, User Data is required to configure and harden the virtual machine as it starts the first time. This attribute provides the User Data for you to use to create the Managed App's virtual machine.

It is returned by the API as a Base64-encoded file, and by the EchoStream application UI as a userdata file.

NOTE - the userdata will only be valid for 24 hours from the time that you obtain it and it may only be used once.

Deploying your Managed App to a VM

Step 0: Ensure network access

All EchoStream Managed Apps communicate with the EchoStream API and the EchoStream Cloud using HTTPS over port 443.

NOTE - You need to ensure that port 443 is opened through your corporate firewall for your Managed App to deploy and function properly.

Step 1: Obtain the seed.iso

Either use the EchoStream API or the EchoStream Application UI to get the iso for your Managed App.

Step 2: Get the correct Amazon Linux 2 VM Image

Download the VM Image for your virutalization platform:

Step 3: Boot the Managed App VM

Using the seed.iso from Step 1 and the VM Image from Step 2, boot the VM as per your virtualization platform:

VMWare vSphere

The VM image for VMware is made available in the OVF format.

To boot the Managed App VM using VMWare vSphere:

  1. Create a new datastore for the seed.iso file, or add it to an existing datastore.
  2. Deploy the OVF template, but do not start the VM yet.
  3. In the Navigator panel, right-click the new virtual machine and choose Edit Settings.
  4. On the Virtual Hardware tab, for New device, choose CD/DVD Drive, and then choose Add.
  5. For New CD/DVD Drive, choose Datastore ISO File. Select the datastore to which you added the seed.iso file, browse to and select the seed.iso file, and then choose OK.
  6. For New CD/DVD Drive, select Connect, and then choose OK.

After you have associated the datastore with the VM, you should be able to boot it.

KVM

To boot the Managed App VM using KVM:

  1. Open the Create new VM wizard.
    1. Choose Import existing disk image.
    2. Browse to and select the VM image. For OS type and Version, choose Linux and Red Hat Enterprise Linux 7.0 respectively.
    3. Specify the amount of RAM and the number of CPUs to use.
    4. Enter a name for the new VM and select Customize configuration before install, and choose Finish.
  2. In the Configuration window for the VM, choose Add Hardware.
  3. In the Add New Virtual Hardware window, choose Storage.
  4. In the Storage configuration, choose Select or create custom storage. For Device type, choose CDROM device. Choose Manage, Browse Local, and then navigate to and select the seed.iso file. Choose Finish.
  5. Choose Begin Installation.

Oracle VirtualBox

To boot the Managed App VM using Oracle VirtualBox:

  1. Open Oracle VirtualBox and choose New.
  2. For Name, enter a descriptive name for the virtual machine, and for Type and Version, select Linux and Red Hat (64-bit) respectively. Choose Continue.
  3. For Memory size, specify the amount of memory to allocate to the virtual machine, and then choose Continue.
  4. For Hard disk, choose Use an existing virtual hard disk file, browse to and open the VM image, and then choose Create.
  5. Before you start the VM, you must load the seed.iso file in the virtual machine's virtual optical drive:
    a. Select the new VM, choose Settings, and then choose Storage.
    b. In the Storage Devices list, under Controller: IDE, choose the Empty optical drive.
    c. In the Attributes section for the optical drive, choose the browse button, select Choose Virtual Optical Disk File, and then select the seed.iso file. Choose OK to apply the changes and close the Settings.

After you have added the seed.iso file to the virtual optical drive, you should be able to start the VM.

Microsoft Hyper-V

The VM image for Microsoft Hyper-V is compressed into a zip file. You must extract the contents of the zip file.

To boot the Managed App VM using Microsoft Hyper-V:

  1. Open the New Virtual Machine Wizard.
  2. When prompted to select a generation, select Generation 1.
  3. When prompted to configure the network adapter, for Connection choose External.
  4. When prompted to connect a virtual hard disk, choose Use an existing virtual hard disk, choose Browse, and then navigate to and select the VM image. Choose Finish to create the VM.
  5. Right-click the new VM and choose Settings. In the Settings window, under IDE Controller 1, choose DVD Drive.
  6. For the DVD drive, choose Image file and then browse to and select the seed.iso file.
  7. Apply the changes and start the VM.

Deploying your Managed App to an AWS EC2 Instance

Step 0: Ensure network access

All EchoStream Managed Apps communicate with the EchoStream API and the EchoStream Cloud using HTTPS over port 443.

NOTE - You need to ensure that port 443 is opened from your AWS VPC for your Managed App to deploy and function properly.

Step 1: Obtain the userdata

Either use the EchoStream API or the EchoStream Application UI to get the userdata for your Managed App.

Step 2: Create the EC2 Instance

The instance that you create must be an Amazon Linux 2 instance type. When creating your instance, ensure that you use the userdata from Step 1 and indicate to AWS that the userdata is already Base64 encoded.