Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous...

Post on 07-Jul-2020

2 views 0 download

transcript

Engineering the Bank Designing,deliveringandmaintaininganOperationalPlatformfor

ClydesdaleBank,YorkshireBank&B.

RedhatForum–London2018

StevenO’DayTechnologyConsultantPlatformEngineering

PhillipOllenbuttelTechnicalSpecialistPlatformEngineering

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 2

What will we cover?

• WhoareCYBG?• Wherewestarted?• Whatdidwedo?• Whatdidwelearn?• Howdidweusethoselessonslearned?•  EvolutionofthePlatformEngineeringTeam• Currentchallengesandfutureplans

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 3

Who are CYBG?

•  AnindependentUKbankinggroup•  ListedontheLSEandASX•  Servingcustomerssince1838•  Over160branchesandanetworkof

businessandprivatebankingcentre•  2.7mcustomers

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 4

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 5

2014 2015 2016 2017 2018

MobileonLegacyWebonLegacy

Year

Where we started

DYB Project

ArchitectureandMethodologies Microservices

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 6

2014 2015 2016 2017 2018

MobileoniB

MobileonLegacyWebonLegacy

Year

What did we do?

ArchitectureandMethodologies Microservices

Project

What did we learn?

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 7

•  ModernArchitecture•  Smalldeployablecomponents

•  Scalabilityatacomponentlevel

•  Componentstartuptimes

•  Separationoffunctions

•  Teamscanworkondifferentpartsoftheplatformwithoutgettingineachothersway

•  Dependencymanagementbetweencomponentswashard

•  Configurationmanagementbetweenthedifferentcomponentsgotmessy

•  Versioningwastheperfectmixtureofartandsciencethatwasnotalwayswellunderstood

•  RequiredDeploymentStrategies(i.estillmonolithic)

•  Lotsofefforttomanagedeployments

•  Timetakentoget2ndand3rdlinesupportreadyforeachrelease

•  Lotsofefforttomitigatethebad

TheGo

od

TheBa

d

TheUgly

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 8

2014 2015 2016 2017 2018

MobileoniB

WeboniB

MobileonLegacyWebonLegacy

Year

What did we do?

ArchitectureandMethodologies MicroserviceswithContinuousDeliveryandOperationalPlatform

Project

What is the Operational Platform?

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 9

APlatformisacomponentwhichdoesnotprovideanybusinessfunctionalitybutallowsapplicationstoberunonit

Standard Interface for Self Service

Development Structures

PaaS IaaSVirtualised

Physical

Testing

Platform

On Site Private Public (If needed)

Ca

pa

bili

ties Continuous Integration

Continuous Delivery

Purpose Builder Operations Management

Secure by Design Asetofcapabilitiesdesignedtoprovideendtoendmanagementofsoftwareinareliable,efficientandsecuremanner.

Composer

Other*nixOS’s

Microservices API Gateway

Microservices Microservices

Containerized Applications

TraditionalApps

ApplicationFramework

TraditionalApps

TraditionalApps

TraditionalAppsTraditional

AppsTraditional

Apps

ElementsContainerizedApplications

Other*nixOS’s

TraditionalAppsTraditional

AppsTraditional

AppsTraditional

AppsTraditional

AppsTraditional

Apps

Microservices API Gateway

Microservices Microservices

Containerized Applications

ApplicationFramework

ContainerizedApplications

at the Core

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 12

Primary*nixoperatingsystemontheplatformisRedhatEnterpriseLinuxOpenShiftisourKubernetesimplementationofchoice.•  Implementedprimarilyforitsoperationalfeatures

•  Scaling•  Geographicalloadbalancing•  Healthmonitoring•  Templates

SatelliteandCloudformsusedforprovisioningandmanagementofourestate.

Composer

Other*nixOS’s

Microservices API Gateway

Microservices Microservices

Containerized Applications

TraditionalApps

ApplicationFramework

TraditionalApps

TraditionalApps

TraditionalAppsTraditional

AppsTraditional

Apps

ElementsContainerizedApplications

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 14

CommonQuestionsWhataboutalltheother“ConfigurationManagers”,Chef,Ansible,Puppet,SaltStacketc?WhataboutalltheCMDBproviders?

WhatisChieftain?Systemofrecordforstoringcomponentconfigurationwhichcanbeprovidedinastandardformat.UseofJSONtoreturninformationinastructuredformat.Autopopulationofdependencyinformationwithouthavingtoknowallthedetailsaboutdependencies.

Composer

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 15

Whatiscomposer?Environmentbuilder,deployorchestrator.ComponentDependencyResolver

Whatareelements?LibraryofscriptsusedbyComposertobuildanddeploytoanyenvironmentorplatform.

Composer

Other*nixOS’s

Microservices API Gateway

Microservices Microservices

Containerized Applications

TraditionalApps

ApplicationFramework

TraditionalApps

TraditionalApps

TraditionalAppsTraditional

AppsTraditional

Apps

ElementsContainerizedApplications

CIBuilds–BuildPR’sandReleaseCandidatesEverybuildgetsitsownfullfunctioningenvironmenttorunDeveloperwrittenIntegrationTests

Storageofartifactsaswellasopensourcevulnerabilityscanning

CodeQualityChecks

CD-Routetolivepipelinesonapercomponentbasis

Continuous Integration and Delivery with Composer

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 17

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 18

Continuous Delivery Pipelines

Other*nixOS’s

Microservices Microservices Microservices

TraditionalAppsTraditional

AppsTraditional

AppsTraditional

AppsTraditional

AppsTraditional

Apps

Elements

API Gateway

Containerized Applications

ApplicationFramework

ContainerizedApplications

API Gateway and Application Frameworks

APIGateway

•  BuiltonOpenSourcetechnologyfromSpring

•  TookinspirationfromFabric8forintegratingwithOpenShifttogetservicelocation

•  DynamicallyregistersMicroservicesastheystarttakingeventfromKubernetestheninterrogatingmicroservicefordetailsaboutitself

ApplicationFrameworks

•  BasedonOpenSourcetechnology•  Java•  PythonandJS

•  IntegratestightlywithKubernetestoprovideoperationalimperatives•  Restarts,liveliness,health,metrics

•  IntegrateswithAPIGateway•  Monitoringbundledinaspartofbuild

•  Componentdependencymanagementoutofthebox

•  Standardrepostructure

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 20

What does all this mean for delivery?

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 21

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 22

52 Builds 89 UAT Releases

36 Production Releases

Delivery of a Prototype in 2017

3 Months

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 23

94 Builds - (99 Integration Deploys) 74 UAT Releases

0 Production Releases

Delivery of a Prototype in 2018

1 Month Latency during deployments is now measured in minutes J

Evolution of the Team

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 24

• Howcouldwemakeadifferencetobuildanddeploytime?

• 20peoplefromacrossDevandOps

Feburary20165DaysHackathon

• Howdoweimplementcontinuousdelivery?

• 15PeoplefromacrossDevandOps

June20162WeekHackathon • ProjectTeamtotake

concepttoMVP•  ImplementOpenShiftandCDPlatforms

November2016BusinessCaseforCD

• Widefullstackteam• LookaftertheOperationalPlatformasaProduct

May2018BAUTeam

How Redhat helped us

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 25

•  ProfessionalServices•  Architecture–Helpedusgetthedesignright,thenvalidatedonceitwasimplemented•  Engineering–Onsiteengineeratvariousdifferenttimes,helpedwithautomationbutalsohelpedout

acrosstheprojectasneeded–reallyboughtintoourselfmanagedteam•  Ongoingsupportthroughtheusualsupportchannels

•  Continuallyprovidinguswithnewideasaboutdifferenttechnologies•  Throughblogsandpublications•  AttendingRedhatconferences•  Ongoingandregularrelationshipdiscussions

•  Encouragedustotakepartinopensource•  Showingtheartofthepossible

•  InspiringuswiththeiruseofOpenOrganization

What Next?

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 26

09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 27

Thank you for your time. Questions?