Turbo is a new way of delivery Windows apps to any Desktop. The company claim it to be the fastest way to run applications.
I’ve been running Turbo for a couple of weeks now and in this post, I’m going to show you how their technology might change how we manage applications in the near future. Let’s get started!
Turbo Installation
Click here to download the Turbo Client or Turbo MSI Client. To manually install in multi-user environments you need to open an elevated command prompt:
1 |
turbo-plugin.exe --all-users |
Automated with MDT or SCCM.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Write-Verbose "Setting Arguments" -Verbose $StartDTM = (Get-Date) $Vendor = "Misc" $Product = "Turbo" $PackageName = "turbo-plugin" $Version = "3.33.1109.0" $InstallerType = "msi" $LogPS = "${env:SystemRoot}" + "\Temp\$Vendor $Product $Version PS Wrapper.log" $LogApp = "${env:SystemRoot}" + "\Temp\$PackageName.log" $Destination = "${env:ChocoRepository}" + "\$Vendor\$Product\$Version\$packageName.$installerType" $UnattendedArgs = "/i $PackageName.$InstallerType ALLUSERS=1 /qn /liewa $LogApp" Start-Transcript $LogPS CD $Version Write-Verbose "Starting Installation of $Vendor $Product $Version" -Verbose (Start-Process msiexec.exe -ArgumentList $UnattendedArgs -Wait -Passthru).ExitCode Write-Verbose "Customization" -Verbose Write-Verbose "Stop logging" -Verbose $EndDTM = (Get-Date) Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalSeconds) Seconds" -Verbose Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalMinutes) Minutes" -Verbose Stop-Transcript |
Turbo Configuration
Signup for an account and create an API key for your organization or user (required for multi-user environments).
1 2 |
turbo login --api-key=YOURAPIKEYHERE turbo subscribe --all-users xenappblog |
Automated with MDT or SCCM. Please note that a restart is required prior to configure Turbo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Write-Verbose "Setting Arguments" -Verbose $StartDTM = (Get-Date) $LogPS = "${env:SystemRoot}" + "\Temp\Misc Turbo Customization.log" Start-Transcript $LogPS Write-Verbose "Turbo Configuration" -Verbose turbo login --api-key=YOURAPIKEY turbo subscribe --all-users xenappblog Write-Verbose "Turbo Synchronization" -Verbose turbo subscription update xenappblog turbo subscription update xenappblog turbo subscription update xenappblog Write-Verbose "Stop logging" -Verbose $EndDTM = (Get-Date) Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalSeconds) Seconds" -Verbose Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalMinutes) Minutes" -Verbose Stop-Transcript |
Here an example output of the script running on Windows 2016 TP4.
And this is when the magic starts to happen. If we take a look you’ll see that I’ve got all my favorite applications populated.
So how did they end up there? Well those are the applications that I have selected as Favorites through my account. This can be done through the web or the local Turbo application (System Tray).
You might notice that most applications has Latest at the end. What does that mean?
Well, when you ran the turbo subscribe command it also created a Scheduled Task that automatically updates your applications once per day.
So when new application versions are released, Turbo will automatically package and push those to your servers.
No more need to manually update Google Chrome, Java, Flash etc every time there’s an new version.
All applications are now Evergreen. Here’s a small list of the latest updates:
All applications are isolated in containers, but since we used the –all-users command all applications are visible through Add/Remove Programs.
Simply publish your Turbo applications through Citrix Studio.
Turbo Awesomeness
Are you excited? I’m because I haven’t lifted a finger, didn’t download or install any applications manually. The best part is that they’re all completely isolated in containers and will always have the latest version.
But there’s more, much more…
The biggest enterprise problem today is the combination of browser and plugin versions. A lot of web apps only work with a certain browser.
Let’s run Firefox version 10.
1 |
turbo run firefox:10 |
Cool, could I please get that order with Java 6.26 and Flash 10 as well please.
1 |
turbo run jre:6.26,flash:10,firefox:15 |
Maybe you’ve tried to Sequencing SQL Server Management Studio 2014 with App-V? While it’s possible with App-V, it’s not supported by Microsoft and you still need to install Visual Studio 2010 on the guest OS (almost 1GB).
So why don’t you just add it to your favorites instead or run it like this:
1 |
turbo run ssms2014 |
Custom Containers
In the examples above we used the turbo run command. That’s not very useful in a Citrix environment, since we need to be able to download our custom containers.
To create a new container we use the turbo new command.
Below are two examples on how to create, commit and push the customized container to your online Turbo repository.
1 2 3 4 5 6 7 |
turbo new jre:6.26,flash:10,firefox:15 turbo commit [container-id] custom-firefox15-old-plugins turbo push custom-firefox15-old-plugins turbo new jre:6.26,flash:10,ie:8 turbo commit [container-id] custom-ie8-old-plugins turbo push custom-ie8-old-plugins |
That’s it, let’s Turbo!
Sweet write-up!
Thanks Mike
ProClick!
How’s performance and the user experience with these applications? Any drawbacks or caveats to pursuing this model organization-wide?
Hi Andrew. I think this is the future of app delivery. Still early days and nothing is official released with Citrix support. Bugs are beeing fixed all the time based on beta users feedback. Overall performance is good, don’t see any difference between App-V and Turbo.
Does registry and group policy management of app settings work the same way?
Yes, the Turbo folks have tested it with both RES and AppSense.
This looks fantastic and with integration with RES could be a real game changer and hopefully mean the end of application silos
Yes, containers and layers are the future of application management.