© Copyright IBM Corporation 2015
Essentials of UrbanCode Deploy v6.1
QQ147
Applications
2 © Copyright IBM Corporation 2015
Module overview
After completing this module, you should be able to
complete these tasks:
 Create and correctly scope applications
 Create environments and application processes
 Create tags
 Use and create approvals, notifications, and status gates
 Use and create properties
3 © Copyright IBM Corporation 2015
What are applications in UrbanCode Deploy?
Applications handle the orchestration of deployments to
a target environment.
4 © Copyright IBM Corporation 2015
Application terminology
• Components
• A grouping of files to deploy
• You define which components
belong to the application
• Environments
• Define target hosts
• Add specific resources to an
environment
• Processes
• Define steps to install, configure,
rollback deployments
• Blueprints
• Set up a new environment quickly
5 © Copyright IBM Corporation 2015
Application scoping
Defining an application:
• Determine what components must be deployed together
Components Composite
application
6 © Copyright IBM Corporation 2015
Creating an application
Click the Applications tab.
Click Create New
Application.
1.
2.
7 © Copyright IBM Corporation 2015
Creating an Application
3.
Complete the form, and
click Save.
The application is included
in the Applications list.
8 © Copyright IBM Corporation 2015
Adding components to an application
Choose the Application
that requires components.
1.
2.
Click the Components
tab.
Before you add components to an
application, they must be created
first. See the “Components” module
for more information about creating
components
9 © Copyright IBM Corporation 2015
Adding components to an application
Choose the application that
requires components.
3.
Choose the components to
add.
4.
The components that are added here
also must be added to an application
environment. Instructions for adding
these resources to environments are
available on the “Adding resources to
an environment” slide.
10 © Copyright IBM Corporation 2015
Applications: Environments
An environment is a collection of resources that are
required to host an instance of an application.
• Resources include agents and components.
Environment resources
11 © Copyright IBM Corporation 2015
Applications: environments
• Environments within Applications can have different
topologies, configurations, and settings for the
environment
12 © Copyright IBM Corporation 2015
Environment topologies
A single server with an
installed agent contains all
three components:
Database, Web, and
Config
Two servers with an
installed agent on each.
The database server
contains the database
component and the web
server contains the web
and config components
A more distributed and
production-ready topology.
Each server has an installed
agent with the database server
that still contains the database
component, but there are load-
balanced web servers that each
contain a web and config
component.
13 © Copyright IBM Corporation 2015
Creating an environment
Click the Applications tab.
1.
Click Create New
Environment.
2.
14 © Copyright IBM Corporation 2015
Creating an Environment
Complete the fields, and
click Save.
3.
15 © Copyright IBM Corporation 2015
Adding resources to environment
On the Environments tab,
choose the environment to
add resources to.
1.
Before adding resources to an
environment, they must be created
first. See the “Resources” module for
more information about creating
agents
16 © Copyright IBM Corporation 2015
Adding resources to an environment
2.
On Resources tab, click
Add Base Resources.
Choose the resources to
add to the environment.
17 © Copyright IBM Corporation 2015
Applications: Processes
Application processes provide overall deployment
orchestration.
Steps in an
application process
represent the various
component processes
and tasks that are
required to complete a
deployment.
18 © Copyright IBM Corporation 2015
Creating an application process
On Applications tab,
choose the application for
the process.
1.
Click the Processes tab.
2.
19 © Copyright IBM Corporation 2015
Creating an Application Process
3.
Click Create New
Process.
20 © Copyright IBM Corporation 2015
Application process steps
Choose a
component
deployment
process to run
Deploy multiple
components in
one step
Remove all
component
versions from the
environment
Switch between
different
incremental
component
versions
Runs a component
process for each
component version
Runs a generic
process on each
resource that is
affected in the
application
process
Runs an operational
(non-version) or
config deployment
process
21 © Copyright IBM Corporation 2015
Application process: Tag use
Tags can be set on
resources in an
environment to help
you exercise fine-
grained control over
which resources a
deployment runs.
Tagging is commonly
used in load-balancing
situations.
22 © Copyright IBM Corporation 2015
Application Process – Tag Usage
When adding an Install
Component step, there is a
choice to limit the
deployment to a specific
resource tag
23 © Copyright IBM Corporation 2015
Application approvals and status gates
In addition to roles and permissions, you can ensure
that an environment is not tampered with or left in an
unwanted state:
 Environment approvals can be set to require an
administrator or manager to approve a process run
against an environment
• Such an approval is particularly useful in production
environments
 Status gates can check a component version in an
environment for a certain status before that version is
deployed
• Example: Deploy only component versions with a “Passed all
tests” status.
24 © Copyright IBM Corporation 2015
Creating approvals
Choose the environment
that requires enable
approvals.
1.
Click the Configuration
tab.
2.
25 © Copyright IBM Corporation 2015
Creating approvals
Select Require
Approvals, and save the
settings.
3.
26 © Copyright IBM Corporation 2015
Creating approvals
Click the Approval
Process tab.
4.
27 © Copyright IBM Corporation 2015
Creating approvals
Choose from three approval
tasks.
Each approval task can be associated
with approvers with different roles. If all
three tasks are selected, the
environment requires three separate
approvals to move forward with a
process.
5.
28 © Copyright IBM Corporation 2015
Creating status gates
1
2
29 © Copyright IBM Corporation 2015
Creating Status Gates
Click Add Status.
Enter details, and save.
3
4
30 © Copyright IBM Corporation 2015
Creating status gates
5
6
7
Choose an environment
that requires gates, and
add conditions.
31 © Copyright IBM Corporation 2015
Application notifications
Add a notification scheme to the application;
• Notifications are sent to appropriate parties based on
scheme.
• Schemes and mail settings configurations specified on
the main Settings tab.
1
2
3
32 © Copyright IBM Corporation 2015
Application properties
Application properties can be accessed by any application
process or component process that is run against an
environment in the application.
1
2
3
33 © Copyright IBM Corporation 2015
Snapshots
To create a snapshot, you specify which version of
components and processes to include in the snapshot.
•Typically, to create a snapshot you copy the
components and processes from an environment
where you deployed the application without errors.
34 © Copyright IBM Corporation 2014
Snapshots
Creating a Snapshot
Component Versions
1
1
2
2
3
3
321Web
Mid. Code
DB
Snapshot
3
2
1
Mid. Config 1 2 3 3
Snapshot Deployment
ENVSnapshot
3
2
1
WEB HOST
MID HOST
DB HOST
2
1
1
3
2
X
3 3 1
• Create a snapshot after testing
• Snapshots contain deployable components and configuration
• Deployment changes are tracked by default
Snapshots help in these areas:
 Automation, audits, and visibility
35 © Copyright IBM Corporation 2014
Review questions
How is a blueprint used?
What do applications do?
What do applications consist of?
Why are environment approvals used?
How are status gates used?
36 © Copyright IBM Corporation 2015
Module overview
After completing this module, you are now able to
complete these tasks:
 Create and correctly scope applications
 Create environments and application processes
 Create tags
 Use and create approvals, notifications, and status gates
 Use and create properties
 Create snapshots

Application slides

  • 1.
    © Copyright IBMCorporation 2015 Essentials of UrbanCode Deploy v6.1 QQ147 Applications
  • 2.
    2 © CopyrightIBM Corporation 2015 Module overview After completing this module, you should be able to complete these tasks:  Create and correctly scope applications  Create environments and application processes  Create tags  Use and create approvals, notifications, and status gates  Use and create properties
  • 3.
    3 © CopyrightIBM Corporation 2015 What are applications in UrbanCode Deploy? Applications handle the orchestration of deployments to a target environment.
  • 4.
    4 © CopyrightIBM Corporation 2015 Application terminology • Components • A grouping of files to deploy • You define which components belong to the application • Environments • Define target hosts • Add specific resources to an environment • Processes • Define steps to install, configure, rollback deployments • Blueprints • Set up a new environment quickly
  • 5.
    5 © CopyrightIBM Corporation 2015 Application scoping Defining an application: • Determine what components must be deployed together Components Composite application
  • 6.
    6 © CopyrightIBM Corporation 2015 Creating an application Click the Applications tab. Click Create New Application. 1. 2.
  • 7.
    7 © CopyrightIBM Corporation 2015 Creating an Application 3. Complete the form, and click Save. The application is included in the Applications list.
  • 8.
    8 © CopyrightIBM Corporation 2015 Adding components to an application Choose the Application that requires components. 1. 2. Click the Components tab. Before you add components to an application, they must be created first. See the “Components” module for more information about creating components
  • 9.
    9 © CopyrightIBM Corporation 2015 Adding components to an application Choose the application that requires components. 3. Choose the components to add. 4. The components that are added here also must be added to an application environment. Instructions for adding these resources to environments are available on the “Adding resources to an environment” slide.
  • 10.
    10 © CopyrightIBM Corporation 2015 Applications: Environments An environment is a collection of resources that are required to host an instance of an application. • Resources include agents and components. Environment resources
  • 11.
    11 © CopyrightIBM Corporation 2015 Applications: environments • Environments within Applications can have different topologies, configurations, and settings for the environment
  • 12.
    12 © CopyrightIBM Corporation 2015 Environment topologies A single server with an installed agent contains all three components: Database, Web, and Config Two servers with an installed agent on each. The database server contains the database component and the web server contains the web and config components A more distributed and production-ready topology. Each server has an installed agent with the database server that still contains the database component, but there are load- balanced web servers that each contain a web and config component.
  • 13.
    13 © CopyrightIBM Corporation 2015 Creating an environment Click the Applications tab. 1. Click Create New Environment. 2.
  • 14.
    14 © CopyrightIBM Corporation 2015 Creating an Environment Complete the fields, and click Save. 3.
  • 15.
    15 © CopyrightIBM Corporation 2015 Adding resources to environment On the Environments tab, choose the environment to add resources to. 1. Before adding resources to an environment, they must be created first. See the “Resources” module for more information about creating agents
  • 16.
    16 © CopyrightIBM Corporation 2015 Adding resources to an environment 2. On Resources tab, click Add Base Resources. Choose the resources to add to the environment.
  • 17.
    17 © CopyrightIBM Corporation 2015 Applications: Processes Application processes provide overall deployment orchestration. Steps in an application process represent the various component processes and tasks that are required to complete a deployment.
  • 18.
    18 © CopyrightIBM Corporation 2015 Creating an application process On Applications tab, choose the application for the process. 1. Click the Processes tab. 2.
  • 19.
    19 © CopyrightIBM Corporation 2015 Creating an Application Process 3. Click Create New Process.
  • 20.
    20 © CopyrightIBM Corporation 2015 Application process steps Choose a component deployment process to run Deploy multiple components in one step Remove all component versions from the environment Switch between different incremental component versions Runs a component process for each component version Runs a generic process on each resource that is affected in the application process Runs an operational (non-version) or config deployment process
  • 21.
    21 © CopyrightIBM Corporation 2015 Application process: Tag use Tags can be set on resources in an environment to help you exercise fine- grained control over which resources a deployment runs. Tagging is commonly used in load-balancing situations.
  • 22.
    22 © CopyrightIBM Corporation 2015 Application Process – Tag Usage When adding an Install Component step, there is a choice to limit the deployment to a specific resource tag
  • 23.
    23 © CopyrightIBM Corporation 2015 Application approvals and status gates In addition to roles and permissions, you can ensure that an environment is not tampered with or left in an unwanted state:  Environment approvals can be set to require an administrator or manager to approve a process run against an environment • Such an approval is particularly useful in production environments  Status gates can check a component version in an environment for a certain status before that version is deployed • Example: Deploy only component versions with a “Passed all tests” status.
  • 24.
    24 © CopyrightIBM Corporation 2015 Creating approvals Choose the environment that requires enable approvals. 1. Click the Configuration tab. 2.
  • 25.
    25 © CopyrightIBM Corporation 2015 Creating approvals Select Require Approvals, and save the settings. 3.
  • 26.
    26 © CopyrightIBM Corporation 2015 Creating approvals Click the Approval Process tab. 4.
  • 27.
    27 © CopyrightIBM Corporation 2015 Creating approvals Choose from three approval tasks. Each approval task can be associated with approvers with different roles. If all three tasks are selected, the environment requires three separate approvals to move forward with a process. 5.
  • 28.
    28 © CopyrightIBM Corporation 2015 Creating status gates 1 2
  • 29.
    29 © CopyrightIBM Corporation 2015 Creating Status Gates Click Add Status. Enter details, and save. 3 4
  • 30.
    30 © CopyrightIBM Corporation 2015 Creating status gates 5 6 7 Choose an environment that requires gates, and add conditions.
  • 31.
    31 © CopyrightIBM Corporation 2015 Application notifications Add a notification scheme to the application; • Notifications are sent to appropriate parties based on scheme. • Schemes and mail settings configurations specified on the main Settings tab. 1 2 3
  • 32.
    32 © CopyrightIBM Corporation 2015 Application properties Application properties can be accessed by any application process or component process that is run against an environment in the application. 1 2 3
  • 33.
    33 © CopyrightIBM Corporation 2015 Snapshots To create a snapshot, you specify which version of components and processes to include in the snapshot. •Typically, to create a snapshot you copy the components and processes from an environment where you deployed the application without errors.
  • 34.
    34 © CopyrightIBM Corporation 2014 Snapshots Creating a Snapshot Component Versions 1 1 2 2 3 3 321Web Mid. Code DB Snapshot 3 2 1 Mid. Config 1 2 3 3 Snapshot Deployment ENVSnapshot 3 2 1 WEB HOST MID HOST DB HOST 2 1 1 3 2 X 3 3 1 • Create a snapshot after testing • Snapshots contain deployable components and configuration • Deployment changes are tracked by default Snapshots help in these areas:  Automation, audits, and visibility
  • 35.
    35 © CopyrightIBM Corporation 2014 Review questions How is a blueprint used? What do applications do? What do applications consist of? Why are environment approvals used? How are status gates used?
  • 36.
    36 © CopyrightIBM Corporation 2015 Module overview After completing this module, you are now able to complete these tasks:  Create and correctly scope applications  Create environments and application processes  Create tags  Use and create approvals, notifications, and status gates  Use and create properties  Create snapshots

Editor's Notes

  • #4 An application is a container for environments and application processes. Application processes work on component processes to do deployment. You see the power when you have lots of components – the application orchestrates what gets done and when.
  • #5 An application model is like a container for environments, components and processes. These get added to an application. First components are added to an application. Resources get placed into environments. The way you create an environment is by adding resources to an environment. Blueprints are like templates. You can add resource templates to a blueprint and that’s how you set up the environment.
  • #6 An application orchestrates a deployment. In order for an application to orchestrate a deployment you must tell it what components to deploy together.
  • #11 Application, like many UrbanCode words, does double-duty. Narrowly, it is an object; broadly it is reasonable to consider the final deployment an 'application.' Users talk about it that way. An environment has resources. An environment has component and agent resources and the third type of resource is an organizational container—called a resource group.
  • #12 In this slide you see the environments in the application. There are 3 environments. Each environment is different. You see two test environments UAT and SIT – with the same components in each. But the components go to different computers in each environment. In a test environment you would not worry as much about performance as you do in production. Usually you do have several environments for every application. It is pretty standard to have multiple environments. The application is an object that contains components with processes that operate on it. The application is the traffic cop – says this one goes first, and this is where it goes. The application process does the controlling – like a symphony director.
  • #13 A component has to be added to an application then added to every environment as a resource. In a production environment you have added some components twice because there are multiple severs. Note there is a load balancer here in the production environment. You do not need load balancers in test environments because performance doesn’t matter much there. The load balancer in production decides what server gets the next request. In the production environment topology the load balancer gets all requests and the load balancer determines where to send the request.
  • #15 You can choose a blueprint here if you have one. A blueprint defines what resources go into the environment in a generic way.
  • #16 If you are not using a blueprint then you need to add resources to an environment.
  • #17 Here you have components mapped to agents in your resources. You always add components to agents. This slide shows the UAT environment that was shown on slide 12 where there is the DB component on the DB server and the other two components on the web server. You could set up a blueprint that maps components and agents to resources. In real production environments there are scores of agents.
  • #18 An application process looks just like a component process but these steps are not from plug-ins. Steps for applications are hard coded into UrbanCode Deploy. The application process only proceeds to the next step when the previous step is successful. If the component process fails, then the application process stops. You can see where the failure occurred in UrbanCode Deploy and you can examine each step in a component process if there is a failure. Troubleshooting is made easy in the user interface.
  • #21 Here is the application process step palette. These are the options of steps you could add to an application process.
  • #22 This is tagging that is done on resources and then the tags are seen when the application process runs a deployment. Tags were also covered in the Resources module. You could tag your agents on servers either blue or green and take one set down for maintenance and deploy only to the green servers.
  • #24 Most companies use approvals in one form or another. In many cases, they have requirements they must follow as part of industry regulations. Some customers could use approvals in an external system like ServiceNow. In those cases, they would use the UrbanCode Deploy ServiceNow plugin at the beginning of an application process to check the status of an external approval. You would configure the process to fail if the approval was not found.  You can also model approvals in UrbanCode Release. There is a bit more flexibility in UrbanCode Release, as privileged users have the ability to create temporary exemptions.
  • #32 You can set up your own notifications – it’s not hard to do. This is to notify people of deployment, rollback, or problems. You have to set up triggers and email addresses. Not sure how many customers actually use it. Default is to notify people if an application process succeeds or fails. You put in roles –so if an admin is selected anyone with an admin role would get notified.
  • #33 When you put a property on an application its scope can reach any component or process within the application. It would be a property that all processes and components would need to share.
  • #34 The concept of snapshot is similar to the concept of snapshot in other tools such as a vmware snapshot. It’s used for rollbacks or to deploy certain versions of components. You would look at the inventory to see what components were successfully deployed where to choose the components for a snapshot. Snapshots save time and increase efficiency.
  • #35 The versions of components are selected to add to the snapshot. You can select any version assigned to an application. You select the application then create a snapshot. Then you select the components for the snapshot. If you select an incremental version of a component, it also pulls in earlier versions of that component. When you run a deployment you select a snapshot to deploy. This is done in the deployment lab exercise.
  • #36 Answers to review questions:   1. Blueprints are used to add resources to environments. 2. Applications orchestrate deployments to target environments. 3. Applications are like containers consisting of components, environments (with resources mapped to environments), processes and optionally blueprints. They run on the component processes. 4. Environment approvals – The intent of an environment approval is for someone in a role like an administrator to approve a process be run on an environment. You can have an administrator approve a deployment. 5. Status gates – Check to make sure a component is a certain version before it is deployed.