Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential....

34
1 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. | Zowe Overview - Automation, Testing, and Orchestration Dan Kelosky Open Mainframe Team [email protected] linkedin.com/in/dkelosky 1

Transcript of Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential....

Page 1: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

1 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Zowe Overview - Automation, Testing, and Orchestration

Dan KeloskyOpen Mainframe Team

[email protected]/in/dkelosky

1

Page 2: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

2 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Agenda

● Me● Zowe● Modern tools - purpose, how, & why I use them● Answer questions● Demos

○ test○ build & deploy○ CI

2

Page 3: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

3 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Mainframe Tools

● SLIP● GTF● HLASM (31|64, Problem|Supervisor, System key[0-7], SRB|TCB)● Conditional Assembly● Metal C● Endevor● IPCS● ISPF ● Console commands● IEASYSxx, PROGxx, etc● XDC● RDz

3

Page 4: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

4 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Distributed Tools

● Android

● Cloud dev (firebase) apps & serverless

● Web development (JQuery, Angular, Node.js, ...)

● Scripting (Perl, Python, Ruby, JavaScript, …)

● Editor extension (Brackets, Atom, VS Code, ...)

● CI (Travis, Circle, Azure pipelines, Jenkins, TeamCity, Drone, …)

4

Page 5: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

5 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Personal Tools

5

Page 6: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

6 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Zowe

6

Page 7: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

7 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Zowe

7

UI

CLI

ML

APIs

Page 8: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

8 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

API

8

https://phpenthusiast.com/blog/what-is-rest-api

https://www.indiamart.com/proddetail/ibm-mainframe-7046896433.html

Page 9: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

9 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

API ML - Catalog

9

Page 10: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

10 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

API ML - Discovery

10

https://github.com/Netflix/eureka

Page 11: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

11 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

API ML - Gateway

11

https://github.com/Netflix/zuul

(unofficial)

Page 12: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

12 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

UI & CLI

12

Page 13: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

13 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Modern Tooling - Overlap

● git

● Node.js

● perl

● python

13

Page 14: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

14 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Modern Tooling - Parallels

● Symbolic substitution - &SYSNAME. ● Mustache, handlebars - {{ }}

14

Page 15: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

15 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Modern Tooling - Integrations

● RDz / Eclipse plugins

● Jenkins plugins

● CI tools

15

Page 16: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

16 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Modern Tooling - z/OS Limitations

16

Page 17: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

17 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Development is Complicated

● Hybrid development - TypeScript (Node.js), Spring (Java), C++, Metal C, assembler, makefile, JCL ○ source controlled via git/GitHub ○ delivered through Endevor

● Team members use different editors, diff tools, git clients

● CLI, scripts, and task runner are common pieces

17

Page 18: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

18 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Scripting

● Python● Ruby● Perl● JavaScript / TypeScript● Bash / Shell scripts● Windows Batch● REXX● CLIST● Groovy● Go...

18

Page 19: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

19 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Scripting Examples

19

Page 20: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

20 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Task Runners / Encapsulation Tools

● npm / yarn● gradle● grunt● gulp● make...

20

Page 21: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

21 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Task Runners / Encapsulation Tools Examples

21

Page 22: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

22 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Testing Frameworks

● JUnit

● Jest

● PyUnit

● RSpec

● Mocha.js

22

Page 23: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

23 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Testing Frameworks Examples

23

Page 24: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

24 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Source Control

● git● mercurial● svn● ChangeMan● ISPW● Endevor

● GitHub● Bitbucket● GitLab...

24

Page 25: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

25 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Source Control Examples

25

Page 26: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

26 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

CI/CD

JenkinsDroneConcourseTeamCity

TeamCityTravis CICircleCIDrone Cloud...

26

Page 27: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

27 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

CI/CD Examples

27

Page 28: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

28 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

CI/CD Tooling

TSLintCodecov SonarQubeJCLCheckTYPERUN=SCAN...

28

Page 29: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

29 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

CI Tooling Examples

29

Page 30: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

30 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Demo 0

● API ML● Desktop UI● Commands● VS Code

30

Page 31: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

31 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Demo 1 - Testing

● npm run genjcl● npm run allocate● npm run upload● npm run jcl● npm run test

31

Page 32: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

32 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Demo 2 - CI

Drone

32

Page 33: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

33 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Examples & Repos

● https://medium.com/@dkelosky

○ Mainframe HLASM Continuous Integration Testing with

Github and Drone

○ Building Mainframe Metal C and Testing with Jest and

Zowe CLI

○ How to Automate z/OS Data Set Allocation Using Zowe &

JSON

○ Mainframe Assembler & Zowe: “Hello World” Example

33

Page 34: Zowe Overview - Automation, Testing, and Orchestration34 | Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. Author: TKAQ000 Created Date: 9/24/2019 1:44:18 PM

34 Broadcom Proprietary and Confidential. Copyright © 2019 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.|

Repos

● https://github.com/tucker01/awesome-zowe

34