Elastic Build Service
Authors: Ville Seppänen
Category: industry article
Keywords: Cloud computing, cloudbursting, build system, software build, OBS, Open Build Service, computing cluster, distributed system, virtualization
Abstract: Linux-based operating systems such as MeeGo consist of thousands of modular software packages. Compiling and packaging source code is an automated but computationally heavy task. As the load on a build farm can vary greatly, a local infrastructure is difficult to provision efficiently. In this paper we present the elastic acquisition of cloud resources as a means to ensure sufficient computing capacity for a software build system. This system is Open Build Service, a centrally managed distributed build system capable of building packages for several distributions and architectures. Main concerns were the technical feasibility, security and cost-efficiency of the proposed solution. A script was implemented to autonomously manage the elastic cloudbursting, monitoring resource usage and demand and making decisions whether new machines should be requested or idle ones terminated. The latencies incurred by the physical distance to the cloud were not insurmountable and the system scaled up in a matter of minutes. The main advantage achieved with cloud usage in this work was the advent of seemingly infinite number of resources on-demand, ideal for building taking care of sudden bursts of packages that can be built in parallel.
Permanent link to this page: http://urn.fi/URN:NBN:fi-fe201109275589
-
Initial submission
-
Elastic Build Service
- Small updates to diagrams, clarified text, fixed typos.
-
Elastic Build Service
- Revised based on peer-review.
This paper presents a fine example on what you can do with cloud when you can spill over load to cloud resources and the application can be nicely automated. The presented test system is able to push compilation load from private cloud to Amazon EC2 instances.
Somehow this sounds familiar to me. It seems that this resembles Electric Commander tool of a company called Electric Cloud (http://www.electric-cloud.com/products/electriccommander.php) which provides services to distribute build load to the cloud. However, this paper rather nicely provides the details on how the parts work, although does not provide all the functionality yet.
As a research paper the main question to me is what is novel in this paper compared to these existing solutions? Some statements about this are needed.
Also some reflection against the literature describing the state of the research is necessary. From http://scholar.google.com/scholar?q=cloudbursting I was able to find some articles using cloudbursting in other domains. However, in a quick search I was not able to find scientific articles on build/make automation using on-demand resources from the public cloud (closest being Armbrust et al, Above the clouds, http://x-integrate.de/x-in-cms.nsf/id/DE_Von_Regenmachern_und_Wolkenbruechen_-_Impact_2009_Nachlese/$file/abovetheclouds.pdf)
In addition to those points above, I have some minor comments regarding the clarity of the presentation:
- Does OBS Server in Figure 3 refer to Back-end in Figure 2?
- In Fig 3 "Workers connect to server to build packages" leaves it unclear if the OBS Server or the Workers make the build (as in Fig 2). I assume the Workers do that (?).
- Where are the Local Build Hosts in Fig 3?
- The role of boxes in Fig 3 is unclear, please describe (assuming functional modules in a single HW?)
- Please, elaborate "boto" (in text above Fig 4).
- "When bad and unnecessary build hosts have been terminated, the service manager determines whether it should request new build hosts." is there no means to assign new tasks for the workers of a free (i.e., unnecessary) CBH?
- Altogether, the management of workers vs. Cloud Build Hosts is a bit unclear (as there often exists only one worker per CBH, although they have separate roles).
- In Chapter 5, please give some data of the LBHs (number of cores etc.) and use of CBHs.
- Chapter 5 entitled "Evaluation and future work" could preferably be titled simply "Evaluation".
- The figures given and the simple cost analysis in Ch 5 were useful.
- Ch 6: "It uses virtualization to inhibit attacks from inside of the build environments to the build host and the whole build system." What does this mean? Please, rephrase or elaborate.