Getting started with UrbanCode Deploy with Patterns requires installation of its two main components:
1. Heat Orchestration engine.
2. Design server.
Each installation is carried out separately and consists of:
a) Unzipping an archive file.
b) Invoking the install executable. The installation executable prompts for various properties (i.e., the IP address of host server) so that at the end of the installation process the product is configured and ready to start. Those prompts include default values.
The Design server runs on an Apache Tomcat application server, which is installed automatically. The Design server requires a database. By default, the installation process installs an Apache Derby database, valid for evaluation purposes. However, for production purposes a MySQL database is required. The database can be installed in the same server as the Design Server, or in a different server.
More detailed installation documentation can be viewed here.
Once the Heat Orchestration engine and the Design server are installed, the Tomcat server is automatically started, and the user can start the Designer user interface in a web browser.
The first tasks to be performed in the Designer user interface are administrative:
• Connecting to the cloud is necessary to: a) Populate the designer palette with the resources available to compose patterns; and b) Provisioning those templates into the target cloud.
• Connecting to the UrbanCode Deploy server. Once a connection to a UrbanCode Deploy server is established, the designer palette can show the components available and managed by that UrbanCode Deploy server. Those components can then be included in the blueprints as full-stack templates (along with infrastructure parts).
• Configuring access control. This involves the configuration of users, roles, and teams.
Configuring users first involves the creation of an authentication realm. Within that authentication realm, a connection to an OpenStack identity server (Keystone url) that controls authentication to a target cloud is configured. Once a successful connection to the identity server has been established, the users known to the identity server can be imported, thus becoming available for access to UrbanCode Deploy with Patterns. Users can also be defined as part of LDAP or Active Directory realms.
Roles define access to the various capabilities and resources of UrbanCode Deploy with Patterns. A role is defined by what a user can do to what resources (e.g., create a blueprint)
Users are then assigned to teams on a specific role basis. For example, once “John Smith” is known to UrbanCode with Patterns (through an OpenStack Identity service, LDAP, or Active Directory) he can be assigned as member of a “Developer” team with a “Lead” role (with access to whatever capabilities are defined in that role).
Once users are properly defined and configured, they can start using the Design server user interface by invoking the application URL in a web browser. Upon login, Users perform two types of tasks:
1. Authoring blueprints (or edit existing ones). Users can author and edit tools in either the Diagram or the Source editor. The Diagram editor provides a graphical depiction of the template being modelled. The editor palette shows the various resources available for modelling in the target cloud (compute nodes, networks, storage volumes, application components). The user drags those resources to compose the blueprint. Once saved, the blueprint is ready for provisioning. The Source editor allows direct editing of the blueprint document. The Diagram and Source editors are synchronized, allowing the user to switch between the two while preserving object selection and state.
2. Provisioning blueprints. Blueprints can be provisioned either from the same UrbanCode Deploy with Patterns where the blueprint are created, or from UrbanCode Deploy.
Provisioning from UrbanCode Deploy with Patterns: Once the blueprint is created it can be provisioning through the “Provision” button, which brings up a dialog where the user specifies the name of the environment to be created as a result of the provisioning, and the properties that are required unique to the target cloud provider. The blueprint is meant to be cloud agnostic. Properties that are specific to a given cloud provider are kept in a configuration file. Configuration files are authored in the same Source editor where the Blueprint is edited. The Configuration file defines the cloud specific properties that qualify a blueprint when provisioned into a particular cloud.
The provisioning dialog includes selection of an existing configuration. Thus, the provisioning step involves a blueprint, naming the environment to be created as a result of the provisioning, and, optionally, a configuration file. The provisioning dialog also includes property fields whose values are filled automatically with the contents of an (optionally selected) configuration file. The user can overwrite those default provisioning values.
Provisioning from UrbanCode Deploy: Users of UrbanCode Deploy can create a new Environment through an existing blueprint created in UrbanCode Deploy with Patterns. Once a connection has been configured between UrbanCode Deploy and UrbanCode Deploy with Patterns, blueprints from the latter are immediately and automatically available in the UrbanCode Deploy dialog for creating a new environment. Furthermore, a running environment can be updated from a an updated blueprint. That is, if the patterned modelled in the blueprint has changed, the environment created from the original blueprint can be updated to reflect the updated pattern.
Once blueprints have been authored and provisioned, the provisioned environments can be viewed and managed through the Environments view in UrbanCode Deploy with Patterns. The Environments table lists each provisioned environment, its status, and latest event (confirming success or failure of a provisioning action).
There are four types of roles likely to users UrbanCode Deploy Patterns:
1. IT Specialists: Capture their knowledge of specific IT areas of expertise (e.g., database, networking, storage) into blueprint building-blocks.
2. Solution Architects: Integrate those specialized building blocks into composite blueprints that integrate all the pieces into a holistic, full-stack template.
3. Consumers: Access the blueprints authored and maintained by Solution Architects (once standardized and approved for consumption).
4. Administrators: Install UrbanCode Deploy with Patterns, setup the initial connections to the cloud, identity service, and UrbanCode Deploy, and configure authentication and access control.
• Operating Systen: Red Hat Enterprise Linux 6.4 or later version.
• Cloud platform: OpenStack Havana or Icehouse.
• Database: Apache Derby or MySQL.
The UrbanCode Deploy with Patterns is licensed through tokens or floating licenses from the license server. The license metered by the amount of time that images provisioned by Urbancode Deploy with Patterns are running on the cloud.
License status of the design server can be monitored in the administrative user interface, which shows the number of licenses in use and the remaining hours on those licenses.
For more detailed documentation on UrbanCode Deploy with Patterns, visit the product’s on-line documentation.