Itinéraire de consultant : découvrez les coulisses d’un projet Serverless

AWS Serverless

Quel est le quotidien de nos consultants en mission ? Quels sont les challenges techniques qu’ils doivent relever et quelles solutions sont apportées ? Derrière une mise en production réussie, un déploiement ou un Proof of Concept, il y a des consultants, une équipe, des technologies et beaucoup d’expertise et d’intelligence collective ! Cette série d’articles vise à vous dévoiler l’envers du décor, à travers le témoignage de nos consultants.

Il y a bien longtemps, dans une galaxie très lointaine, Tarik était développeur Java J2EE. Au fil de ses expériences, il en est venu à s’intéresser aux technologies autour de Ruby (Ruby On Rails, Grape, EventMachine, Sneakers etc.), à se familiariser avec les Frameworks javascript coté client notamment Angularjs. Tarik est également adepte de Jenkins et ZenHub pour l’intégration continue et la gestion de projet. Depuis son arrivée chez D2SI, Tarik a contribué à un projet IoT et Big Data s’appuyant sur Docker et Promotheus pour une start-up, à du développement Elasticsearch et Kibana pour un grand compte, mais également au projet Serverless que nous vous présentons ici.

 

Peux-tu décrire le projet Serverless sur lequel tu as travaillé ?

L’objectif de ce projet était d’exploiter des données collectées via des capteurs répartis partout dans le monde. Après captation, ces données étaient stockées sur S3 sous forme de fichier plat. L’objectif était de récupérer ces fichiers sur AWS S3, de les intégrer dans une base de données, et de construire une API pour ensuite interroger la base et générer un tableau de bord incluant des graphiques pour suivre l’évolution de différents indicateurs à travers le temps.

Pourquoi ce projet a-t-il été réalisé en Serverless ?

Ce projet nous a été confié par un client avec qui nous avons une relation de confiance, il nous a donc laissé carte blanche quant au choix de la solution. D2SI avait déjà mené d’autres projets en Serverless chez ce client, donc nous avons continué sur cette lancée. L’idée était de profiter de la flexibilité et de la rapidité offertes par le Serverless. Nous avions une forte contrainte de temps pour la livraison de ce projet, le Serverless nous évitait d’avoir à monter un serveur. Cela permet de se concentrer sur le code et le déploiement sans avoir à faire intervenir une équipe de production pour provisionner une infrastructure. Dans ces conditions, monter un POC est très rapide : en moins de trois jours de travail, on peut avoir un service fonctionnel.

Avec quelles technologies as-tu travaillé ?

AWS Lambda pour la gestion des événements, DynamoDB comme base de données, S3 pour le stockage, et SNS pour notifier Lambda de l’arrivée d’un nouveau fichier à charger dans la base.

Quel était le contexte particulier de ce projet ?

Le client devait gérer l’arrivée d’un projet non planifié, donc c’était une intervention dans l’urgence ! Heureusement notre équipe est structurée de façon à pouvoir réagir très rapidement. C’est pour cette raison que le client fait appel à nous sur ce type de projet : D2SI est capable de mobiliser rapidement un consultant.

Comment se passe le travail en mode projet ?

C’est une organisation qui offre plus de liberté et de souplesse puisque l’on peut très rapidement passer d’un projet à l’autre : un consultant peut libérer facilement une ½ journée pour un client, c’est une organisation très réactive. Ce mode de fonctionnement est très différent de la régie où on est plusieurs années chez le même client. Passer d’un projet à l’autre demande d’être très réactif et d’être prêt à délivrer très rapidement. C’est une certaine pression, il faut être capable de fournir un résultat en peu de temps, parfois en une ou deux journées. Il faut aimer ce rythme et pouvoir s’adapter au changement…certains préfèrent plus de stabilité, moi j’apprécie de pouvoir travailler sur des sujets très variés. Dans le cas de ce projet, le Serverless était un nouveau sujet pour moi et j’avais envie de découvrir AWS Lambda.

Découvrir le Serverless et livrer un projet en peu de temps, c’est un challenge ?

Avec l’expérience j’ai pu développer une méthode de travail qui me permet d’apprendre de nouvelles technologies très rapidement. Une fois que tu sais développer, monter une infrastructure, bref quand tu maîtrises la base, le reste, ce n’est que de la technologie. Pour me former sur AWS Lambda, j’ai commencé à découvrir l’outil et son fonctionnement sur AWS, puis j’en ai discuté avec Clément et Gauthier qui avaient déjà travaillé sur ce sujet. Ils ont partagé avec moi ce qu’ils savaient sur le sujet, ce qu’ils ont découvert, leurs astuces, ensuite j’ai pu capitaliser là-dessus. Je pense qu’il faut profiter au maximum des connaissances déjà acquises par les collègues : passer plusieurs jours tout seul à apprendre ce qu’ils savent déjà est une perte de temps.

Qu’est-ce que tu apprécies dans ce mode de fonctionnement ?

La nature très variée des projets, les interactions avec les collègues…ici on travaille très souvent avec des personnes différentes, sur des projets et des problématiques différentes. Cela donne une grande ouverture d’esprit, ça permet aussi de se remettre en question. Il y a une vraie collaboration et un échange de savoir : on prend le temps d’analyser quels choix techniques ont été faits sur d’autres projets, de voir si ces choix seraient pertinents dans un autre contexte, ou s’il faut partir dans une autre direction. J’aime beaucoup cette façon de travailler. C’est un modèle très intéressant par sa capacité à faire collaborer avec des personnes issues d’horizons très différents. On travaille avec les commerciaux, les RH, la communication… il y a beaucoup de transparence, cela ouvre les perspectives et ça me permet aussi d’apprendre sur des sujets très variés.

Quelles sont les qualités requises pour faire ce métier ?

Il faut aimer travailler avec plusieurs clients, apprécier le contact et pouvoir communiquer chaque jour avec des personnes différentes. Les clients te challengent tous les jours, il faut donc être très réactif, aimer apprendre et oser s’aventurer hors de sa zone de confort.

Nos projets vous plaisent ? Discutons-en !

Commentaires :

A lire également sur le sujet :