BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Articles Startup Architecture : Touchify

Startup Architecture : Touchify

Lors de l'événement Azure Camp qui a eu lieu cette semaine, InfoQ FR a pu rencontrer les startups qui participent à la conférence afin de faire un retour d'expérience sur leurs systèmes de production. Voici le second épisode de cette série, consacré à Touchify. Maxime Luce, son fondateur, répond à nos questions.

InfoQ FR: Bonjour Maxime, pouvez-vous vous présenter et nous introduire votre startup, Touchify ?

Maxime Luce: Bien sûr ! Touchify est une startup qui révolutionne la façon de présenter et de diffuser du contenu digital à l'ère du tactile.

Concrètement, nous fournissons un éditeur graphique, simple à utiliser, qui permet de concevoir des présentations interactives et spécialement adaptées aux écrans tactiles. Cet éditeur est hébergé sur notre site internet et est accessible en beta privée à l’adresse : https://app.touchify.co.

Les présentations peuvent ensuite être diffusées sur différents canaux, elle peuvent être partagées sur les réseaux sociaux ou tout site internet, elle peuvent être lues à l’aide de l’application Touchify et peuvent être packagées sous la forme d'applications natives qui peuvent ensuite être déployées en interne sur les tablettes de l'entreprise ou sur n'importe quel Application Store.

Avec Touchify, vous pouvez enfin transformer tous vos contenus commerciaux au format tactile sans aucunes compétences techniques.

Pour résumer, Touchify est le logiciel de présentation pour les écrans tactiles.

InfoQ FR: Quels sont les gros challenges techniques pour Touchify ?

Maxime Luce: Touchify est un gros challenge technique, le contenu créé dans Touchify doit pouvoir s'exécuter sur tous les périphériques tactiles existant, nous sommes donc passer par une très longue phase de recherche et de développement pour en arriver à une solution, basée sur des technologies web modernes, performante et fonctionnelle sur tous les périphériques. Nous avons donc travaillé d'arrache-pied en collaboration avec de nombreux acteurs de l'open-source afin de corriger et de transformer les librairies existantes et les optimisées pour les intégrés dans un projet de la taille de Touchify.

De plus, les présentations de Touchify sont analysées et optimisées à la volée afin d'en améliorer la qualité finale. Enfin, nous traitons et faisons du reporting de la base statistiques très précise qui concerne l'utilisation des présentations.

InfoQ FR: Pouvez-vous nous décrire votre infrastructure de production actuelle ?

Maxime Luce: Aujourd'hui, nous avons créé une architecture orientée cloud, c’est-à-dire que notre architecture est avant tout efficace dans un environnement cloud. Elle est basée sur des principes de scalabilité et de haute-disponibilité. Les différentes parties de notre architecture sont donc "stateless", ce qui signifie qu'elles peuvent être recyclé sans affecter le fonctionnement global de l'application.

Notre architecture peut se résumer en 3 parties :

  • Client : Application JavaScript qui tourne sur les navigateurs ou sur les tablettes, ou smartphones.
  • Server: Gère l'authentification et les problématiques de sécurité.
  • Worker : Gère la réalisation des tâches longues et complexes.

Client et Server sont installés derrière des Traffic-Manager pour réduire la latence dans les différents pays (aujourd'hui France et Etats-Unis).

Le Client est aussi répliqué sur un stockage Blob Azure, couplé à un CDN et du ARR pour livrer les ressources nécessaires le plus rapidement possible.

InfoQ FR: Vous allez consacrer un talk à l'Azure Camp aux infrastructures web, avec notamment l'Azure Traffic Manager, Microsoft Service Gateway, ARR, Varnish, Nginx, ainsi que Barracuda. Certains ont de larges recouvrements fonctionnels. Quels sont les cas d'utilisation que vous préférez pour chacun ?

Maxime Luce: L'Azure Traffic Manager est une solution très simple à mettre en place et très efficace pour répliquer un site internet sur plusieurs continents. Il permet de réduire la latence et ainsi d'améliorer l'expérience utilisateur.

On peut faire le même type de procédé aujourd'hui sur les Blob Storage en utilisant le CDN de Microsoft Azure qui va avoir pour rôle de répliquer la donnée proche de l'utilisateur final.

Aujourd'hui, l'utilisation de solutions telles que ARR ou bien Microsoft Service Gateway sont presque obligatoires pour assurer un niveau d'abstraction suffisant entre le point d'entrée utilisateur et l'application qui est délivrée. Cela permet une meilleure gestion du cycle de développement et du cycle de vie d'une application ou d'un service dans le cloud ainsi que l'intégration de solutions de test tels que des tests A/B et autres.

InfoQ FR: L'adoption du cloud par opposition à des hébergeurs classiques était-elle évidente pour vous, et ce choix a-t-il eu des répercussions sur votre architecture et votre manière de travailler ?

Maxime Luce: Aujourd'hui, une startup recherche au fort taux de croissance durant ces premières années et se doit donc de réfléchir à l'exploitation du cloud pour héberger son projet. Aujourd'hui le cloud permet de concentrer les efforts sur le développement et la maintenance de l'application tout en maitrisant de manière très précise les coûts d'hébergement.

Cependant, l'adoption du cloud force l'utilisation d'architectures très spécifiques à celui-ci, ceci pour utiliser au mieux les services proposés, elle pousse aussi à réorganiser les processus de travail, pour les améliorer et les simplifier. Par exemple la mise en place d'une vrai Intégration Continue est quelque chose qui est presque obligatoire lorsque l'on travaille sur des plateformes comme Microsoft Azure car cela permet de concentrer les développeurs sur le code en automatisant tout le processus de test, compilation, déploiement, test fonctionnels.

Pour conclure, je pense qu'une startup en 2014 se doit de considérer le cloud dès l'amorçage de son projet.

InfoQ FR: Quelles évolutions d'architecture et de production envisagez-vous dans un futur proche ?

Maxime Luce: Certains de nos services doivent être cachés derrière un Service Gateway. Nous devons aussi repenser notre architecture de background worker. Les background workers permettent d'exécuter des tâches complexes afin d'éviter de surcharger les services.

Nous expérimentons aussi continuellement de nouvelle façon d'architecturer et d'organiser les projets pour répondre au mieux aux problématiques que résoud le cloud.

InfoQ FR: Vous avez quelques projets hébergés sur Github/CodePlex/etc, pouvez-vous nous donner quelques détails sur ces projets et sur votre implication dans l'open-source ?

Maxime Luce: En effet, nous développons et soutenons activement la communauté open-source. Nous avons développés de nombreuses librairies qui simplifie le développement d’applications web complexes, basées sur les technologies JavaScript.

Nous contribuons aussi énormément aux projets open-sources qui nous concernent tels que Apache Cordova (plus connu sous le nom de PhoneGap).

Nous souhaitons vraiment faire avancer les technologies web et nous souhaitons nous impliquer de plus en plus jusqu'à devenir des acteurs de l'innovation dans ces technologies.

Vous pouvez retrouver nos travaux sur notre GitHub à l’adresse : http://github.com/spatools.

Vous pouvez regarder la conférence de Maxime Luce à l'Azure Camp dans le replay ci-dessous.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT