Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous...
Transcript of Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous...
![Page 1: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/1.jpg)
Engineering the Bank Designing,deliveringandmaintaininganOperationalPlatformfor
ClydesdaleBank,YorkshireBank&B.
RedhatForum–London2018
![Page 2: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/2.jpg)
StevenO’DayTechnologyConsultantPlatformEngineering
PhillipOllenbuttelTechnicalSpecialistPlatformEngineering
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 2
![Page 3: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/3.jpg)
What will we cover?
• WhoareCYBG?• Wherewestarted?• Whatdidwedo?• Whatdidwelearn?• Howdidweusethoselessonslearned?• EvolutionofthePlatformEngineeringTeam• Currentchallengesandfutureplans
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 3
![Page 4: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/4.jpg)
Who are CYBG?
• AnindependentUKbankinggroup• ListedontheLSEandASX• Servingcustomerssince1838• Over160branchesandanetworkof
businessandprivatebankingcentre• 2.7mcustomers
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 4
![Page 5: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/5.jpg)
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 5
2014 2015 2016 2017 2018
MobileonLegacyWebonLegacy
Year
Where we started
DYB Project
ArchitectureandMethodologies Microservices
![Page 6: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/6.jpg)
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 6
2014 2015 2016 2017 2018
MobileoniB
MobileonLegacyWebonLegacy
Year
What did we do?
ArchitectureandMethodologies Microservices
Project
![Page 7: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/7.jpg)
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
![Page 8: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/8.jpg)
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 8
2014 2015 2016 2017 2018
MobileoniB
WeboniB
MobileonLegacyWebonLegacy
Year
What did we do?
ArchitectureandMethodologies MicroserviceswithContinuousDeliveryandOperationalPlatform
Project
![Page 9: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/9.jpg)
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.
![Page 10: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/10.jpg)
Composer
Other*nixOS’s
Microservices API Gateway
Microservices Microservices
Containerized Applications
TraditionalApps
ApplicationFramework
TraditionalApps
TraditionalApps
TraditionalAppsTraditional
AppsTraditional
Apps
ElementsContainerizedApplications
![Page 11: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/11.jpg)
Other*nixOS’s
TraditionalAppsTraditional
AppsTraditional
AppsTraditional
AppsTraditional
AppsTraditional
Apps
Microservices API Gateway
Microservices Microservices
Containerized Applications
ApplicationFramework
ContainerizedApplications
![Page 12: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/12.jpg)
at the Core
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 12
Primary*nixoperatingsystemontheplatformisRedhatEnterpriseLinuxOpenShiftisourKubernetesimplementationofchoice.• Implementedprimarilyforitsoperationalfeatures
• Scaling• Geographicalloadbalancing• Healthmonitoring• Templates
SatelliteandCloudformsusedforprovisioningandmanagementofourestate.
![Page 13: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/13.jpg)
Composer
Other*nixOS’s
Microservices API Gateway
Microservices Microservices
Containerized Applications
TraditionalApps
ApplicationFramework
TraditionalApps
TraditionalApps
TraditionalAppsTraditional
AppsTraditional
Apps
ElementsContainerizedApplications
![Page 14: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/14.jpg)
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 14
CommonQuestionsWhataboutalltheother“ConfigurationManagers”,Chef,Ansible,Puppet,SaltStacketc?WhataboutalltheCMDBproviders?
WhatisChieftain?Systemofrecordforstoringcomponentconfigurationwhichcanbeprovidedinastandardformat.UseofJSONtoreturninformationinastructuredformat.Autopopulationofdependencyinformationwithouthavingtoknowallthedetailsaboutdependencies.
![Page 15: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/15.jpg)
Composer
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 15
Whatiscomposer?Environmentbuilder,deployorchestrator.ComponentDependencyResolver
Whatareelements?LibraryofscriptsusedbyComposertobuildanddeploytoanyenvironmentorplatform.
![Page 16: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/16.jpg)
Composer
Other*nixOS’s
Microservices API Gateway
Microservices Microservices
Containerized Applications
TraditionalApps
ApplicationFramework
TraditionalApps
TraditionalApps
TraditionalAppsTraditional
AppsTraditional
Apps
ElementsContainerizedApplications
![Page 17: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/17.jpg)
CIBuilds–BuildPR’sandReleaseCandidatesEverybuildgetsitsownfullfunctioningenvironmenttorunDeveloperwrittenIntegrationTests
Storageofartifactsaswellasopensourcevulnerabilityscanning
CodeQualityChecks
CD-Routetolivepipelinesonapercomponentbasis
Continuous Integration and Delivery with Composer
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 17
![Page 18: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/18.jpg)
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 18
Continuous Delivery Pipelines
![Page 19: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/19.jpg)
Other*nixOS’s
Microservices Microservices Microservices
TraditionalAppsTraditional
AppsTraditional
AppsTraditional
AppsTraditional
AppsTraditional
Apps
Elements
API Gateway
Containerized Applications
ApplicationFramework
ContainerizedApplications
![Page 20: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/20.jpg)
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
![Page 21: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/21.jpg)
What does all this mean for delivery?
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 21
![Page 22: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/22.jpg)
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 22
52 Builds 89 UAT Releases
36 Production Releases
Delivery of a Prototype in 2017
3 Months
![Page 23: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/23.jpg)
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
![Page 24: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/24.jpg)
Evolution of the Team
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 24
• Howcouldwemakeadifferencetobuildanddeploytime?
• 20peoplefromacrossDevandOps
Feburary20165DaysHackathon
• Howdoweimplementcontinuousdelivery?
• 15PeoplefromacrossDevandOps
June20162WeekHackathon • ProjectTeamtotake
concepttoMVP• ImplementOpenShiftandCDPlatforms
November2016BusinessCaseforCD
• Widefullstackteam• LookaftertheOperationalPlatformasaProduct
May2018BAUTeam
![Page 25: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/25.jpg)
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
![Page 26: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/26.jpg)
What Next?
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 26
![Page 27: Engineering the Bankimages.engage.redhat.com/Web/RedHat/{03342036-0619-4e0b-82f3 … · Continuous Integration Continuous Delivery Purpose Builder Operations Management A set of capabilities](https://reader035.fdocuments.net/reader035/viewer/2022081402/5f26c00036e2b679761ae890/html5/thumbnails/27.jpg)
09/10/2018 CYBG-EngineeringTheBank-RedhatForumLondon2018 27
Thank you for your time. Questions?