Browsing by Subject "Cloud computing."
Now showing 1 - 3 of 3
- Results Per Page
- Sort Options
Item Unknown Analysis and design of scalable software as a service architecture(2015) Özcan, OnurDifferent from traditional enterprise applications that rely on the infrastructure and services provided and controlled within an enterprise, cloud computing is based on services that are hosted on providers over the Internet. Hereby, services are fully managed by the provider, whereas consumers can acquire the required amount of services on demand, use applications without installation and access their personal files through any computer with internet access. Recently, a growing interest in cloud computing can be observed thanks to the significant developments in virtualization and distributed computing, as well as improved access to high-speed Internet and the need for economical optimization of resources. An important category of cloud computing is the software as a service domain in which software applications are provided over the cloud. In general when describing SaaS, no specific application architecture is prescribed but rather the general components and structure is defined. Based on the provided reference SaaS architecture different application SaaS architectures can be derived each of which will typically perform differently with respect to different quality factors. An important quality factor in designing SaaS architectures is scalability. Scalability is the ability of a system to handle a growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth. In this thesis we provide a systematic modeling and design approach for designing scalable SaaS architectures. To identify the aspects that impact the scalability of SaaS based systems we have conducted a systematic literature review in which we have identified and analyzed the relevant primary studies that discuss scalability of SaaS systems. Our study has yielded the aspects that need to be considered when designing scalable systems. Our research has continued in two subsequent directions. Firstly, we have defined a UML profile for supporting the modeling of scalable SaaS architectures. The profile has been defined in accordance with the existing practices on defining and documenting profiles. Secondly, we provide the socalled architecture design perspective for designing scalable SaaS systems. Architectural Perspectives are a collection of activities, tactics and guidelines to modify a set of existing views, to document and analyze quality properties. Architectural perspectives as such are basically guidelines that work on multiple views together. So far architecture perspectives have been defined for several quality factors such as for performance, reuse and security. However, an architecture perspective dedicated for designing scalable SaaS systems has not been defined explicitly. The architecture perspective that we have defined considers the scalability aspects derived from the systematic literature review as well as the architectural design tactics that represent important proved design rules and practices. Further, the architecture perspective adopts the UML profile for scalability that we have defined. The scalability perspective is illustrated for the design of a SaaS architecture for a real industrial case study.Item Unknown Application framework for supporting performance isolation in software as a service systems(2015-01) Oral, Orhun AlpScalability of a cloud application is the ability of an application that handles the service level agreement (SLA) requirements for all customers. In a non-isolated SaaS system, the different clients of a SaaS can freely use the resources of the SaaS. Hereby, disruptive tenants who exceed their limits can easily cause degradation of performance of the provided services for other tenants. To ensure performance demands of the multiple tenants usually elasticity of the SaaS is needed, which supports changing the hardware resources. In case the users’ demand change, the system can scale itself up or down according to the minimum necessary computational power to handle all the requests within the minimum requirements of SLA. The main goal of elasticity, however, is not directly to support performance isolation but scalability of the SaaS in general. As such, relying only on elasticity does not explicitly solve the problem of performance isolation. Performance isolated systems aim to ensure the minimum requirements of the SLA to all of the customers. Ensuring the fair behavior with respect to customers is a need for building a performance isolated system. Various performance isolation approaches have been introduced including artificial delay, round robin, blacklist, and thread pool. However, these approaches assume a SaaS system with thin clients whereby all the tasks are handled by the SaaS. This thesis introduces the “Tork Framework”, for developing scalable and performance isolated enterprise SaaS applications. Tork Framework provides a new way for developing a cloud application from scratch or converts existing software applications to scalable cloud applications. Tork Framework introduces built-in features applicable for the application layer, database layer and client layer. These features include techniques for security controls, logging, and multi-tenancy on relational database management systems (RDMS). Built-in server components of Tork Framework provide service oriented architecture for all business objects in the RDMS, and client components make the application work on different platforms. Also, this framework provides a cloud based IDE for configuring parameters and writing custom codes without the need of any other individual tool via online graphical user interface (GUI). iv The framework as such provides an approach for supporting the design and realization of performance isolated cloud system by also considering the usage of resources of thick clients. To illustrate the framework and validate our approach we have adopted a real SaaS environment in which a case study is implemented using the Tork framework. Different Implemented performance isolation techniques are tested in this case study using both thin and thick client types.Item Unknown Network-aware virtual machine placement in cloud data centers with multiple traffic-intensive components(2014) Ilkhechi, Amir RahimzadehFollowing a shift from computing as a purchasable product to computing as a deliverable service to the consumers over the Internet, Cloud Computing emerged as a novel paradigm with an unprecedented success in turning utility computing into a reality. Like any emerging technology, with its advent, Cloud Computing also brought new challenges to be addressed. This work studies network and traffic aware virtual machine (VM) placement in Cloud Computing infrastructures from a provider perspective, where certain infrastructure components have a predisposition to be the sinks or sources of a large number of intensive-traffic flows initiated or targeted by VMs. In the scenarios of interest, the performance of VMs are strictly dependent on the infrastructure’s ability to meet their intensive traffic demands. We first introduce and attempt to maximize the total value of a metric named “satisfaction” that reflects the performance of a VM when placed on a particular physical machine (PM). The problem is NP-hard and there is no polynomial time algorithm that yields an optimal solution. Therefore we introduce several off-line heuristics-based algorithms that yield nearly optimal solutions given the communication pattern and flow demand profiles of VMs. We evaluate and compare the performance of our proposed algorithms via extensive simulation experiments.