311 |
Analysis of key security and privacy concerns and viable solutions in Cloud computingAli, Ayaz January 2019 (has links)
Cloud Security and Privacy is the most concerned area in the development of newly advance technological domains like cloud computing, the cloud of things, the Internet of Things. However, with the growing popularity and diverse nature of these technologies, security and privacy are becoming intricate matters and affect the adoption of cloud computing. Many small and large enterprises are in conflict while migrating towards cloud technology and this is because of no proper cloud adoption policy guideline, generic solutions for system migration issues, systematic models to analyze security and privacy performance provided by different cloud models. Our proposed literature review focuses on the problems and identifies solutions in the category of security and privacy. A comprehensive analysis of various identified techniques published during 2010 – 2018 has been presented. We have reviewed 51 studies including research papers and systematic literature reviews on the factors of security and privacy. After analyzing, the papers have been classified into 5 major categories to get an appropriate solution for our required objectives of this study. This work will facilitate the researchers and as well the companies to select appropriate guideline while adopting cloud services.
|
312 |
Cooperative Autonomous Resilient Defense Platform for Cyber-Physical SystemsAzab, Mohamed Mahmoud Mahmoud 28 February 2013 (has links)
Cyber-Physical Systems (CPS) entail the tight integration of and coordination between computational and physical resources. These systems are increasingly becoming vital to modernizing the national critical infrastructure systems ranging from healthcare, to transportation and energy, to homeland security and national defense. Advances in CPS technology are needed to help improve their current capabilities as well as their adaptability, autonomicity, efficiency, reliability, safety and usability. Due to the proliferation of increasingly sophisticated cyber threats with exponentially destructive effects, CPS defense systems must systematically evolve their detection, understanding, attribution, and mitigation capabilities. Unfortunately most of the current CPS defense systems fall short to adequately provision defense services while maintaining operational continuity and stability of the targeted CPS applications in presence of advanced persistent attacks. Most of these defense systems use un-coordinated combinations of disparate tools to provision defense services for the cyber and physical components. Such isolation and lack of awareness of and cooperation between defense tools may lead to massive resource waste due to unnecessary redundancy, and potential conflicts that can be utilized by a resourceful attacker to penetrate the system.
Recent research argued against the suitability of the current security solutions to CPS environments. We assert the need for new defense platforms that effectively and efficiently manage dynamic defense missions and toolsets in real-time with the following goals:
1) Achieve asymmetric advantage to CPS defenders, prohibitively increasing the cost for attackers;
2) Ensure resilient operations in presence of persistent and evolving attacks and failures; and
3) Facilitate defense alliances, effectively and efficiently diffusing defense intelligence and operations transcending organizational boundaries.
Our proposed solution comprehensively addresses the aforementioned goals offering an evolutionary CPS defense system. The presented CPS defense platform, termed CyPhyCARD (Cooperative Autonomous Resilient Defenses for Cyber-Physical systems) presents a unified defense platform to monitor, manage, and control the heterogeneous composition of CPS components. CyPhyCARD relies on three interrelated pillars to construct its defense platform. CyPhyCARD comprehensively integrates these pillars, therefore building a large scale, intrinsically resilient, self- and situation-aware, cooperative, and autonomous defense cloud-like platform that provisions adequate, prompt, and pervasive defense services for large-scale, heterogeneously-composed CPS. The CyPhyCARD pillars are:
1) Autonomous management platform (CyberX) for CyPhyCARD's foundation. CyberX enables application elasticity and autonomic adaptation to changes by runtime diversity employment, enhances the application resilience against attacks and failures by multimodal recovery mechanism, and enables unified application execution on heterogeneously composed platforms by a smart employment of a fine-grained environment-virtualization technology.
2) Diversity management system (ChameleonSoft) built on CyberX. ChameleonSoft encrypts software execution behavior by smart employment of runtime diversity across multiple dimensions to include time, space, and platform heterogeneity inducing a trace-resistant moving-target defense that works on securing CyPhyCARD platform against software attacks.
3) Evolutionary Sensory system (EvoSense) built on CyberX. EvoSense realizes pervasive, intrinsically-resilient, situation-aware sense and response system to seamlessly effect biological-immune-system like defense. EvoSense acts as a middle layer between the defense service provider(s) and the Target of Defense (ToD) creating a uniform defense interface that hides ToD's scale and heterogeneity concerns from defense-provisioning management.
CyPhyCARD is evaluated both qualitatively and quantitatively. The efficacy of the presented approach is assessed qualitatively, through a complex synthetic CPS attack scenario. In addition to the presented scenario, we devised multiple prototype packages for the presented pillars to assess their applicability in real execution environment and applications. Further, the efficacy and the efficiency of the presented approach is comprehensively assessed quantitatively by a set of custom-made simulation packages simulating each CyPhyCARD pillar for performance and security evaluation. The evaluation illustrated the success of CyPhyCARD and its constructing pillars to efficiently and effectively achieve its design objective with reasonable overhead. / Ph. D.
|
313 |
Privacy Protection and Mobility Enhancement in InternetZhang, Ping 05 1900 (has links)
Indiana University-Purdue University Indianapolis (IUPUI) / The Internet has substantially embraced mobility since last decade. Cellular data network carries majority of Internet mobile access traffic and become the de facto solution of accessing Internet in mobile fashion, while many clean-slate Internet mobility solutions were proposed but none of them has been largely deployed. Internet mobile users increasingly concern more about their privacy as both researches and real-world incidents show leaking of communication and location privacy could lead to serious consequences. Just the communication itself between mobile user and their peer users or websites could leak considerable privacy of mobile user, such as location history, to other parties.
Additionally, comparing to ordinary Internet access, connecting through cellular network yet provides equivalent connection stability or longevity.
In this research we proposed a novelty paradigm that leverages concurrent far-side proxies to maximize network location privacy protection and minimize interruption and performance penalty brought by mobility.To avoid the deployment feasibility hurdle we also investigated the root causes impeding popularity of existing Internet mobility proposals and proposed guidelines on how to create an economical feasible solution for this goal.
Based on these findings we designed a mobility support system offered as a value-added service by mobility service providers and built on elastic infrastructure that leverages various cloud aided designs, to satisfy economic feasibility and explore the architectural trade-offs among service QoS, economic viability, security and privacy.
|
314 |
Theory and Practice in Cloud Datacenters with Distributed SchedulersAlshahrani, Reem Abdullah 06 August 2019 (has links)
No description available.
|
315 |
Self-Aware Resource Management in Virtualized Data Centers / Selbstwahrnehmende Ressourcenverwaltung in virtualisierten RechenzentrenSpinner, Simon January 2017 (has links) (PDF)
Enterprise applications in virtualized data centers are often subject to time-varying workloads, i.e., the load intensity and request mix change over time, due to seasonal patterns and trends, or unpredictable bursts in user requests. Varying workloads result in frequently changing resource demands to the underlying hardware infrastructure. Virtualization technologies enable sharing and on-demand allocation of hardware resources between multiple applications. In this context, the resource allocations to virtualized applications should be continuously adapted in an elastic fashion, so that "at each point in time the available resources match the current demand as closely as possible" (Herbst el al., 2013). Autonomic approaches to resource management promise significant increases in resource efficiency while avoiding violations of performance and availability requirements during peak workloads.
Traditional approaches for autonomic resource management use threshold-based rules (e.g., Amazon EC2) that execute pre-defined reconfiguration actions when a metric reaches a certain threshold (e.g., high resource utilization or load imbalance). However, many business-critical applications are subject to Service-Level-Objectives defined on an application performance metric (e.g., response time or throughput). To determine thresholds so that the end-to-end application SLO is fulfilled poses a major challenge due to the complex relationship between the resource allocation to an application and the application performance. Furthermore, threshold-based approaches are inherently prone to an oscillating behavior resulting in unnecessary reconfigurations.
In order to overcome the deficiencies of threshold-based
approaches and enable a fully automated approach to dynamically control the resource allocations of virtualized applications, model-based approaches are required that can predict the impact of a reconfiguration on the application performance in advance. However, existing model-based approaches are severely limited in their learning capabilities. They either require complete performance models of the application as input, or use a pre-identified model structure and only learn certain model parameters from empirical data at run-time. The former requires high manual efforts and deep system knowledge to create the performance models. The latter does not provide the flexibility to capture the specifics of complex and heterogeneous system architectures.
This thesis presents a self-aware approach to the resource management in virtualized data centers. In this context, self-aware means that it automatically learns performance models of the application and the virtualized infrastructure and reasons based on these models to autonomically adapt the resource allocations in accordance with given application SLOs. Learning a performance model requires the extraction of the model structure representing the system architecture as well as the estimation of model parameters, such as resource demands. The estimation of resource demands is a key challenge as they cannot be observed directly in most systems.
The major scientific contributions of this thesis are:
- A reference architecture for online model learning in virtualized systems. Our reference architecture is based on a set of model extraction agents. Each agent focuses on specific tasks to automatically create and update model skeletons capturing its local knowledge of the system and collaborates with other agents to extract the structural parts of a global performance model of the system. We define different agent roles in the reference architecture and propose a model-based collaboration mechanism for the agents. The agents may be bundled within virtual appliances and may be tailored to include knowledge about the software stack deployed in a specific virtual appliance.
- An online method for the statistical estimation of resource demands. For a given request processed by an application, the resource time consumed for a specified resource within the system (e.g., CPU or I/O device), referred to as resource demand, is the total average time the resource is busy processing the request. A request could be any unit of work (e.g., web page request, database transaction, batch job) processed by the system. We provide a systematization of existing statistical approaches to resource demand estimation and conduct an extensive experimental comparison to evaluate the accuracy of these approaches. We propose a novel method to automatically select estimation approaches and demonstrate that it increases the robustness and accuracy of the estimated resource demands significantly.
- Model-based controllers for autonomic vertical scaling of virtualized applications. We design two controllers based on online model-based reasoning techniques in order to vertically scale applications at run-time in accordance with application SLOs. The controllers exploit the knowledge from the automatically extracted performance models when determining necessary reconfigurations. The first controller adds and removes virtual CPUs to an application depending on the current demand. It uses a layered performance model to also consider the physical resource contention when determining the required resources. The second controller adapts the resource allocations proactively to ensure the availability of the application during workload peaks and avoid reconfiguration during phases of high workload.
We demonstrate the applicability of our approach in current virtualized environments and show its effectiveness leading to significant increases in resource efficiency and improvements of the application performance and availability under time-varying workloads. The evaluation of our approach is based on two case studies representative of widely used enterprise applications in virtualized data centers. In our case studies, we were able to reduce the amount of required CPU resources by up to 23% and the number of reconfigurations by up to 95% compared to a rule-based approach while ensuring full compliance with application SLO. Furthermore, using workload forecasting techniques we were able to schedule expensive reconfigurations (e.g., changes to the memory size) during phases of load load and thus were able to reduce their impact on application availability by over 80% while significantly improving application performance compared to a reactive controller. The methods and techniques for resource demand estimation and vertical application scaling were developed and evaluated in close collaboration with VMware and Google. / Unternehmensanwendungen in virtualisierten Rechenzentren unterliegen häufig zeitabhängigen Arbeitslasten, d.h. die Lastintensität und der Anfragemix ändern sich mit der Zeit wegen saisonalen Mustern und Trends, sowie unvorhergesehenen Lastspitzen bei den Nutzeranfragen. Variierende Arbeitslasten führen dazu, dass sich die Ressourcenanforderungen an die darunterliegende Hardware-Infrastruktur häufig ändern. Virtualisierungstechniken erlauben die gemeinsame Nutzung und bedarfsgesteuerte Zuteilung von Hardware-Ressourcen zwischen mehreren Anwendungen. In diesem Zusammenhang sollte die Zuteilung von Ressourcen an virtualisierte Anwendungen fortwährend in einer elastischen Art und Weise angepasst werden, um sicherzustellen, dass "zu jedem Zeitpunkt die verfügbaren Ressourcen dem derzeitigen Bedarf möglichst genau entsprechen" (Herbst et al., 2013). Autonome Ansätze zur Ressourcenverwaltung versprechen eine deutliche Steigerung der Ressourceneffizienz wobei Verletzungen der Anforderungen hinsichtlich Performanz und Verfügbarkeit bei Lastspitzen vermieden werden.
Herkömmliche Ansätze zur autonomen Ressourcenverwaltung nutzen feste Regeln (z.B., Amazon EC2), die vordefinierte Rekonfigurationen durchführen sobald eine Metrik einen bestimmten Schwellwert erreicht (z.B., hohe Ressourcenauslastung oder ungleichmäßige Lastverteilung). Viele geschäftskritische Anwendungen unterliegen jedoch Zielvorgaben hinsichtlich der Dienstgüte (SLO, engl. Service Level Objectives), die auf Performanzmetriken der Anwendung definiert sind (z.B., Antwortzeit oder Durchsatz). Die Bestimmung von Schwellwerten, sodass die Ende-zu-Ende Anwendungs-SLOs erfüllt werden, stellt aufgrund des komplexen Zusammenspiels zwischen der Ressourcenzuteilung und der Performanz einer Anwendung eine bedeutende Herausforderung dar. Des Weiteren sind Ansätze basierend auf Schwellwerten inhärent anfällig für Oszillationen, die zu überflüssigen Rekonfigurationen führen können.
Um die Schwächen schwellwertbasierter Ansätze zu lösen und einen vollständig automatisierten Ansatz zur dynamischen Steuerung von Ressourcenzuteilungen virtualisierter Anwendungen zu ermöglichen, bedarf es modellbasierter Ansätze, die den Einfluss einer Rekonfiguration auf die Performanz einer Anwendung im Voraus vorhersagen können. Bestehende modellbasierte Ansätze sind jedoch stark eingeschränkt hinsichtlich ihrer Lernfähigkeiten. Sie erfordern entweder vollständige Performanzmodelle der Anwendung als Eingabe oder nutzen vorbestimmte Modellstrukturen und lernen nur bestimmte Modellparameter auf Basis von empirischen Daten zur Laufzeit. Erstere erfordern hohe manuelle Aufwände und eine tiefe Systemkenntnis um die Performanzmodelle zu erstellen. Letztere bieten nur eingeschränkte Möglichkeiten um die Besonderheiten von komplexen und heterogenen Systemarchitekturen zu erfassen.
Diese Arbeit stellt einen selbstwahrnehmenden (engl. self-aware) Ansatz zur Ressourcenverwaltung in virtualisierten Rechenzentren vor. In diesem Zusammenhang bedeutet Selbstwahrnehmung, dass der Ansatz automatisch Performanzmodelle der Anwendung und der virtualisierten Infrastruktur lernt Basierend auf diesen Modellen entscheidet er autonom wie die Ressourcenzuteilungen angepasst werden, um die Anwendungs-SLOs zu erfüllen. Das Lernen von Performanzmodellen erfordert sowohl die Extraktion der Modellstruktur, die die Systemarchitektur abbildet, als auch die Schätzung von Modellparametern, wie zum Beispiel der Ressourcenverbräuche einzelner Funktionen. Die Schätzung der Ressourcenverbräuche stellt hier eine zentrale Herausforderung dar, da diese in den meisten Systemen nicht direkt gemessen werden können. Die wissenschaftlichen Hauptbeiträge dieser Arbeit sind wie folgt:
- Eine Referenzarchitektur, die das Lernen von Modellen in virtualisierten Systemen während des Betriebs ermöglicht. Unsere Referenzarchitektur basiert auf einer Menge von Modellextraktionsagenten. Jeder Agent fokussiert sich auf bestimmte Aufgaben um automatisch ein Modellskeleton, das sein lokales Wissen über das System erfasst, zu erstellen und zu aktualisieren. Jeder Agent arbeitet mit anderen Agenten zusammen um die strukturellen Teile eines globalen Performanzmodells des Systems zu extrahieren. Die Rereferenzarchitektur definiert unterschiedliche Agentenrollen und beinhaltet einen modellbasierten Mechanismus, der die Kooperation unterschiedlicher Agenten ermöglicht. Die Agenten können als Teil virtuellen Appliances gebündelt werden und können dabei maßgeschneidertes Wissen über die Software-Strukturen in dieser virtuellen Appliance beinhalten.
- Eine Methode zur fortwährenden statistischen Schätzung von Ressourcenverbräuchen. Der Ressourcenverbrauch (engl. resource demand) einer Anfrage, die von einer Anwendung verarbeitet wird, entspricht der Zeit, die an einer spezifischen Ressource im System (z.B., CPU oder I/O-Gerät) verbraucht wird. Eine Anfrage kann dabei eine beliebige Arbeitseinheit, die von einem System verarbeitet wird, darstellen (z.B. eine Webseitenanfrage, eine Datenbanktransaktion, oder ein Stapelverarbeitungsauftrag). Die vorliegende Arbeit bietet eine Systematisierung existierender Ansätze zur statistischen Schätzung von Ressourcenverbräuchen und führt einen umfangreichen, auf Experimenten aufbauenden Vergleich zur Bewertung der Genauigkeit dieser Ansätze durch. Es wird eine neuartige Methode zur automatischen Auswahl eines Schätzverfahrens vorgeschlagen und gezeigt, dass diese die Robustheit und Genauigkeit der geschätzten Ressourcenverbräuche maßgeblich verbessert.
- Modellbasierte Regler für das autonome, vertikale Skalieren von virtualisierten Anwendungen. Es werden zwei Regler entworfen, die auf modellbasierten Entscheidungstechniken basieren, um Anwendungen zur Laufzeit vertikal in Übereinstimmung mit Anwendungs-SLOs zu skalieren. Die Regler nutzen das Wissen aus automatisch extrahierten Performanzmodellen bei der Bestimmung notwendiger Rekonfigurationen. Der erste Regler fügt virtuelle CPUs zu Anwendungen hinzu und entfernt sie wieder in Abhängigkeit vom aktuellen Bedarf. Er nutzt ein geschichtetes Performanzmodell, um bei der Bestimmung der benötigten Ressourcen die Konkurrenzsituation der physikalischen Ressourcen zu beachten. Der zweite Regler passt Ressourcenzuteilungen proaktiv an, um die Verfügbarkeit einer Anwendung während Lastspitzen sicherzustellen und Rekonfigurationen unter großer Last zu vermeiden.
Die Arbeit demonstriert die Anwendbarkeit unseres Ansatzes in aktuellen virtualisierten Umgebungen und zeigt seine Effektivität bei der Erhöhung der Ressourceneffizienz und der Verbesserung der Anwendungsperformanz und -verfügbarkeit unter zeitabhängigen Arbeitslasten.
Die Evaluation des Ansatzes basiert auf zwei Fallstudien, die repräsentativ für gängige Unternehmensanwendungen in virtualisierten Rechenzentren sind. In den Fallstudien wurde eine Reduzierung der benötigten CPU-Ressourcen von bis zu 23% und der Anzahl der Rekonfigurationen von bis zu 95% im Vergleich zu regel-basierten Ansätzen erreicht, bei gleichzeitiger Erfüllung der Anwendungs-SLOs. Mit Hilfe von Vorhersagetechniken für die Arbeitslast konnten außerdem aufwändige Rekonfigurationen (z.B., Änderungen bei der Menge an zugewiesenem Arbeitsspeicher) so geplant werden, dass sie in Phasen geringer Last durchgeführt werden. Dadurch konnten deren Auswirkungen auf die Verfügbarkeit der Anwendung um mehr als 80% verringert werden bei gleichzeitiger Verbesserung der Anwendungsperformanz verglichen mit einem reaktiven Regler. Die Methoden und Techniken zur Schätzung von Ressourcenverbräuchen und zur vertikalen Skalierung von Anwendungen wurden in enger Zusammenarbeit mit VMware und Google entwickelt und evaluiert.
|
316 |
Model Learning for Performance Prediction of Cloud-native Microservice Applications / Lernen von Modellen für die Performancevorhersage von Cloud-nativen Microservice AnwendungenGrohmann, Johannes Sebastian January 2022 (has links) (PDF)
One consequence of the recent coronavirus pandemic is increased demand and use of online services around the globe. At the same time, performance requirements for modern technologies are becoming more stringent as users become accustomed to higher standards. These increased performance and availability requirements, coupled with the unpredictable usage growth, are driving an increasing proportion of applications to run on public cloud platforms as they promise better scalability and reliability.
With data centers already responsible for about one percent of the world's power consumption, optimizing resource usage is of paramount importance. Simultaneously, meeting the increasing and changing resource and performance requirements is only possible by optimizing resource management without introducing additional overhead. This requires the research and development of new modeling approaches to understand the behavior of running applications with minimal information.
However, the emergence of modern software paradigms makes it increasingly difficult to derive such models and renders previous performance modeling techniques infeasible. Modern cloud applications are often deployed as a collection of fine-grained and interconnected components called microservices. Microservice architectures offer massive benefits but also have broad implications for the performance characteristics of the respective systems. In addition, the microservices paradigm is typically paired with a DevOps culture, resulting in frequent application and deployment changes. Such applications are often referred to as cloud-native applications. In summary, the increasing use of ever-changing cloud-hosted microservice applications introduces a number of unique challenges for modeling the performance of modern applications. These include the amount, type, and structure of monitoring data, frequent behavioral changes, or infrastructure variabilities. This violates common assumptions of the state of the art and opens a research gap for our work.
In this thesis, we present five techniques for automated learning of performance models for cloud-native software systems. We achieve this by combining machine learning with traditional performance modeling techniques. Unlike previous work, our focus is on cloud-hosted and continuously evolving microservice architectures, so-called cloud-native applications. Therefore, our contributions aim to solve the above challenges to deliver automated performance models with minimal computational overhead and no manual intervention. Depending on the cloud computing model, privacy agreements, or monitoring capabilities of each platform, we identify different scenarios where performance modeling, prediction, and optimization techniques can provide great benefits. Specifically, the contributions of this thesis are as follows:
Monitorless: Application-agnostic prediction of performance degradations.
To manage application performance with only platform-level monitoring, we propose Monitorless, the first truly application-independent approach to detecting performance degradation. We use machine learning to bridge the gap between platform-level monitoring and application-specific measurements, eliminating the need for application-level monitoring. Monitorless creates a single and holistic resource saturation model that can be used for heterogeneous and untrained applications. Results show that Monitorless infers resource-based performance degradation with 97% accuracy. Moreover, it can achieve similar performance to typical autoscaling solutions, despite using less monitoring information.
SuanMing: Predicting performance degradation using tracing.
We introduce SuanMing to mitigate performance issues before they impact the user experience. This contribution is applied in scenarios where tracing tools enable application-level monitoring. SuanMing predicts explainable causes of expected performance degradations and prevents performance degradations before they occur. Evaluation results show that SuanMing can predict and pinpoint future performance degradations with an accuracy of over 90%.
SARDE: Continuous and autonomous estimation of resource demands.
We present SARDE to learn application models for highly variable application deployments. This contribution focuses on the continuous estimation of application resource demands, a key parameter of performance models. SARDE represents an autonomous ensemble estimation technique. It dynamically and continuously optimizes, selects, and executes an ensemble of approaches to estimate resource demands in response to changes in the application or its environment. Through continuous online adaptation, SARDE efficiently achieves an average resource demand estimation error of 15.96% in our evaluation.
DepIC: Learning parametric dependencies from monitoring data.
DepIC utilizes feature selection techniques in combination with an ensemble regression approach to automatically identify and characterize parametric dependencies. Although parametric dependencies can massively improve the accuracy of performance models, DepIC is the first approach to automatically learn such parametric dependencies from passive monitoring data streams. Our evaluation shows that DepIC achieves 91.7% precision in identifying dependencies and reduces the characterization prediction error by 30% compared to the best individual approach.
Baloo: Modeling the configuration space of databases.
To study the impact of different configurations within distributed DBMSs, we introduce Baloo. Our last contribution models the configuration space of databases considering measurement variabilities in the cloud. More specifically, Baloo dynamically estimates the required benchmarking measurements and automatically builds a configuration space model of a given DBMS. Our evaluation of Baloo on a dataset consisting of 900 configuration points shows that the framework achieves a prediction error of less than 11% while saving up to 80% of the measurement effort.
Although the contributions themselves are orthogonally aligned, taken together they provide a holistic approach to performance management of modern cloud-native microservice applications.
Our contributions are a significant step forward as they specifically target novel and cloud-native software development and operation paradigms, surpassing the capabilities and limitations of previous approaches.
In addition, the research presented in this paper also has a significant impact on the industry, as the contributions were developed in collaboration with research teams from Nokia Bell Labs, Huawei, and Google.
Overall, our solutions open up new possibilities for managing and optimizing cloud applications and improve cost and energy efficiency. / Eine der Folgen der weltweiten Coronavirus-Pandemie ist die erhöhte Nachfrage und Nutzung von Onlinediensten in der gesamten Welt. Gleichzeitig werden die Performanceanforderungen an moderne Technologien immer strenger, da die Benutzer an höhere Standards gewöhnt sind. Diese gestiegenen Performance- und Verfügbarkeitsanforderungen, gepaart mit dem unvorhersehbaren Nutzerwachstum, führen dazu, dass ein zunehmender Anteil der Anwendungen auf Public-Cloud-Plattformen läuft, da diese eine bessere Skalierbarkeit und Zuverlässigkeit versprechen.
Da Rechenzentren bereits heute für etwa ein Prozent des weltweiten Stromverbrauchs verantwortlich sind, ist es von größter Bedeutung, den Ressourceneinsatz zu optimieren. Die gleichzeitige Erfüllung der steigenden und variierenden Ressourcen- und Performanceanforderungen ist nur durch eine Optimierung des Ressourcenmanagements möglich, ohne gleichzeitig zusätzlichen Overhead einzuführen. Dies erfordert die Erforschung und Entwicklung neuer Modellierungsansätze, um das Verhalten der laufenden Anwendungen mit möglichst wenigen Informationen zu verstehen.
Das Aufkommen moderner Softwareparadigmen macht es jedoch zunehmend schwieriger, solche Modelle zu lernen und macht bisherige Modellierungstechniken unbrauchbar. Moderne Cloud-Anwendungen werden oft als eine Sammlung von feingranularen, miteinander verbundenen Komponenten, sogenannten Microservices, bereitgestellt. Microservicearchitekturen bieten massive Vorteile, haben aber auch weitreichende Auswirkungen auf die Performance der jeweiligen Systeme. Darüber hinaus wird das Microserviceparadigma häufig in Verbindung mit einer DevOps-Kultur eingesetzt, was zu häufigen Änderungen am Deployment oder der Anwendung selbst führt. Solche Anwendungen werden auch als cloud-native Anwendungen bezeichnet. Zusammenfassend lässt sich sagen, dass der zunehmende Einsatz von sich ständig ändernden und in der Cloud gehosteten Microservice-Anwendungen eine Reihe von besonderen Herausforderungen für die Modellierung der Performance von modernen Anwendungen mit sich bringt. Darunter sind die Menge, Art und Struktur der Monitoringdaten, häufige Änderungen am Verhalten oder Veränderungen der zugrundeliegenden Infrastruktur. Das verstößt gegen gängige Annahmen des aktuellen Stands der Technik und eröffnet eine Forschungslücke für unsere Arbeit.
In der vorliegenden Arbeit stellen wir fünf Techniken zum automatisierten Lernen von Performancemodellen für cloud-native Softwaresysteme vor. Wir erreichen dies durch die Kombination von maschinellem Lernen mit traditionellen Performance-Modellierungstechniken. Im Gegensatz zu früheren Arbeiten liegt unser Fokus auf in der Cloud gehosteten und sich ständig weiterentwickelnden Microservice-Architekturen, sogenannten cloud-nativen Anwendungen. Daher zielen unsere Beiträge darauf ab, die oben genannten Herausforderungen zu lösen, um automatisierte Performancemodelle mit minimalem Rechenaufwand und ohne manuellen Aufwand zu erzeugen. Abhängig vom jeweiligen Cloudmodell, eventuellen Datenschutzvereinbarungen oder den Möglichkeiten des Monitoringsframworks der jeweiligen Plattform, identifizieren wir verschiedene Anwendungsszenarien, in denen Techniken zur Modellierung, Vorhersage und Optimierung der Performance große Vorteile bieten können. Im Einzelnen sind die Beiträge dieser Arbeit wie folgt:
Monitorless: Anwendungsagnostische Vorhersage von Performanceverschlechterung.
Um die Performance einer Anwendung ausschliesslich mittels Monitoring auf Plattformebene zu verwalten, schlagen wir Monitorless vor, den ersten wirklich anwendungsunabhängigen Ansatz zur Erkennung von Performanceverschlechterungen. Wir verwenden maschinelles Lernen, um die Lücke zwischen Monitoring auf Plattformebene und anwendungsspezifischen Messungen zu schließen, wodurch das Monitoring auf Anwendungsebene überflüssig wird. Monitorless erstellt ein einziges und ganzheitliches Modell der Ressourcensättigung, das auch für heterogene und nicht im Training enthaltene Anwendungen verwendet werden kann. Die Ergebnisse zeigen, dass Monitorless ressourcenbasierte Performanceverschlechterungen mit einer Genauigkeit von 97% erkennt. Darüber hinaus zeigt es ähnliche Leistungen wie typische Autoscalinglösungen, obwohl es weniger Monitoringinformationen verwendet.
SuanMing: Vorhersage von Performanceverschlechterung mithilfe von Tracing.
Wir führen SuanMing ein, um Performanceprobleme zu entschärfen, bevor sie sich auf das Benutzererlebnis auswirken. Dieser Beitrag wird in Szenarien angewendet, in denen Tracing-Tools das Monitoring auf Anwendungsebene ermöglichen. SuanMing sagt erklärbare Ursachen für erwartete Performanceeinbußen voraus und verhindert diese, bevor sie auftreten. Evaluationsergebnisse zeigen, dass SuanMing zukünftige Performanceeinbußen mit einer Genauigkeit von über 90% vorhersagen und lokalisieren kann.
SARDE: Kontinuierliche und autonome Schätzung des Ressourcenbedarfs.
Wir stellen SARDE vor, um Performancemodelle für hochvariable Anwendungen zu lernen. Dieser Beitrag konzentriert sich auf die kontinuierliche Schätzung des Ressourcenbedarfs von Anwendungen, einem wichtigen Parameter in Performancemodellen. SARDE ist ein autonomes Ensembleverfahren zum Schätzen. Es wählt dynamisch und kontinuierlich aus einem Ensemble von Ansätzen, optimiiert diese, und führt sie aus, um den Ressourcenbedarf als Reaktion auf Änderungen in der Anwendung oder ihrer Umgebung zu schätzen. Durch kontinuierliche Online-Anpassung erreicht SARDE in unserer Evaluation effizient einen durchschnittlichen Fehler bei der Schätzung des Ressourcenbedarfs von 15,96%.
DepIC: Lernen parametrischer Abhängigkeiten aus Monitoringdaten.
DepIC nutzt Techniken zu Featureauswahl in Kombination mit einem Ensemble-Regressionsansatz, um parametrische Abhängigkeiten automatisch zu identifizieren und zu charakterisieren. Obwohl parametrische Abhängigkeiten die Genauigkeit von Performancemodellen deutlich verbessern können, ist DepIC der erste Ansatz, der solche parametrischen Abhängigkeiten automatisch aus passiven Monitoringdatenströmen lernt. Unsere Evaluation zeigt, dass DepIC eine Genauigkeit von 91,7% bei der Identifizierung von Abhängigkeiten erreicht und den Fehler bei der Charakterisierungsvorhersage um 30% im Vergleich zum besten individuellen Ansatz reduziert.
Baloo: Modellierung des Konfigurationsraums von Datenbanken.
Um die Auswirkungen verschiedener Konfigurationseinstellungen in verteilten Datenbankmanagementsystemen zu untersuchen, führen wir Baloo ein. Unser letzter Beitrag modelliert den Konfigurationsraum von Datenbanken unter Berücksichtigung der Messungsvariabilitäten der Cloud. Genauer gesagt, schätzt Baloo dynamisch die erforderliche Anzahl der Benchmarkmessungen und baut automatisch ein Konfigurationsraummodell eines gegebenen Datenbankmanagementsystems auf. Unsere Evaluation von Baloo auf einem aus 900 Konfigurationspunkten bestehenden Datensatz zeigt, dass das Framework einen Vorhersagefehler von weniger als 11% erreicht und gleichzeitig bis zu 80% des Messaufwands einspart.
Obwohl die Beiträge an sich orthogonal zueinander ausgerichtet sind, bilden sie zusammengenommen einen ganzheitlichen Ansatz für das Performancemanagement von modernen cloud-nativen Microservice-Anwendungen. Unsere Beiträge sind ein bedeutender Schritt, da sie speziell auf neuartige und cloud-native Paradigmen für Softwareentwicklung und Betrieb abzielen, sowie die Fähigkeiten bisheriger Ansätze übertreffen. Darüber hinaus hat die in dieser Arbeit vorgestellte Forschung auch einen bedeutenden Einfluss auf die Industrie, da die Beiträge in Zusammenarbeit mit Forschungsteams von Nokia Bell Labs, Huawei und Google entwickelt wurden. Insgesamt eröffnen unsere Lösungen neue Möglichkeiten für die Verwaltung und Optimierung von Cloudanwendungen und verbessern so die Kosten- und Energieeffizienz.
|
317 |
Measurement, Modeling, and Emulation of Power Consumption of Distributed Systems / Messung, Modellierung und Emulation des Stromverbrauchs von verteilten SystemenSchmitt, Norbert January 2022 (has links) (PDF)
Today’s cloud data centers consume an enormous amount of energy, and energy consumption will rise in the future. An estimate from 2012 found that data centers consume about 30 billion watts of power, resulting in about 263TWh of energy usage per year. The energy consumption will rise to 1929TWh until 2030. This projected rise in energy demand is fueled by a growing number of services deployed in the cloud. 50% of enterprise workloads have been migrated to the cloud in the last decade so far. Additionally, an increasing number of devices are using the cloud to provide functionalities and enable data centers to grow. Estimates say more than 75 billion IoT devices will be in use by 2025.
The growing energy demand also increases the amount of CO2 emissions. Assuming a CO2-intensity of 200g CO2 per kWh will get us close to 227 billion tons of CO2. This emission is more than the emissions of all energy-producing power plants in Germany in 2020.
However, data centers consume energy because they respond to service requests that are fulfilled through computing resources. Hence, it is not the users and devices that consume the energy in the data center but the software that controls the hardware. While the hardware is physically consuming energy, it is not always responsible for wasting energy. The software itself plays a vital role in reducing the energy consumption and CO2 emissions of data centers. The scenario of our thesis is, therefore, focused on software development.
Nevertheless, we must first show developers that software contributes to energy consumption by providing evidence of its influence. The second step is to provide methods to assess an application’s power consumption during different phases of the development process and to allow modern DevOps and agile development methods. We, therefore, need to have an automatic selection of system-level energy-consumption models that can accommodate rapid changes in the source code and application-level models allowing developers to locate power-consuming software parts for constant improvements. Afterward, we need emulation to assess the energy efficiency before the actual deployment. / Die heutigen Cloud-Rechenzentren verbrauchen eine enorme Menge an Energie, und der Energieverbrauch wird in Zukunft noch steigen. Eine Schätzung aus dem Jahr 2012 ergab, dass Rechenzentren etwa 30 Milliarden Watt Strom verbrauchen, was einem Energieverbrauch von etwa 263TWh pro Jahr entspricht. Der Energieverbrauch wird bis zum Jahr 2030 auf 1929TWh ansteigen. Dieser prognostizierte Anstieg des Energiebedarfs wird durch die wachsende Zahl der in der Cloud bereitgestellten Dienste angeheizt. In den letzten zehn Jahren wurden bereits 50% der Arbeitslasten in Unternehmen in die Cloud verlagert. Außerdem nutzen immer mehr Geräte die Cloud, um Funktionen bereitzustellen und das Wachstum von Rechenzentren zu ermöglichen. Schätzungen zufolge werden bis 2025 mehr als 75 Milliarden IoT-Geräte im Einsatz sein.
Der wachsende Energiebedarf erhöht auch die Menge der CO2-Emissionen. Geht man von einer CO2-Intensität von 200g CO2 pro kWh in einem eher optimistischen Szenario aus, kommen wir auf fast 227 Milliarden Tonnen CO2. Dieser Ausstoß ist mehr CO2 als die Emissionen aller energieerzeugenden Kraftwerke in Deutschland im Jahr 2020.
Rechenzentren verbrauchen jedoch Energie, weil sie auf Serviceanfragen reagieren, die durch Rechenressourcen erfüllt werden. Es sind also nicht die Benutzer und Geräte, die in einem Rechenzentrum Energie verbrauchen, sondern die Software, die die Hardware steuert. Obwohl die Hardware physisch Energie verbraucht, ist sie nicht immer für die Energieverschwendung verantwortlich. Die Software selbst spielt eine wichtige Rolle bei der Reduzierung des Energieverbrauchs und der CO2-Emissionen von Rechenzentren. Das Szenario unserer Arbeit konzentriert sich daher auf die Softwareentwicklung.
Dennoch müssen wir die Entwickler zunächst darauf hinweisen, dass die Software zum Energieverbrauch beiträgt, indem wir ihren Einfluss nachweisen. Der zweite Schritt ist die Bereitstellung von Methoden zur Bewertung des Energieverbrauchs einer Anwendung in den verschiedenen Phasen des Entwicklungsprozesses, um moderne DevOps und agile Entwicklungsmethoden zu ermöglichen. Wir brauchen daher eine automatische Auswahl von Energieverbrauchsmodellen auf Systemebene, die schnelle Änderungen im Quellcode berücksichtigen können, und Modelle auf Anwendungsebene, die es den Entwicklern ermöglichen, stromverbrauchende Softwareteile für ständige Verbesserungen zu lokalisieren. Danach benötigen wir eine Emulation, um die Energieeffizienz vor dem eigentlichen Einsatz zu bewerten
|
318 |
Factors limiting adoption of new technology : a study of drawbacks affecting transition from on-premise systems to cloud computing / Begränsande faktorer vid införande av ny teknologi : en studie av aspekter som hindrar övergången från lokala system till molntjänsterKILSTRÖM, THERÉSE January 2016 (has links)
Cloud computing has grown from being a business concept to one of the fastest growing segments of modern ICT industry. Cloud computing are addressing many issues emerged by the globalization in terms of the ever faster pace of growth, shorter product life cycles, increased complexity of systems and higher investment needs. Cloud computing is enetrating all sectors of business applications and has influenced the whole IT industry. The business model has grown to be an alternative to traditional on-premise systems, where traditional environment, applications and additional IT infrastructure is maintained in-house within the organization. However, organizations are still reluctant to deploy their business in the cloud. There are many concerns regarding cloud computing services and despite all its advantages, cloud adoption is still very low at an organizational landscape. Hence, this master thesis aims to investigate what the drawbacks regarding a transition from an on-premise system to a cloud computing service are and how these relate to factors that influence the decision of adoption. Furthermore, this study will investigate how cloud service providers can develop a pro-active approach to manage the main drawbacks of cloud adoption. In order to fulfill the aim of the study, empirical research in form of data collection of onducted interviews were carried out. The results of the study identified security and perceived loss of control as the main drawbacks in the transition from an on-premise system to a cloud computing service. Since these findings could be described as foremost technological and attitudinal, the thesis contributes to practitioners in terms of implications of communicating and educating customers and adherence to industry standards and certifications as important factors to address. Lastly, this thesis identified lack of understanding for cloud computing as a result of poor information, indicating for further research within this area.
|
319 |
Evaluation of “Serverless” Application Programming Model : How and when to start ServerlesGrumuldis, Algirdas January 2019 (has links)
Serverless is a fascinating trend in modern software development which consists of pay-as-you-go, autoscaling services. Promised reduction in operational and development costs attracts not only startups but also enterprise clients despite that serverless is a relatively fresh field where new patterns and services continue to emerge. Serverless started as independent services which solve specific problems (highly scalable storage and computing), and now it's become a paradigm shift how systems are built. This thesis addressed questions when and how to start with serverless by reviewing available literature, conducting interviews with IT professionals, analyzing available tools, identifying limitations of serverless architecture and providing checklist when serverless is applicable. The focus was on AWS serverless stack, but main findings are generic and hold for all serverless providers serverless delivers what it promises, however, the devil is in the detail. Providers are continuously working to resolve limitations or building new services as solutions in order to make serverless the next phase of cloud evolution. / Serverless är en fascinerande trend inom nutida mjukvaruutveckling som består av pay-as-you-go, autoscaling-tjänster. Löftet om reducerade kostnader för drift och utveckling attraherar såväl startupföretag som storföretag, trots att serverless är ett relativt nytt område där nya inriktningar och tjänster fortsätter att uppkomma. Serverless började som en oberoende tjänst som löste specifika problem (högt skalbar lagring och databehandling), och har nu blivit ett paradigmskifte för hur system byggs. Denna uppsats sökte svar på frågor om när och hur man ska börja med serverless genom att granska tillgängliga publikationer, genomföra intervjuer med IT-experter, analysera tillgängliga verktyg och identifiera begränsningarna i serverless-arkitekturen. Fokus ligger på AWS serverless stack, men de huvudsakliga slutsatserna är generiska och gäller för alla serverless-leverantörer – serverless håller vad den lovar, men djävulen bor i detaljerna. Tjänsteleverantörerna jobbar oavbrutet med att lösa begränsningarna eller skapa nya tjänster och lösningar som ska göra serverless till nästa fas i molnevolutionen.
|
320 |
Cascading permissions policy model for token-based access control in the web of thingsAmir, Mohammad, Pillai, Prashant, Hu, Yim Fun January 2014 (has links)
No / The merger of the Internet of Things (IoT) with cloud computing has given birth to a Web of Things (WoT) which hosts heterogeneous and rapidly varying data. Traditional access control mechanisms such as Role-Based Access schemes are no longer suitable for modelling access control on such a large and dynamic scale as the actors may also change all the time. For such a dynamic mix of applications, data and actors, a more distributed and flexible model is required. Token-Based Access Control is one such scheme which can easily model and comfortably handle interactions with big data in the cloud and enable provisioning of access to fine levels of granularity. However, simple token access models quickly become hard to manage in the face of a rapidly growing repository. This paper proposes a novel token access model based on a cascading permissions policy model which can easily control interactivity with big data without becoming a menace to manage and administer.
|
Page generated in 0.0779 seconds