79 research outputs found
A framework for achieving the required degree of multitenancy isolation for deploying components of a cloud-hosted service.
Multitenancy allows multiple tenants to access a single instance of a cloud offering. While several approaches exist for implementing multitenancy, little attention has been paid to implementing the required degree of isolation since there are varying degrees of isolation that can be implemented for each tenant. This paper presents a framework for achieving the required degree of isolation between tenants accessing a cloud offering so that the required performance, resource utilisation and access privilege of one tenant does not affect other tenants when there are workload changes. The framework is composed of two main constituents: 1) component-based approach to multitenancy isolation through request re-routing (COMITRE); 2) an optimisation model for providing optimal solutions for deploying components of a cloud-hosted service. We demonstrate using a case study of: 1) a cloud-hosted bug tracking system; 2) a synthetic dataset, the possibility of providing the required degree of isolation and optimal deployment solutions
Degrees of tenant isolation for cloud-hosted software services : a cross-case analysis
A challenge, when implementing multi-tenancy
in a cloud-hosted software service, is how to ensure that the
performance and resource consumption of one tenant does
not adversely affect other tenants. Software designers and
architects must achieve an optimal degree of tenant isolation
for their chosen application requirements. The objective
of this research is to reveal the trade-offs, commonalities,
and differences to be considered when implementing
the required degree of tenant isolation. This research uses
a cross-case analysis of selected open source cloud-hosted
software engineering tools to empirically evaluate varying
degrees of isolation between tenants. Our research reveals
five commonalities across the case studies: disk space reduction,
use of locking, low cloud resource consumption,
customization and use of plug-in architecture, and choice of
multi-tenancy pattern. Two of these common factors compromise
tenant isolation. The degree of isolation is reduced
when there is no strategy to reduce disk space and customization
and plug-in architecture is not adopted. In contrast,
the degree of isolation improves when careful consideration
is given to how to handle a high workload, locking of
data and processes is used to prevent clashes between multiple
tenants and selection of appropriate multi-tenancy pattern. The research also revealed five case study differences:
size of generated data, cloud resource consumption, sensitivity
to workload changes, the effect of the software process,
client latency and bandwidth, and type of software process.
The degree of isolation is impaired, in our results, by
the large size of generated data, high resource consumption
by certain software processes, high or fluctuating workload,
low client latency, and bandwidth when transferring multiple
files between repositories. Additionally, this research
provides a novel explanatory framework for (i) mapping tenant
isolation to different software development processes,
cloud resources and layers of the cloud stack; and (ii) explaining
the different trade-offs to consider affecting tenant
isolation (i.e. resource sharing, the number of users/requests,
customizability, the size of generated data, the scope of control
of the cloud application stack and business constraints)
when implementing multi-tenant cloud-hosted software services.
This research suggests that software architects have
to pay attention to the trade-offs, commonalities, and differences
we identify to achieve their degree of tenant isolation
requirements
Evolutionary computation for optimal component deployment with multitenancy isolation in cloud-hosted applications.
A multitenant cloud-application that is designed to use several components needs to implement the required degree of isolation between the components when the workload changes. The highest degree of isolation results in high resource consumption and running cost per component. A low degree of isolation allows sharing of resources, but leads to degradation in performance and to increased security vulnerability. This paper presents a simulation-based approach operating on computational metaheuristics that search for optimal ways of deploying components of a cloud-hosted application to guarantee multitenancy isolation When the workload changes, an open multiclass Queuing Network model is used to determine the average number of component access requests, followed by a metaheuristic search for the optimal deployment solutions of the components in question. The simulation-based evaluation of optimization performance showed that the solutions obtained were very close to the target solution. Various recommendations and best practice guidelines for deploying components in a way that guarantees the required degree of isolation are also provided
Optimal deployment of components of cloud-hosted application for guaranteeing multitenancy isolation
One of the challenges of deploying multitenant cloud-hosted
services that are designed to use (or be integrated with) several
components is how to implement the required degree
of isolation between the components when there is a change
in the workload. Achieving the highest degree of isolation
implies deploying a component exclusively for one tenant;
which leads to high resource consumption and running cost
per component. A low degree of isolation allows sharing of
resources which could possibly reduce cost, but with known
limitations of performance and security interference. This
paper presents a model-based algorithm together with four
variants of a metaheuristic that can be used with it, to provide
near-optimal solutions for deploying components of a
cloud-hosted application in a way that guarantees multitenancy
isolation. When the workload changes, the model based
algorithm solves an open multiclass QN model to
determine the average number of requests that can access
the components and then uses a metaheuristic to provide
near-optimal solutions for deploying the components. Performance
evaluation showed that the obtained solutions had
low variability and percent deviation when compared to the
reference/optimal solution. We also provide recommendations
and best practice guidelines for deploying components
in a way that guarantees the required degree of isolation
Architecting the deployment of cloud-hosted services for guaranteeing multitenancy isolation.
In recent years, software tools used for Global Software Development (GSD) processes (e.g., continuous integration, version control and bug tracking) are increasingly being deployed in the cloud to serve multiple users. Multitenancy is an important architectural property in cloud computing in which a single instance of an application is used to serve multiple users. There are two key challenges of implementing multitenancy: (i) ensuring isolation either between multiple tenants accessing the service or components designed (or integrated) with the service; and (ii) resolving trade-offs between varying degrees of isolation between tenants or components. The aim of this thesis is to investigate how to architect the deployment of cloud-hosted service while guaranteeing the required degree of multitenancy isolation. Existing approaches for architecting the deployment of cloud-hosted services to serve multiple users have paid little attention to evaluating the effect of the varying degrees of multitenancy isolation on the required performance, resource consumption and access privilege of tenants (or components). Approaches for isolating tenants (or components) are usually implemented at lower layers of the cloud stack and often apply to the entire system and not to individual tenants (or components). This thesis adopts a multimethod research strategy to providing a set of novel approaches for addressing these problems. Firstly, a taxonomy of deployment patterns and a general process, CLIP (CLoud-based Identification process for deployment Patterns) was developed for guiding architects in selecting applicable cloud deployment patterns (together with the supporting technologies) using the taxonomy for deploying services to the cloud. Secondly, an approach named COMITRE (COmponent-based approach to Multitenancy Isolation Through request RE-routing) was developed together with supporting algorithms and then applied to three case studies to empirically evaluate the varying degrees of isolation between tenants enabled by multitenancy patterns for three different cloud-hosted GSD processes, namely-continuous integration, version control, and bug tracking. After that, a synthesis of findings from the three case studies was carried out to provide an explanatory framework and new insights about varying degrees of multitenancy isolation. Thirdly, a model-based decision support system together with four variants of a metaheuristic solution was developed for solving the model to provide an optimal solution for deploying components of a cloud-hosted application with guarantees for multitenancy isolation. By creating and applying the taxonomy, it was learnt that most deployment patterns are related and can be implemented by combining with others, for example, in hybrid deployment scenarios to integrate data residing in multiple clouds. It has been argued that the shared component is better for reducing resource consumption while the dedicated component is better in avoiding performance interference. However, as the experimental results show, there are certain GSD processes where that might not necessarily be so, for example, in version control, where additional copies of the files are created in the repository, thus consuming more disk space. Over time, performance begins to degrade as more time is spent searching across many files on the disk. Extensive performance evaluation of the model-based decision support system showed that the optimal solutions obtained had low variability and percent deviation, and were produced with low computational effort when compared to a given target solution
Securing the Deployment of Cloud-Hosted Services for Guaranteeing Multitenancy Isolation
Multitenancy introduces significant error and security challenges in the cloud depending on the location of the functionality to be shared and the required degree of isolation between the tenants. Existing approaches for securing the deployment of cloud-hosted services to serve multiple users have paid little attention to evaluating the effect of the varying degrees of multitenancy isolation on the security and access privilege of tenants (or components). In addition, approaches for securing the isolation of tenants (or components) are usually implemented at lower layers of the cloud stack and often apply to the entire system and not to individual tenants (or components). This study presents CLAMP (Cloud-based architectural approach for securing services through Multitenancy deployment Patterns) to securing the deployment of cloud-hosted services in a way that guarantees the required degree of isolation between the tenants. We evaluated the framework by applying it to a motivating cloud deployment problem. The findings show among other things that the framework can be used to select suitable deployment patterns, evaluate the effect of varying degrees of isolation on the cloud-hosted service, analyse the deployment requirements of cloud-hosted services and optimise the deployment of the cloud-hosted service to guarantee multitenancy isolation
Implementing the required degree of multitenancy isolation : a case study of cloud-hosted bug tracking system
Implementing the required degree of isolation between tenants is one of the significant challenges for deploying a multitenant application on the cloud. In this paper, we applied COMITRE (COmponent-based approach to Multitenancy Isolation Through request RE-routing) to empirically evaluate the degree of isolation between tenants enabled by three multitenancy patterns (i.e., shared component, tenant-isolated component, and dedicated component) for a cloud-hosted Bug tracking system using Bugzilla. The study revealed among other things that a component deployed based on dedicated component offers the highest degree of isolation (especially for database transactions where support for locking is enabled). Tenant isolation based on performance (e.g., response time) favoured shared component (compared to resource consumption (e.g., CPU and memory) which favoured dedicated component). We also discuss key challenges and recommendations for implementing multitenancy for application components in cloud-hosted bug tracking systems with guarantees for isolation between multiple tenants
Multitenant Containers as a Service (CaaS) for Clouds and Edge Clouds
Cloud computing, offering on-demand access to computing resources through the
Internet and the pay-as-you-go model, has marked the last decade with its three
main service models; Infrastructure as a Service (IaaS), Platform as a Service
(PaaS), and Software as a Service (SaaS). The lightweight nature of containers
compared to virtual machines has led to the rapid uptake of another in recent
years, called Containers as a Service (CaaS), which falls between IaaS and PaaS
regarding control abstraction. However, when CaaS is offered to multiple
independent users, or tenants, a multi-instance approach is used, in which each
tenant receives its own separate cluster, which reimposes significant overhead
due to employing virtual machines for isolation. If CaaS is to be offered not
just at the cloud, but also at the edge cloud, where resources are limited,
another solution is required. We introduce a native CaaS multitenancy
framework, meaning that tenants share a cluster, which is more efficient than
the one tenant per cluster model. Whenever there are shared resources,
isolation of multitenant workloads is an issue. Such workloads can be isolated
by Kata Containers today. Besides, our framework esteems the application
requirements that compel complete isolation and a fully customized environment.
Node-level slicing empowers tenants to programmatically reserve isolated
subclusters where they can choose the container runtime that suits application
needs. The framework is publicly available as liberally-licensed, free,
open-source software that extends Kubernetes, the de facto standard container
orchestration system. It is in production use within the EdgeNet testbed for
researchers
A Survey on Intrusion Detection Systems for Fog and Cloud Computing
The rapid advancement of internet technologies has dramatically increased the number of connected devices. This has created a huge attack surface that requires the deployment of effective and practical countermeasures to protect network infrastructures from the harm that cyber-attacks can cause. Hence, there is an absolute need to differentiate boundaries in personal information and cloud and fog computing globally and the adoption of specific information security policies and regulations. The goal of the security policy and framework for cloud and fog computing is to protect the end-users and their information, reduce task-based operations, aid in compliance, and create standards for expected user actions, all of which are based on the use of established rules for cloud computing. Moreover, intrusion detection systems are widely adopted solutions to monitor and analyze network traffic and detect anomalies that can help identify ongoing adversarial activities, trigger alerts, and automatically block traffic from hostile sources. This survey paper analyzes factors, including the application of technologies and techniques, which can enable the deployment of security policy on fog and cloud computing successfully. The paper focuses on a Software-as-a-Service (SaaS) and intrusion detection, which provides an effective and resilient system structure for users and organizations. Our survey aims to provide a framework for a cloud and fog computing security policy, while addressing the required security tools, policies, and services, particularly for cloud and fog environments for organizational adoption. While developing the essential linkage between requirements, legal aspects, analyzing techniques and systems to reduce intrusion detection, we recommend the strategies for cloud and fog computing security policies. The paper develops structured guidelines for ways in which organizations can adopt and audit the security of their systems as security is an essential component of their systems and presents an agile current state-of-the-art review of intrusion detection systems and their principles. Functionalities and techniques for developing these defense mechanisms are considered, along with concrete products utilized in operational systems. Finally, we discuss evaluation criteria and open-ended challenges in this area
- …