La plate-forme Turbo comprend à la fois un moteur de virtualisation d'applications et un moteur de conteneurisation. L'implémentation du conteneur Turbo est construite au-dessus du moteur de virtualisation d'applications Turbo (généralement appelé « virtualisation d'applications »), mais inclut de nombreux composants supplémentaires.
L'outil de virtualisation d'applications traditionnel de Turbo s'appelle Turbo Studio . Comme d'autres systèmes de virtualisation d'applications, Turbo Studio est basé sur un modèle « statique » de configuration d'applications virtuelles. L'état de la machine virtuelle est créé en capturant des snapshots d'un système physique (ou physique virtuel). Ceci est similaire aux processus utilisés par d'autres produits de cette catégorie tels que Microsoft App-V et VMware ThinApp. Un inconvénient majeur de cette approche est la nécessité d'avoir une machine physique ou virtuelle propre à utiliser comme cible pour le « séquençage » (App-V) ou la « capture » (ThinApp).
Les conteneurs turbo offrent un modèle de configuration « dynamique ». L'utilisateur reçoit une image de base propre (ou une image de base créée en combinant un ensemble d'images source préconfigurées) et installe, configure et exécute des applications dans ce conteneur. Le modèle de conteneur offre un avantage significatif par rapport au modèle de virtualisation d'application traditionnel en ce sens qu'une machine propre n'est pas requise pour créer des environnements virtuels. Les conteneurs turbo sont très légers et peuvent être très rapidement instanciés, validés et partagés vers le concentrateur sur le Web.
En outre, les conteneurs prennent en charge des concepts tels que commit, push / pull et rollback, ce qui permet de capturer l'état du conteneur à des moments précis et de le partager avec des collaborateurs. Turbo prend également en charge une primitive puissante unique, appelée « continuation », qui permet de déplacer l'état du conteneur d'exécution entre les périphériques. « Continuation » est liée à un identifiant d'état qui est une valeur de hachage calculée à partir de l'état dynamique d'un conteneur.
Le système de conteneurisation Turbo comprend :
- Turbo Command Processor : La commande turbo console fournit une interface de ligne de commande pour les opérations de conteneur standard, telles que la création, l'arrêt, la validation et la transmission de conteneurs.
- TurboScript : TurboScript est un langage de script qui prend en charge l'automatisation des tâches de création et de maintenance des conteneurs. TurboScript supporte toutes les options de la ligne de commande ainsi que les primitives d'ordre supérieur telles que l'utilisation, la possibilité de modifier
- SpoonDB : SpoonDB est un système de stockage dédupliqué optimisé pour prendre en charge le stockage, la gestion des versions, la restauration et la transaction delta de l'état des conteneurs et des images. Turbo utilise un nouveau protocole de synchronisation différentielle qui prend en charge la synchronisation rapide sur des réseaux étendus tels qu'Internet.
- Turbo Hub : Le Turbo Hub est un référentiel de conteneur en ligne qui permet de partager facilement des conteneurs avec des collaborateurs. Le Turbo Hub assure également la synchronisation de l'état du conteneur, permettant la poursuite de l'exécution du conteneur sur différents périphériques.
En outre, la machine virtuelle Turbo a été considérablement améliorée pour prendre en charge les primitives supplémentaires requises par le moteur de conteneurisation. L'empreinte de compatibilité des applications de Turbo a été étendue pour prendre en charge des applications serveur supplémentaires.
En quoi Turbo est-il différent d'App-V ou de ThinApp ?
Turbo fournit un moteur de virtualisation d'application et des outils associés, tout comme App-V et ThinApp. Cependant, les implémentations sous-jacentes entre les trois systèmes sont très différentes. Par exemple, App-V utilise des pilotes de périphérique (et nécessite donc des privilèges d'administration sur le bureau) et nécessite une infrastructure de backend supplémentaire, telle qu'Active Directory et SQL Server. ThinApp est une implémentation en mode utilisateur mais diffère dans de nombreux détails ayant une incidence sur la couverture de compatibilité et les modes de livraison disponibles. App-V et ThinApp requièrent toutes deux un « séquençage » ou une « capture » des configurations sur une machine propre afin de créer des paquets d'environnement virtuel.
Les solutions Microsoft App-V et VMware ThinApp n'offrent pas un système de conteneurisation prenant en charge les primitives de conteneur essentielles telles que le stockage d'image, le versionning, l'annulation, la virtualisation de réseau ou la liaison de conteneur. Les moteurs de virtualisation d'applications partagent certaines caractéristiques communes aux conteneurs, comme la possibilité d'exécuter un logiciel dans un espace de noms isolé du périphérique hôte. La conteneurisation quant à elle requière des composants supplémentaires, tels que le système de stockage de conteneur, le processeur de commandes, le moteur de script et le concentrateur. Ces fonctionnalités supplémentaires du moteur de virtualisation des applications principales permettent de prendre en charge la configuration dynamique des packages d'applications.