Contexte et objectif
- Optimiser les performances et les coûts de la solution SaaS Asterius en expérimentant des technologies modernes (Wasm, Spin, SpinKube).
- Produire un microservice léger, sécurisé et à faible empreinte mémoire capable de s’intégrer à l’architecture existante.
Missions principales
- Développer un webservice en Rust avec le framework Spin, en respectant les standards internes pour des endpoints REST ou gRPC.
- Déployer le service sur Kubernetes via SpinKube et évaluer l’intégration avec l’architecture existante (scalabilité, disponibilité).
- Comparer les performances (latence, CPU, mémoire) et le temps de démarrage avec des services équivalents en Java ou Node.js.
- Mettre en place un pipeline CI/CD (ex. GitHub Actions, Tekton, ArgoCD) pour automatiser le build, les tests et le déploiement.
- Intégrer l’observabilité (métriques Prometheus, logs structurés, traces OpenTelemetry) et instrumenter pour le benchmarking.
- Étudier et mettre en œuvre des politiques de sécurité Wasm (sandboxing) et rédiger des recommandations techniques.
Technologies et livrables attendus
- Langages / frameworks : Rust, Spin, WebAssembly (Wasm), SpinKube.
- Orchestration et CI/CD : Kubernetes, GitHub Actions, ArgoCD, Tekton.
- API / protocoles : REST et/ou gRPC selon les besoins du produit SaaS.
- Observabilité et monitoring : Prometheus, OpenTelemetry; production d’un benchmark complet (latence, CPU, mémoire, coût par requête).
- Livrables : code source du microservice, manifests Kubernetes, pipeline CI/CD, rapport de benchmark et recommandations techniques.
Compétences requises
- Étudiant(e) en dernière année d’ingénierie informatique ou équivalent, avec de bonnes notions en développement backend.
- Motivation à apprendre et à pratiquer Rust, intérêt pour WebAssembly et intégration cloud.
- Connaissances de base en Kubernetes, conteneurisation et protocoles d’API (REST/gRPC).
- Notions en CI/CD (GitHub Actions, ArgoCD, Tekton) et sensibilité à la performance, scalabilité et observabilité (Prometheus, OpenTelemetry).
- Qualités personnelles : esprit d’analyse, rigueur et curiosité pour les technologies émergentes.
Modalités pratiques et candidature
- Durée : 6 mois (stage rémunéré : oui) — Stage de pré-embauche : oui — Nombre de stagiaires recherchés : 1.
- Ce stage inclut la réalisation d’un benchmark complet (latence, CPU, mémoire, coût), des tests d’intégration et des démonstrations d’intégration Kubernetes.
- Pour postuler, envoyer votre candidature à recrutement@minotore.com en indiquant l’intitulé du sujet choisi dans l’objet de l’email.
- Email de contact pour candidatures : recrutement@minotore.com