Top Banner
DevOps The What, Why and How
39

DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

May 31, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

DevOps

The What, Why and How

Page 2: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Presenters

John TomanSenior Manager, Software

[email protected]

John ClarkSenior Solutions Architect

[email protected]

Page 3: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

How Does My Credit Union …• Improve speed to market for my integrated

software, with lower risk?• Make software deployment less expensive, with

less complexity?• Foster better collaboration between IT and my

lines of business?• Respond quicker to feedback from key

stakeholders and customers?

Page 4: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

DevOps• Is a culture and a practice• Emphasizes collaboration and

communication– Development– Information Technology– Others

• Automates software delivery and infrastructure changes

Page 5: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

DevOps: Software Development

DevQA

IT

DevOps

Page 6: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

DevOps: Integrating Software

QA

IT

DevOps

Page 7: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Culture• Remove boundaries between

development, QA, IT• Collaborate on every change• Provide continuous feedback

Page 8: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Ingredients• Agile methodologies• Continuous Integration (CI)• Continuous, automated Testing

(CT)• Continuous Delivery (CD)

– Package– Release– Provision– Configure

Automation

Page 9: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Agile’s Role• Keep iterations short

– Small changes– Make it work, make it better

• Limit work in progress– Prioritize

• Respond quickly to feedback

Page 10: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Continuous Integration (CI)• Integrate early, integrate often• Compile and test code on every committed

change• Short feedback loop• Prioritize build stability• Promotes higher quality

Page 11: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Continuous Testing (CT)

• Execute automated tests as part of software delivery pipeline– Build Verification Testing (BVT)

• Exposes application risks quickly

• Utilizes fewer testing resources

Page 12: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Not Quite DevOps: Continuous Testing

DevQA

CT

Page 13: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Continuous Delivery (CD)• Allows for incremental upgrades into production• Builds on CI and CT• Lots of automation tooling support

– From source control to production• Not the same as Continuous Deployment

– Continuous Delivery may not result in release• DevOps is broader in scope (cultural)

Page 14: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Enabling Technologies• Source Repository• Build / Orchestration Server(s)• Virtual Machine or Container Infrastructure• Test Automation Tooling• Configuration Management Tooling• Deployment Tooling• Cloud Computing

Page 15: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

DevOps @ Symitar• Continuous Integration adoption began 2010• Continuous Delivery began 2016• Early focal points:

– Selecting automation tooling– Automating internal deployment– Provisioning

• Systems• Episys (SymXchange)• Databases (SYMs)

– Restoration• Targeting internal production systems (QA, Dev)

Page 16: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Problems We’re Trying to Solve• Manual system configuration

– Deployment– Configuration– Restoration

• Limited self service– Helpdesk ticket required for most issues

• Load Episys service pack or release• Load AIX patch• Restore SYM database• Enabling Episys modules (SymXchange, etc.)• Reload system

Page 17: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Problems We’re Trying to Solve• Longer term

– Long release cycles– Speed to market– Higher efficiency

Page 18: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Tools used for Automation / CD

DevOpsTools

Build Server

DEV Env

QA EnvUI

Automated Testing [Azure]

Build Verification

Test Env

DevOps ToolsOrchestrationConfiguration ManagementSystem Deployment

Page 19: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

CD / Automation Tool Selection• Orchestration

– Jenkins

• Configuration Management– Chef

• System Deployment– IBM Network Installation Manager (NIM)

Page 20: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

CD / Automation Tools OverviewDeploy

Base image

Post Deploy Configuration

Configuration changes

Auditing

Automated Testing

Chef

Jenkins

NIM

Page 21: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

CD / Automation Tools

Orchestration tool

• Initiate jobs• Self service interface• Remote command execution

via SSH• Role based access to GUI

interface• Public Key or password

authentication to end nodes• Server: RHEL

Configuration Management

• Automation tasks:• Application updates• Post deployment

configuration• System auditing• Initiated from Jenkins or

client• GUI Interface• AIX/Windows Client• Initiated via client or via Knife

command line tool• Server: RHEL

System Deployment

• IBM Network Installation Manager

• AIX/Episys image deployment via network

• System restore• System image repository• Initiated from Jenkins• Server: AIX LPAR

Page 22: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Chef Configuration Management• Codification of infrastructure• Provisioning

– Automate system deployment/restoration– Cloud management (Azure, Google Cloud Platform, etc.)

• Ongoing Management– System auditing

• Open Source Cookbooks– Benefit from development community

Page 23: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

CD / Automation Solution

AIX 7.1Episys 2016.00

Final

Chef

Jenkins

NIM

SSH keys

Episys Modules

AIX patch

Episys SP

LPAR Orchestration

Post Deployment Configuration

ConfigurationChanges

KSH scripts

expect TCLNetworking

Transaction Test Tools

Add Users

Configuration files

Auditing

SSH keys

Passwords

Automated Testing

Security Patches

Page 24: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

System Deployment Process Flow

Create LPAR

• Jenkins execute commands on HMC Server

• Jenkins executes commands on NIM Server to install image

• Trigger job to bootstrap chef client with initial cookbooks

Chef initial run

• Install chef-client• Setup

configurations• Configure

mounts• Enable/Disable

services• Modify packages• Install Episys

Cookbook

• Test Media• Update Episys• Update AIX

Service level• System Backup

Maintenance

• Jenkins job monitoring Utils

• Chef client daemon execution reports unstable nodes

• Chef-client audit mode

• Infrastructure monitoring

Page 25: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Automated Testing Process Flow

• AIX 7.1• Episys 2016.00

LPAR Orchestration

• Episys SP• AIX Patch• Episys Modules• Transaction

testing tools

Post Deployment

Configuration• Users, Network• Permissions• Mounts, Services• Passwords• SSH Keys

Configuration Changes

• KSH Scripts• expect TCL• Coded UI

Automated Testing

Page 26: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Continuous Delivery Solution

Build Server Baseline

2016.01

2016.00

Baseline

2016.01

2016.00BVT

BVT

BVT

Build Verification Test LPARs

2016.00

2016.01

Baseline

Dev QA

Chef

Integration Integration

BVT

Integration

QuestQuest

QuestQuest

UI Automated Testing(Azure)

BVT

BVT

BVT

BVT

Jenkins

QuestQuest

QuestQuest

Page 27: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Symitar Success Story: Release Testing• Before

– Manual refresh of systems between tests– Request to system admins

• Dependent on system admin schedule• Average turnaround time: 4 hours

– Limits on test cases executed due to time constraints• Now

– Self service tool for QA• Completed in 15 minutes• Removed dependency on system admin schedule

– Allowed for 5X release load test cases

Page 28: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Symitar Success Story: Failover Testing• Before

– Manual system setup – very error prone/labor intensive• Now

– Self-service automated system deployments– QA staff can build their own environments using GUI self

service tool• Fully scripted and automated backend• Estimate 8 hours labor saved per environment build (160 hours per

release)

Page 29: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Symitar Success Story: AIX Patching• Before

– All system setup and test cases done manually– AIX patch testing required 3 people / 2 weeks

• Now– Self service interface for QA

• Automation of system setup/restore• Automation of test cases

– Rapid re-run of tests following defect fix– AIX patch testing completed by 1 person

• Included re-run of tests following defect fix

Page 30: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Symitar Success Story: Self Service• Before

– All system deployment performed manually– Request to system admins

• Now– Self service interface– Full automation of system deployment

• Reduced turnaround time• Improved end-user experience

Page 31: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Scenario: Deploy an Episys Patch• Current Process

– Software patches deployed manually– Request to system admin team

• Goals– Fully automated software patch deployment– End-user self service option– No need for system admin intervention– Foundation for automated build testing

Page 32: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Scenario: Build a Test System• Current Process

– Test systems deployed manually– Limited build verification testing

• Critical test cases executed late in development cycle

• Goals– Fully automated test system deployment– Fully automate build verification testing– Execute critical test cases throughout development cycle

Page 33: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Scenario: Integrate a New Feature • Current Process

– New feature integration requires specialized staff and procedures• Slow and lengthy process• SME’s spending time on system setup, not testing

– End result: limited internal deployment and testing• Goals

– Provide self service tool• Fully automated backend

– Simple and rapid deployment– More extensive internal adoption and testing

Page 34: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Takeaway #1• Don’t need to be a development shop to

adopt or realize benefits of DevOps

Page 35: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Takeaway #2• DevOps is culture and practice

– Cultural change needs burn in time– Practice requires tooling

Page 36: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Takeaway #3• Automation is the key driver of

– Efficiency– Quality– Time to market

• Automate all the way to production

Page 37: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Takeaway #4• Start small• Tackle one item at a time• Prioritize

Page 38: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

Takeaway #5• Utilize feedback loops

– Involve stakeholders, integrators, developers, testers, customers

Page 39: DevOps - CUNA Councils · DevOps Tools. Build Server. DEV Env. QA Env. UI Automated Testing [Azure] Build Verification Test Env. DevOps Tools. Orchestration Configuration Management

We’re Done• Questions?

[email protected]@jackhenry.com