logo

Logiciel Java permettant de tester la vitesse d’envoie et de réception entre 2 ordinateurs ou plus sur votre réseau personnel

Plus de détails sur la page de l’application.

Technologies:

Dans le cadre de mon travail chez Morgan Stanley, je m’occupe de plusieurs produits dans l’équipe de Business Intelligence (BI).

Hadoop:

  • Permettre de gérer les utilisateurs dans les différents services: Cloudera Manager, Cloudera Navigator, Hue, etc.
  • Créer de la documentation pour expliquer comment utiliser Java avec Hadoop dans Morgan Stanley.
  • Créer des scripts pour tester l’état de chaque service disponible. (ex: exécuter une application yarn, exécuter des requêtes dans Impala et Hive, etc.)
  • Permettre de copier des données en utilisant « distcp » si l’utilisateur a la permission de toucher le répertoire source et celui de destination.

Business Object:

  • Créer un service web pour englober toutes les fonctionnalités de nos outils au lieu d’utiliser le SDK de BOXI dans tous ces outils.
  • Réécrire en Java un des outils qui publient les rapports générés en temps réel dans les différents clusters.

Data Security Exception:

  • Application web pour gérer des formulaires de demande d’exception pour différents services que notre équipe offre.
  • Gère le processus d’approbation en utilisant Activiti.
  • Envoie automatiquement des rappels lorsque l’exception va bientôt expirer.
  • Permet de renouveler une exception et voir tout l’historique. L’ID global de l’exception reste le même.

Support de WebIntel:

  • Application interne ressemblant à Google Analytics.
  • Créer une application web pour gérer les différentes facettes de la plate-forme.

Démarrer un nouveau service REST pour l’équipe de base de données:

  • Application Python utilisant Flask .
  • Connecte à Sybase .
  • Utilise Swagger pour documenter l’API .

Autre:

  • Ajouter de la documentation dans tous les projets que j’ai participé.
  • Créé une librairie Java commune avec plusieurs points d’intégration sur les différents services chez Morgan Stanley.
  • Faire des présentations techniques des différents projets.
  • M’occuper d’un stagiaire durant 6 mois
Technologies: , , , , , , , , , , , , , , , , , , , ,

Suite de logiciels pour gérer des serveurs Ubuntu.

Ce projet est pour me permettre d’offrir plusieurs services partagés.

C’est un changement de la version utilisant Chef à un logiciel 100% interne fait en Java.

Applications de base installées sur tous les serveurs:

  • Page de maintenance commune lorsqu’un site est retiré.
  • Surveillance des services (httpd, mysql, …) pour qu’ils soient automatiquement redémarrés s’ils plantent.
  • Application de sauvegarde quotidienne de tous les utilisateurs, bases de données, job cron et services upstart.

Ressources gérées par le site web:

  • Gère
    • les utilisateurs,
    • les certificats et clés SSL,
    • les sites web,
    • les bases de données,
    • les services upstart,
    • les tâches cron.

Logiciels complémentaires:

  • Système d’envoi d’entrées DNS au serveur DNS
    • Association automatique de l’adresse IP de la machine qui contient le site.
    • Création automatique des entrées DNS basées sur les sites Apache configurés et les adresses courriel utilisées.
    • Permet de facilement migrer un site sur un nouveau serveur sans avoir à manuellement changer le DNS.
    • Permet de distribuer la charge d’un site sur plusieurs machines: ajout et retrait automatique si une machine s’ajoute ou quitte.
  • Système surveillance
    • Envoie les statistiques de chaque machine régulièrement.
    • [En cours] Envoie l’espace disque utilisé par chaque utilisateur (sites web, courriel, bases de données, …)
  • Site web pour gérer les comptes par l’administrateur et les utilisateurs
    • Gérer les sites.
    • Gérer les courriels.
  • Redirection des connexions locales à MySQL vers un autre serveur MySQL centralisé
    • Permet de déployer le même code sur plusieurs machines en conservant localhost comme base de données.
    • La connexion est cryptée entre les serveurs.
Technologies: , , , , , , , , , , , , , ,

Dans le cadre de mon travail chez Morgan Stanley, je m’occupe de plusieurs produits dans l’équipe de Business Intelligence (BI).

Hadoop:

  • Application web libre service pour gérer des projets sur des distributions d’Hadoop Cloudera et MapR.
  • Permettre d’accepter ou refuser l’accès aux grappes aux différents projets.
  • Permettre aux utilisateurs de se créer un répertoire personnel.
  • Gérer les quotas et les permissions des répertoires.
  • Intégration avec des services REST utilisant SPNEGO
  • Créer des scripts pour vérifier l’état des différents services sur les grappes.
  • Créer des exemples de code pour Hive, Impala, HBase, …

Support de WebIntel:

  • Application interne ressemblant à Google Analytics.
  • Créer une application web qui permet de noter les visites vers des urls externes et rediriger vers ces urls.
  • Créer une suite de tests incluant des tests de charges.

Preuve de concept d’une application sur Hadoop:

  • Faire des milliers d’insertions de messages dans une table en format Parquet en utilisant Impala (via le pilote JDBC d’Hive).
  • Simuler les messages quotidiens en temps réel en plus de permettre d’augmenter la charge:
    • Télécharger les vrais messages envoyés les dernières journées et les conserver en format JSON compressés.
    • Générer une liste de messages pour l’heure présente en utilisant les messages conservés et en utilisant un multiplicateur.

Support des outils pour SAP Business Object:

  • Aider à résoudre quelques bogues.
  • Rendre une application Flex listant tous les répertoires et sous répertoires plus rapide en chargeant le contenu des sous-dossiers sur demande seulement.

Autre:

  • Faire passer des entrevues techniques.
  • Ajouter de la documentation dans tous les projets que j’ai participé.
  • Créé une librairie Java commune avec plusieurs points d’intégrations sur les différents services chez Morgan Stanley.
  • M’occuper d’un stagiaire pour une réécriture d’un service utilisant Business Object. Le service passe de C# à Java.
  • Aider un autre stagiaire pour tester les performances d’une grappe Hadoop.
  • Participer à des foires de carrière.

 

Technologies: , , , , , , , , , , , , , , , , , , ,

Suite de logiciels pour gérer des serveurs Ubuntu.

Ce projet est pour me permettre d’offrir plusieurs services partagés.

Scripts d’administration:

  • Installation et configuration d’Apache HTTPD, de MySql, de Postfix et de Dovecot.
  • Ajout et suppression:
    • De site Apache HTTPD en PHP ou en proxy à une application (Rails, Tomcat, …) en HTTP et HTTPS.
    • De tâches cron.
    • De bases de données et d’utilisateurs MySql.
    • De bases de données et d’utilisateurs PostgreSQL.
    • De services upstart.
    • De comptes utilisateurs.
    • De certificats SSL.
  • Ségrégation des sites web par utilisateur en utilisant suPHP.

Applications de base installées sur tous les serveurs:

  • Page de maintenance commune lorsqu’un site est retiré.
  • Surveillance des services (httpd, mysql, …) pour qu’ils soient automatiquement redémarrés s’ils plantent.
  • phpMyAdmin
  • roundcube
  • Application de sauvegarde quotidienne de tous les utilisateurs, bases de données, job cron et services upstart.

Recettes et livre de recettes pour Chef:

  • Gère
    • les utilisateurs,
    • les certificats et clés SSL,
    • les sites web,
    • les bases de données,
    • les services upstart,
    • les tâches cron.

Logiciels complémentaires:

  • Système d’envoi d’entrées DNS au serveur DNS
    • Association automatique de l’adresse IP de la machine qui contient le site.
    • Création automatique des entrées DNS basées sur les sites Apache configurés et les adresses courriel utilisées.
    • Permet de facilement migrer un site sur un nouveau serveur sans avoir à manuellement changer le DNS.
    • Permet de distribuer la charge d’un site sur plusieurs machines: ajout et retrait automatique si une machine s’ajoute ou quitte.
  • Site web pour gérer les comptes par l’administrateur et les utilisateurs
    • Gérer les sites.
    • Gérer les courriels.
  • Redirection des connexions locales à MySQL vers un autre serveur MySQL centralisé
    • Permet de déployer le même code sur plusieurs machines en conservant localhost comme base de données.
    • La connexion est cryptée entre les serveurs.
Technologies: , , , , , , , , ,