Ranger4 DevOps Blog

What is UrbanCode?

Posted by Tejinder Sehgal on Fri, Oct 10, 2014 @ 17:10 PM

Although we have written many different blogs about IBM UrbanCode and the large number of plugins available for UrbanCode, we have never actually written a blog on what UrbanCode is. In this blog we will be looking at UrbanCode what it is and its two main features.

Before we dive into the technical stuff, let’s start with an interesting fact about UrbanCode, UrbanCode was named by one of the 3 co-founders of the company and wife of Maciej Zawadzki as stated in this Innovate 2013 interview.

UrbanCode is Application Release Automation (ARA) software which is made up of two main components IBM UrbanCode Deploy & IBM UrbanCode Release. UrbanCode software products enable organisations (both large enterprises and smaller companies) get from development into production faster.

UrbanCode Deploy

UrbanCode Deploy is a tool for automating application deployments through your environments.

The features provided by UrbanCode Deploy are:

  • Automated, consistent deployments and rollbacks of applications
  • 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

IBM UrbanCode Deploy orchestrates and automates the deployment of applications, middleware configurations, and database changes into development, test, and production environments.

The Key features of UrbanCode Deploy are:

  • Multi-Tier Application Models – Track which component make up an application, so they can be deployed and tracked together.
  • Easy Process Designer – Processes are defined in browser using a simple, drag and drop process designer.
  • Track What is Where: Inventory
  • Scalable Distributed Automation - Master server clustering support provides high availability and horizontal scalability of the deployment automation tool
  • Quality Gates and Approvals - 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

More information on these features can be found here.

UrbanCode Release

IBM UrbanCode Release (formerly known as uRelease) is a release management and coordination solution that transforms error-prone and chaotic release planning into streamlined release events that eliminates breakdowns in communication enabling more frequent lower risk releases. Uses UrbanCode Release you can help plan, execute and track a release through every stage of the delivery lifecycle.

IBM UrbanCode Release

The features UrbanCode Release provides are:

  • Collaborative, web based release day planning and execution
  • Insight into which projects in a release are on time
  • Clear visibility into which versions of each app are in each environment
  • Enforced quality gates governing advancement into environments

The Key features of UrbanCode Release are:

  • Multi-Application Continuous Delivery - UrbanCode Release allows you to capture these relationships and plan releases spanning multiple applications.
  • Impact Analysis - See which other applications may be impacted by an application that has fallen behind with incomplete features, or troubled test results
  • Release Pipeline Visualisation - Easily see which versions of each application are in each environment.
  • Deployment Plans and Templates - capture lessons learned which are automatically suggested for incorporation in the production plan.

More information on these features can be found here.

The Release and Deployment Process

DevOps Run BookA common question we are asked is where release ends and deployment starts - this is partly because the industry appears to be standardising on a term, Application Release Automation or ARA, which is used to refer to the entire end to end process even though it can be seen as two distinct pieces.

To the left you can see a 'run book'; a list of the tasks that make up the process to get a new application version into production. In the red text are the release tasks - access and password requests, validations and checks.

Below, in the green, are the actual physical deployment tasks - the installation of the application server binaries (in this case IBM WebSphere Application Server), configuring of the Apache HTTP server, generation and propogation of plugins and configuration of another tool, Wily. Altogether, several weeks could pass before all these steps were completed. Automating these processes reduces the elapsed time to hours.

Does this look familiar to you? Have you documented your run book and estimated the time taken to complete each component task?

Why not take a look at some of our other UrbanCode blogs here.

Topics: IBM, UrbanCode, application release automation