Contexte et atouts du poste
Notre équipe développe une famille d’outils de génération de diagrammes d’infrastructure à partir de modèles d’Infrastructure-as-Code [1]. Un diagramme d’infrastructure est une représentation visuelle de toutes les ressources d’un système. Cette famille comprend les outils
1. KubeDiagrams [2] générant des diagrammes d’infrastructure à partir de manifestes Kubernetes,
2. AWS CloudFormation Diagrams [3] générant des diagrammes d’infrastructure à partir de modèles CloudFormation,
3. TerraDiagrams générant des diagrammes d’infrastructure à partir de modèles Terraform [4],
4. ComposeDiagrams générant des diagrammes d’infrastructure à partir de modèles Compose [5].
[1]
Mission confiée
La mission vise à enrichir notre famille d’outils avec de nouvelles fonctionnalités déterminées en fonction de nos avancées en recherche ainsi que des besoins exprimés par les utilisateurs.
Voici une liste de tâches déjà identifiées :
5. Développement d’un canevas pivot. L’ensemble de nos outils partagent des principes communs mais leurs codes restent indépendants. L’objectif de cette tâche est de factoriser le code commun à tous ces outils dans un unique canevas pivot. Cela permettra de mutualiser les fonctionnalités communes à ces outils et de faciliter le développement de nouveaux outils pour d’autres langages d’Infrastructure-as-Code (IaC).
6. Développement de nouveaux outils pour d’autres langages IaC. Cette tâche vise à développer de nouveaux outils pour d’autres langages IaC tels que par exemples les langages Bicep [6], Pulumi [7] et TOSCA [8].
7. Développement d’un outil multi-langages IaC. Chacun de nos outils est dédié à un langage IaC particulier. Cette tâche vise à développer un outil prenant en entrée des modèles hétérogènes, càd exprimés dans différents langages, et générant des diagrammes combinant les ressources des différents modèles en entrée.
8. Développement de nouveaux diagrammes. Cette tâche vise à développer de nouvelles formes de diagrammes telles que le diagramme d’architecture, le diagramme réseau et le diagramme de politiques de sécurité. Le diagramme d’architecture est un diagramme représentant uniquement les ressources métiers d’un système, i.e., les ressources techniques (réseau, stockage, sécurité, etc.) ne sont pas représentées dans un tel diagramme. Le diagramme réseau représente uniquement les ressources réseaux (réseaux, sous-réseaux, etc.). Le diagramme de politiques de sécurité représente uniquement les ressources dédiées aux politiques de sécurité. D’autres formes de diagrammes pourront aussi être proposées.
9. Développement d’algorithmes de détection et de correction de défauts dans les diagrammes générés. Les diagrammes générés peuvent mettre en lumière des défauts dans les modèles fournis en entrée. Cette tâche vise à développer des algorithmes détectant puis corrigeant de tels défauts.
[6]
[7]
[8]
Principales activités
Principales activés (5 maximum) :
10. étude de l'état de l'art
11. conceptualisation d'une solution
12. développement logiciel
13. rédaction de publications
Compétences
Compétences techniques et niveau requis :
14. Maitrise du langage de programmation Python
15. Connaissances en algorithmes de traitement de graphes de données
16. Connaissances en visualisation d'informations
Langues : français et anglais
Avantages
17. Restauration subventionnée
18. Transports publics remboursés partiellement
19. Congés: 7 semaines de congés annuels
20. Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
21. Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
22. Accès à la formation professionnelle
Rémunération
La rémunération est définie conformément à la règlementation en vigueur applicable aux contrats d’apprentissage.
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.