Skip to content

Latest commit

 

History

History
73 lines (52 loc) · 2.77 KB

index.org

File metadata and controls

73 lines (52 loc) · 2.77 KB

Design of ADS and related services

Introduction

Requirements

Design

Implementation

Test Cases

Design dicsussions

Deploying a Lab :: A case for using configuration management tools.

To deploy a lab, there are two steps:

  • Provision a VM
  • Install the lab on the provisioned VM.

Provisioning and installation details are declared in a deployment specification file.

One of the drawbacks of this approach is that abstraction happens at two levels: first when the deployment specification is defined by the integrator and second when the these declarations are interpreted while execution. It might take several cycles of testing for the integrator to figure out the way the installer is interpreting the specification before getting it right.

Also, the integrator might be asking for help from VLEAD while going through these cycles of testing. VLEAD will have to invest some of it’s engineering resources towards support.

To avoid these pitfalls, configuration tools can be used to our advantage. An integrator can be made entirely responsible for delivering a playbook (in ansible terms) which is self-contained and interpreted only by configuration manager (ansible in this case).

In such a scenario. ADS role is limited to providing the playbook to the configuration server which would configure and install the lab on the provisioned machine. Both lab integrator and ADS use the same configuration management tool precluding ambiguities, development and support.

Lab integrator would still have to provide the specification of the machine on which the lab is deployed/configured.

Life cycle management of labs

Life cycle management is the ability to perform the following tasks on a lab: start, stop, backup, restore from a previous backup and test. Having such functionality helps continuous releases of the software running the lab. This management of a lab is achieved through a bunch of scripts - start, stop, backup, restore, test. These scripts are developed by the integrator.

Auto deployment and life cycle management of labs enable continuous development, testing and release of software. If the onus on the integrator is to make a lab auto-deployable with life-cycle management scripts, it is imperative for VLEAD to build a platform for continuous delivery

Platform for Continuous Delivery

Releases

Release 1.0.2

ADS will run from a container and be able to create a container on the base machine with centos and openvz and deploy a lab on this newly created container.

Release 1.0.3

ADS will run from a VM on amazon cloud and be able to create a VM and deploy a lab on this newly created VM.