Amazon AppStream : un hybride PaaS - IaaS

Par:
francoistonic

mar, 25/03/2014 - 18:28

Amazon Web Services propose avec son nouveau service AppStream, une approche originale pour déployer et exécuter des applications natives sans faire une migration spécifique sur une plate-forme PaaS, ni passer par de la machine virtuelle. AppStream se propose de reprendre l'idée du streaming vidéo pour streamer des applications.

Le principe est assez simple : on prend une application Windows, on incorpore les API et le kit de développement AppStream, on recompile pour créer une package applicatif dédié AppStream. Puis on déploie sur le service cloud. Pour l'utilisateur, l'application est accessible depuis une application cliente pour se connecter à votre application. On profite des processeurs, de la GPU et le service est multi-système, multi-terminal. Ce stream applicatif utilise le H.264, format vidéo standard. Comme lui, AppStream s'adapte aux contraintes réseaux de l'utilisateur. En réalité, AppStream n'utilise pas H.264 directement, le service s'appuie sur un protocole qui lui est propre : STX. "Le protocole STX d'Amazon AppStream est un protocole propriétaire utilisé pour diffuser en continu des vidéos d'application de haute qualité, quelle que soit la qualité de la connexion. Il diffuse le contenu vidéo et audio encodé à l'aide de la norme H.264 via la couche transport UDP. Le protocole capture également les données d'entrée des utilisateurs et les envoie via TCP vers l'application diffusée en continue depuis le cloud. Tout au long de ce processus, l'état du réseau fait l'objet d'un suivi continu, et ces mesures sont envoyées à l'encodeur se trouvant sur le serveur. Celui-ci réagit de manière dynamique en modifiant l'encodage vidéo et audio en temps réel afin de fournir un flux de haute qualité, adapté à un large éventail d'applications et de facteurs affectant le réseau." dixt Amazon. Les instances des applications fonctionnent sur Amazon EC2.

Actuellement, seules les applications Windows (compatibles Windows Server 2008 r2 : AppStream fonctionne sur Windows Server) écrites en C++ fonctionnent et si elles sont 64 bits. Théoriquement, des applications C# ou VB (.Net) peuvent être compatibles en utilisant le SDK C++ AppStream (en utilisant du code C++ dans le code non C++). Pour le moment, les applications OS X / Linux ne fonctionnent pas. 

Un des scénarios évoqués est d'utiliser AppStream pour les rendus 3D (de jeux), les simulations gourmandes en GPU, etc. 

AppStream est un service tout compris : instance, cache, CDN. Par contre, actuellement, il faut rester connecter pour pouvoir utiliser l'application, le mode déconnecté n'est pas disponible. Aucun SLA n'est fourni par Amazon mais la latence annoncée est faible (- 100 ms). "La latence est le temps nécessaire à votre application pour réagir à une action de l'utilisateur, comme un clic de souris, une pression sur une touche ou une interaction tactile. La manière de percevoir la latence varie selon les personnes et le type d'application utilisé. Par exemple, les applications impliquant peu d'interactions avec l'utilisateur ou ne s'actualisant que rarement peuvent être utilisées avec un temps de latence plus important que les applications qui réagissent en permanence aux actions de l'utilisateur, comme les jeux de course automobile. Dans le cas d'une application hébergée sur Amazon AppStream, le service n'ajoute qu'une faible latence liée au processus de capture et d'encodage du flux vidéo, qui est par ailleurs optimisé de manière à garantir une latence minimale. De plus, le protocole STX et le processus d'encodage d'AppStream ont été configurés afin de minimiser la latence, même lorsque certains facteurs viennent affecter l'état du réseau." précise Amazon.

La facturation se fait à la seconde et revient à 0,83 $ / heure. 20 heures sont offertes ! Le service est disponible en région USA Est. Quand d'autres régions seront ouvertes, AppStream choisira automatiquement la région la plus proche de l'utilisation. 

Le monitoring se fait dans CloudWatch. La supervision et le tuning sont deux fonctions importantes qu'Amazon devra proposer.

Pour le développeur, deux SDK sont à intégrer : 

- SDK C++

- SDK Java pour le spash screen, la gestion de la licence, l'autorisation d'accès à l'application.

Notre avis  : AppStream est une approche originale qui peut trouver une réelle place sur le marché. Aujourd'hui, pour "porter" des applications natives, les possibilités ne sont pas toujours rentables ou trop lourdes à réaliser. Si AppStream réussit à s'étendre et à supporter d'autres langages et systèmes, la plate-forme hybride PaaS - IaaS pourrait être une solution d'avenir. Reste aussi à intégrer les applications streamées dans la marketplace. Et le modèle économique reste à préciser. 

site : http://aws.amazon.com/fr/appstream/

François Tonic cloudmagazine.fr