主权项 |
1. A system for recipe and blueprint-driven automated application deployment, comprising: a processor configured to:
receive a blueprint, provided by an enterprise software vendor, comprising: a description of computing resources, computing software, and computing services required for at least two virtual machines configured to perform different functions associated with an enterprise application on a heterogeneous virtual environment, wherein the description further describes a minimal install for use by application developers without consumption of unnecessary resources; generate a first environment template from the blueprint using a software tool; instantiate a first environment from the first environment template by using a second software tool; receive an application configuration comprising: an application package comprising: an enterprise application, a set of runtime software artifacts that can be orchestrated and executed on an ongoing basis to perform one or more desired enterprise tasks on the heterogeneous virtual environment, and instructions that specify a plurality of locations for the set of runtime software artifacts to be installed; and a configuration of application parameters of the set of runtime software artifacts, wherein application parameters include application endpoints that specify how the set of runtime software artifacts of the enterprise application communicate with systems external from the heterogeneous virtual environment; deploy and install the application configuration at the first environment for use by application developers; modify the first environment, by application developers, wherein modifications comprise software artifacts on a content repository and various different virtual machines in the first environment; wrap the modifications into a first set of modifications with the application configuration into a second application configuration package; modify the blueprint to a first version blueprint by altering the description to comprise a basic install of the description for application testing purposes as development proceeds; generate a second environment template from the first version blueprint using the software tool; instantiate a second environment from the second environment template by using the second software tool; deploy and install the second application configuration package at the second environment, which is different than the first environment, for use by application testers; modify the second environment by application testers to produce a second set of modifications; wrap the second set of modifications made at the second environment into a third application configuration package; modify the blueprint to a second version blueprint by altering the description to comprise a full production install of the description for running the enterprise application under a full load; generate an third environment template from the second version blueprint using the software tool; instantiate a third environment from the third environment template by using the second software tool; deploy and install the third application configuration package to the third environment, which is different than the first environment and second environment, for use in production, wherein running the enterprise application maintains all aspects of the third environment consistent as scale increases. |