Skip to main content

Advances, Systems and Applications

Table 6 Characteristics of the Case Studies

From: Degrees of tenant isolation for cloud-hosted software services: a cross-case analysis

Aspect

Case study 1

Case study 2

Case study 3

Research Aim

To evaluate the degrees of isolation of multitenancy patterns for cloud-hosted continuous integration system

To evaluate the degrees of isolation of multitenancy patterns for cloud-hosted version control system.

To evaluate the degrees of isolation of multitenancy patterns for cloud-hosted bug tracking system

Target process

Continuous integration

Version control

Bug tracking

GSD tool/plugin that can be used to simulate the process

Hudson

Subversion, FileSystem SCM Plugin (integrated in Hudson)

Bugzilla

User-level Process investigated

Automated Build Verification/Testing

Check-in, Check-out, locking

Bug creation with file attachment

Process simulated in JMeter

sending HTTP/HTTPS request to continuous integration server

sending an FTP download file and upload file request to a Version control repository

sending an JDBC Request(an SQL query) to a database, invoking external JMeter APIs and Java classes via BeanShell

Developer community

Eclipse Foundation

Apache Software Foundation

Mozilla Foundation

Implementation Language

Java

Python, Java

Perl, Java

Mechanism for Customization and Extension

Hudson plug-in using Hudson HPI tool

Hook scripts or any program triggered by some repository event (e.g., pre-hooks which run in advance of a repository operation)

Bugzilla Extensions Hooks

Storage/DBMS used (Back end)

MySQL

Postgree SQL, Berkley DB

MySQL, PostgreSQL

Implementation of Tenant Isolation (based on COMITRE)

Easy to implement due to Java programming language familiarity

Fairly simple to implement but files permissions could be an issue

Difficult and challenging due to existing database restrictions/constraints

Key implementation challenges

Insufficient system resources (e.g., memory)

File permission errors

Restrictions of database schema (e.g., file size, maximum open connections)