Turbo.net: Containers For Desktop Applications

In the last issue of Open Horizons Magazine, Jason Blackett reviewed the new Desktop Containers for ZENworks component in the ZENworks 2017 suite  (OHM35, p21-24).  In that article Jason went on to describe an add-on for this in the form of a Turbo.net subscription. He wrote that “This unique offering allows you to build many common applications much more quickly, secure the network access of containerised applications, and use powerful new tools for scripting the build of desktop containers“ and concluded that “The Turbo for Micro Focus Desktop Containers Subscription is a must for serious Micro Focus Desktop Containers users. It will help you reduce your time to value, improve your packaging capabilities, and help you create a more secure system.”

This article looks at Turbo.net as a stand-alone solution in the application containers market which many IT strategists consider to be  the ‘biggest advance’  since the server virtualisation revolution.

The basics of Turbo

Turbo containers are based on the Spoon VM which can trace it’s origin back to 2006 when Kenji Obata founded the Code Systems Corporation, which is still the company behind Turbo today.

Turbo.net let’s you run Windows applications on all your PCs or remotely in the cloud.   From the desktop point of view Turbo comprises an installable client which runs on all desktop versions of Windows since XP as well as Windows Server 2008 R2 onwards.  So Turbo is an Apple and Linux free zone!

Turbo is a completely user mode system in that it does not run in the kernel using device drivers nor requires administrative privileges to use Turbo.net or run Turbo applications,  even if the containerised application requires privileges.   A container is a lightweight implementation of core operating system APIs, including the filesystem, registry, process, and threading subsystems.

Applications executing within this virtual environment interact with a virtualised filesystem, registry, and process environment, rather than directly with the host device operating system. The virtualisation engine handles requests within the virtualised environment internally or, when appropriate, routes requests to the host device filesystem and registry,  redirecting or overriding requests as determined by the virtual application configuration. [please read  Spoon Virtualisation for further information].  Containers can also contain standalone .NET and Java runtimes.  Turbo has no dependence on any other virtualisation technologies for Windows, not even Hyper-V.

36-turbo-1
Figure 1: How the VM interacts with the host system

Once the client is installed you can then run Turbo containers, which are generally available from the store at turbo.net, called the Turbo Hub.  This ‘cloud’ store has public containers made available to all Turbo subscribers as well as private repositories for corporates or individual subscribers.  The Turbo store can also be licensed to run on-premise if so desired.

One advantage of running containers is the ability to run multiple instances or versions of the same application which may be configured differently.  A specific old corporate application that requires an outdated version of Internet Explorer, for example, can be safely containerised and run on a PC that has a later version of the browser available for more general work.  The containerised application is totally isolated from the host system.

A specific advantage of Turbo as opposed to Docker is the ability to suspend execution of a container on a device, migrate it to another device, and pick up where you left off.  This is a powerful benefit for people who roam and use multiple PCs.

Using Turbo

Unlike Docker, Turbo is proprietary technology and not free and open source.  To use Turbo you have to sign up and take out a subscription.  The good news is that there is a free entry level subscription that provides access to hundreds of containers for applications that do not require licence payments, e.g. FireFox.

Better still there are different versions available if you need a specific software release.  So if you are interested in Python programming then you can download the Python version of your choice and get on and use it very quickly.

You will also see that the full GroupWise 2014 client is available already packaged and ready to use.  (Remember with GroupWise the client is free and licensed by mailbox).  The client was posted on Turbo by the ZENworks team.

Once you have your subscription and log-in you can then run any application that’s publicly available on the Turbo Hub.  Turbo maintain the latest releases but earlier versions are also available in the hub. Applications are split into several categories for ease of use.  Find the application you want and choose whether to run it on your desktop or in the cloud.  Unfortunately  for those using a free subscription you only get 5 minutes usage time in the cloud before Turbo starts asking for payment  of $.9.95 for an hour.

So it makes sense to run the applications locally on your PC.  It depends on the bandwidth of your network connection but the intelligent streaming means applications start reasonably quickly even on lower bandwidth connections.

Applications hosted on TurboServer launch after less than ten percent of the application is transferred. TurboServer’s speed and efficiency are possible thanks to two technologies: Virtualization and Predictive Streaming. Turbo enables you to break down containers into smaller functional and data units. Turbo identifies a prefetch (the application’s vital data components for launch) and transfers the units first, enabling deployment when only a fraction of the total application is loaded.

There are latent problems with security however.  Some malware checkers mis-identify the svm files downloaded and you have to add exceptions.  Also gaining local file access from the container can be troublesome.  However in general you can quickly get up and running with the applications from the Turbo Hub.

Having installed the Turbo client  (which happens automatically when you run your first container application) you can then access your local Turbo.net launcher tab by pressing <Alt><Win>.  A typical launcher is shown in figure 2.

36-turbo-2
Figure 2: The Turbo.net desktop application launcher

 

If you need more than the free subscription you can upgrade to the PRO subscription which costs $9.95 per use per month which gives access to private repositories in addition to the public ones and provides 100GB of storage and the ability to run container instances remotely in the Turbo cloud.  Finally the ORG subscription provides administrative controls, integrates with on-premise Active Directory and LDAP servers. It will also allow you to connect nodes and users.

If you wish to run Turbo on-premise then a Node costs $1950 pa and a Portal (a Turbo hub or app store) $2950 pa each with an annual cost of $24 per named user.  Finally a Site License allows an unlimited number of TurboServer nodes and Turbo End Users to use Turbo with a defined set of applications at a cost of $45000 pa.  TurboServer is an application deployment tool that enables you to launch applications instantly from websites, portals and client desktops.

Creating and Managing Containers

Creating new containers is as simple as starting up the client (TurboShell) and at the command line typing turbo new clean, where clean specifies a new basic host system with no added files or registry keys.  The Turbo CLI then takes you into the container command window and from there you can start to install applications into your container. You can use MSI installers for example that exist on your local system in which case you need to use the mount flag to establish the connection between your isolated container and the system it’s running on.

> turbo new  clean --mount=”C:\Installers” -n=instedcont
# Install InstEd
(instedcont#95c15a32) > C:\Installers\InstEd-1.5.15.26.msi

The above creates the container “instedcont” and runs the MSI from the mounted location.  Once the install is complete save the container and commit the container into an image.

The container can be tested locally but to push it to a remote repository (e.g. to the turbo.net hub) use the command  turbo push instedcont.

Containers can be built using a range of Turboscript commands that tune and specify what the container can do.  For example each container has it’s own network stack so you can limit the address range that the container can speak to and or prohibit communications with other sites, e.g. you can prevent access to social media sites or allow access to specific sites only.

> turbo new firefox --route-block=ip –route-add=ip://ohmag.net

The previous example limits the Firefox application container so that the only website it can access is the digital edition of Open Horizons Magazine!  The first rule blocks all ip traffic and subsequent rules add back specific routes.

A further example is to build a virtual network of containers so that they can communicate with each other.

# Launch a WordPress server in a virtual network environment
> turbo run wordpress -d --network=wp --name=web

# Run a Firefox browser instance in the same virtual network
# environment and connect to the WordPress server
> turbo run --network=wp firefox http://web:8080

This example creates a WordPress instance in a private network (wp) using the --network flag and a second container for a Firefox instance that is linked to it by using the same network identifier.

There is no space here to review all the options and possibilities for creating and managing Turbo containers.  Please refer to the documentation at turbo.net/docs.

TurboStudio

This is a desktop application that converts any Windows application into a self contained virtual application that can be delivered as standalone executable, MSIs or Turbo images.  Whereas Turbo’s command line tool builds images from containers the gui based TurboStudio uses static xml files to build images.

There are two methods for creating these applications, namely a desktop scan for installed applications and using the settings found, or a before and after snapshot method. Studio is available to Pro level subscribers.

Use cases

Ultimately you can use Turbo to manage and deliver all your applications but most companies will initially use it for more specific roles such as running end-of-life/legacy applications on modern systems; software testing or sandboxing for quality analysis.  It is a powerful extension to Micro Focus ZENworks and well worth a closer look.  Containers may well be the future of application delivery and management.

 

This article was first published in OH Magazine Issue 36, 2017/1, p28-30

Leave a Reply