OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

oslc-automation message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: New scenario: Elastic Build Cloud

I have uploaded a new user story & use case (including diagram) here: https://wiki.oasis-open.org/oslc-automation/UseCasesAndRequirements/ElasticBuildCloud

I am submitting this for discussion of  (1) whether this use case is of interest to anyone else, (2) chaining of automation plans, and (3)  how its dynamic deployment affects how the integration points may work. Please have a read (or at least a quick scan through) and reply to this email with any feedback you have. Thanks.

I have also created this top-level page for links to user stories, use cases, scenarios and requirements, inclduing links to the v2.0 and v2.1 scenarios:

Here is a copy of the new user story & use case::

= User story =

 * Software can support many platforms. Building this software can require maintaining lots of build machines, for each platform and for parallel builds.
 * Maintaining these machines can take a lot of effort.

  * As a software engineer
  * I want to build my software continuously, on a wide range of platforms
  * In order to get quick feedback across the wide range of supported platforms
  * As operations (maintaining the build infrastructure)
  * I want to avoid setting up and maintaining many static machines
  * To provide a more consistent and reliable service, and to reduce costs

Usual problems/costs:
 * Lead time to get a new machine
 * Manual setup for new machines
 * Maintenance overhead
 * Under-utilized hardware
 * Fixed machine specification

Solution: cloud-enabled build (and test) capability, with dynamic provisioning of build engines.

 * Reduced maintenance costs
 * Higher utilisation of hardware
 * Cheaper to grow capacity

= Use case =

Actors: Submitter (may be human or automated process); Elastic Build Cloud Manager (EBC Manager); Cloud provider; Deployment provider (may be same as Cloud provider, or as EBC Manager itself); Build engine. There may also be a component between the submitter and the EBC Manager that stores and tracks build requests.

 1. Build request submitted (may be a manual request, may be on a trigger e.g. code check-in), containing details of platform(s) and build required.
 2. Elastic Build Cloud (EBC) Manager submits request to cloud provider to provision a cloud instance for the build engine.
 3. EBC Manager submits requires to deployment systems to deploy build engine (plus any dependencies defined by the build and platform definitions) onto that cloud instance.
 4. Build engine picks up the original submitter's build request (either from EBC Manager or from the original build request submission), and performs the build.
 5. Submitter is notified when the build completes.
 6. Cloud instance is torn down.

 * The EBC manager could find an existing cloud instance that matches the required platform and build definition, and re-use that. If it does this, then step 6 (tear down) may not be performed, so the cloud instance may remain around for later re-use.

== Diagram ==


= Implementation in Automation 2.1 =

There are a number of integration points:

 1. Submitter to EBC Manager
 2. EBC Manager to Cloud provider
 3. EBC Manager to Deployment provider
 4. ? to Build engine (could be with EBC Manager, or with the build request system, if separate from the EBC manager).

Most, if not all, of these would be possible to implement with Automation v2.

The main questions that this use case raises are:
 1. How does the Deployment provider know where to deploy the build engine to? (Chaining output from cloud instance provisioning to deployment provider plan.)
 2. The build engine does not exist most of the time. How does this affect the configuration of the integrations?

Martin Pain
Software Developer - Green Hat
Rational Test Virtualization Server, Rational Test Control Panel
OASIS Open Services for Lifecycle Collaboration - Automation technical committee chair

E-mail: martinpain@uk.ibm.com
Find me on:
LinkedIn: http://www.linkedin.com/profile/view?id=99869908 and within IBM on: IBM Connections: https://w3-connections.ibm.com/profiles/html/profileView.do?userid=12c849c0-ddd5-1030-9b5f-d70a3a891b7f 

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]