The sweet spot for UrbanCode Deploy, its main focus historically, is application deployment automaton.  The native plugin framework and growing catalog of existing plugins for the tool make it very flexible though.  For example, in addition to interfacing with SCMs and application servers, there are plugins today which allow UrbanCode Deploy to interact with Windows and Linux file systems, apply DB schema updates, deploy Docker environments, or even invoke existing automation in the form of shell scripts, Chef recipes, or Puppet code.

UrbanCode Deploy with Patterns was introduced in June 2014 to address the challenge of full-stack automation, which is becoming the new norm for DevOps.  UrbanCode Deploy with Patterns provides a “blueprint designer” which allows users to model full-stack environments, from compute, network, and storage resources to the application itself.  The blueprint designer runs on its own Tomcat instance and is an easy, intelligent way to construct templates according to the Heat Orchestration Template (HOT) specification.  There’s a palette of resources that one can drag and drop onto the diagram, then they wire them together and define properties as necessary.  Access to the YAML is still provided and switching between views is pretty natural, only now most of the template is generated automatically and it is easy to visualize the environment before provisioning.  In addition, while an OpenStack Heat engine performs the orchestration, the provisioned resources themselves can operate in a hybrid model across EC2, SoftLayer, VMware vCenter, and OpenStack(-based) clouds.

Well, things never stop changing.  With the release of UrbanCode Deploy v6.1.2, the blueprint designer is included at no additional cost.  UrbanCode Deploy with Patterns is withdrawn from marketing, and existing customers of UrbanCode Deploy get the new capabilities for free.  See @EricMinick‘s blog on this from earlier this month.  Personally, I’m excited to see more of our customers adopt this capability as it may give me an opportunity to work more closely with the technology.