Saviant’s DevOps team engaged with the client to assess their project requirements and devised a strategy to solve their problem.
The DevOps process included version control, Continuous Integration, Infrastructure automation and Configuration management services. Tools such as Packer, VSTS (Visual Studio Team Services) and Ansible were leveraged to ensure that continuous deployment happens on the VM scale set.
As a part of setting-up the environment, the continuous integration consulting team at Saviant linked the application to GitHub and VSTS Source Control and connected Azure to a VSTS account. They leveraged Packer to create the VHD image, baked with the application code. Scripts were written to use the VHD created by Packer to deploy on Azure.
A VSTS build is triggered each time a code is merged into the master branch of the GitHub repository. The VSTS build just publishes the files needed for the release. Successful builds then trigger a release. The first step of the release packages the latest application files into an Azure VHD image using packer, this VM image (vhd) is stored in the configured storage account. Ansible was used to configure the image. The team used the Azure CLI group deployment command to push the new VM image (with latest application code baked in) to the VM Scale set. At the end of each successful release, the VM scale set had the latest application code.
By adopting Continuous Integration, Infrastructure automation and Configuration Management, the client could successfully deploy its latest app to the Virtual Machine Scale Set.