continuous delivery en banque

41
Making a Mammoth Run Continuous Delivery in a bank

Upload: treeptik

Post on 07-Jan-2017

34 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: CONTINUOUS DELIVERY EN BANQUE

Making a Mammoth Run

Continuous Delivery in a bank

Page 2: CONTINUOUS DELIVERY EN BANQUE

I am Laurent GrangeauI love to automate things and run apps at scale. You can find me at @laurentgrangeau

Hello!

Page 3: CONTINUOUS DELIVERY EN BANQUE

Overview of softwares in bank industries1

Page 4: CONTINUOUS DELIVERY EN BANQUE

Banking overview

Old codeThere is lots of legacy code. Generally, the code base is > 5 years old.

No agile processMostly waterfall process, ITIL compliant.

RegulationBanks can’t do what they want. There is a lot of regulation and audits.

Monolithic softwaresAs softwares were designed years ago, there is little microservices, and no 12factor principles.

Releases are manualGenerally, release is a manual process with service interruption.

Obsolete infrastructuresThere are still mainframe computers or specialized appliances like Sparc machines.

Page 5: CONTINUOUS DELIVERY EN BANQUE

Fintechs arrival2

Page 6: CONTINUOUS DELIVERY EN BANQUE

$12.7 billions funding

1.000+ companies

Leverage on cutting edge technologies

Fintech landscape

Page 7: CONTINUOUS DELIVERY EN BANQUE

Appears in 2008

$921 millions cumulative investment

805 blockchain startups

$4.9 billions Bitcoin capitalisation

Blockchain ecosystem

Page 8: CONTINUOUS DELIVERY EN BANQUE

Fintechs are taking market

shares…It’s time to

react !

BANKS

FINTECHS

Page 9: CONTINUOUS DELIVERY EN BANQUE

Continuous Delivery program3

Page 10: CONTINUOUS DELIVERY EN BANQUE

Be like the GAFABe faster, bring more business value,

reduce maintenance costs

Page 11: CONTINUOUS DELIVERY EN BANQUE

Why ?

◉ Faster time to market=> Competitive advantage

◉ Better quality of product=> Higher customer satisfaction

◉ Processes optimized=> Reduced total cost of ownership

Page 12: CONTINUOUS DELIVERY EN BANQUE

Change management

Agile coachesBring more business value, involve stakeholders.

ex. Scrum, Kanban, Backlog grooming, …

Software craftsmanship coachesBuild robust, testable and sustainable code.

ex. TDD, BDD, Clean code, …

DevOps coachesAutomate the delivery.

ex. IaC, Automated deployment, …

Page 13: CONTINUOUS DELIVERY EN BANQUE

Agile pillar

◉ What is Agile ?◉ “Our highest priority is to satisfy the

customer through early and continuous delivery of valuable software”

◉ Why ?◉ Increase quality of delivery and reduce

time to market

Page 14: CONTINUOUS DELIVERY EN BANQUE

Agile pillar

◉ Scrum/Kanban product backlog management

◉ Backlog grooming◉ Story mapping◉ Business analysts involved◉ Iterative development◉ Minimum viable product◉ …

Page 15: CONTINUOUS DELIVERY EN BANQUE

Have rapid feedbackIterative development, deliver value to

customers, people collaboration, respond to change

Page 16: CONTINUOUS DELIVERY EN BANQUE

Software craftsmanship pillar

◉ What is software craftsmanship ?◉ “Any fool can write code that a

computer can understand.Good programmers write code that human canunderstand” M.Fowler

◉ Why ?◉ To add value and respond to change

Page 17: CONTINUOUS DELIVERY EN BANQUE

Software craftsmanship pillar

◉ Test Driven Development◉ Behavior Driven Development◉ Clean code / architecture◉ « Three amigos »◉ Continuous integration / testing◉ Testing and refactoring legacy code◉ …

Page 18: CONTINUOUS DELIVERY EN BANQUE

Software craftsmanship pillar

◉ Collaboration culture◉ Coding dojos◉ Hackathon / Coding games◉ Meetup / Fair / Conference◉ Blog◉ Community projects◉ …

Page 19: CONTINUOUS DELIVERY EN BANQUE

Have better code qualityCollaboration culture, reduce maintenance

costs, improve reusability

Page 20: CONTINUOUS DELIVERY EN BANQUE

DevOps pillar

◉ What is DevOps ?◉ DevOps is a culture, movement or practice that

emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes.

◉ Why ?◉ To increase effectiveness, reduce TTM and

implements continuous improvement

Page 21: CONTINUOUS DELIVERY EN BANQUE

DevOps pillar

◉ Dev / Ops collaboration◉ Infrastructure as Code◉ Automated deployment◉ Metrology◉ Release pipeline◉ Desired state◉ …

Page 22: CONTINUOUS DELIVERY EN BANQUE

One team, everything automatedContinuous improvement, faster time-to-

market, faster resolution of problems, more stable environment

Page 23: CONTINUOUS DELIVERY EN BANQUE

PlatformBacklog

groomingDevelopment

interfaceSource code management

Continuous integration Testing Libraries

repositoryDeployment automation

Metrology

Infrastructure as code

Page 24: CONTINUOUS DELIVERY EN BANQUE

400+ applications transformed

Reduce TTM from months to 2 weeks

Reduce deploy time from months to minutes

Page 25: CONTINUOUS DELIVERY EN BANQUE

What’s next ?4

Page 26: CONTINUOUS DELIVERY EN BANQUE

New challenges

◉ Resiliency◉ Scalability◉ Infrastructure hybridation◉ Multi-tenancy◉ Opensource culture◉ Service discovery◉ Secret management

Page 27: CONTINUOUS DELIVERY EN BANQUE

Cloud & PaaS program

Page 28: CONTINUOUS DELIVERY EN BANQUE

Platform

Metrology

Backlog grooming

Development interface

Source code management

Continuous integration Testing Libraries

repositoryDeployment automation

Page 29: CONTINUOUS DELIVERY EN BANQUE
Page 30: CONTINUOUS DELIVERY EN BANQUE

Platform

RegistryDocker-swarm

The registratordiscovers newcontainers and feeds the registry

Page 31: CONTINUOUS DELIVERY EN BANQUE

Platform

Docker-swarm

Page 32: CONTINUOUS DELIVERY EN BANQUE

Service discovery

Registry

Service providerService consumer

1. Publish2. Find

3. Bind

Page 33: CONTINUOUS DELIVERY EN BANQUE

Service discovery

Page 34: CONTINUOUS DELIVERY EN BANQUE

Application K/V store

DEV STAGING PROD

K/V store K/V store

Update version

Page 35: CONTINUOUS DELIVERY EN BANQUE
Page 36: CONTINUOUS DELIVERY EN BANQUE

Password generation

On demandcredentials

No longer needharcodedcredentials

1. Request credentials

2. Connect

3. Scale

4. Connect

Addcredentials

Page 37: CONTINUOUS DELIVERY EN BANQUE

Impersonification

I want totroubleshootproblems

Production

Works for SSH and DB !

1. Request credentials

2. Generate access

3. Login with generated credentials

Dev

Page 38: CONTINUOUS DELIVERY EN BANQUE

PKI : certificates generation

Host Host Host

Generatingon demandcertificatesfor containerscommunication

Request certificates

Page 39: CONTINUOUS DELIVERY EN BANQUE

Conclusion6

Page 40: CONTINUOUS DELIVERY EN BANQUE

Continuous delivery is now complete part of the bank

Huge change on the manner of working

Nearly everything is automated

Page 41: CONTINUOUS DELIVERY EN BANQUE

Any questions ?You can find me at◉ @laurentgrangeau◉ [email protected]

Thanks!