s104 twist and cloud
TRANSCRIPT
© 2015 IBM Corporation
Twist and Cloud – How IBM customers make CICS dance
CICS - S104
Isabel Arnold
IBM Germany
© 2015 IBM Corporation
Agenda
• What is a cloud?• How CICS does cloud• How 3 customers really want to use this
© 2015 IBM Corporation
What does Cloud mean
• No cloud in hell…Comic Source: Webpal.net
© 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
© 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
© 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
© 2015 IBM Corporation
SaaSSource: Cloudtechsite.com
© 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
© 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#!
© 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.
© 2015 IBM Corporation
© 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
© 2015 IBM Corporation
Automatic-Mode vs. Tuning
© 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
© 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)
© 2015 IBM Corporation
Transactions
Programs
Files
Applications in CICS
How we think about applications in CICS
How applications look after they
have been installed
© 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
© 2015 IBM Corporation
OK, for simplification: this
is now an application with a
CICS Bundle
© 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
© 2015 IBM Corporation
Application Context – Slippers (Museums-Pantoffel)
© 2015 IBM Corporation
CICS Application Binding
Maps CICS bundles for application to region types in the target platform
© 2015 IBM Corporation
Where else can Bundles be deployed
Bundle in Application Bundle in
Binding
Bundle in Platform
© 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
© 2015 IBM Corporation
Think about what you will be able to build in the
future!!!
© 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 **
© 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
© 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
© 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
© 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
© 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
© 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
© 2015 IBM Corporation German Insurance
© 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.
© 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)
© 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
© 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
© 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
© 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
© 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
© 2015 IBM Corporation Austrian Insurance
© 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
© 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
© 2015 IBM Corporation
REST swagger UI implementation
© 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
© 2015 IBM Corporation
Isabel
© 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
© 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
© 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)
© 2015 IBM Corporation
So enough TWIST…
51
Let’s rock the
mainframe
© 2015 IBM Corporation
Thank You
Your Feedback is Important!