Doctoral student in software engineering (F/M)

Type de contrat : Fixed-term contract

Niveau de diplôme exigé : Graduate degree or equivalent

Fonction : Temporary scientific engineer

Niveau d'expérience souhaité : Recently graduated

A propos du centre ou de la direction fonctionnelle

The Inria Lille - Nord Europe research centre, created in 2008, has a staff of 360, including 305 scientists in 15 research teams. Recognised for its strong involvement in the socio-economic development of the Hauts-De-France region, the Inria Lille - Nord Europe research centre pursues a close relationship with large companies and SMEs. By promoting synergies between researchers and industrialists, Inria participates in the transfer of skills and expertise in digital technologies and provides access to the best European and international research for the benefit of innovation and companies, particularly in the region.


For more than 10 years, the Inria Lille - Nord Europe centre has been located at the heart of Lille's university and scientific ecosystem, as well as at the heart of Frenchtech, with a technology showroom based on Avenue de Bretagne in Lille, on the EuraTechnologies site of economic excellence dedicated to information and communication technologies (ICT).

Contexte et atouts du poste

The SPIRALS project team carries out research activities in the fields of distributed systems and software science. Our aim is to introduce more autonomy into the adaptation mechanisms of software systems, in particular to ensure the transition from adaptive to self-adaptive systems. In particular, we are targeting 2 properties: self-healing and self-optimization. With self-healing, we aim to study and adapt data mining and learning solutions to the design and implementation of software systems, more specifically with a view to the automatic repair of software systems. With self-optimization, we aim to share, collect and analyze behaviors in a distributed environment in order to continuously adapt, optimize and keep software systems running, and move towards eternal distributed systems. The Spirals project team works in the field of cloud computing and mobile application development.

Mission confiée

Microservices architectures have become a development standard for applications deployed in the cloud. This architectural paradigm aims to modularize and reuse software services to facilitate their maintenance and lifecycle management. The success of microservices has been driven by the emergence of software containers that facilitate their deployment in production, via solutions such as Kubernetes. However, the deployment of microservices in the cloud often relies on a combination of IaaS and SaaS layers, which can be detrimental to the performance of the final system. Current solutions often consist of replicating the penalized services and multiplying the resources allocated to alleviate these performance problems. However, to avoid wasting allocated resources, a more intelligent approach would be to slice and dice microservice applications to find a deployment and orchestration cut that favors the complementarity of the resources requested, given infrastructure constraints (network, disk, CPU, memory, etc.).

This thesis therefore aims to explore a priori and real-time slicing techniques for a microservices architecture to optimize its efficience.

Principales activités

Year 1: Needs analysis and design of slicing models

    - Task 1.1: State-of-the-art study: Analysis of existing approaches to microservice deployment, intelligent orchestration and performance optimization.

    - Task 1.2: Identify key metrics: Determine resource-related performance indicators (network, disk, CPU, memory) relevant to slicing.

    - Task 1.3: Design of first slicing models: Development of theoretical models for optimal slicing of microservices, taking into account infrastructure constraints.

    - Deliverables: State of the art report, definition of key metrics, first specifications of slicing models.

Year 2: Tool development and experimentation in simulated environments

    - Task 2.1: Implementation of prototype slicing tools: Development of software solutions integrating the models designed.

    - Task 2.2: Simulation and performance validation: Testing of tools in simulated environments with varied workloads.

    - Task 2.3: Model optimization: Adjustment of models and algorithms according to simulation results.

    - Deliverables: Tool prototypes, test and performance evaluation reports, optimized version of models.

Year 3: Validation in real-life conditions and dissemination of results

    - Task 3.1: Deployment on real cloud infrastructures: Application of tools to concrete use cases in collaboration with industrial partners.

    - Task 3.2: Analysis of results and feedback: Assessment of gains in performance and resource efficiency.

    - Task 3.3: Scientific and industrial valorization: Writing of research articles, participation in conferences, and technology transfer.

    - Deliverables: Case studies, scientific publications, technical documentation, recommendations for production deployment.

    This program aims to ensure that microservices slicing is efficient, adaptable in real time, and optimized for heterogeneous cloud environments.

Compétences

  • Technical skills and level required: Java, Go, Python (advanced)
  • Languages: French, English

Avantages

  • Subsidized meals
  • Partial reimbursement of public transport costs
  • Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
  • Possibility of teleworking and flexible organization of working hours
  • Professional equipment available (videoconferencing, loan of computer equipment, etc.)
  • Social, cultural and sports events and activities
  • Access to vocational training
  • Social security coverage

Rémunération

2 200 € monthly gross salary