Ravanello, Anderson (2017). Modeling end user performance perspective for cloud computing systems using data center logs from big data technology. Thèse de doctorat électronique, Montréal, École de technologie supérieure.
Prévisualisation |
PDF
Télécharger (3MB) | Prévisualisation |
Prévisualisation |
PDF
Télécharger (1MB) | Prévisualisation |
Résumé
Information system performance measurement has been a concern for software engineers since the early days of the field’s development. Over time, numerous techniques and methodologies have been developed that help engineers and companies better understand, manage and improve the performance that the end users perceive when using information systems in their daily operations. Some performance measurement techniques employ surveys that investigate which aspects satisfy or do not satisfy end user requirements. Other performance measurement techniques simulate the same operations across different services in order to compare performance given a similar workload. Yet another approach that has been experimented slightly modifies the data exchanged between clients and servers in order to include components that help with tracing the performance of different operation statuses.
When we consider surveys or questionnaires as a performance measurement technique, they do not include detailed information about the sources of problems that may be impacted by the time of day, the responder’s mood and many other human factors, thus masking the root cause and they are not sufficiently interactive to allow for a timely reaction when there is a performance problem. Simulation is also proposed as a potential solution where the same operations, over different platforms, correctly report fundamental characteristics of performance. This approach however, removes the user’s perspective. It is difficult to assume that a simulation would be able to, with the current state of technology, accurately reflect the complexity of a user’s reasoning and decisions regarding the use of a specific information system in a particular way. Finally, the manipulation of the transactional data between client and hosts could affect the confidentially and refutability of the data used to determine the performance; if an information system includes the possibility of data being modified, even slightly, the end user could lose trust in it, negatively affecting the human-machine relation.
The question that is considered here is how can the end user performance perspective of cloud computing-based applications be modeled in a way so that timely analysis can be enacted upon the information? The best possible solution for understanding performance from the end user’s perspective could emerge from combining the completeness of interactive surveys with the controlled environment of simulations and the traceability of packet manipulation, while minimizing the weaknesses of each of these techniques. As companies continue to rollout cloud computing infrastructures and systems, the difficulty with performance measurement increases due to a number of factors, most noticeably, the increased complexity of these systems in comparison with their previous versions as well as the unreliability of the performance experience as perceived by the end user, which is influenced by socio-technical aspects such as technical knowledge, trust, system performance, availability and efficacy (Armbrust, Fox, & Griffith, 2009) (Gruschka & Jensen, 2010) (Grobauer, Walloschek, & Stocker, 2011).
In order to be able to address these particular challenges, one possible solution could be to make better use of the ubiquitous industry standard performance logs. Performance logs are textual representations of different resource consumption and activities performed in the various operational cloud system components. Logs have been extensively deployed in the industry and used for both troubleshooting and punctual investigations of performance problems. In this research, logs are explored more extensively in order to address the need for precision, granularity and responsiveness within the decision time required for the current management/prediction challenges. The amount and granularity of the data harvested could potentially be massive. Each of the analyzed hosts or network components can generate as much as 800 KB of data per minute. This could quickly turn into a very large amount of data that is difficult to process and access using traditional SQL-based technologies. One of the possible alternatives for resolving this issue is employing Big Data technologies such as the Hadoop Distributed File System and Apache Spark in order to interactively collect the data from multiple sources and process the individual files simultaneously, which would prove difficult using classic relational database technology.
This research proposes a novel performance measurement model for cloud-based information systems as perceived by end users, with many practical applications in the domain of service level measurement and performance prediction. It identifies meaningful and actionable data center logs of low-level direct and derived measurements to model the end user performance perspective. The cloud computing measurement model and quality characteristics presented by Bautista’s framework (Bautista, Abran, & April, 2012) are implemented and experimented. The model for the end user performance perspective for cloud computing systems using data center logs from Big Data technology expands Bautista’s original work by proposing the utilization of a performance indicator and including end user response in order to forecast possible performance anomalies.
A large-scale experimentation is described where the measures are analyzed using a modern Big Data infrastructure in order to model the end user performance perspective as an expression of performance indicators based on the service level agreement for the cloud computing services studied.
The experimentation addresses the research question and offers a solution avenue for modelling the end user performance perspective of cloud computing based applications in future service level agreements so that a timely analysis of the data can be expected and a predictive algorithm developed to anticipate upcoming performance issues.
Titre traduit
Modéliser la perspective de l'utilisateur final concernant la performance de logiciels infonuagiques à l'aide des registres de journaux du centre de données et de technologies de données massives (big data)
Résumé traduit
La mesure de la performance des systèmes d'information obsède encore les ingénieurs en logiciel depuis que s'est développé ce champ de recherche. Progressivement, de nombreuses techniques et méthodologies se sont développées en vue d’aider les ingénieurs et les entreprises à mieux comprendre, à gérer et à améliorer les performances que les utilisateurs finaux perçoivent lorsqu'ils utilisent les systèmes d'information lors de leurs operations quotidiennes. Certaines techniques de mesure de la performance se servent d'enquêtes pour examiner quels aspects de la performance va satisfaire ou ne satisferont pas aux exigences des utilisateurs finaux. D’autres techniques de mesure de la performance proposent de dupliquer les memes opérations entre différents services afin de comparer les performances en utilisant un ensemble de tâches similaires. Une autre manière d'aborder le problème a été expérimentée et a permis de modifier légèrement les données échangées entre les clients et les serveurs afin d'inclure des composantes qui vont favoriser le suivi détaillé de la performance en tenant compte ce de qu’a été modifié.
L’approche de mesure à l’aide d’enquêtes n’offre pas d'informations détaillées en ce qui a trait au temps de la journée, à l'humeur du répondeur et à de nombreux autres facteurs humains, dissimulant ainsi une cause fondamentale qui ne favorise pas suffisamment l'interaction qui permettrait des actions préventives et correctives lorsqu'un problème de performance se dessine. D’autres recherches proposent l’utilisation de techniques de simulation à titre de solution potentielle permettant ainsi de produire des informations précises en ce qui concerne les caractéristiques de la performance d’un logiciel, mais la faiblesse de cette approche est qu’elle ne permet pas la participation réelle de l’utilisateur. De plus, les simulations, dans l'état actuel de la technologie, ont du mal à refléter avec précision la complexité du raisonnement derrière les décisions de l’utilisateur concernant l'emploi ou non d’un système d'information selon le cheminement suivi par chacun des utilisateurs. Finalement, les techniques proposes qui manipulent les données transactionnelles, entre clients et serveurs, ont comme effet secondaire d’influencer de manière négative la performance, la confidentialité et la réfutabilité des données. Si un système de modélisation de la performance modifie des données transactionnelles (même le plus légèrement), ce système pourrait causer des problèmes ce qui en décourage généralement l’utilisation.
Dans cette thèse, la question fondamentale qui se pose est de savoir si la performance telle que perçue par des utilisateurs finaux qui se servent d’applications opérant sur l’infonuagique peut être modélisée de manière fidèle et peu ou non intrusive de sorte que l’information puisse être analysée et utilisée pour la prévention et la correction de problème le plus rapidement possible. Pour modéliser fidèlement la notion de performance du point de vue d’un utilisateur final, la solution considérée inclut la combinaison d’une analyse exhaustive des requêtes interactives qui tient compte de l’état de l’environnement opérationnel et du suivi détaillé de la manipulation des données tout en minimisant les faiblesses de chacune de ces techniques.
Au fur et à mesure que les entreprises mettent en place des infrastructures et des systèmes d´infonuagique, les difficultés de mesure de la performance sont influencées par de nombreux facteurs, mais surtout celui de la complexité accrue de ces systèmes qui se trouvent à être beaucoup plus complexes que les technologies précédentes. L’infonuagique souffre actuellement d’un manque d’outils de mesure de la performance telle que perçu par l'utilisateur; influencé par des aspects sociotechniques tels que les connaissances techniques, la fiabilité, la performance du système, la disponibilité et l'efficacité. (Armbrust, Fox, & Griffith, 2009; Gruschka & Jensen, 2010; Grobauer, Walloschek, & Stocker, 2011)
Afin de pouvoir relever ce défi, la solution proposée et expérimentée lors de cette recherché vise à mieux utiliser les journaux de performance disponibles au sein des centres de données. Ces journaux de performance sont très rependus et contiennent des données textuelles mettant en évidence différentes consommations de ressources ainsi que des activités réalisées dans différentes composantes opérationnelles des applications opérant sur l’infonuagique. La journalisation est largement utilisée dans l'industrie pour le dépannage et les enquêtes concernant les problèmes de performance ponctuels. Dans cette thèse, les données de ces journaux sont explorées de façon plus approfondie afin de répondre au besoin de précision, de granularité et de réactivité dans un court temps de décision requis de façon à répondre au défi d’une modélisation fidèle de la performance telle que perçue par l’utilisation et potentiellement pour sa prédiction. La quantité et la granularité des données recueillies dans ces journaux sont actuellement massives. Chacune des composantes informatiques et chacune des composantes du réseau utilisé par une application infonuagique analysées pourraient générer jusqu'à 800 Ko de données par minute. Cette quantité massive de données est difficile à traiter et à explorer à l'aide de technologies traditionnelles. Afin de résoudre cette problématique, l’utilisation de technologies Big Data émergentes, tel que Hadoop Distributed File System et Apache Spark sont utilisées afin de collecter et traiter, en temps réel, les données de toutes ces sources et de traiter simultanément ces nombreux journaux.
Cette thèse propose un nouveau modèle de mesure de la performance telle que perçue par les utilisateurs finaux permettant de modéliser la performance d’un système d'information operant sur l’infonuagique. Ce modèle possède de nombreuses applications pratiques dans le domaine de la mesure du niveau de service et de la prévision de la performance. Il utilise un faible sousensemble de données de mesures de journaux (c.-à-d. des mesures directes et des mesures dérivées) qui s’avèrent plus significatives et exploitables afin de modéliser fidèlement et rapidement la performance d’un système d’information telle que perçues par son utilisateur final. Ce nouveau modèle de performance proposé a été inspiré du modèle théorique de la mesure infonuagique et des caractéristiques de qualité préalablement proposée par Bautista (Bautista, Abran, & April, 2012). Ce nouveau modèle de mesure de la performance d’un logiciel infonuagique telle que perçue par l’utilisateur final a été validé à l’aide d’une quantité massive de données provenant de journaux de transactions et fait une extension des principes de mesure suggérés par Bautista en proposant l’utilisation d’un indicateur de performance et en ajoutant une interaction avec les utilisateurs finaux afin de confirmer la perception pressenti par ce modèle.
Une expérimentation à grande échelle sur un cas de figure réel d’une grande entreprise qui possède des logiciels opérant sur une infrastructure infonuagique privée a été réalisée et décrite. Cette expérimentation du modèle proposé, dans laquelle des mesures sont analysées à partir d'une infrastructure Big Data moderne, a permis de confirmer qu’il est possible de modéliser fidèlement la performance perçue par l'utilisateur final; cette performance étant représentée comme un ensemble d'indicateurs de performance basés sur l'accord de niveau de service pour l’infonuagique étudié. Cette recherche permet finalement d’apporter une solution à la question de la modélisation de la performance d’un logiciel telle que perçue par les utilisateurs finaux. Elle offre une avenue de solution pour la mise en oeuvre de la mesure lors d’ententes de service pour les applications logicielles opérant sur l’infonuagique de manière à favoriser l'analyse de données de performance dans un court laps de temps. Le modèle ouvre aussi la porte à la mise en place future d’algorithmes de prévision de la performance.
Type de document: | Mémoire ou thèse (Thèse de doctorat électronique) |
---|---|
Renseignements supplémentaires: | "Thesis presented to École de technologie supérieure in partial fulfillment for the degree of doctor of philosophy". Bibliographie : pages 135-145. |
Mots-clés libres: | Logiciels Qualité Contrôle. Mesure du logiciel. Infonuagique. Systèmes d'information Utilisateurs. Données volumineuses. Centres de traitement de l'information. journal, performance, register, big data, spark |
Directeur de mémoire/thèse: | Directeur de mémoire/thèse April, Alain |
Codirecteur: | Codirecteur Gherbi, Abdelouahed |
Programme: | Doctorat en génie > Génie |
Date de dépôt: | 02 mars 2018 21:49 |
Dernière modification: | 02 nov. 2022 14:29 |
URI: | https://espace.etsmtl.ca/id/eprint/2014 |
Gestion Actions (Identification requise)
Dernière vérification avant le dépôt |