mes missions consistent à identifier les problèmes et les axes d'amélioration sur :
• la configuration des composants de la stack
• les jobs d'ingestion, de traitement et de restitution des données
Je participe également à la conception et à l'implantation d'un nouveau bus de traitement des données, basé sur Spring Boot et hébergé sur Kubernetes (OpenShift)
J'ai également défini l'architecture technique de la nouvelle offre de service Kafka :
• Multi data-center
• Hautement disponible
• Basée uniquement sur des composants Open Source : Kafka / Cruise Control / Grafana / Prometheus / Spring Boot
• Sécurisé, en développant un plugin Kafka d'habilitations basé sur les rôles
Enfin, j’ai réalisé un POC permettant de gérer les droits d’accès aux données du cluster Hadoop : les droits d’accès devant s’appliquer sur des règles et héritages complexes et non bornés, nous avons mis en place un moteur de règles sur Apache Jena devant être capable d’accorder/refuser un accès à une données pour un utilisateur donné en se basant sur ses droits propres, ceux de ses groupes et rôles. J’ai également étudié la mise à l’échelle possible sur Apache TinkerPop / TitanDb sur Hadoop.
Portfolio :
• ********?v=XqB3ex34JRg
affecté au support N3 et à l’architecture technique des composants Big Data, ELK et authentification.
Architecture technique Big Data:
- Réalisation de divers POC principalement autour de Spark et de Solr
- Conseil et documentation autour des architectures techniques détaillées des cas d’usages de la plateforme
- Support N3
Support ELK :
- Support aux intégrateurs sur l’ingestion des logs
- Support à l’exploitation sur l’administration d’ElasticSearch
Support Authentification :
- Support aux développeurs sur l’intégration des kits d’authentification (SSO, OAuth)
Développement full-stack :
- Conception et développement d’outils de monitoring et d’aide au diagnostique technique ; backend Java/Spring boot, frontend Angular/TypeScript
un outil d’extraction de statistiques sportives à partir des vidéos des matchs.
Réalisation complète de la solution :
- prototypes écrits en Python / OpenCV / TensorFlow
- implantation « industrielle » des algorithmes en GoLang / C++ / OpenCV / TensorFlow
- Applications web et mobiles, backend Java / Spring Boot, frontend Angular / TypeScript
- API REST Java / Spring Boot
- Base de données MongoDB
en charge de la réalisation technique des socles Data transverses.
Solution d'analyse de logs basée sur ElasticSearch, Logstash et Kibana (ELK) :
- Réalisation d'un comparatif entre Solr et ElasticSearch pour l'indexation des données
- Réalisation d'un POC sur Logstash permettant d'analyser une semaine de logs d'une application en production (essai sur 100 millions de lignes de logs)
- Réalisation de tableaux de bords Kibana
- Documentation du socle ; définition des procédures d'installation et d'exploitation du cluster.
- Industrialisation du déploiement avec Chef! et Perl
- Reversement auprès des équipes de production
- Evangélisation des différentes équipes de la DSI intéressées par le sujet.
- Résultat : cluster ELK "temps réel" accueillant 12 milliards de lignes de logs
réalisation d’un comparatif GWT/AngularJS afin d’étudier l’opportunité de transférer les services clients GWT vers AngularJs. Réalisation d’un framework pour les commandes spécifiques des automates sur AngularJs (impression de tickets, distribution de billet, etc.) et intégration de certains services client sur AngularJs.
Organisation :
Equipe de dix personnes, en mode agile (SCRUM).
sur la réalisation de l’outil de gestion des guichets automatiques de banque (NCR Connections et NCR Promote) utilisé par plusieurs grandes banques en Europe.
Dans un premier temps, la mission a consisté en un audit de l’application GWT, afin d’améliorer les performances, notamment sur des guichets automatiques sur réseau GSM, disposant de peu de ressources matérielles.
Prise en charge de l’application existante (commencée en 2008) développée sur Spring/Hibernate, avec un frontal GWT. Intervention à tous les niveaux de l’application :
• conception technique détaillée des nouvelles fonctionnalités
• développement des nouvelles fonctionnalités
• correction de bugs et améliorations
• rédaction de documentation technique
sur la réalisation d'un tableau de bord de l'état d'une ligne ADSL/VOIP/IPTV permettant aux téléconseillers de diagnostiquer rapidement la source d'un incident.
Mise en œuvre d'un ESB (Entreprise Service Bus) réalisant la fédération des webservices SOAP dispersés dans l'entreprise en un seul webservice REST, consolidant les données. L'ESB a été réalisé sur OSGI (Apache ServiceMix).
Application frontale en GWT (Google Web Toolkit) utilisant le service REST unifié pour présenter les données au téléconseiller.
Installation d’Apache ServiceMix en production et documentation de l'installation et de l'exploitation.
Organisation :
Equipe de six développeurs, en mode Agile (SCRUM), et piloté par la MOA de Bouygues Telecom.
sur les web services publiques et internes de la compagnie d’assurances. Migration des web services vers JBoss AS 7. Industrialisation des développements et de la recette.
Organisation :
Rattaché au pôle Java de la DSI, j’ai mis en œuvre la migration des applicatifs web services et l’industrialisation des développements dans une équipe de 8 personnes.
Web services :
Migration depuis une architecture entièrement Spring/Hibernate vers un applicatif JBoss AS 7 (JBoss-WS, EJB) et des bases de données Oracle, afin de déployer les applications sur un cluster JBoss Domain. J’ai également participé à la mise en place du cluster JBoss Domain avec les équipes d’exploitation.
Industrialisation des développements :
Elaboration d’une solution d’industrialisation pour le pôle Java :
• définition de la cible et des moyens à mettre en œuvre
• Installation des outils :
o Jenkins
o Nexus Sonatype
o XWiki
o Environnements de recettes et de production JBoss
• Authentification par LDAP sur tous les outils du socle
• Documentation des méthodes et formation des développeurs aux pratiques industrialisées
• Documentation des installations en production
• Déploiements automatiques en production, en livraison continue
Industrialisation de la recette :
Mise en place d’un cadre technique sur les tests fonctionnels automatisés :
• Tests fonctionnels Selenium
• Mise en place de bibliothèques d’aide à la rédaction de tests
• Exécution automatiques et intégration continue des tests
• Rapports d’exécution automatisés
au support de niveau 3 sur le Big Data :
- Maintien en conditions opérationnelles des plateformes du groupe
- Conception et développement de l'outillage socle et de nouveaux composants se basant sur les technologies fournies par la distribution Cloudera (Hadoop, Spark, Solr, etc.)
- Support aux développeurs Big Data (résolution de bugs, optimisation)
- Support aux analyses de performances (tuning Java, Hadoop, Solr, etc.)
- Réalisation d'outils de surveillance et d'analyse du Big Data avec ELK
Documentation du socle technique Jahia ; définition des procédures d'installation et de maintenance.
- Support aux développeurs
- Appuie production sur l'audit des performances Java en général.
Organisation :
Equipe de cinq personnes, en mode KANBAN.