42
DEVOPS Amit Kumar Bank BTPN

Agile+DevOps - do we understand it?

Embed Size (px)

Citation preview

DEVOPS

Amit Kumar

Bank BTPN

@toamitkumar

Traditional

bank

Digital

natives1

Leading

banks

Release

frequency1-4 releases

per year

10-50 releases

per day

1-4 releases

per month

Time to

market

9 months -

2 years2 weeks -

3 months

2-6

months

ADM

productivity3-10Function

Points/

man month

20-40Function Points/ man

month

10-20 Function Points/

man month

1 PayPal, Apple, Alibaba, Facebook, Safaricom, NTT DOCOMO

TRADITIONAL SILOS

DEVELOPMENTQUALITYOPERATIONS

BUSINESS/ PRODUCT

Customers

Design Develop

Test

Concept Business

case

Provision

infrastructure

Deploy to

Production

ApproveE2E test

Development Sprints

2 weeks / sprint

Deploy to

UAT

~1 week 3-5 weeks <1 week

Manual process – that is error-prone and time-

taking, and not conducive to rapid experimentation

Improved developer

productivity

Agile only

development

cycle

Agile with

DevOps

development

cycle

Customers

Design Develop

Test

Concept Business

case

Provision

infrastructure Deploy to

Production

ApproveE2E test

Path to live

~Best case – 2 weeks

Development Sprints

2 weeks / sprint

Deploy to

UAT

Key step where heavy automation and

monitoring is introduced via DevOps

What is DevOps

Let’s see how much you

score?

DevOps Ninja

Add 1 NINJA points

Add only 2 NINJA points

It is 2017

Add 3 NINJA points

Add 3 NINJA points

Add 4 NINJA points

Add 4 NINJA points

Add 4 NINJA points

Add 5 NINJA points

DevOps Ninja0 points?

1-5 points?

6-10 points?

> 10 points?

DOES DEVOPS MEAN ALL OF THESE TOOLS & TECHNOLOGIES?Can I say I am DevOps, if I have all of these in my organization?

Unit Test Automation

Functional Test Automation

Security Test Automation

Performance Test Automation

Deployment Automation

1. >= 1 time a daily

2. >= 3 times a week

3. End of each sprint

4. Once a month

5. > 3 months

How many times do

you deploy to

production?

DOES DEVOPS MEAN PROCESS?

DevOps CAMS

DevOps CAMS

Even with the

best tools &

process, DevOps

is just another

buzzword if you

don't have the

right culture.

Familiar with this?

Familiar with this?

WE DO NOT LEARN

FROM MISTAKES

CollaborationAutonomous

Teams

Shared

Responsibilities

Shared Goals Automation Trust & Respect

John Michelsen, CTO, CA Technologies

Code

check-in

Merge,

integrat

e code

Unit,

Func-

tional

Tests

Deploy

to QA &

Staging

Deploy

to

Produc-

tion

Smoke

tests on

Produc-

tion

Auto Auto Auto Auto Auto

Code

check-in

Merge,

integrat

e code

Unit,

Func-

tional

Tests

Deploy

to QA &

Staging

Deploy

to

Produc-

tion

Smoke

tests on

Produc-

tion

Auto Auto Auto Manual Auto

Continuous Delivery

Rapidly and safely

deployed to

production-like

environment

Continuous Deployment

Rapidly and safely

deployed to production

environment

StagingLive/ Production

Environment

Developer machine Continuous Integration

SIT/ UAT

Continuous Delivery

(Jenkins)

Master (Linux)

Slave

(Linux)

Slave

(buddybuild)

NodeJS/ Java Job Mobile Job

Version Control

(Gitlab)

Developer

machine

Develop-Build-Test Cycle

Publishes

for both

Android

& iOS

NexusSonarqube

Time

duration

▪ Build once and deploy the artifact

across all environment. Strict quality

checks during build process, reports

published via Sonarqube

▪ CI process setup for both API

development as well as mobile code.

▪ Artifacts are published to both Nexus

and Docker Registry

▪ Docker Images are deployed to

OpenShift with zero-downtime

▪ Fully automated way to build and

distribute mobile artifacts

▪ Deployment to staging and production

requires manual promotion of the

versioned artifact for better quality

control and check. Overall process takes

~10mins to reach production servers

▪ Embed security testing into DevOps –

DevSecOps

< 10mins from code commit to production deployment

Docker Registry

OpenShift

Platform

A dedicated DevOps team

Programmer

SysAdmin

SQA

Operations

DEVSECOPS

Everyone is responsible for security – embed security into each aspect of software building

Agile with

DevOps

development

cycle

Customers

Design Develop

Test

Concept Business

case

Provision

infrastructure Deploy to

Production

ApproveE2E test

Path to live

~Best case – 2 weeks

Development Sprints

2 weeks / sprint

Deploy to

UAT