STAGE 3A - DEV JAVA - Performance/stress testing of the reference-data service H/F

Job ID:  39681
Location:  PARIS (FRA)

 

Murex is a global fintech leader in trading, risk management, and processing solutions for capital markets. Operating from our 19 offices, 2,500 Murexians from over 60 different nationalities ensure the development, implementation, and support of the MX.3 platform which is used by banks, asset managers, corporations and utilities, across the world.

Join Murex and work on the challenges of an industry at the forefront of innovation and thrive in a people-centric environment.
You’ll be part of one global team where you can learn fast and stay true to yourself.

 

Team :

 

The Reference Data team is in charge of developing and handling the evolutions of internal services providing various data objects to different services and business solutions of the MX.3 platform.

The development team is composed of 2 C++ developers and 4 java developers (2 of them located in Beirut).

The internship will be a collaboration between Reference Data team and PAC team (dedicated to performance and architecture concerns)


Missions :

 

The reference-data/settlement services are used by more and more MX solutions in more and more contexts, sometimes quite challenging.

Some parts of the service were designed to work functionally without focus on performance optimization as their benefits were hard to evaluate.

The aim of the internship is to put in place automated tests allowing to put the services under stressing conditions to:

 

  • identify potential bottleneck before they appear in production
  • find optimizations to integrate in the codeline
  • determine the max throughput the service can handle (in order to establish recommendations for client installation)
  • track performance regressions

 

The tests would consist in soliciting the services with various/frequent requests.

The tests should be integrated in the Continuous Integration process of the team with the ability to run them on demand on a specific version.

Optionally, based on internal discussions, the tests could be integrated in the online tests of the validation process.

Optionally, the internship could also analyze the possible deployment of the service through several instances (replicas) and the possible benefits to face performance challenges.

Optionally, the chaos testing approach could be considered to discover more complex/subtle issues.

 

Expected outputs for the internship are:

  • Choice of a technology/framework to define/execute performance tests
  • Implementation of performance tests executable on demand via the team CI
  • Estimate of the maximal throughput the service can handle
  • Integration of the tests in the CI process to track performance regression

 

Optional outputs are:

  • Chaos testing strategy to discover more complex/subtle performance issues
  • POC or recommendations on the possible benefits of running the service on several instances

 

Profil :

 

3rd year student in Computer Science with:

  • Good knowledge of Java, database/SQL, Unix
  • Interest in software engineering, continuous integration, devops, etc...
  • French and english speaking
  • Ability to work in an agile and highly collaborative context