Deploying Applications in Dynamic Environments

On this page

This section describes dynamic environments and how to model them. Environments can be static, dynamic, or hybrid. Any dynamic environment is automatically spun up when the application is deployed. Environments can have a combination of static and cloud resources that will be provisioned and configured dynamically. Go here for more information about static environments and how to model them.

Using dynamic environments allows you to:

  • Provide ways to optimize how cloud resources are used.

  • Reuse provisioned resource pools on an on-demand basis.

  • Track how provisioned cloud resources are used.

  • Provide the status of the provisioning process.

  • Verify the credentials of cloud resources before provisioning them.

You provision cloud resources by creating a resource template and adding it to an environment template. When the application deployment that includes a dynamic environment begins, the environment is spun up at runtime with the required cloud resources, and the application is deployed there.

Resource templates allow you to

  • Define the cloud provider details to provision of machines at the appropriate time and the configuration management tools to install the appropriate middleware.

  • Configure the resources for optimal performance.

About Resources

Each resource in an environment has its own logical name to identify it from the other resources in the system. It also can be assigned to one or more resource pools or to a zone (a collection of agents). Several resources can correspond to the same physical host or agent machine. Resources can also be configured as standard or proxy. Standard resources are machines running the CloudBees Flow agent on a supported agent platform while proxy resources (agents and targets) are on remote platforms or hosts that exist in your environment and requires SSH keys for authentication. The CloudBees Flow agent does not need to run on the remote platform or host. See Configuring Resources for more information about to create, configure, and manage resources.


Infrastructure in CloudBees Flow is modeled by configuring the cloud provider for dynamic environments. This configuration is versioned when you name and save the resource template. For an examples of an Amazon EC2 and Openstack infrastructure configuration, go to Modeling Dynamic Environments.

Middleware is modeled by configuring the configuration management tool for dynamic environments. This configuration is versioned when you name and saved the resource template. For an example of a middleware configuration, see Configuring Chef as the Configuration Management Tool .

  • Define and provision dynamic cloud resources when deploying applications.

  • Configure the middleware of dynamic cloud resources on an on-demand basis.

  • Reuse resource pools.

  • Track how provisioned cloud resources are used.

  • Provide ways to optimize how cloud resources are used.

  • Provide status of the process that provisions cloud resources.

  • Verify the credentials of cloud resources before provisioning them.

Copyright © 2010-2020 CloudBees, Inc.Online version published by CloudBees, Inc. under the Creative Commons Attribution-ShareAlike 4.0 license.CloudBees and CloudBees DevOptics are registered trademarks and CloudBees Core, CloudBees Flow, CloudBees Flow Deploy, CloudBees Flow DevOps Insight, CloudBees Flow DevOps Foresight, CloudBees Flow Release, CloudBees Accelerator, CloudBees Accelerator ElectricInsight, CloudBees Accelerator Electric Make, CloudBees CodeShip, CloudBees Jenkins Enterprise, CloudBees Jenkins Platform, CloudBees Jenkins Operations Center, and DEV@cloud are trademarks of CloudBees, Inc. Most CloudBees products are commonly referred to by their short names — Accelerator, Automation Platform, Flow, Deploy, Foresight, Release, Insight, and eMake — throughout various types of CloudBees product-specific documentation. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Jenkins is a registered trademark of the non-profit Software in the Public Interest organization. Used with permission. See here for more info about the Jenkins project. The registered trademark Jenkins® is used pursuant to a sublicense from the Jenkins project and Software in the Public Interest, Inc. Read more at Apache, Apache Ant, Apache Maven, Ant and Maven are trademarks of The Apache Software Foundation. Used with permission. No endorsement by The Apache Software Foundation is implied by the use of these marks.Other names may be trademarks of their respective owners. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this content, and CloudBees was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this content, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.