One of the most typical challenges when deploying a complex application is the handling of different deployment environments during the software lifecycle. Commonly, the setup is a trilogy of QA/Staging/Production environments. An application developer needs an easy way to deploy to the different environments and also to understand what version is deployed where.