Cargando…

Microservices for systematic profiling and monitoring of the refactoring process at the LHCb experiment

Any time you modify an implementation within a program, change compiler version or operating system, you should also do regression testing. You can do regression testing by rerunning existing tests against the changes to determine whether this breaks anything that worked prior to the change and by w...

Descripción completa

Detalles Bibliográficos
Autores principales: Mazurov, Alexander, Couturier, Ben, Popov, Dmitry, Farley, Nathanael
Lenguaje:eng
Publicado: 2017
Materias:
Acceso en línea:https://dx.doi.org/10.1088/1742-6596/898/7/072037
http://cds.cern.ch/record/2296799
_version_ 1780956906222780416
author Mazurov, Alexander
Couturier, Ben
Popov, Dmitry
Farley, Nathanael
author_facet Mazurov, Alexander
Couturier, Ben
Popov, Dmitry
Farley, Nathanael
author_sort Mazurov, Alexander
collection CERN
description Any time you modify an implementation within a program, change compiler version or operating system, you should also do regression testing. You can do regression testing by rerunning existing tests against the changes to determine whether this breaks anything that worked prior to the change and by writing new tests where necessary. At LHCb we have a huge codebase which is maintained by many people and can be run within different setups. Such situations lead to the crucial necessity to guide refactoring with a central profiling system that helps to run tests and find the impact of changes. In our work we present a software architecture and tools for running a profiling system. This system is responsible for systematically running regression tests, collecting and comparing results of these tests so changes between different setups can be observed and reported. The main feature of our solution is that it is based on a microservices architecture. Microservices break a large project into loosely coupled modules, which communicate with each other through simple APIs. Such modular architectural style helps us to avoid general pitfalls of monolithic architectures such as hard to understand a codebase as well as maintaining a large codebase and ineffective scalability. Our solution also allows to escape a complexity of microservices deployment process by using software containers and services management tools. Containers and service managers let us quickly deploy linked modules in development, production or in any other environments. Most of the developed modules are generic which means that the proposed architecture and tools can be used not only in LHCb but adopted for other experiments and companies.
id oai-inspirehep.net-1638563
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2017
record_format invenio
spelling oai-inspirehep.net-16385632021-02-09T10:06:26Zdoi:10.1088/1742-6596/898/7/072037http://cds.cern.ch/record/2296799engMazurov, AlexanderCouturier, BenPopov, DmitryFarley, NathanaelMicroservices for systematic profiling and monitoring of the refactoring process at the LHCb experimentComputing and ComputersAny time you modify an implementation within a program, change compiler version or operating system, you should also do regression testing. You can do regression testing by rerunning existing tests against the changes to determine whether this breaks anything that worked prior to the change and by writing new tests where necessary. At LHCb we have a huge codebase which is maintained by many people and can be run within different setups. Such situations lead to the crucial necessity to guide refactoring with a central profiling system that helps to run tests and find the impact of changes. In our work we present a software architecture and tools for running a profiling system. This system is responsible for systematically running regression tests, collecting and comparing results of these tests so changes between different setups can be observed and reported. The main feature of our solution is that it is based on a microservices architecture. Microservices break a large project into loosely coupled modules, which communicate with each other through simple APIs. Such modular architectural style helps us to avoid general pitfalls of monolithic architectures such as hard to understand a codebase as well as maintaining a large codebase and ineffective scalability. Our solution also allows to escape a complexity of microservices deployment process by using software containers and services management tools. Containers and service managers let us quickly deploy linked modules in development, production or in any other environments. Most of the developed modules are generic which means that the proposed architecture and tools can be used not only in LHCb but adopted for other experiments and companies.oai:inspirehep.net:16385632017
spellingShingle Computing and Computers
Mazurov, Alexander
Couturier, Ben
Popov, Dmitry
Farley, Nathanael
Microservices for systematic profiling and monitoring of the refactoring process at the LHCb experiment
title Microservices for systematic profiling and monitoring of the refactoring process at the LHCb experiment
title_full Microservices for systematic profiling and monitoring of the refactoring process at the LHCb experiment
title_fullStr Microservices for systematic profiling and monitoring of the refactoring process at the LHCb experiment
title_full_unstemmed Microservices for systematic profiling and monitoring of the refactoring process at the LHCb experiment
title_short Microservices for systematic profiling and monitoring of the refactoring process at the LHCb experiment
title_sort microservices for systematic profiling and monitoring of the refactoring process at the lhcb experiment
topic Computing and Computers
url https://dx.doi.org/10.1088/1742-6596/898/7/072037
http://cds.cern.ch/record/2296799
work_keys_str_mv AT mazurovalexander microservicesforsystematicprofilingandmonitoringoftherefactoringprocessatthelhcbexperiment
AT couturierben microservicesforsystematicprofilingandmonitoringoftherefactoringprocessatthelhcbexperiment
AT popovdmitry microservicesforsystematicprofilingandmonitoringoftherefactoringprocessatthelhcbexperiment
AT farleynathanael microservicesforsystematicprofilingandmonitoringoftherefactoringprocessatthelhcbexperiment