What is UrbanCode Deploy?
IBM UrbanCode Deploy is a tool for automating application deployments through your environments. It is designed to facilitate rapid feedback and continuous delivery in agile development while providing the audit trails, versioning and approvals needed in production.
IBM UrbanCode Deploy provides:
- Automated, consistent deployments and rollbacks of applications
- Automated provisioning, updating, and de-provisioning of cloud environments
- Orchestration of changes across servers, tiers, and components
- Configuration and security differences across environments
- Clear visibility: what is deployed where and who changed what
- Integrated with middleware, provisioning and service virtualization
IBM UrbanCode Deploy is available in a variety of licensing plans. It is also available as a hosted service. For information about buying options, see the IBM Marketplace.
Typical Usesof UrbanCode Deploy
Integrate with build and test tools to automatically deploy, test and promote new builds
Grant different teams rights to “push the go button” for different applications and environments
Orchestrate a complex production deployments of applications and configuration
Deploy only the changes components or missing incremental (patch) versions
Key features of UrbanCode Deploy
Multi-Tier Application Models
Modern applications are often made up of many components. Perhaps a three tier application with database, app and content components. Or a mobile application with the actual mobile application and back-end web services.
Even related collections of batch programs are seen as a logical application. UrbanCode Deploy tracks which components make up an application so they can be deployed and tracked together. Snapshots offer the ability to create a version of the application encapsulating versions of each of the components. With snapshots, it is easy to ensure that components that were tested together are released together.
Deployment automation tools need to know how to deploy your applications. In UrbanCode Deploy, processes are defined in browser using a simple, drag and drop process designer. Component processes are composed of automation steps delivered by integration plugins.
Application processes are composed of component processes. Steps may be run in sequence or in parallel. Transitions between steps are governed by rules. Typically, “Go this way on success, or that way on failure.” The designer makes it easy to translate a cryptic manual process into an easy to understand automated flow.
Public, Private, and Hybrid Cloud
Using the blueprint designer, you can model cloud environments and how your applications are deployed to those environments in a simple graphical editor. You connect to clouds, model the virtual images in the environment, and add your application components to those images. Then, you can provision environments and deploy the application components automatically and on demand. The blueprint designer supports public and private clouds including IBM Bluemix, IBM SoftLayer, Amazon Web Services, Microsoft Azure, VMware vCenter, and OpenStack-based clouds.
Track What is Where: Inventory
It is critical to understand what is in each environment. Audit wants to know what is in production. Testers need to know what we just ran those tests against. And when things go wrong, we all want to know what is different between those environments? UrbanCode Deploy tracks what is where in its inventory system. The inventory system tracks the desired state of each environment, as well as what has been successfully deployed to each target resource and provides graphical alerts when an environment is out of compliance with that desired state.
UrbanCode Deploy is built to support mission-critical deployments to thousands of servers in numerous data centers. Master server clustering support provides high availability and horizontal scalability of the deployment automation tool. UrbanCode Deploy uses light-weight deployments agents which provide an immediate presence on or near the target. Remote agents can be proxied through an agent relay to manage load and simplify firewall management.
Quality Gates and
For some environments, deployments may not be allowed until some conditions are met. Perhaps the versions being deployed must have passed tests or received a blessing from a team. Or the time and date of the deployment must be approved by several people. UrbanCode Deploy provides Environment Quality Gates as well as Approval Processes to help you ensure that only the right stuff goes out at the right time. Because these rules are set per application and per environment, early test environments are likely to be setup to not require approvals.
Integrations Replace Custom Scripting
Tested integrations are provided with dozens of tools to make the deployment process easier to design and less risky. Integrations are provided for application servers, load balancers, databases, testing tools, build servers and more. Utilities to manage configuration files, registry settings and the like are also available. Teams who have great deployment scripts already can continue to use them through UrbanCode Deploy either by directly calling the scripts, or embedding them in custom plugins. Browse available plugins at the Plugins Portal.