Contexte et atouts du poste
L'équipe projet SPIRALS mène des activités de recherche dans les domaines des systèmes répartis et des sciences du logiciel. Nous avons pour but d'introduire plus d'autonomie dans les mécanismes d'adaptation des systèmes logiciels, en particulier, afin d'assurer la transition des systèmes adaptatifs vers les systèmes auto-adaptatifs. Nous visons plus particulièrement 2 propriétés : l'auto-guérison et l'auto-optimisation. Avec l'auto-guérison, nous avons pour but d'étudier et d'adapter des solutions de fouille de données et d'apprentissage à la conception et la mise en œuvre de systèmes logiciels, plus particulièrement en vue de la réparation automatique des systèmes logiciels. Avec l'auto-optimisation, nous avons pour but de partager, collecter et analyser les comportements dans un environnement réparti afin de continuellement adapter, optimiser et maintenir en fonctionnement des systèmes logiciels et d'aller vers l'obtention de systèmes distribués éternels. L’équipe-projet Spirals travaille dans le domaine du cloud computing et du développement d’applications mobiles.
Mission confiée
Les architectures microservices sont devenues une norme de développement pour les applications déployées dans le cloud. Ce paradigme architectural vise à modulariser et réutiliser les services logiciels pour faciliter leur maintenance et la gestion de leur cycle de vie. Le succès des microservices a été porté par l'émergence des conteneurs logiciels qui facilitent leur déploiement en production, via des solutions comme Kubernetes. Cependant, le déploiement des microservices dans le cloud repose bien souvent sur une combinaison de couches IaaS et SaaS qui peut s'avérer pénalisante pour les performances du système final. Les solutions actuelles consistent bien souvent à répliquer les services pénalisés et à multiplier les ressources allouées pour pallier ces problèmes de performance. Cependant, pour éviter un gâchi des ressources allouées, une approche plus intelligente pourrait favoriser un découpage (slicing) des applications microservices pour trouver une coupe de déploiement et d'orchestration qui favorise la complémentarité des ressources sollicitées au regard des contraintes de l'infrastructure (réseau, disque, CPU, mémoire, etc.).
Cette thèse vise donc à explorer des techniques de découpage a priori et en temps réel d'une architecture microservices pour optimiser son efficience.
Principales activités
1. Année 1 : Analyse des besoins et conception des modèles de slicing
• Tâche 1.1 : Étude de l'état de l'art : Analyse des approches existantes en matière de déploiement de microservices, d'orchestration intelligente et d'optimisation des performances.
• Tâche 1.2 : Identification des métriques clés : Détermination des indicateurs de performance liés aux ressources (réseau, disque, CPU, mémoire) pertinents pour le slicing.
2. • Tâche 1.3 : Conception des premiers modèles de slicing : Élaboration de modèles théoriques pour le découpage optimal des microservices, en tenant compte des contraintes d'infrastructure.
• Livrables : Rapport d'état de l'art, définition des métriques clés, premières spécifications des modèles de slicing.
Année 2 : Développement d'outils et expérimentations en environnements simulés
• Tâche 2.1 : Implémentation des prototypes d'outils de slicing : Développement de solutions logicielles intégrant les modèles conçus.
• Tâche 2.2 : Simulation et validation des performances : Tests des outils dans des environnements simulés avec des charges de travail variées.
• Tâche 2.3 : Optimisation des modèles : Ajustements des modèles et algorithmes en fonction des résultats des simulations.
• Livrables : Prototypes d'outils, rapports de tests et d'évaluation des performances, version optimisée des modèles.
Année 3 : Validation en conditions réelles et diffusion des résultats
• Tâche 3.1 : Déploiement sur des infrastructures cloud réelles : Application des outils sur des cas d'usage concrets en collaboration avec des partenaires industriels.
• Tâche 3.2 : Analyse des résultats et retours d'expérience : Évaluation des gains en performance et en efficience des ressources.
• Tâche 3.3 : Valorisation scientifique et industrielle : Rédaction d'articles de recherche, participation à des conférences, et transfert technologique.
• Livrables : Études de cas, publications scientifiques, documentation technique, recommandations pour le déploiement en production.
Ce programme vise à garantir un slicing des microservices à la fois efficace, adaptable en temps réel, et optimisé pour des environnements cloud hétérogènes.
Compétences
3. Compétences techniques et niveau requis : Java, Go, Python (avancé)
4. Langues : Français, Anglais
Avantages
5. Transports publics remboursés partiellement
6. Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
7. Possibilité de télétravail et aménagement du temps de travail
8. Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
9. Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
10. Accès à la formation professionnelle
Rémunération
2 200 € bruts mensuels
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.