À l'occasion de Microsoft experiences '16, InfoQ FR a pu échanger avec Guillaume Fraybin de Clic2Buy sur leur architecture technique et notamment leur stack Big Data sur Azure.
InfoQ FR : Bonjour Guillaume, en préambule, peux-tu nous parler de Clic2Buy et des fonctionnalités métier de votre produit ?
Guillaume: En synthèse, Clic2Buy est une startup lilloise basée à Euratechnologies, qui permet aux consommateurs d'acheter directement depuis les supports de communication des marques (site web, réseaux sociaux, vidéos, print...) en les redirigeant vers les distributeurs. Concrètement, nous ajoutons un widget qui géolocalise le consommateur, référence les distributeurs qui ont le produit (en livraison à domicile, en clic&collect ou en magasin) et in fine ajoute au panier le produit sélectionné.
InfoQ FR : Peux-tu nous décrire l'architecture technique globale ?
Guillaume: Notre architecture est actuellement divisée en 3 couches :
- Une partie data qui collecte et agrège l'ensemble des données issues de nos partenaires distributeurs ;
- Une partie application métier qui nous permet de travailler la donnée, en extraire les informations pertinentes pour nos clients ;
- Une partie front qui comprend l'ensemble des outils que nos clients installent sur leurs sites ainsi que l'accès au back-office.
Nous nous appuyons sur Azure dans une optique plus orientée IaaS que PaaS même si nous utilisons ponctuellement quelques briques services ; la raison principale est qu'en débarquant sur Azure, il y'a un peu moins d'un an, nous avons passé pas mal de temps à tester les scenarii qui fonctionnaient le mieux avec nos applications mais de trop nombreuses spécificités nous ont poussé à opter pour une utilisation IaaS. Au fur et à mesure, nous nous intéressons aux web et worker roles mis à disposition sur la plateforme Azure mais nous avançons avec parcimonie.
Côté technos, l'équipe de dev utilise selon les projets : Ruby on Rails, nodejs, Go, Angular, Postgres, MongoDB, Hadoop, Java, pdi, Redis, nginx, Elasticsearch. Chaque développeur a la liberté de proposer un nouvel outil après l'avoir testé et validé le bénéfice que ce soit en termes de qualité ou de gain de temps. Nous avons ainsi complété notre pool d'outils SaaS avec Datadog, Runscope, Mailgun, Opbeat, Coveralls, Travis, Gemnasium, GitHub bien sûr, et Aurélien notre super stagiaire.
Côté trafic, 4 millions de personnes activent nos services tous les mois, et plusieurs dizaines de millions d'informations sont mises à jour quotidiennement.
Nous avons des ambitions internationales mais nous avançons avec pragmatisme en accompagnant nos clients et sur ce point, les équipes Azure France nous ont fait profiter de leurs compétences pour nous aider dans nos choix d'infra hors France.
InfoQ FR : En termes de déploiement et d'infrastructure-as-code, qu'avez-vous fait comme choix ?
Guillaume: Rien que du très classique du fait de notre utilisation typée IaaS, l'objectif était pour nous de pouvoir automatiser une partie des tâches récurrentes à savoir : contrôle automatique de version pour mises à jour de sécurité validées, mises à jour des configurations de composants applicatifs, déploiement automatique par couche de VM (data, métier, front) et paramétrage, upstart des applications, déploiement automatique du monitoring et des backups.
InfoQ FR : Pour le monitoring technique et métier, comment avez-vous géré ?
Guillaume: Pour ce qui est du monitoring technique, nous avons complété Nagios par Datadog qui apporte une vision applicative plus précise. Avec l'augmentation du trafic, nous avions le choix soit d'augmenter les capacités machines, soit de mettre le doigt où ça coince et de trouver une solution plus pertinente côté dev. Nous avons choisi la seconde... Côté métier, nous avons développé un outil maison permettant de prendre des mesures sur l'ensemble de la chaîne de valeurs qui sont affichées dans nos bureaux et permettent d'intervenir si la qualité de nos données ou du service rendu est dégradé.
InfoQ FR : Un petit aperçu de la roadmap technique ?
Guillaume: L'industrialisation de tous nos process est le maître mot pour cette fin d'année, et à court terme nous envisageons la mise en place d'un auto-scaling horizontal. Nous travaillons également à la conception d'un outil permettant à n'importe quel partenaire distributeur de rejoindre notre écosystème.
InfoQ FR : Merci Guillaume et à bientôt.
Guillaume: Merci, et à l'occasion, passez prendre un café à Euratech pour y découvrir l'écosystème d'entreprises incroyable qu'on y trouve !