Shift left - find defects earlier through automated test and deployment

37
Continuous delivery of software innovation on hybrid cloud Shift Left Find defects earlier through automated test and deployment @Al_Wagner

Transcript of Shift left - find defects earlier through automated test and deployment

Continuous delivery of software innovation on hybrid cloud

Shift LeftFind defects earlier through automated test and deployment

@Al_Wagner

What are we going to talk about?

• The driving forces

• Introducing Continuous Delivery & Continuous Testing

• Bringing it all together – Demo

• Why Shift Left is important to achieving DevOps success

• Wrapping things up

Things your employer wants to avoid!

What is keeping your boss and boss’s boss up at night?

Software delivery bottlenecks in achieving results

What is the biggest source of delay when deploying an application into

production?

Yet we continue to do things the same way

impedes continuous

delivery of new software

Teams spend 30 to 50% (or more) of their time waiting for test

environments with the latest build to become available for testing.

Continuous Integration Continuous MonitoringManually

deploying & testing

new software builds

Shift Left requires two key DevOps practices

+ =

Continuous

Deployment

Continuous

Testing

Two great tastes that

taste great together!

Eliminating the biggest delivery pipeline bottleneck

Continuous Integration Continuous MonitoringContinuous Deployment Continuous Testing

Shift Left addresses the biggest source of delay

when deploying an application into production!

What is holding you back from deploying continuously?

Failures due to

inconsistent dev

and production

environments

Bottlenecks trying

to deliver more

frequent releases

to meet market

demands

Complex, manual,

processes for

release lack

repeatability and

speed

Poor visibility into

dependencies

across releases,

resources, and

teams

Accelerate delivery with continuous release & deploy

SCM Build Automation

Publish build

Pull

changes

IBM Cloud Orchestrator

IBM PureApplication System

IBM Cloud Managerwith OpenStack

IBM Bluemix

Provision

environment

Automate

deployments

Fast

Reliable

Repeatable

VMWare

vCenterIBM UrbanCode

SharedOff-PremDedicated

On-PremTraditional

IT

Hybrid Cloud

IaaS/PaaS

Hybrid

Infrastructure

Physical,

Cloud • IaaS/PaaSDedicatedOff-Prem

IBM UrbanCode Build Enterprise-optimized Build Automation

IBM UrbanCode Deploy Environment Provisioning

Application Deployment

IBM UrbanCode Release Release Management

Want earlier feedback on software quality?

Performance

Requirements

Unit Tests

UAT

OAT

Sys TestsSys Tests

• Test earlier

• Find architectural

issues sooner

• Reduce costs

• Decrease risk

Big Bang

Integration Tests

Accelerate testing in production-like test

labs

Service Virtualization

Deployment Automation

Dynamic Infrastructure

Automate comprehensive test execution

API/Integration

Performance

Functional

Security

Provide project teams with continuous

feedback on software quality to reduce

business risk

Increase quality with continuous testing

IBM Rational Test Workbench

IBM Rational Test Virtualization Server

11

Continuous Deployment & Continuous Testing

an integrated shift left demo

IBM UrbanCode

IBM Rational Test Workbench

IBM Rational Test Virtualization Server

+

The Demo Application

You will earn xxxx loyalty points for this flight.

New

Release v1.1

Feature

What the demo will cover…

13

Why is Shift Left important?

Innovation Edge (Systems of Engagement)

Cloud NativeBorn on the

Cloud Systems

rapid delivery for innovation • Agile • anti-fragile •

experimentation • new and innovative

Industrialized Core (Systems of Record)

Traditional ITOn premises

systems

z, i, Java based

deliver at regular cadence • waterfall/agile • stability •

predictability • lean delivery pipeline • core & legacy

Deployment Automation,

Orchestration, Brokerage

Test Automation

&

Service

Virtualization

APIsRelease

ManagementPlanning

DevOpsMulti-speed IT

15

• Test across systems

– Test everything together, where applications old and new cross paths,

ensure thorough testing earlier and more often.

• Release what you tested together

– If you are testing earlier to ensure applications across systems are working

together properly, it only makes sense to release those applications together.

• Create a singular deployment process for that release

– Your deployment process should reflect whatever applications or

components need to be released in the proper order to ensure functionality

across systems.

Wrapping things up!

Continuous delivery of software innovation on hybrid cloud

Thank You

Demo Screen Shots

Request Process

Request Process

Create a Snapshot

Request Process