Upload
nickgarrod
View
253
Download
5
Tags:
Embed Size (px)
Citation preview
© 2015 IBM Corporation
ASZ-4156 Twist and CloudHow IBM Customers Make CICS Dance
Isabel ArnoldCICS TechSales [email protected]
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
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
Networking
Storage
Servers
Virtualization
O/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 Manag es in Cloud
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Applications
Infrastructureas a Service
Vendor Manag es in Cloud
Clie
nt M
anag
es
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Applications
Platformas a Service
Vendor Manag es 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
Tag, Track &Time to pay only for what you used
TT
Tub (Pool) of resourcesTT Workload-dependent, elastic scalingWW
Interfaces over the InternetII
Self-Sevice On DemandSS
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#!
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.
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
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
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)
Transactions
Programs
Files
Applications in CICS
How we think about applications in CICS
How applications look after they
have been installed
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
About Entry Points
PROGRAM 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 passedOperation = FrontDoor
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
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 **
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
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
German Building Association: Great, we don’t use the PIPELINE SCAN mechanism to generate the
URIMAP anyway, now we can bundle resources
Stage 4: Add a policy
XML definition Rules to describe controls or actions
For one or more application tasksThreshold 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
So far: Combination of IBM, ISV and self-written tools
Without application hard to tell what individual
resources do
Trans exceeding Threshold
Control application behaviour
Avoid runaway & loosing money
Policies to control
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
Stage 5: Remove the application from the platform
Complete lifecycle by removing application from platform>> unavailable, disable, discard
Removal of individual versions possible
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.
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)
Version 1.0.1 AVAILABLE
Platform M
Application A 1.0.0
PROGRAM P
Application A 1.0.1
PROGRAM P’
PROGRAM E1
PROGRAM E1
Region R
PROGRAM S
EXEC CICS LINK PROGRAM(E1)
multi-version application: entry point of highest version application public, others private
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
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
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
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
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
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
• 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
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
Packagin & Hosting Connection Preferences
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
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)
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)