Titre : |
Optimizing the Alerting Validator: Enhancing Performance and Scalability |
Type de document : |
Travail de fin d'études |
Auteurs : |
Alejandro BORBOLLA BORBOLLA, Auteur ; Alexandre PROT, ; Cédric Marchand, |
Editeur : |
ECAM |
Année de publication : |
2024 |
Langues : |
Anglais (eng) |
Mots-clés : |
Architecture software |
Index. décimale : |
TFE - Informatique (ECAM) |
Résumé : |
Before deploying changes to production, it's vital to test the service in a controlled environment to ensure no issues arise. However, with a service implementing numerous features, detecting differences becomes increasingly challenging. This is precisely where the Alerting Validator comes into play. Its primary objective is to compare outcomes from both production and testing environments, offering a validation score as a result. Today, the Alerting Validator stands at the precipice of its vertical scalability limits, challenged by the rapid expansion of our company and the mounting demands from various services. It's absolutely imperative that we enhance its performance and distribute the load effectively to manage this increased workload. My project focuses on enhancing the performance of the Alerting Validator and boosting its horizontal scalability to effectively distribute the workload across instances, ensuring even load distribution. Phase One is concentrated on downsizing the current instances before initiating any architectural modifications. This involves conducting a meticulous analysis of the codebase to optimize CPU and memory usage, while minimizing network traffic between the Alerting Validator and the data sources. Phase Two focuses on reducing the burden on the Alerting Validator by optimizing data handling, improving both workload and network traffic. Currently, our testing environment captures only a fraction of production data, necessitating the Alerting Validator to process the entire dataset for comparison. To address this, I've introduced an intermediary system to filter production data, ensuring only essential information reaches the Alerting Validator, enhancing efficiency and performance. Finally, Phase Three propels us towards a reimagined Alerting Validator, primed for horizontal scalability. By embracing a distributed architecture, this evolution enables seamless load distribution across multiple instances. In summary, our project begins by enhancing the current system's performance and then proceeds with architectural changes, all aimed at achieving these goals in a more effective way. This initiative will benefit multiple services and teams seeking to validate their results across various environments. |
Optimizing the Alerting Validator: Enhancing Performance and Scalability [Travail de fin d'études] / Alejandro BORBOLLA BORBOLLA, Auteur ; Alexandre PROT, ; Cédric Marchand, . - ECAM, 2024. Langues : Anglais ( eng)
Mots-clés : |
Architecture software |
Index. décimale : |
TFE - Informatique (ECAM) |
Résumé : |
Before deploying changes to production, it's vital to test the service in a controlled environment to ensure no issues arise. However, with a service implementing numerous features, detecting differences becomes increasingly challenging. This is precisely where the Alerting Validator comes into play. Its primary objective is to compare outcomes from both production and testing environments, offering a validation score as a result. Today, the Alerting Validator stands at the precipice of its vertical scalability limits, challenged by the rapid expansion of our company and the mounting demands from various services. It's absolutely imperative that we enhance its performance and distribute the load effectively to manage this increased workload. My project focuses on enhancing the performance of the Alerting Validator and boosting its horizontal scalability to effectively distribute the workload across instances, ensuring even load distribution. Phase One is concentrated on downsizing the current instances before initiating any architectural modifications. This involves conducting a meticulous analysis of the codebase to optimize CPU and memory usage, while minimizing network traffic between the Alerting Validator and the data sources. Phase Two focuses on reducing the burden on the Alerting Validator by optimizing data handling, improving both workload and network traffic. Currently, our testing environment captures only a fraction of production data, necessitating the Alerting Validator to process the entire dataset for comparison. To address this, I've introduced an intermediary system to filter production data, ensuring only essential information reaches the Alerting Validator, enhancing efficiency and performance. Finally, Phase Three propels us towards a reimagined Alerting Validator, primed for horizontal scalability. By embracing a distributed architecture, this evolution enables seamless load distribution across multiple instances. In summary, our project begins by enhancing the current system's performance and then proceeds with architectural changes, all aimed at achieving these goals in a more effective way. This initiative will benefit multiple services and teams seeking to validate their results across various environments. |
|