ll42 - lab: using rlm and clm for your application centric ... · cloud lifecycle management (clm)...

34
Guide LL42 - Lab: Using RLM and CLM for your Application Centric Cloud Rick Lefort & Sumeet Hemnani 05 December 2016

Upload: others

Post on 08-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Guide

LL42 - Lab: Using RLM and CLM for your Application Centric Cloud

Rick Lefort & Sumeet Hemnani

05 December 2016

Table of Contents Document Information __________________________________________________________________ 2 About This Lab ________________________________________________________________________ 3 Overview _____________________________________________________________________________ 4 Lab Environment ______________________________________________________________________ 5 1 – Add Application Versions Data Source _________________________________________________ 6

Exercise 1: Add Data Source........................................................................................................................... 6 2 – Add Components to Service Blueprint _________________________________________________ 8

Exercise 1: Add Application Version Parameter with Data Source ................................................................ 8 Exercise 2: Add Release Package and Deployment Route Property .......................................................... 11 Exercise 3: Add Post-Deploy Action to Deploy Software ............................................................................. 13 Exercise 4: Add Release Package and Deployment Channel Properties ................................................... 15 Exercise 5: Add Post-Deploy Action to Compute Resource ........................................................................ 18

3 – Set Service Catalog Entry to Service Blueprint __________________________________________ 20 Exercise 1: Set Service Blueprint and Deployment Definition ...................................................................... 20

4 – Test Application Centric Cloud Service ________________________________________________ 22 Exercise 1: Use Jenkins to Create New Application Build ............................................................................ 22 Exercise 2: Request Application with Specific Version ................................................................................. 24 Exercise 3: Access Deployed Application ..................................................................................................... 28

5 – (Bonus) Test Update Application (day 2) Capability ______________________________________ 29 Exercise 1: Update Application Version on Provisioned Server ................................................................... 29 Exercise 2: Access Updated Application ....................................................................................................... 32

Document Information

Document Owner: Rick Lefort & Sumeet Hemanani Document File: LL42 – Using RLM and CLM for your Application Centric Cloud.docx

PROPRIETARY NOTICE This document contains BMC confidential information, which may include trade secrets and business information. Recipient acknowledges that this information has been developed by BMC Software as valuable trade secrets. All information contained herein shall remain exclusive property of BMC Software and shall be disclosed to only persons who have a need to know. Recipient agrees not to copy or reproduce in any form any information supplied herein without prior written permission from an authorized representative of BMC Software. Recipient further agrees to provide security for this document to a reasonable degree so that unauthorized disclosure is prevented.

About This Lab

This hands-on lab is intended to show how you can use BMC’s Cloud Lifecycle Management (CLM) and Release Package and Deployment (RPD) to create an Application Centric Cloud. Application Centric Clouds help Developers and Operators (DevOps) by providing a self-service cloud platform that can help speed the delivery of agile applications. Prerequisites This lab is very prescriptive, so no previous product knowledge is required to complete the steps. Some product and conceptual knowledge would help understand the value provided, for example:

DevOps business challenges (deliver applications faster/better, IT pressure).

Working knowledge of CLM would be helpful.

Understanding of RPD would be helpful. RPD is used in this solution, but the lab doesn’t require user interaction.

Understanding of Atrium Orchestrator (BAO) would be helpful. BAO is used in this solution, but the lab doesn’t require user interaction.

Overview This hands-on lab will help you understand how BMC’s Cloud Lifecycle Management (CLM) and Release Package and Deployment (RPD) products can be easily integrated to provide a powerful DevOps solution. Separately, CLM and RPD are best in class products. CLM provides a cloud management platform that drives digital innovation with agile, full-stack service provisioning across cloud and traditional platforms. RPD is a comprehensive automation solution for managing deployments and updates of complex business critical applications from Development to Production. Together, CLM and RPD provide Software Engineers a self-service mechanism to provision infrastructure and deploy specific application builds in order to produce applications at a high frequency and with higher quality. We call these types of cloud environments “Application Centric Clouds”. To help you understand how CLM and RPD can provide an Application Centric Cloud, this lab will prescriptively guide you through five sections with 12 exercises.

1 – Add Application Versions Data Source 2 – Add Components to Service Blueprint 3 – Set Service Catalog Entry to Service Blueprint 4 – Test Application Centric Cloud Service 5 – (Bonus) Test Update Application (day 2) Capability

When complete you will see that with a few simple configuration steps (primarily in section 2), you will have setup an Application Centric Cloud service.

Lab Environment The lab environment is a set of virtual machines (VMs) collectively called Application Centric Cloud running on the BMC Demo Cloud (BDC). The core BMC software applications installed on the VMs in the environment are:

Cloud Lifecycle Management 4.6 (CLM)

Release Package and Deployment 4.8 (RPD)

Atrium Orchestrator 7.6 (BAO)

Follow these steps to access the lab environment on the BDC:

1. From a lab computer, open a browser and enter the URL https://bdc.bmc.com

2. Login to the BDC using the assigned student credentials

3. From the BDC console, you may either RDP or use HTTP tunnels to directly access the applications required

4. For RDP, find the VM name CLM46L-VC-j (or similar)

a. RDP to CLM46L-VC-j

i. If prompted to login, use credentials: Administrator / password

5. For HTTP tunnels, navigate to Configure Tunnels

a. Start tunnels for the following applications:

i. CLM Admin Portal

ii. CLM End User Portal

iii. Jenkins

b. Copy each HTTP tunnel generated to a browser tab on the lab computer

c. For JPetStore, open another browser tab and enter this URL (page won’t load): http://<aws-public-ip>:8080/jpetstore/

1 – Add Application Versions Data Source

Application Centric Clouds seamlessly integrate cloud management and release management tools so that users can request exactly what they need for agile development and deployments.

Using Cloud Lifecycle Management (CLM) you can define drop-down lists for parameters that users can select at service request time. You can create static or dynamic drop-down lists through:

A list of static values

Dynamic values fetched using a BMC Atrium Orchestrator (BAO) workflow

Dynamic values fetched from an Remedy (AR) System form

For this lab we will define a drop-down list of software build instances so that the user can pick which version they’d like to install on their provisioned infrastructure.

Exercise 1: Add Data Source

In this exercise you will define a data source that invokes a BAO workflow to retrieve a list of application versions from Release Package and Deployment (RPD). In a subsequent exercise you will define a parameter as a drop-down list that uses this data source for values.

1. Open Mozilla Firefox – App Centric Cloud browser on desktop (for RDP)

2. Select the CLM Admin Portal browser tab (for RDP, last tab on right)

3. Login as CloudAdmin / password

4. Select Workspaces > Configuration > Data Sources

5. Select Add Data Source

6. Enter the follows values:

a. Name: My Application Versions

b. AO Details: check (Use Server configured in Platform Manager)

c. AO Grid Name: GRID1

d. AO Workflow Name: :BMC-SA-RPD_CLM:CLM:Instance_List_All

(be sure to include leading colon)

7. Select OK to save Data Source

2 – Add Components to Service Blueprint

Cloud Lifecycle Management (CLM) provides out-of-the-box hooks to easily integrate your CLM solution with other systems or processes. The BMC Application Centric Cloud solution leverages these hooks at the service blueprint level such that agile applications can be hosted on any cloud platform (AWS, Azure, VMware, OpenStack, etc), and deployed in whatever configuration is required (OS, CPU, RAM, disk, network, single or multi-tier).

For this lab we will add the Application Centric Cloud components to a service blueprint so that once a cloud service referencing the blueprint is deployed, the user requested application can be deployed to the provisioned infrastructure.

Exercise 1: Add Application Version Parameter with Data Source

In this exercise you will use an existing service blueprint and add a service blueprint parameter. Service blueprint parameters are used to pass data to the software, scripts and BMC Atrium Orchestrator (BAO) workflows included in the service blueprints.

1. From the CLM Admin Portal, select Workspaces > Service Designer

2. Make sure the Enterprise Applications – STUDENT blueprint is checked

out and selected

3. Select Edit (upper right)

4. Select Definition > Parameters

5. Select Add Parameter

6. Enter the follows values:

a. Name: 1 Application Version

b. Label: Application Version

c. User Entry Enabled: checked

d. Dropdown: checked

e. Data Source: My Application Versions

7. Select OK to save Parameter

Exercise 2: Add Release Package and Deployment Route Property

Within Release Package and Deployment (RPD), a route is an ordered set of environments representing deployment stages of an application. Route types enable you to implement business policies for different types of application deployments. Route types can be strict, open or mixed mode.

In this solution, once the provisioned infrastructure is running and available for application deployment, the route type is passed to RPD during the application deployment. The route type is defined in the service blueprint deployment definition using a tag construct. Tags are a simple mechanism to identify the type of deployment and therefore the route that the application should use.

In this exercise you will add a tag to the service blueprint property which specifies the route policy the application will use when deployed.

1. From the CLM Admin Portal, Workspaces > Service Designer

2. Select Properties or if you closed the previous window Select Definition >

Properties

3. Select Add Tag

4. Scroll down and add the tag RPD_Routes : JPetStore-App-Centric-Cloud

5. Click outside of tag list to close tags

Exercise 3: Add Post-Deploy Action to Deploy Software

Post-deployment actions provide a mechanism to call scripts or Atrium Orchestrator (BAO) workflows to perform other functions at various stages of the provisioning process. Actions at the deployment definition level run in sequence after the cloud service is completely provisioned.

For agile deployments, we use a workflow to call Release Package and Deployment (RPD) to deploy the instance of the application specified by the user at request time. In addition to agile deployments, Cloud Lifecycle Management (CLM) can install pre-packaged software using BladeLogic for Servers (BSA). For example BSA might be used to install a software package like Oracle or SQLServer, and RPD would be used to deploy the agile software package and database instance being developed or tested.

In this exercise you will add an BAO workflow to the service blueprint deployment definition to deploy the application version requested.

1. From the CLM Admin Portal, Workspaces > Service Designer

2. Select Properties or if you closed the previous window Select Definition >

Post-Deploy Actions

3. Select Add Post-Deployment Action

4. Enter the follows values:

a. Action Type: AO Workflow

b. Action: BMC-SA-RPD_CLM:CLM_RPD_Deploy

5. Select OK to save the Post-Deployment Action

6. Select OK to save the Definition Details

7. Select Save to save blueprint

Exercise 4: Add Release Package and Deployment Channel Properties

Release Package and Deployment (RPD) channels represent the specific interfaces, APIs, services, and so on that are used during deployment activity. Channels associate channel templates with specific hosts and can be fine-tuned to specify details that are particular to a certain host. RPD tracks channel changes so you can identify when configuration information has changed.

Cloud Lifecycle Management (CLM) application components map to and represent RPD channels. We again use tags to map each application component to a specific channel within RPD.

In this exercise you will add a channel tag for each application component to be deployed by RPD in the service blueprint resource set.

1. From the CLM Admin Portal, Workspaces > Service Designer

2. Select the TomcatApp application component

3. Select Add Tag

4. Scroll down and add the tag RPD_Channel_Templates : Tomcat7

5. Select the MySQLApp application component

6. Select Add Tag

7. Scroll down and add the tag RPD_Channel_Templates : MySQL

8. Select Save to save blueprint

Exercise 5: Add Post-Deploy Action to Compute Resource

The BMC Release Package and Deployment (RPD) automation server communicates with its agents and initiates all communication to perform the ad hoc and scheduled tasks. Product agents are software programs that listen to and execute the instructions sent from the application to the managed servers. Bridges are lightweight agents that need to be installed on each managed server to address the RPD automation server requests.

In this exercise you will add a post-deployment workflow that gets invoked once the server is provisioned and has an IP address. This workflow adds a bridge for the server in RPD.

1. From the CLM Admin Portal, Workspaces > Service Designer

2. Select compute resource

3. Select Post-Deployment Actions

4. Select Add Post-Deployment Action

5. Enter the follows values:

a. Action Type: AO Workflow

b. Action: BMC-SA-RPD_CLM:CLM:Bridge_Add_Unix

6. Select OK to save the Post-Deployment Action

7. Select File > Save and Check In to save and check in the blueprint

3 – Set Service Catalog Entry to Service Blueprint To deploy a requestable service in a cloud environment, the Service Catalog enables you to map service blueprints to the service offerings. In this exercise we’ll use an existing service catalog entry and map it to the blueprint created in the previous exercise.

Exercise 1: Set Service Blueprint and Deployment Definition

1. From the CLM Admin Portal, select Workspaces > Service Catalog

2. Select Enterprise Applications

3. Select Edit a Service

4. Make sure JPetStore is selected and change the Service Blueprint to

Enterprise Applications – STUDENT

5. Select Save to save the service catalog entry

4 – Test Application Centric Cloud Service

In the previous exercises a data source was configured to retrieve application build instances via a workflow from Release Package and Deploy. Next, a drop-down list parameter for the build instances and other application centric cloud components required to deploy the application were added to a service blueprint. Finally the service catalog entry for the agile application was set to use the modified blueprint. Now we are ready to test the application centric cloud service.

Exercise 1: Use Jenkins to Create New Application Build

In this exercise you’ll use Jenkins to build a new release of the JPetStore application. Since Jenkins integrates with RPD, the package and build information is immediately available within RPD and CLM for user selection at service request time.

1. Select the Jenkins browser tab (for RPD, 3rd tab from left)

2. Login using admin / password

3. Select the job JPetStore – Build, and Create RPD Instance

4. Select Build Now

5. Select the new build number > Console Output to view the build process

6. Note the new build number created (i.e. 4.6.20)

7. Wait for the build to complete

Exercise 2: Request Application with Specific Version

In this exercise, you will use the Cloud Lifecycle Management (CLM) end user portal to request the service that was setup for agile deployments. Note that this service could alternately be requested using the MyIT self-service portal. As you’ll see, the application versions and new build generated in the previous exercise using Jenkins are available for selection in CLM. Other fields on the request screen, such as Data Set and Environment Type, are examples (not implemented) of other DevOps capabilities within CLM. Data Set could be used to pre-populate the deployed application with specific data (i.e. type or quantity) for development or testing purposes. Environment type could be used to drive placement of the cloud service to specific cloud resources like development or QA.

1. Select the CLM End User Portal browser tab (for RDP, 5th tab from left)

2. Login using CloudAdmin / password

3. Select Catalog

4. Select JPetStore

5. Enter the follows values:

a. Service Name: PetStore

b. Server Hostname Prefix: pets-<your initials>

c. Server User Name: admin

d. Server Password: password

e. Application Version: <any build instance>

6. Select Add to Cart

7. Select My Cart > Proceed to Checkout

8. Select Next

9. Select a Charge Code – i.e. App Development

10. Select a Decommission Date

11. Select Submit Request

12. Wait a few minutes for request to provision and deploy application

13. Select Resource List > Servers

14. Note the Customer IP of the running VM (Example: 52.3.221.56)

Exercise 3: Access Deployed Application

In this exercise, you’ll access the deployed application by simply updating the IP address in the URL and refreshing the browser page. From the application home page you can view the version deployed. In the bonus exercise if you choose to update the application as a day 2 operation, you’ll note that the application is redeployed with the version entered - while utilizing the same provisioned host.

1. Select the JPetStore browser tab (for RDP, 7th tab from left)

2. In the URL, update the IP address with the IP noted in the previous

exercise

3. Press enter to refresh the page using the updated IP

4. Note the JPetStore application version requested has been deploy to

Amazon Web Services

5 – (Bonus) Test Update Application (day 2) Capability Cloud Lifecycle Management (CLM) provides for the complete management of the cloud infrastructure and the cloud services it delivers. This includes giving users day 2 capabilities to update their own services after initial provisioning (day1). Updates to services can range widely from changing CPU and RAM, to deploying applications.

Exercise 1: Update Application Version on Provisioned Server

In exercise one, you’ll utilize a pre-built day 2 custom action that calls a workflow to redeploy the application. For this action the user simply enters the new version required and submits the request. The workflow calls Release Package and Deployment (RPD) to update the application utilizing the existing server.

1. Select the CLM End User Portal browser tab (for RDP, 5th tab from left)

2. If necessary, login using CloudAdmin / password

3. Select My Resources > Servers

4. Select server name pets-<your initials> to drill into server details

5. Select Advanced Configuration > Update Application (left menu)

6. Enter a different build number than was deployed initially

7. Select Submit Changes

8. Select Yes to notification message

9. Select Activity Log

10. Wait for Update Application activity to complete

Exercise 2: Access Updated Application

In this exercise, you’ll access the updated or re-deployed application by refreshing the browser page. From the application home page you can view the updated version now deployed.

1. Select the JPetStore application (7th tab from left) browser tab

2. Press enter to refresh the page using the IP

3. Note the JPetStore application has been redeployed using a different

version

BMC delivers software solutions that help IT transform digital enterprises for the ultimate competitive business advantage. We have

worked with thousands of leading companies to create and deliver powerful IT management services. From mainframe to cloud to

mobile, we pair high-speed digital innovation with robust IT industrialization—allowing our customers to provide amazing user

experiences with optimized IT performance, cost, compliance, and productivity. We believe that technology is the heart of every

business, and that IT drives business to the digital age.

BMC – Bring IT to Life.