enhanced cics cloud enablement and dev ops capabilities

24
© 2015 IBM Corporation. 1 Enhanced CICS Cloud Enablement and DevOps Capabilities Mark Cocker Senior Software Engineer, CICS Development

Upload: nickgarrod

Post on 21-Aug-2015

58 views

Category:

Software


3 download

TRANSCRIPT

© 2015 IBM Corporation. 1

Enhanced CICS Cloud Enablement and DevOps Capabilities

Mark CockerSenior Software Engineer, CICS Development

© 2015 IBM Corporation. 2

DevOps

Communication Automation

IntegrationCollaboration

Continuous

TestBuild

Release

Fast

Repeatable

ReliableEfficient

Confident

© 2015 IBM Corporation. 3

Develop

Alan Andersson (COBOL Application Developer) and Jash Jayaraman (Java Application Developer) can check out code from the SCM system

and modify it.

Once happy, they commit the code back to the SCM system.

Pre-delivery builds help them both to know that their code will compile and they can test the results as they code.

Once they’ve committed, they can see the results of their changes in the resultant builds and automated tests, to fix problems quickly.

© 2015 IBM Corporation. 4

Build

Bobbie Beckett (Build Engineer) has written build automation, using the new CICS Build Toolkit, to build:

- CICS bundlesEvents, policies and other resourcesJava OSGi bundles and Liberty applications

- CICS cloud applications

Bobbie sets up CI servers to run the build after every code change, just like their native code.

The builds also run automated tests.

© 2015 IBM Corporation. 5

Release

Richard Renner (Release Engineer) has written release automation for the company’s CICS bundles and applications using the new JCL utility DFHDPLOY, which simplifies how he writes that automation.

He also works with his fellow release engineers across the company to use UrbanCode Deploy (with the new CICS plugin) to deploy CICS components in unison with other components.

New builds can now be quickly and automatically deployed to the right environments.

© 2015 IBM Corporation. 6

DevOps Scenario

Developer

SCMSCMIDEIDE

Check in

Check out

© 2015 IBM Corporation. 7

DevOps Scenario

Developer Build Engineer

SCMSCMIDEIDE Build Repository

Build Repository

Check in

Check out

CICS Build Toolkit

© 2015 IBM Corporation. 8

DevOps scenario

Developer Build Engineer Release Engineer

SCMSCMIDEIDE Build Repository

Build Repository

CICS + z/OS

CICS + z/OS

Check in

Check out

CICS Build ToolkitCICS Build Toolkit

& DFHDPLOY

UrbanCode Deploy

COBOLA traditional CICS application in COBOL, using its existing tools and build infrastructure, forms part of a coordinated deployment with other artefacts using UrbanCode Deploy.

COBOL + PolicyA traditional CICS application in COBOL, managed by policies deployed in a CICS bundle, is deployed using UrbanCode Deploy.

Liberty Profile A Java EE application with a RESTful front-end is built automatically and deployed using z/OS automation.

Multi-version COBOLCICS application

A CICS cloud-style application is built automatically and deployed using z/OS automation without loss of service.

COBOL + OSGiAn application, mainly composed of COBOL but with modules that have been converted to OSGi, is deployed using UrbanCode Deploy.

DevOps scenario examples

UrbanCode Deploy

RTC + Apache Ant

SCMSCMIDEIDE Build Repository

Build Repository

Target Environment

Target Environment

CA Endevor +

RTC

CA Endevor +

RTC

RD/z + CICS

Explorer

RD/z + CICS

Explorer

CA Endevor +

UrbanCode Deploy

CA Endevor +

UrbanCode Deploy

CICS + z/OS

CICS + z/OS

Build Automation

Deployment Automation

DevOps example scenario - COBOL + Java OSGiDeploy Java in an OSGi JVM server alongside your existing COBOL application

© 2015 IBM Corporation. 11

Command-line interface to build CICS projectsScript alternative for “Export ... to z/OS UNIX File System”

One tool to build for all versions of CICS TS

Uses projects from CICS Explorer optionally shared through SCM

Installation on z/OS, Linux, Windows Transfer cicsbt_v5.3.0.0.zip from CICS beta site in binary

Unzip; jar -xf cicsbt_v5.3.0.0.zip

Make executable on z/OS and Linux; chmod a+x *.sh

Requires• Java 7 or above, for z/OS IBM 31-bit or 64-bit SDK

CICS Build Toolkit

© 2015 IBM Corporation. 12

CICS Build Toolkit examples

Build a CICS bundle

Bundle ID, bundle ID + version, several bundles, all bundles

cicsbt --input my/source/dir/*

--build MyBundleProject --output my/output/dir

Build a CICS bundle that references an OSGi Java project + Liberty apps

For OSGI can use a CICS version .target or your own

cicsbt --input my/source/dir/* --build OSGiBundleProject --target com.ibm.cics.explorer.sdk.runtime51.target --output my/output/dir

Build a CICS cloud application and binding

Application binding ID, binding ID + version, all applications and bindings

cicsbt --input my/source/dir/*

--build MyApplicationBinding

--output my/output/dir

© 2015 IBM Corporation. 13

CICS Build Toolkit as part of continuous integration

Build Engineer can write a build script to:

Check out resourcesBuild CICS applicationCopy to staging

Test, and run from continuous integration build server, such as Jenkins or RTC

© 2015 IBM Corporation. 14

DFHDPLOY batch utility

Automate deployment of bundles (and applications) through simple single commands…

“Take a bundle on disk, install it, and take it to the state I want.”... and the reverse as well.

Automation runs faster - takes advantage of new synchronous APIs where available.

Intelligent management of BAS and CSD definitionsIncluding support for shared CSDs

© 2015 IBM Corporation. 15

Example DFHDPLOY script

© 2015 IBM Corporation. 16

Example DFHDPLOY output

© 2015 IBM Corporation. 17

• Continuous Delivery– Integrate with build and test tools to automatically deploy, test and promote new builds

• Production Deployments – Orchestrate a complex production deployments of applications and configuration

• Self-Service – Grant teams rights to “push the go button” for different applications and environments

• Incremental Updates – Deploy only the changed components or missing incremental (patch) versions

IBM UrbanCode Deploy

© 2015 IBM Corporation. 18

IBM UrbanCode Deploy – plug-ins

>110 from IBM, partners, community

zOS Utility, Git, RTC, CICS, DB2... file systems, repositories, build systems, SCMs, web, SDKs, cloud, email, application servers, databases, registries, messaging, OS tools

zOS Utility Copy, FTP, deploy, rollbackSubmit and wait for jobsRun TSO, ISPF commands

© 2015 IBM Corporation. 19

CICS TS plug-in for UrbanCode Deploy

IBM UrbanCode Deploy no-charge trialibm.com/software/products/en/ucdep/

CICS TS plug-in available now!developer.ibm.com/urbancode/plugins/Use UrbanCode Deploy web interface to install plug-in .zip

Scenarios in CICS TS plug-inInstall and lifecycle resourcesNEWCOPY and PHASEIN programs, scan pipelines

© 2015 IBM Corporation. 20

Deploy to many target systems

© 2015 IBM Corporation. 21

CICS TS plug-in for UrbanCode Deploy example

z/OS and CICS plug-in steps Copy Artifacts - loads the artifacts that make up the z/oS component version Deploy Data Sets - deploy the component version to z/OS by copy datasets and members NEWCOPY Programs – performs a NEWCOPY for the changed members

© 2015 IBM Corporation. 22

CICS and DB2 steps performed in parallel

© 2015 IBM Corporation. 23

Summary

CICS Build Toolkit Multi-platform tool with a command-line interface to build CICS cloud applications and bundles Run from continuous integration build server, such as JenkinsWorks with CICS TS V4.1 and above.

DFHDPLOYJCL utility to deploy and undeploy CICS bundles and cloud applicationsScript the deployment in a single step, without the complexity of polling.

CICS plug-in for UrbanCode Deploy Extends IBM UrbanCode Deploy to deploy and undeploy CICS applications, in coordination with other application and database components in a single action

© 2015 IBM Corporation. 24