Software engineer - Extending Ansible to Speedup DevOps deployments
Contract type : Fixed-term contract
Level of qualifications required : Graduate degree or equivalent
Other valued qualifications : PhD
Fonction : Temporary scientific engineer
Level of experience : Up to 3 years
About the research centre or Inria department
The Inria Centre at Rennes University is one of Inria's eight centres and has more than thirty research teams. The Inria Centre is a major and recognized player in the field of digital sciences. It is at the heart of a rich R&D and innovation ecosystem: highly innovative PMEs, large industrial groups, competitiveness clusters, research and higher education players, laboratories of excellence, technological research institute, etc.
Context
The STACK research group has been working on a reconfiguration coordination language called Concerto for several years. This language offers a way to safely and efficiently coordinate the life cycles of software entities distributed across the network, thus enabling fast deployments and updates (among other actions) of distributed software systems. Such coordination of life cycles is also part of almost all deployment, Infrastructure-as-Code, and configuration management tools of the DevOps community, including Ansible. However, in Ansible the coordination is mostly ensured in a sequential order, one role after the other, and one task after the other, thus missing opportunities for parallel actions.
Concerto has been validated through experiments on real use cases such as the deployment of OpenStack and the deployment of managed Kubernetes at OVH. Compared to existing Ansible playbooks, Concerto has shown significant results with up to 70% gain in deployment times. Those experiences in using and comparing with existing Ansible playbooks have given us concrete ideas on how Concerto could be used inside Ansible.
This position is a development and transfer action at Inria. With this position, our goal is to develop and distribute an Ansible extension able to use Concerto as a coordination external library, namely CoAnsible.
Assignment
Assignments :
With the help of Baptiste Jonglez (research engineer at Inria) and Hélène Coullon (researcher leading the design and development of Concerto), the recruited person will have the following tasks. This is preliminary work plan and can be adjusted during the project.
From month 0 to month 6:
- get familiar with Concerto concepts and implementation,
- get familiar with Ansible implementation,
- design of the additional dependency language for Ansible users (playbook+).
From month 6 to month 12:
- transform the Concerto implementation as a library,
- write the compiler from playbook+ to Concerto,
- develop a prototype of the Ansible extension.
From month 12 to month 24:
- industrialization of the open-source Ansible extension,
- creation of compatible Ansible roles used by the community (Ansible Galaxy),
- extended documentation for Ansible role developers and DevOps,
- talk/demo to ``Config Management Camp'', ``KubeCon'', or ``OpenInfra Summit''.
Main activities
Main activities:
- Gain a detailed understanding of the use of existing tools (Ansible and Concerto)
- Analyze existing tools (Ansible and Concerto) and their implementations
- Software development in Python and documentation
- Select and implement application cases for our extension
- Communication at international conferences and on blogs
Skills
- A Master's degree or a PhD in Computer Science.
- Knowledge and experience in Infrastructure-as-Code DevOps approaches in general.
- A good knowledge of Ansible.
- A good level of programming in Python.
- Knowledge in parallel and multi-process programming.
- A good level of English to contribute to writing blog articles and presenting at DevOps conferences.
Benefits package
- Subsidized meals
- Partial reimbursement of public transport costs
- Possibility of teleworking (90 days per year) and flexible organization of working hours
- Partial payment of insurance costs
Remuneration
Monthly gross salary from 2975 euros based on experience
General Information
- Theme/Domain :
Distributed Systems and middleware
Software engineering (BAP E) - Town/city : Nantes
- Inria Center : Centre Inria de l'Université de Rennes
- Starting date : 2024-10-01
- Duration of contract : 2 years
- Deadline to apply : 2024-09-03
Warning : you must enter your e-mail address in order to save your application to Inria. Applications must be submitted online on the Inria website. Processing of applications sent from other channels is not guaranteed.
Instruction to apply
Please submit online : your resume, cover letter and letters of recommendation eventually
Defence Security :
This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST).Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.
Recruitment Policy :
As part of its diversity policy, all Inria positions are accessible to people with disabilities.
Contacts
- Inria Team : STACK
-
Recruiter :
Jonglez Baptiste / baptiste.jonglez@inria.fr
The keys to success
- An ability to collaborate and communicate.
- Curiosity and an appetite for learning.
About Inria
Inria is the French national research institute dedicated to digital science and technology. It employs 2,600 people. Its 200 agile project teams, generally run jointly with academic partners, include more than 3,500 scientists and engineers working to meet the challenges of digital technology, often at the interface with other disciplines. The Institute also employs numerous talents in over forty different professions. 900 research support staff contribute to the preparation and development of scientific and entrepreneurial projects that have a worldwide impact.