Friday, 25 September 2015

Application Deployment with Vamos Deploy

To demonstrate the ease of deploying applications using Vamos Deploy we have a demo application suite called Jupiter which has a client-server architecture.
Below shows the Jupiter_dev grid that we have setup: 
 $ vamos grid Jupiter_dev info
 Description    : Jupiter development
 Edit status    : Unfrozen
 Change status  : Changed
 Owner group    : developers
 Release group  : developers
 Applications   : JupiterServer             1.0.17      dev
                : JupiterUI                 1.0.37      dev
                : PythonDjango              1.7.1       dev
                : PythonGoogleFinance       0.7         dev
                : PythonLinux               3.4.lin32   dev
                : PythonRequests       dev
                : PythonRestFramework       3.0.0       dev
                : PythonWindows             3.4.win32   dev
 Properties     : jupiter_http_host =
                : jupiter_http_port = 8091
                : jupiter_window_title = JupiterUI-Version:1.0.37-Build:#52
 Repos          : arepo-nathan-pc             

                : arepo-vm-barcelona-alpha
A Vamos grid contains a list of applications, a list of properties and a list of repositories. When we deploy this grid the applications get deployed to the compatible repos with properties providing environment specific settings.
This grid is in a ‘Changed’ status because I updated JupiterServer to 1.0.17 earlier. To deploy this changed grid:

 $ vamos grid Jupiter_dev deploy
 Deploy of grid Jupiter_dev initiated. Release id 55
 Hint: Monitor deploy progress with:
       vamos deploy info --releaseid=55
 Monitor tasks with:      

       vamos task info --releaseid=55
Lets monitor the progress from the command line and from the Vamos Dashboard: 

 $ vamos deploy info --releaseid=55
 ReleaseId : 55
 Gridname  : Jupiter_dev
 Status    : Complete
 Start     : 28 Jul 2015 15:19:10 BST
 End       : 28 Jul 2015 15:19:10 BST

 User      : usera

Vamos Deploy Dashboard showing the grid Jupiter_dev set to Complete.

Now thats completed we can start our new JupiterServer. This command line could be executed from a job scheduler. It doesnt need to change when a version of the application is deployed.

 arepo-vm-barcelona-alpha$ /vamos/ARepo/grids/Jupiter_dev/JupiterServer/bin/
We can use VamosJump on my desktop (arepo-nathan-pc) to start JupiterUI:

Vamos Jump having started JupiterUI

In summary Vamos Deploy has delivered the JupiterServer application and its dependants to our Linux server and delivered the Jupiter UI to my laptop. We have environment specific properties set that enable the two to communicate.

No comments:

Post a Comment