Download presentation
Presentation is loading. Please wait.
Published byLee Benson Modified over 7 years ago
1
IBM UrbanCode Deploy Improving time-to-market, product quality and product downtime by automating all phases of product build and release
2
Let’s look at an example scenario
A consulting company that makes online applications that they deliver to their customers. We will examine how Deploy helps them deliver their product to the customer faster, with higher quality and reduced downtime.
3
Product development and deliverables
Product Artifacts and IBM Deploy Repository Graphic Designers JPEG Files Content Developers HTML *.JPEG *.HTML *.JAR *.WAR *.DB Application Programmers JAR, WAR Files *.java files Build Tools Questions Describe your product development? Build tools? 3rd Party products? Database Developers *.db Files IBM Deploy interfaces to major build tools to support continuous delivery
4
Testing environments – Engineering Test
Product Artifacts IBM Deploy Repository Eng Early testing Beta versions Informal Partial system test (unit tests) Many ad-hoc tests Developer: Does my latest change work? *.JPEG *.HTML *.JAR *.WAR *.DB These are just examples of typical test setups. The process for using Deploy in all these different test scenarios is the same. IBM Deploy increases product quality by managing complex test configurations
5
Testing environments – System Integration
IBM Deploy Repository Eng *.JPEG *.HTML *.JAR *.WAR *.DB Does the entire system work together? More complete testing / performance testing More formal testing Maybe different product versions than in Eng test IBM Deploy reduces errors by managing complex product versions across different test environments
6
Testing environments – User Acceptance
System Integration User Acceptance Product Artifacts IBM Deploy Repository Eng *.JPEG *.HTML *.JAR *.WAR *.DB Together with the customer Customer: Does it work? Customer: Does it satisfy my requirements? Formal testing
7
Now they can deliver their product
System Integration User Acceptance Product Artifacts Deploy Repository Eng Production *.JPEG *.HTML *.JAR *.WAR *.DB IBM Deploy improves time-to-market by automating all phases of product release from engineering test through production
8
An example of the complete DevOps picture
Eng System Integration User Acceptance Production IBM Deploy Repository Product Artifacts Developers Build Tool Changes are automatically propagated through the test phases Developer makes a product change and presses Submit Changes are automatically released to production if all tests passed This is just an example. Manual steps and approvals can also be included in the process. IBM Deploy reduces product downtime by automating the entire DevOps process This is just an example. Manual steps and approvals can also be included in the process.
9
Hardware setup Engineering Test System Integration Test Production
Developer Workstations Deploy Server Production User Acceptance Test
10
Agents Every computer that directly communicates with the Deploy server must have an agent installed Agent Agent Agent Deploy Server Agent Agent Agent In this example, it is assumed that all the computers connect directly to the Deploy server. Agent Agent Agent Agent Agent Agent
11
Let’s see how they work in
IBM UrbanCode Deploy…
12
They group artifacts into logical components
Graphic Designers JPEG Files WEB Component Content Developers HTML APP Component Application Programmers JAR, WAR Files Questions Describe your product development? Build tools? 3rd Party products? DB Component Database Developers *.db Files
13
Their product structure in Deploy
WEB APP DB
14
WEB component - artifacts
15
APP component - artifacts
16
DB component - artifacts
17
How the artifacts get to IBM Deploy
The WEB component artifacts are retrieved by IBM Deploy from a drop-box used by the graphics team and pushed into the repository. The APP component artifacts are populated automatically by a promotion out of its build system, Jenkins. The DB component artifacts are database updates that are pulled directly out of source control. Regardless of how the component versions are populated, Deploy retrieves them from the repository and tracks their versions as it deploys them. This is just an example. From the UrbanCode website: There are several ways of populating the artifact repository. In our example hotel booking application, the core business logic (the middleware code) is populated automatically by a promotion out of its build system, AnthillPro. Database updates are pulled directly out of source control ad hoc. The front-end content is retrieved by Deploy from a drop-box used by the art team and pushed into the repository. Configuration changes to the middleware are extracted from either the QA or Staging environments. Regardless of how the component versions are populated, Deploy retrieves them from the repository and tracks their versions as it deploys them.
18
Define test / production environments
19
Deployment process Copy all of the artifacts
System Integration Test Copy all of the artifacts Developer Workstations Deploy Server Start up required programs, servers, cloud instances, etc. Run the tests Receive the results Processes are defined at two levels Component level – uses 3rd party plugins Application level – controls the order of component deployment
20
Define deployment process for APP component
21
Define deployment process for DB component
22
Define deployment process for WEB component
23
Component steps mapped to plugins
Plugin library Deploy interfaces to other 3rd party programs via plugins
24
Define the higher level deployment process
This defines the start Defines component deployment order
25
Can include approvals in the processes
Approvals are generally scoped to environments Approval Engine- The approval engine enables creation of approval-requiring jobs and approval roles. Works in tandem with work item services to ensure required approvals are made before scheduled jobs. To ensure that components cannot be deployed to the environment without first being approved, click the require Approvals checkbox. If checked, Deploy will enforce an approval process before the deployment can be deployed to the environment. You can configure an approval process as the application moves along the development pipeline. If you are setting up more than one environment, consider creating an approval process for other ones. 25
26
Can send notifications
Notification- Deploy can send notifications whenever user-defined trigger events occur. Notifications can be sent when a deployment finishes or an approval is required. Notification Manager- Notifies users about the status of deployments; Notifications are sent to approvers if the system is configured with an server and the user has an address Notification recipients are defined with the security system’s LDAP integrations Deploy can send notifications whenever user-defined trigger events occur. Notifications can be sent when a deployment finishes or an approval is required, for example. Notification recipients are defined with the security system's (see Security) LDAP integration. If you have not already done so, set up LDAP prior to configuring notifications. Deploy relies on LDAP and an associated server to send notifications. Deploy requires an external SMTP mail server to send notifications. For information about configuring a mail server, see the section called “System Settings”. When setting up notifications, you select both the triggering events and the role, which is inherited from the security system, to determine which users will receive notification. For example, it is common for an administrator or environment owner to be notified when a work item (as part of the approval process) has been generated. The default notification scheme, which sends notifications to the application and admin default roles (see Deploy Security), can be edited or you can create your own scheme. 26
27
Permissions based on roles
28
test and deploy their product consistently…. every time!
Now they can test and deploy their product consistently…. every time!
29
First make sure the agents are online…
These are the computers that we are going to deploy to.
30
Then deploy in one step The product can be deployed to any test environment or product in one step. Calls the high level process that we have defined Can also be scheduled or run from another program IBM Deploy allows you to deploy your product in one simple step
31
Can control versioning with snapshots
This is an important feature. We do not need to keep track of many different product configurations. We can group them and just refer to the group name. Our application is made of a database back-end, a middle-ware tier and web front-end. Each of these components could be delivered by a different team, making it easy to mix and match versions. However, changes to several components are related and should be deployed together. This deployment dependency needs to be managed. Deploy uses the idea of the "Snapshot" to tie together versions that are known to work well together. A snapshot wraps these known compatible versions into a desired deployment state. At deployment time, Deploy analyzes what is already deployed, and makes the needed changes to the target environment. Creating Snapshots The simple way to create a snapshot is to base it on an environment. Essentially, the user would be saying, "I like what is in QA ... that is what I want to promote to Performance)." Deploy examines the inventory of the QA environment and constructs a snapshot for the user to review. Snapshots can also be constructed ad hoc by manually picking and choosing the versions that should be deployed together. Deploying Snapshots A snapshot can be deployed to target environments by users who have permission to the application and target environment. A snapshot deployment will always move the entire snapshot, although components which are already of the correct version in the target environment may be automatically skipped. Snapshot-only Environments Deploy provides a distinction between environments that support ad hoc deployments of individual components and those that can only accept snapshot deployments. While any environment could be of either type, often one or two early test environments support ad hoc deployments while later environments and production are restricted to snapshot-only deployments for safety. Approval Gates The promotion of a snapshot to an environment can be gated by approval. Users can submit snapshots for approval, for example a deployment to Production. Each environment requiring approval is associated with one or more approval roles. When an approval is requested, members of each approval role are notified and they can approve the snapshot deployment right inside Deploy. When all members have signed off, that snapshot is freed to be deployed to the target environment by the appropriate users. No need to specify individual component versions Snapshot A WEB: ver 1.9 APP: ver 1.6 DB: ver 1.1 Snapshot B Whatever is currently in our engineering test environment since we know that this version works
32
Instant status of each deployment step
33
More detailed status with logs
34
Keep track of what is in the environments
Dev has the following components and versions QA has not been deployed
35
Summary of IBM Deploy value proposition
Reduces downtime by automating the entire DevOps process Improves time-to-market by automating all phases of product release from engineering test through production Reduces errors by managing complex product versions across different test environments Increases product quality by managing complex test configurations Interfaces to major build tools to support continuous delivery Allows you to deploy your product in one simple step
36
Demo setup Engineering Test (Dev) Deploy Server VmWare Image 2
Quality Assurance (QA) VmWare Image 3
37
Discussion – Build environment
What project development teams do you have? What build tools do you use?
38
Discussion – Test environment
What testing environments do you have today? What testing tools are involved? What testing environments are you planning for the future? Cloud solutions? How long does it take to release your product?
39
www.ibm/software/rational 39 39 Author Notes:
Mandatory standard closing slide for IBM session track presenters. Not needed for non-IBM presenters. Additional URLs: IBM Rational software: Rational launch announcements: Rational Software Delivery Platform: Accelerate change and delivery: Deliver enduring quality: Enable enterprise modernization: Ensure Web site security and compliance: Improve project success: Manage architecture: Manage evolving requirements: Small and midsized business: Targeted solutions: Rational trial downloads: Leading Innovation Web site: developerWorks Rational: IBM Rational TV: N40519Z80.xml IBM Rational Business Partners: IBM Rational Case Studies: © Copyright IBM Corporation All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 39 39 39
40
Backup Slides
41
Creating snapshots The simple way to create a snapshot is to base it on an environment. For example, take everything in System Integration and promote it to User Acceptance Snapshots can also be constructed ad hoc by manually picking and choosing the versions that should be deployed together. The promotion of a snapshot to an environment can be gated by approval.
42
Existing scripts Already have a great deployment script?
No problem. In additional to out-of-the-box integrations, Deploy can use any script you already have. The script interpreter needs to be located on the target machine.
43
Middleware configuration deployments
Deploy can take declarative configuration changes and apply those changes to a target environment. Deploy supports custom variables for configuration difference in the environments For example, in configuring a database connection, many of the options may be the same in all environments, but the database server name and connection credentials may differ. Deploy will substitute the server name and credentials for the target environment. Deploy can take declarative configuration changes and apply those changes to a target environment. Tailored integrations with the specific middleware tools enable this seamless promotion. Like the code, either incremental changes (a declarative change) or full deployments are supported. In both cases, environment-specific parameters are taken into account and substituted on the fly. For example, in configuring a database connection, many of the options may be the same in all environments, but the database server name and connection credentials may differ. Deploy will substitute the server name and credentials for the target environment.
44
Rollbacks Deploy comes with a Package Management System (PKS).
The PKS knows how to install different types of packages: native packages such as MSIs and RPMs; JEE packages such as WARs and EARs; packages of database changes, or configuration changes; as well as flat file and many other types of packages. The support for each package type knows how to perform a rollback for that specific package type. For example, rolling back an EAR-file deployment requires redeploying the previous EAR file; a rollback of a flat-file deployment requires restoring all the original files that were deleted or changed and the removal of all files that were added by the deployment being rolled back. Rolling back database changes involves the execution of the user provided roll-back scripts. Proven, Built-in Rollbacks The roll-back strategies employed by Deploy are standard, and a good thing. Deploy uses are tried and true rollback strategies, providing their implementation without the need for developing and maintaining any scripts that implement rollback logic.
45
Automation & management
Deploy Release Application Release Automation Automate deployments Visual process designer Plug-in actions for application containers, web servers, network devices, database deployment, etc. Model environments & deployment targets Release Management Enforce quality gates for environments Orchestrate changes across multiple applications Manage infrastructure in addition to application changes Real-time status for long production releases Track the allocation of environments to releases 11
46
Deploy and Release deliver real-world results
uRelease cut down release planning meetings by half. 46
47
Client Elevator Pitch and ROI
Driving down cost. Reduce the amount of manual labor, resource wait-time, and rework by eliminating errors and providing self-service environments Speeding time to market. Increase frequency of software delivery through automated, repeatable deployment processes across development, test and production Reducing risk. Deliver higher quality application releases with increased compliance through end-to-end transparency, auditability and reduced time to feedback ROI Statement: Deploy converts slow, error prone deployments into automated processes - lowering labor costs, creating an audit trail, and eliminating the cause of many production outages.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.