Description de la société

CAST, éditeur de logiciel, est pionnier et leader en outils de gestion de développement d’applications, fournissant les métriques et les informations aux Directeurs de Systèmes d’Information, qui doivent mesurer, superviser et améliorer la qualité et la performance des équipes de développement. Depuis 1990, CAST a aidé plus de 250 entreprises dans le monde à développer plus rapidement leurs logiciels, tout en limitant les risques et en réduisant les coûts.

Pour mieux nous comprendre l’essence de notre métier:
http://www.castsoftware.com/resources/broadcast
Pour plus d’informations :
http://www.castsoftware.com

Description du stage

Ce stage de fin d’étude, en pré-embauche, se destine à un étudiant spécialisé en informatique. Il se déroulera au sein d’un département R&D de 50 personnes, à CAST Software France, Meudon (92). Sa durée est de 6 mois

Objectif du stage

Le Cloud Computing prend déjà une grande place dans le monde de l’informatique. Il apporte de nombreux avantages : une très bonne tenue à l’échelle, un calcul très fortement distribué, une bonne tolérance aux pannes.

Dans le cas de CAST, nous étudions quel serait le coût de passage dans le Cloud. Pour cela, nous choisissons de prototyper l’analyse du code source d’une application. Pour simplifier, nous dirons que cette analyse peut être vue comme un ensemble de tâches de compilation.

Votre mission est concevoir et mettre en œuvre un moteur de production similaire à Apache Ant, et ce dans un environnement Cloud (Apache Hadoop). Ce moteur devra orchestrer des tâches de compilation distribuées sur des unités de calculs en parallèle grâce à MapReduce. Chaque tâche dépend de fichiers en entrée et produit des fichiers en sortie. Pour profiter des pleinement des performances du Cloud, ces fichiers devront être eux-aussi stockés dans le Cloud, afin d’éviter tout phénomène de goulot d’étranglement.

Le but est que le temps d’exécution global soit inversement linéaire par rapport au nombre d’unités de calculs.


Composants déjà identifiés à développer:

Côté client :
-Outil d’envoi dans le Cloud d’un code source à analyser

Côté Cloud :
-Encapsuler des tâches élémentaires suivantes : Compilation d’un projet, Détection d’une violation, Consolidation des résultats, Stockage dans une base de données relationnelle, Envoi d’une notification

-Modéliser l’architecture globale, et écrire un orchestrateur de tâches de façon à maximiser le nombre de traitements en parallèle


Si un tel but est accompli, le passage en production ne devrait plus poser de problème.

Vous travaillerez dans un environnement agile en mode TDD.

Compétences Requises
Java.

Environnement technique
Eclipse, Hadoop, HDFS, Cygwin, Linux.


Pour postuler veuillez vous rendre sur le lien suivant / rubrique Internships
http://www.castsoftware.com/jobs