Karavel
- E-commerce Architecte technique
Paris
2010 - maintenant
Contexte fonctionnel:
Karavel promovacance conçoit et vend via internet des voyages et plusieurs services associés aux séjours internet. Les sites web promovacance, Tati-vacances, Karavel, ABcroisiere, Un Monde à deux and Club Privé Vacances, partirpascher appartiennent au groupe Karavel. Le site principal a plus de 4 millions de visiteurs uniques par mois.
Réalisation:
En tant qu'architecte technique j'ai effectué les missions suivantes :
Urbanisation du Système d'information et mise en place d'une architecture orientée service (SOA) :
Le concept de service utilisé comme unité de design et d'urbanisation
Des services autonomes avec des limites explicites
Les limites des services matchent avec les limites des concepts fonctionnels qu'ils représentent
SOA EDA DDD CQRS
Définition de la stack des librairies et frameworks à utiliser pour le développement des applications
Couche présentation: freemarker, spring mvc, vaadin, jquery
Proxy inversé: varnish
Framework d'intégration: Camel, CXF
Outil de cache: ehcache, memcached
Framework IOC: Spring
Couche persistance: spring jdbc, hibernate
Outil GED: jackrabbit
Mise en place d'une software build factory :
Subversion, jenkins, nexus, sonar, maven, deployit
Conception de l'architecture des applications et suivi de leur implémentation
Assurer la qualité technique des applications (scalabilité, disponiblité, facilité d'évolution)
Identifier les exigences non fonctionnelles
Intégration avec le système legacy, conformité avec les bonnes pratiques d'achitecture
Cultiver/vulgariser un état d'esprit DevOps:
Infrastructure/platform as code: Chef, Vagrant
Provisioning des environnements dev/test/prod à partir du même code source
Déploiement automatique (Zero touch deployment)
Collectes des métriques avec des outils d'analyse de log: splunk, kibana, appdynamics
Diffusion des métriques de l'environnement de production aux devs, sysadmin et business analystes
Partage des feedback pour impliquer tous les participants (devs, ops, project managers)
Assurer la disponibilité de la Plateforme de production
Zero downtime deployment : features flipping, loadbalancing
Monitoring Appdynamics et Splunk
Analyse des threads et memory dumps
Support pour les équipes de développement et séances de revue de code
Tutoriels pour l'utilisation des frameworks
Processus de recrutement pour constituer les équipes de développement
Choix des solutions techniques et vulgariser leur adoption
Proof of concept (POC) et veille technologique
Moteur de recommandation (collaborative filtering), Moteur de recherche, l'écosystème Big data
Mise en place d'un moteur de recherche (elasticsearch) pour les produits du catalogue voyage
recherche textuelle, par facet et phonétique
Indexation de 60 millions de documents sur 10 machines
débit d'indexation 26 000 docs/sec
Environnement technique:
Java, Spring, Hibernate, Ehcache, Memcached, Json, Xml, Rest, Cxf, Saleforce, Splunk, Appdynamics, Deployit, Maven, Elasticsearch, Mysql, SqlServer, Camel, Soa, Cqrs, Ddd, Rest, Hateoas.
Société Générale / SGCIB
- Lead technique java Société générale
PARIS
2007 - 2010
Contexte fonctionnel : Outil de suivi de la Surveillance Permanente
Outil de gestion des contrôles effectués sur les procédures et activités opérationnelles de la SGCIB ayant comme fonctionnalités principales :
la planification de contrôle
le suivi de l’exécution des contrôles ainsi que leurs anomalies
l’établissement de reporting
(Projet d’environ 2500 jours hommes 10000 utilisateurs worldwide, 800 utilisateurs quotidiens, réalisation d’une partie des développements en Inde)
Réalisation : (Intervention en tant qu’ingénieur d’études développement)
Participation à la définition de l’architecture de l’application
Mise en place d’une Sofware factory (Build et Intégration continue)
Modélisation des objets métiers de l’application
Développement des composants fonctionnels de l’application
Environnement technique:
Java 1.5, Tomcat, Oracle, Spring, Spring Aop , Hibernate, Struts, Ajax (DWR, Yahoo UI), Acegi. Junit, DBunit, Hudson, Jmeter, Jmx, maven