Hands-on: Turbo Containers

The application container technology promises to change the way that IT operations are carried out just as virtualization technology did a few years previously. Thanks to my fellow MVP Rory Monaghan I had the opportunity to try out Turbo which is a software virtualization and container technology. So I decided that have a go with Turbo and in this blog post I will share my hands-on experience.

What is Turbo and how does it work:

Turbo.net is a leading developer of software virtualization and container technology. Available as both a web-based service and on-site server, Turbo.net allows software publishers, enterprises, and schools to build, test, deploy, and manage desktop application containers instantly to any user with an Internet connection.

Turbo containers are built on top of the Spoon Virtual Machine Engine (SVM), an application virtualization engine which provides lightweight implementation of core operating system APIs, including the filesystem, registry, process, networking, and threading subsystems. Applications executing within the Turbo virtual machine interact with a virtualized filesystem, registry, network, and process environment supplied by the SVM, rather than directly with the host device operating system.

turbo-overview

You can find more about Turbo here. (Source)

Installation:

Turbo is using a small client which can be downloaded from the website.

turbo-download-client

The setup will automatically install the client and an authentication screen will pop up. When logged in a toolbar is opened with the interface and you are ready to use Turbo.

turbo-logon-client

Creating a VM:

To get started with Turbo I’m using a simple application named mRemote which is a free remote desktop tool and can be downloaded here.

The first step is to create a new VM with a name. Because the VM is totally isolated a mount path is required to create an opening in the container. This way the installation files can be found. This is done from a command prompt. With the –mount parameter the local directory which contains the installation files can be specified. The -n parameter is to provide the VM a name. The command will be like this:

turbo-new-clean-vm

When the VM is created a command prompt is opened that is running inside the VM. The process can be identified as running inside in the VM by the window title bar. The title will contain an ID and the name of the VM. Within the command prompt the mounted location is accessible to start the installer.turbo-cmd

Just like other virtualization solutions it is recommended to disable automatic updates. In my example I used Windows 7 to create the container as you can see based on the theme of mRemote.

turbo-building-mremote

After the installation and configuration is done the command prompt can be closed.

The next step is to commit the changes. A commit is applying the changes in your local copy. This means it is not directly pushed towards the central hub. In a commit the parameter –startup-file needs to be specified which is executed when the VM is started. In order to commit use the following command:

turbo-commit-vm

The final step is to push the VM:

turbo-push

After you pushed the VM it will be available on the “hub” website of Turbo. Within the hub additional information can be added to the VM like a icon and description of the application. This is also the location where the VM can be set to private or public.

turbo-website-vm

Creating a release:

When a VM is pushed to the hub it is not directly set as a release. By using the release command the VM can be set to a specific release number.

turbo-release

Now the VM is marked with a release number it can be pushed to the hub.

turbo-push-release

As you can see in my example the mRemote VM is now available as release 1.0.

turbo-website-release

Running a VM:

In order to run a VM on another machine you need to make sure the client is installed. On the hub of the VM a command is shown to run the VM. I used a different machine which is running Windows 10 to run my mRemote VM. In my example the mRemote VM can be stated by this command:

turbo-run

As you can see based on the screenshot mRemote is now running on Windows 10.

turbo-running-mremote

To easily share VM’s, Turbo has created a features to embed public VM’s on a website. This allows others to quickly acces VM’s like this:

Conclusion:

I like the concept of the centralized cloud hub and it can be very valuable for small start-ups. For the larger organizations Turbo offers an on-premise solution which allows you to host your own hub. More information including pricing can be found here:

To be honest my hands-on experience is still basic and I started simple to better understand the technology. Application container technology is new for me and this was my first hands-on experience with a container solution and I have to say i’m quite impressed. The look and feel of Turbo is very nice and after I followed the guide I managed to get it running quite quick. It is recommended to use a guide if you are new to Turbo, otherwise you will end up stuck like I had in my first attempts.

I hope this blog post is useful to have a better understand how Turbo works and if you have questions or remarks please leave a comment.