ing delivers continuous delivery as a serviceschd.ws/hosted_files/swampup2017/1a/ing deliveres cd as...

52
www.swampup.jfrog.com Copyright © 2017 JFrog. All Rights Reserved ING delivers Continuous Delivery as a Service Taco Bakker - ING

Upload: hoangthuy

Post on 08-Mar-2018

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

www.swampup.jfrog.comCopyright © 2017 JFrog. All Rights Reserved

ING delivers Continuous Delivery as a ServiceTaco Bakker - ING

Page 2: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

ING delivers Continuous Delivery as a Service

Taco Bakker, Chapterlead CD

Global CD at Scale

Amsterdam • 26 May 2017

Page 3: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Abstract

How can you deliver software incredible fast to your customer throughout your entire enterprise?

ING, a global financial institution offering retail and wholesale banking services to customers in over 40 countries, has established an innovative continuous delivery practice that helped transform them into a leading Fintech company. In this session, ING will share its Continuous Delivery as a Service (CDaaS) concept and its journey that sped up the delivery process from weeks to hours. You will learn about the challenges that ING encountered and solved in this journey and the next milestones in this global continuous delivery journey, including how they are leveraging Jfrog Artifactory.

Taco Bakker

ING Chapter Lead Continuous Delivery as a Service

Page 4: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

1. Introduction

2. The Journey

3. The Automation

4. The Service

5. The Results

6. The Future

4

Agenda

Page 5: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Introduction

Page 6: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

About me..

Find me on: www.tsbakker.nl Twitter: @tsbakker65 LinkedIn Github Wordfeud Facebook Instagram ViVino SnapChat FourSquare Google+ Spotify

Taco Bakker

Me

Master of Computer ScienceUniversity of Amsterdam

Lean Six Sigma Black Belt

>5 years of experience in Agile Scrum, DevOps and

Continuous Delivery

Chapter Lead Continuous Delivery ING

Enjoying Wine & Travel

From Holland

Page 7: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

7

About ING

ING IS A GLOBAL FINANCIAL INSTITUTIONWITH A STRONG EUROPEAN BASE

THE PURPOSE OF ING BANK IS TO EMPOWER PEOPLE TO STAY A STEP AHEAD IN LIFE AND IN BUSINESS

Customers Countries Employees

more than

33Mprivate, corporate and institutional customers

more than

40in Europe, North America, Latin America and Australia

more than

52,000

Page 8: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Software is eating the World

8

Page 9: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

The old way of working isn’t good enough anymore

9

Page 10: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Agile Scrum, Continuous Delivery and DevOps really make a difference

10

Page 11: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

But how can you deliver software incredible fast to your customer throughout your entire enterprise?

11

Page 12: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

The JourneyImplementation of Agile Scrum, CD and Devops @ING

Page 13: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Code Build Deploy Test Accept Release

Waterfall (Before 2009)

13

High costs

Delivery too late

Disappointing results

Page 14: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Code Build Deploy Test Accept Release

Agile Scrum (from 2009)

14

Faster development

Better aligned

Only Dev, not Ops

Throughput still disappointing

Page 15: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Continuous Delivery (from 2012)

15

Code Build Deploy Test Accept Release

Faster delivery of software

Better organized

More automation

Throughput still disappointing

Page 16: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

DevOps (from 2013)

16

Code Build Deploy Test Accept Release

Faster delivery of software to customer

Everybody in team has the same goal

Room for improvement

Page 17: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

The AutomationHow we automated the IT delivery process @ING

Page 18: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

The one goal: Automate everything!

18

Build

Deploy

Test

- Whatever -

Page 19: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Build - Continuous Integration

19

Code Orchestrate Build Check Store

Page 20: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Deploy - Continuous Deployments

20

Page 21: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Test - Agile testing

21

Page 22: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

How we were building software

22

Page 23: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

How we wanted to build software

23

Page 24: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Automation was sub-optimal

24

Page 25: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

The ServiceHow we combined knowledge to create a standard CD Pipeline @ING

Page 26: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

CD explained01

Tooling02

Support03Continuous Delivery (CD) means incredibly rapid, repeatable & reliable new functionality for the customer

26

Customer

• Continuous Delivery (CD) is aimed at:

Rapid: Delivering valuable software faster and more often

Repeatable: change your deployments in routine affairs by automating ideally all the steps that bring code to production

Reliable: enabling teams to ensure the compliancy, quality, and the value of software systems

DevOps

Page 27: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

CD explained01

Tooling02

Support03

Team specific processes often come with downsides

27

DevOps team Customer

DevOps team Customer

DevOps team Customer

DevOps team Customer

DevOps team Customer

Duplication of tasks and operation

Little/no knowledge sharing and learning

Often not fully automated

Maintenance of own tools takes time

Less agile

Focus on processes instead of value creation

Page 28: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

CD explained01

Tooling02

Support03By using a shared Continuous Delivery pipeline, ING gains significant benefits

28

DevOps team Customer

DevOps team Customer

DevOps team Customer

DevOps team Customer

DevOps team Customer

Shared Continuous Delivery pipeline

Increased team collaboration

Automation of boring tasks

Early use of customer feedback

Less errors

Faster time to market

Fully maintained CDaaS tools

Page 29: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

CDaaS is aimed at:

1. being a manufacturing-like production line that automates ideally all the steps that brings the code to production reducing the cycle-time in delivering valuable software

2. enabling the teams to ensure the compliancy, quality, and the value of software systems

Why Continuous Delivery as a Service?

Automation

Quality

Page 30: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Create a standard CD pipeline for ING IT teams globally (~1000 teams)That teams can use as a serviceSupporting Linux and Windows applications

Take the best practice as a starting point and make it scalable.

It must be reliable, performant, secure, and awesome!

The challenge

30

Page 31: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

One Portal to rule them all

31

Page 32: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Version Control with GitLab

32

• One centralized Git system

• Fully connected to CD pipeline

• Collaboration between teams

#active GitLab users: 5314#GitLab groups: 1115#GitLab projects: 13213

Page 33: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Artifact Management with Artifactory

33

Page 34: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

34

#artifacts 3.500.000

#binaries 2.500.000

#local repos 1800

#remote repos 39

#users 4000

#groups 2600

#permissions 900

#storage 11.5 TB

#growth 1TB / month

Artifact typesNumbers

Artifactory

Page 35: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

• Team• Team• Artifact• Team• Artifact• System

• Team• Artifact• System

• Team• Artifact• System • Build

• Team• Artifact• System • Build• Deploy

• Team• Artifact• System • Build• Deploy

Tooling• CDaaS portal

Tooling• CDaaS portal• LDAP

Tooling• CDaaS portal• LDAP • Vault

Tooling• CDaaS portal• LDAP • Vault

Tooling• CDaaS portal• LDAP • Vault• Script buildserver

Tooling• CDaaS portal• LDAP • Vault• Script buildserver• Deploy trigger

Tooling• CDaaS portal• LDAP • Vault• Script buildserver• Deploy trigger

Automating Artifactory for CDaaS

35

Page 36: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

36

Page 37: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Building Software

37

• Every team their own Jenkins

• Running in a Docker container

• Pre-configured with connections in CD pipeline

• Freedom to install your own plugins

• LCM by central team

• Configuration stored on HA filesystem and Git

#Jenkins: 379

Page 38: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Environment agnosticdeployments processes

Generic for all applications

Additional functionality

# applications to Prod: 523

# deployments per month: ~20.000

Scaling Deployments

38

Administration

Stop / Start

Installation

Approval gates

Rolling deployments(active/active)

Deployment trackingReporting

Promotion

Automated Tests

Rollback – Full redeployment

And more…

Page 39: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

The ResultsWhat CD as a Service brought us @ING

Page 40: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Going to production takes minutes/hours

Considerable reliability improvements

Relaxed atmosphere on the floor

Page 41: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

> 500 application going through one pipeline to our customers

Page 42: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

One opinionated flow for all the (≈600) teams

CA Release Automation

Page 43: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Concept Of One without

enforcement

Page 44: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

CD portal intranet page Support desk

CDaaS video Continuous Delivery newsletter

Support info Proposition & roadmap

Community Search Public usage dashboard FAQ’s and How-to’s

Active Confluence knowledge base

Productization

Page 45: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

The FutureWhat will be next @ING?

Page 46: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

We Have Achieved Continuous Delivery

PRACTICES AND PEOPLE:

Agile scrum or kanban for all our changes

Continuous delivery for all our releases

DevOps and skilled IT engineers for our complete organization

AUTOMATE EVERYTHING:

Provisioning ofvirtual machines

Builds

Code quality checks

Security checks

TOTAL NUMBER OF RELEASES

THE RESULTS SO FAR ARE GREAT:

Faster time to market (<6wks cycle time)

Lower number of incidents (>50% reduction)

Higher frequency of releases (>12,000 releases per month)

Deployments

Tests

Acceptance criteria

Metrics & analysis

Monitoring

Page 47: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Global Continuous Delivery Journey

Page 48: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Artifactory DR architecture current state

48

Page 49: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Artifactory HA architecture end state

49

Page 50: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

Artifactory repo structure and security

50

Page 51: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

51Copyright © 2017 JFrog. All Rights Reserved |

Please submit feedback forms!

Questions?

Page 52: ING delivers Continuous Delivery as a Serviceschd.ws/hosted_files/swampup2017/1a/ING deliveres CD as a...01 CD explained 02 Tooling By using a shared Continuous Delivery pipeline,

www.swampup.jfrog.comCopyright © 2017 JFrog. All Rights Reserved

THANK YOU! @tsbakker65