advanced techniques for initiating the devops journey

35
World ® ’1 6 Advanced Techniques for Initiating the DevOps Journey Steve Blackett - Technical Specialist, zSeries Developer Services - HSBC MFX111S MAINFRAME AND WORKLOAD AUTOMATION

Upload: ca-technologies

Post on 10-Jan-2017

42 views

Category:

Technology


0 download

TRANSCRIPT

World®’16

AdvancedTechniquesforInitiatingtheDevOpsJourneySteveBlackett- TechnicalSpecialist,zSeries DeveloperServices- HSBC

MFX111S

MAINFRAMEANDWORKLOADAUTOMATION

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.

Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.

ForInformationalPurposesOnlyTermsofthisPresentation

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

SeehowHSBChasutilizedCAEndevor®SoftwareChangeManageranditsFieldDevelopmentProductsolutionstoachievecontinuousintegrationandadvanceorganizationalgoalsofachievingDevOpsontheMainframe.

SteveBlackettHSBCTechnicalSpecialist

zSeries DevOpsContinuous Integration & Continuous Deployment

Date: October 2016Prepared by: Steve Blackett

PUBLIC

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

HISTORYOFDEVOPS

SOURCECONTROL:CAENDEVOR®SOFTWARECHANGEMANAGER

WRAPUP

WHATISDEVOPS?

CONTINUOUSINTEGRATION

CONTINUOUSDEPLOYMENT

1

2

3

4

5

6

6

Agenda zSeries vs DevOps

Fight!

History of DevOps

PUBLIC

History of DevOps

PUBLIC

See more: https://www.google.com/trends/explore#q=DevOps&cmpt=q&tz=Etc%2FGMT-8

History of DevOps

PUBLIC

Walls / What are the problems / What are we trying to fix?

PUBLIC

• On our first TechForum blog post on DevOps this diagram was included:

Source Control – CA Endevor SCM

PUBLIC

Agile and DevOps methodologies provide the backbone of our new ways of working

PUBLIC

Endevor stands for Environment for Developers and Operations

ENDEVORDEVOPSWikipedia: “a clipped compound of development and operations”

Source Control : CA Endevor SCM

PUBLIC

What is DevOps?

PUBLIC

What is DevOps then?

PUBLIC

• Because its newer DevOps as a term is harder than Agile to define and lots of people have tried to do so:

See more: https://www.google.com.hk/search?q=what+is+devops

What is DevOps? Dev vs Ops

PUBLIC

Dev – Development: • Developing/Creating/Maintaining the software

So development value and are rewarded for “delivering” early and continuously

Ops – Operations: • Operating/Running/Mission Controlling the product

Change has the potential to introduce instability and stop system running

• Easiest way to prevent this is to slow down or stop change

• Therefore indirectly rewarded for slowing down or stopping delivery

Get to the point – What is DevOps?

PUBLIC

Lets see how those values and rewards differ traditionally:

Align, Break down the silos and make everyone value and be rewarded for both

Group/////// Values Primarily Rewarded For Less Concerned About

Dev Early & Continuous Delivery of Software

Delivering new value to business Operation and stability of the existing systems

Ops Keeping existing systems operating and stable

Operation and Stability of the existing systems (which are already providing real value)

Delivering new value to business

So what at its heart is DevOps?

PUBLIC

The clue is in the name:

• Dev – Development: Developing/Creating/Maintaining software

• Ops – Operations: Operating/Running/Mission Controlling the product

DevOps is at its core about making these previously two separate things into one

Also three acronyms:

CI / CD / CT – I need (to understand) these to “do DevOps”

CA Endevor SCM and Continuous Integration

PUBLIC

Continuous Integration Definition

PUBLIC

• Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.By integrating regularly, you can detect errors quickly, and locate them more easily.

• CA Endevor SCM – the vendor tool we have currently and what it does:

• Allows developers to integrate code into a shared repository,also allows parallel development (Separate Environments / Separate Systems)

• Each check-in is verified by an automated build.If a COBOL program is saved into Endevor SCM an automated generate (compile) job will be submitted. Majority of element types are generated.

See more: https://www.thoughtworks.com/continuous-integration

Continuous Integration

PROD

Long Term Projects Current Rel Release + 1 Release + 2 Release + 3

PREPROD

RQA

RITEST

RSTEST

RUTEST

RITESTA

RSTESTA

RUTESTA

RITESTB

RITEST1

RSTEST1

RUTEST1

RSTESTB

RUTESTB

RITESTC

RSTESTC

RUTESTC

RFIX

Allows developers to integrate code into a shared repository,Multiple Environments allow parallel development which all link into the trunk / main arm.

Continuous Integration

PUBLIC

GENERATE USE THE MAP… OBTAIN THE INFRASTRUCTURE…

APPLY THE OPTIONAL FEATURES

DATABASE BINDS CICS PHASE-IN

LINK EDIT THE OBJECT

Copybook

Copybook

Copybook

CopybookDCLGEN

DEVELOPER WRITES /COMPLETES CODE AND ADDS / UPDATES ELEMENTINTO CA ENDEVOR SCM

USE QUICKEDIT / ISPFPROCESS VIA BATCH SCL

OR RDz (GUI VERSION) ANDCARMA INTERFACE

Each check-in is verified by an automated build (Build Orchestration).If a COBOL program is saved into CA Endevor SCM an automated generate (compile) job will be submitted.

Continuous Integration

PUBLIC

If Build Orchestration fails: (due to poor coding / space issue)Original code output is NOT overwritten.LL (List Listing) option in CA Endevor SCM allows you to see the issues with the code build. (you do not need to look at job output)Failed elements do not mean “failed builds”

What else do we do?Backfill: Automatically fill in the previous environments With the correct pieces of code (JCL / Cards)

Over 100 Years of zSeries Design and Capability Build

TestIDs:Each Environment can have a testing ID specifiedAgainst it allowing separation of testing

Existing CA Endevor SCM Quality GatesOnly successful builds may be moved forwards up the Map into higher environments for Testing and release to ProductionFootprint checking between source and load modules ensure LMI (Load Module Integrity)

CI Trace information – CA Endevor SCM output of what has been captured and utilised is directly available to the developer in the Job OutputCI Transparency – BX command against the CA Endevor SCM elements lists the input and output components after a successful build

Build Orchestration, Quality Gates and additional features.

Continuous Integration

PUBLIC

• SpinUp z/OS CA Endevor SCM environments

• Advantages:No space issues (dev. can resize their own libraries)Parallel Development Fastest possible on z/OS integration back with trunk code (true CI)Power of full CA Endevor SCM processor support allowing compilations (based on the main trunk)

CAEndevor SCMUNITTEST/

UTEST/RUTEST

Developer SpinsUp own “Environment” based on existing setup

DeveloperIDOwnNamedSubsytem

DeveloperIDOwnNamed

Files

DeveloperIDOwnNamedCICSJob(notSTC)

DeveloperIDOwnNamedDB2

TableSpace

Do you want / need more environments? (distributed term: Private Workspaces) ?

Continuous Integration

PUBLIC

• Integration points, what is the trigger ?

CAEndevor SCMGenerateProcess

TRIGGER EmailResultstoUser

AutomateEnvironment

Move?CAENDEVORSCM

CodeChanges

TestingChanges

Integration with testing / code quality tools

CA Endevor SCM and Continuous Deployment

PUBLIC

Continuous Deployment

PUBLICSee more: https://en.wikipedia.org/wiki/Continuous_delivery

• “Our definition”: “Continuous Deployment is closely related to Continuous Integration and refers to the release into production of software that passes the automated tests.”

• Webopedia:Continuous delivery is sometimes confused with continuous deployment. Continuous deployment means that every change is automatically deployed to production. Continuous delivery means that the team ensures every change can be deployed to production but may choose not to do it, usually due to business reasons. In order to do continuous deployment one must be doing continuous delivery.

• A straightforward and repeatable deployment process is important for continuous delivery.

How does the CA Endevor SCM Deployment Process Work

PUBLIC

• Each CA Endevor SCM Environment can be attached to a testing infrastructure.Eg: DB2 System, CICS System, TWS schedules (specific JCL batches)

• MOVEing up the environment map via CA Endevor SCM is a manual task but can be automated and triggered to the higher environments.

• We currently have the process in place to provide Continuous Delivery from one (testing) environment to the next. The move and shipment piece for productionisingthe code is a manual task which requires planning and backout documentation following the defined change procedure.

Delivery Pipeline

PUBLIC

Element Added/Updated to CA Endevor SCMAutomated Generate UNITTEST

CA Endevor SCM Environment map Automated

Deployment

SYSTESTCA Endevor SCM MoveAutomated Deployment

INTTEST

QA/ACCTEST

PREPROD

PROD

CA Endevor SCM Multi-Move

UNIT TEST ENVIRONMENT

Production Release & DeploymentChange Management tool following Release Management processElements / Components need to be in PREPROD

Shipped to Destination (eg production mainframe)And DEPLOYED (automatically at a specific time Or manually as defined by application team)

SYSTEM TEST ENVIRONMENT

DEPLOY

INTEGRATION TEST ENVIRONMENT

DEPLOY

Continuous Deployment

PUBLIC

3 Months

1 Month10 Per Day

See more: https://www.youtube.com/watch?v=LdOe18KhtT4

Final Thoughts

PUBLIC

Final Thoughts

PUBLIC

• What’s DevOps again ?

• I Should Automate Everything?

• Think for yourself and engage with others !

Questions

PUBLIC

34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MainframeandWorkloadAutomation

FormoreinformationonMainframeandWorkloadAutomation,pleasevisit:http://cainc.to/9GQ2JI