Advances, Systems and Applications
From: Degrees of tenant isolation for cloud-hosted software services: a cross-case analysis
Aspects | Case 1- Continuous integration | Case 2 – Version control | Case 3 – Bug tracking system |
---|---|---|---|
Resource consumption | High RAM and Disk I/O consumption (e.g., during the building of files) | Some native OS filesystem format (e.g., FSFS) consumes CPU (e.g., Delification, compressing data). Consumes memory during data caching | CPU and RAM consumption (could consume more CPU depending on runtime library used. Bugzilla consumes huge RAM if mod_perl is enabled), consumes memory during Caching DB transactions |
Storage Space | Requires large storage space to store build history | Requires large storage space to store additional copies of data | Limited (except large bug attachments are needed) |
Latency and Bandwidth of client accessing the server | Transferring large data size across network; long distance between CI server and SCM server | Compressing data across, Migrating repository, Repository backup, Enabling file locking | Transferring large bug attachments across a network, Enabling Locking on DB transactions |
Type of GSD process | Long running build, large number of builds, complex and difficult builds | File locking | Long running DB transactions with support for locking could consume more RAM |
Storage format of the backend server | Portable across different OS. Storing massive builds on NFS mount reduces performance. | Some DBMS (e.g., Berkeley DB) might not be portable across different OS | Fairly portable across different OS |
Interdependencies with other tools | Depends on Version control server for store archive data | Depend on a CI server to trigger polling before checkout data | Integrated with CI server or other issue tracking systems |