51
© 2015 IBM Corporation Twist and Cloud – How IBM custome make CICS dance CICS - S104 Isabel Arnold IBM Germany

S104 twist and cloud

Embed Size (px)

Citation preview

Page 1: S104 twist and cloud

© 2015 IBM Corporation

Twist and Cloud – How IBM customers make CICS dance

CICS - S104

Isabel Arnold

IBM Germany

Page 2: S104 twist and cloud

© 2015 IBM Corporation

Agenda

• What is a cloud?• How CICS does cloud• How 3 customers really want to use this

Page 3: S104 twist and cloud

© 2015 IBM Corporation

What does Cloud mean

• No cloud in hell…Comic Source: Webpal.net

Page 4: S104 twist and cloud

© 2015 IBM Corporation

What is Cloud Computing?

NIST Definition :

• Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to• a shared pool of configurable computing resources (e.g., networks, servers, storage, applications,

and services) - that can be rapidly provisioned and released- with minimal management effort or service provider interaction

• composed of 5 essential characteristics, 3 service models, 4 deployment models.

Pool resources and virtualize them Standardize Services so they can run there >> Service provided on-demand via Automation,

>> on increasing Demand assign additional resources from the pool (elastic Scaling)

= Cost ++ Flexibility VIRTUALIZATION STANDARDIZATION AUTOMATION

Page 5: S104 twist and cloud

© 2015 IBM Corporation

Rapid elasticity Broad network access Resource pooling Measured service On-demand self-service

5 Characteristics

Private cloud Public cloud Hybrid cloud Community cloud

4 Deployment Models

http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

Cloud - Deployment, Service, Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

3 Service Models

Page 6: S104 twist and cloud

© 2015 IBM Corporation

Networking

Storage

Servers

VirtualizationO/S

Middleware

Runtime

Data

Applications

Traditional On-Premises

Clie

nt M

anag

es

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Data

Applications

Softwareas a Service

Vendor Manages in Cloud

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Data

Applications

Infrastructureas a Service

Vendor Manages in Cloud

Clie

nt M

anag

es

Networking

Storage

Servers

Virtualization

O/S

Middleware

Runtime

Data

Applications

Platformas a Service

Vendor Manages in Cloud

Clie

nt M

anag

es

Customization; higher costs; slower time to value

Standardization; lower costs; faster time to value

3 Service Models - Comparison

Page 7: S104 twist and cloud

© 2015 IBM Corporation

SaaSSource: Cloudtechsite.com

Page 8: S104 twist and cloud

© 2015 IBM Corporation

Tag, Track &Time to pay only for what you used

T

Tub (Pool) of resourcesT Workload-dependent, elastic scalingW

Interfaces over the InternetI

Self-Sevice On DemandS

Page 9: S104 twist and cloud

© 2015 IBM Corporation

Mass production vs. high customization

• Fixed images with Compute, storage, database services …

• “mass” production – one/ few images fit all

• Reusable patterns

• Extremely customizable >> value proposition

• no Blueprints delivered – customer must create own master image

• Break down image to middleware (CICS, SAP, IMS TM, WebSphere, …)

Amazon, Linux, … z/OS

Source: www.youtube.com/watch?v=jOhbTAU4OPI#!

Page 10: S104 twist and cloud

© 2015 IBM Corporation

Glenn Anderson: With z/OS, we need to think about cloud just a bit differently…..

• Today in cloud environments on distributed servers, or even with Linux on System z, installations would provision a virtual machine with an instance of an operating system to run a single workload. To deploy another workload would mean another virtual machine with another instance of the operating system.

• However, in the context of z/OS, this methodology goes against everything we have come to know and expect about z/OS. On z/OS, you have the ability to

- run multiple disparate workloads -with different service levels - for those hosted workloads -with isolation or multi-tenancy.

• Hence the approach for cloud on z/OS is not focusing on the provisioning of operating system instances, but rather the ability to provision multiple workloads in a single z/OS instance.

Page 11: S104 twist and cloud

© 2015 IBM Corporation

Page 12: S104 twist and cloud

© 2015 IBM Corporation

Stage 1: Create a platform Simple layer of abstraction to decouple applications

from the underlying complexities of a CICS topology Consists of Region Types

- logical grouping collecting CICS regions with common characteristics

- enables them to be managed as a unit in a platform- Created: define a region type & set up new CICS

region definitions- Adopted: adopt existing CICS system group

(CSYSGRP) as region type with its existing CICS regions

Terminal Owning Region (TOR)

Production Payroll

Page 13: S104 twist and cloud

© 2015 IBM Corporation

Automatic-Mode vs. Tuning

Page 14: S104 twist and cloud

© 2015 IBM Corporation

Stage 2: Create an application and application entry points

package CICS application in Application bundle

Deploy > manage > monitor as single entity across multiple regions in platform

Application entry points – identify resources as access points to

Application– control users' access to different Application

versions

Bind application to platform for additional characteristics

Page 15: S104 twist and cloud

© 2015 IBM Corporation

Stage 3: Add resources for the application

Transfer responsibility for creating, installing, managing resources

Don't modify resources individually (use CICS Bundle/Application operations)

Application architects: carefully consider which resources to tie to CICS Bundle lifecycle

Specify resource separately and declare as import (dependency) if resource–cannot be defined in a CICS bundle–has different lifecycle–should not be private (only LIB &

PROGRAM)

Page 16: S104 twist and cloud

© 2015 IBM Corporation

Transactions

Programs

Files

Applications in CICS

How we think about applications in CICS

How applications look after they

have been installed

Page 17: S104 twist and cloud

© 2015 IBM Corporation

Bundle your resources > get Application Context

Create a CICS Bundle to keep your resources together

Consider as a vehicle to get them into (and out of) CICS

A CICS Application can contain several CICS Bundles

Page 18: S104 twist and cloud

© 2015 IBM Corporation

OK, for simplification: this

is now an application with a

CICS Bundle

Page 19: S104 twist and cloud

© 2015 IBM Corporation

About Entry PointsPROGRAM that tasks call to access application

–Program not required in this bundle URIMAP* resources providing URIs for requesters

to access application–Unique name (still) required–Must be contained in same bundle–Access for Liberty, HTTP, MQ

Application context data if entry point passed

Operation = FrontDoor

Page 20: S104 twist and cloud

© 2015 IBM Corporation

Application Context – Slippers (Museums-Pantoffel)

Page 21: S104 twist and cloud

© 2015 IBM Corporation

CICS Application Binding

Maps CICS bundles for application to region types in the target platform

Page 22: S104 twist and cloud

© 2015 IBM Corporation

Where else can Bundles be deployed

Bundle in Application Bundle in

Binding

Bundle in Platform

Page 23: S104 twist and cloud

© 2015 IBM Corporation

Transaction * Program *File ** Library *

OSGi Bundle JVM Server ** Pipeline **TCP/IP Service **

URI map *

Web service **Event (Application or System)Atom feedXML-based serviceChannel-based service

* CICS 5.1 | ** CICS 5.2

CICS Bundle Resources

Page 24: S104 twist and cloud

© 2015 IBM Corporation

Think about what you will be able to build in the

future!!!

Page 25: S104 twist and cloud

© 2015 IBM Corporation

German Insurance

• Hurray, we can finally bundle together Java OSGi Bundles and their corresponding Program Definitions! Because for the rest we use autoinstall…

25

Program *

OSGi Bundle

URI map *

JVM Server **

TCP/IP Service **

Page 26: S104 twist and cloud

© 2015 IBM Corporation

New packaging options

+ Library + Program + URI map + Transaction + File

+ OSGi Bundle + Program + URI map + JVM Server + TCP/IP Service

Within Bundle

Within

Binding

Classic CEDA

Within Platform

Page 27: S104 twist and cloud

© 2015 IBM Corporation

Web Services Lifecycle Define both inbound and outbound web

services Import WSBind file Import WSDL file Generate URIMAP resource All configuration managed within the CICS

bundle lifecycle Resources can be life-cycled with

Application, Binding or Platform as appropriate

German Building Association: Great, we don’t use the PIPELINE SCAN

mechanism to generate the URIMAP anyway, now we can bundle resources

Page 28: S104 twist and cloud

© 2015 IBM Corporation

Stage 4: Add a policy

XML definition Rules to describe controls or actions

For one or more application tasks

Threshold conditions to manage behaviour of user tasks

e.g. define a threshold for the amount of storage allocated by a user task, and make CICS issue a message if the threshold is exceeded

Page 29: S104 twist and cloud

© 2015 IBM Corporation

So far: Combination of IBM, ISV and self-written tools

Without application hard to tell what individual

resources doTrans exceeding

Threshold

Control application behaviour

Avoid runaway &

loosing money

Policies to control

Page 30: S104 twist and cloud

© 2015 IBM Corporation

Policy Types Threshold: CPU, storage, database

access, … Action:

- Message DFHMP3001 (MP = Messaging Platform Domain)

- Event- Abend

Scope of Policy- Application- Operation within Application- Platform- no Scope – Scope CICS Region

Page 31: S104 twist and cloud

© 2015 IBM Corporation

Stage 5: Remove the application from the platform

Complete lifecycle by removing application from platform>> unavailable, disable, discard

Removal of individual versions possible

Page 32: S104 twist and cloud

© 2015 IBM Corporation German Insurance

Page 33: S104 twist and cloud

© 2015 IBM Corporation

Multi-versioning Update

Application A 1.0.0

PROGRAM P

PROGRAM S

PROGRAM E1

Platform M

Region R

EXEC CICS LINK PROGRAM(E1)

single version application: private resources declared as application entry points become public resources when application entry point is made available.

Page 34: S104 twist and cloud

© 2015 IBM Corporation

Version 1.0.1 INSTALL & ENABLE

Platform M

Application A 1.0.1

PROGRAM P’

PROGRAM E1

Region R

PROGRAM S

Application A 1.0.0

PROGRAM P

PROGRAM E1

EXEC CICS LINK PROGRAM(E1)

Page 35: S104 twist and cloud

© 2015 IBM Corporation

Version 1.0.1 AVAILABLE

Platform M

Application A 1.0.0

PROGRAM P

Application A 1.0.1

PROGRAM P’

PROGRAM E1PROGRAM E1

Region R

PROGRAM S

EXEC CICS LINK PROGRAM(E1)

multi-version application: entry point of highest version application public, others private

Page 36: S104 twist and cloud

© 2015 IBM Corporation

Version 1.0.1 UNAVAILABLE

Platform M

Application A 1.0.1

PROGRAM P’

PROGRAM E1

Region R

PROGRAM S

Application A 1.0.0

PROGRAM P

PROGRAM E1

EXEC CICS LINK PROGRAM(E1)

UNAVAILABLE

Page 37: S104 twist and cloud

© 2015 IBM Corporation

Application

• Generated from xCobol

• Current versioning in generated file names

• No entity, only few can tell from entry module what’s behind

• Wholistic approach– 3 major releases/ year– 6-8 weeks testing

block before release for everyone

• Include Bundle generation in that process

• Have application as entity and bundles as encapsulated modules

• Individually upgrade and test bundles – also in parallel to old version

• Allows continuous, parallel testing for dedicated users

Page 38: S104 twist and cloud

© 2015 IBM Corporation

Developer chooses

Platform M

Application A 1.1.1

PROGRAM P

Application A 1.1.2

PROGRAM P’

PROGRAM E1 PROGRAM E1

Region R

PROGRAM R

EXEC CICS INVOKE APPLICATION(A) OPERATION(op1) MAJORVERSION(1) MINORVERSION(1) EXACTMATCH

Application A 1.2.1

PROGRAM P’’

PROGRAM E1op1 op1

op1

Will pick highest bug fix automatically, so 1.1.1 hiddenEXACTMATCH: exactly 1.1MINIMUM: at least 1.1

Page 39: S104 twist and cloud

© 2015 IBM Corporation

Platform

• Developer platform on RD&T for Compile• Test on RD&T or Host – have complete image that can be

restored or reset to old version for regression test– Not possible on mainframe, no self service …– Also test against different patch levels

• Production: multi-versioning enables testing there as well for dedicated users, 1-click rollback essential

• Services– TQF (Technical cross section functions) with date inquiry,

RACF interface, data access & locking etc. – Web Service architecture

39

Page 40: S104 twist and cloud

© 2015 IBM Corporation Austrian Insurance

Page 41: S104 twist and cloud

© 2015 IBM Corporation

CICS Development Scenario

Mainframe SystemServices

RESTInterface

WebUI

• Goals

easily create new JVM servers for Developers Developers should get an Environment on which they can work independent No need to know the mainframe parts

• Rest Interface, for other systems to access functionality

Automatic creation of platforms and JVM servers for new users Possibility for a continuous integration server to deal with deploys and

compiles

• Web UI

Easy way for non mainframe developers to get a new JVM server on the fly Admin in the development department (not System programmer) can manage

all developer-specific use cases on the mainframe

Page 42: S104 twist and cloud

© 2015 IBM Corporation

Technical Overview

CICS Liberty

PL/1

REST Services

Web UI

RDZTest Deployment, Test PL/1 Compile

CI ServerDeployment, Staging

Job submit

Mainframe SystemServices

AdminDeployment Overview,

Server Overview, …

DeveloperSandbox management

My Servers, My Applications

Page 43: S104 twist and cloud

© 2015 IBM Corporation

REST swagger UI implementation

Page 44: S104 twist and cloud

© 2015 IBM Corporation

• Multi platforms – 1 region• Incremental implementation of requirements

– Was always dependent on a completed release to start working, even though new requirements kept coming in – had to wait and was always the „Fool of the Nation“

– Decouple development and specify explicit dependencies– Old versions can still run in parallel– „You can use something without the fear that something

else does not work any more. And if somebody is faster, he/she does not have to wait for the rest any more.“

– „We need this system really really urgent.“

44

Page 45: S104 twist and cloud

© 2015 IBM Corporation

Isabel

Page 46: S104 twist and cloud

© 2015 IBM Corporation

WUI(CPSMWUI)

CICS Bundle (EXPLPREF)

URIMAP PREFALLPath=/connections/*HFS File =/ZT01/user/CPSMWUI/Connections_1.0.0/prefs/*

/ZT01/user/CPSMWUI/Connections_1.0.0--PREFALL.urimap--EXPLPORT.tcpipservice--META-INF

--cics.xml--prefs

--general.pref--suci101.pref– …--suci1nn.pref

Packaging & Hosting Connection Preferences

Page 47: S104 twist and cloud

© 2015 IBM Corporation

Server consolidation

Platform M

Application A

PROGRAM HELLO

Application B

PROGRAM HELLO PROGRAM HELLO

PROGRAM E PROGRAM F PROGRAM G

Region R

resource name does not have to be unique any more

> private search path

HOMELIBSYSA.SOME.LOAD

OTHERLIBSYSA.OTHER.LOAD

DFHRPL

Page 48: S104 twist and cloud

© 2015 IBM Corporation

1. Non-unique program names2. Individual load libs instead of

just one common in RPL3. Cleanup everything by discarding

the bundle4. Let students deploy as

application in one go (little checkmark)

Page 49: S104 twist and cloud

© 2015 IBM Corporation

So enough TWIST…

51

Let’s rock the

mainframe

Page 50: S104 twist and cloud
Page 51: S104 twist and cloud

© 2015 IBM Corporation

Thank You

Your Feedback is Important!