Complicated tasks may require sophisticated solutions which utilize multiple virtually independent software programs, especially when customers have dozens of environments (for development, general testing, client acceptance, production) where all software components need to be deployed. Manual deployment of a significant number of products to different environments can be complex and require overwhelming efforts from the delivery team. Furthermore, the team is not protected from repeating the same mistakes on several environments. Thus the delivery team must ensure the compatibility of the versions of each product in order to set up a solid system. The requirements to support several versions simultaneously triples the complexity of delivery.
Edvantis considers “delivery” to be an extra separate project. It includes building scripts that run on Continuous Integration platforms (Cruise Control, Jenkins). After every code-commit we automatically build it and then create installation packages: RPMs for Linux-based servers, MSI-s for Windows apps, APKs for Android, and deploy the packages to the storage servers. Another set of scripts is used to install the software and configure the server automatically. Such an approach is essential in massive cloud environments.
In complex solutions each software product checks compatibility with the other servers in the system. If a deployment script deploys incompatible products, the client will not get an unstable system; instead, the application will immediately inform the delivery team about the compatibility issue.
With The Edvantis Way the automated deployment of any complicated system takes minutes and is protected from human factor errors on the last stage of the software development cycle.
Want to learn more? You are welcome to reach out to our experts.