Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Code to Current Account
Search
mattheath
June 12, 2017
Programming
3
360
Code to Current Account
Presented with Simon Vans-Colina at Hashidays London
mattheath
June 12, 2017
Tweet
Share
More Decks by mattheath
See All by mattheath
Breaking down problems
mattheath
2
360
Contexts in Context
mattheath
0
220
A guided journey of Cloud Native
mattheath
1
160
Modelling prototypes to critical systems with Cassandra
mattheath
0
250
Building a Cloud Native Bank
mattheath
1
220
Building a Cloud Native Bank
mattheath
0
370
Building reliable APIs
mattheath
0
300
Go and Microservices - NDC London 2018
mattheath
0
270
Architecting a Bank from scratch
mattheath
1
820
Other Decks in Programming
See All in Programming
Micro Frontendsで築いた 共通基盤と運用の試行錯誤 / Building a Shared Platform with Micro Frontends: Operational Learnings
kyntk
1
1.6k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
11k
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.3k
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
2.1k
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
190
スタートアップを支える技術戦略と組織づくり
pospome
8
13k
How Software Deployment tools have changed in the past 20 years
geshan
0
24k
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
330
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
1
310
Atomics APIを知る / Understanding Atomics API
ssssota
1
230
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
0
180
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
5
1.1k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
680
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
950
Why Our Code Smells
bkeepers
PRO
340
57k
The Cult of Friendly URLs
andyhume
79
6.7k
Automating Front-end Workflow
addyosmani
1371
200k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Visualization
eitanlees
150
16k
Transcript
Code to Current Account @simonvc & @mattheath
@simonvc @mattheath
@simonvc @mattheath
None
None
None
None
None
Legacy banks
Number of banks running entirely* free* software.
Number of banks running entirely* free* software.
Rebuild everything * Go microservices * Git as Change management
* Realtime and API
Go ❤ * Emphasis on correctness * Performant * Lean
"Plan to throw your first one away." Mesos -> Kubernetes
RabbitMQ -> LinkerD Cloud Formation -> Terraform
None
Terraform
None
None
github.com/hashicorp/vault/ pull/2241 Cassandra storage backend
Builds
None
None
None
0 40 80 160 120 Feb 2015 June 2017 200
Number of services 240
None
None
None
Service Service
Service Service Service Service
Service Service Service Service HTTP HTTP
Service Discovery Load Balancing Timeouts and Expirations Retries Rate Limiting
Connection Pooling Circuit Breaking Failure Detection Metrics and Tracing Interrupts Context Propagation
Service Service Service Service HTTP HTTP ?
Service Service Service Service HTTP HTTP linkerd
Service Service Service Service HTTP HTTP linkerd service discovery
Service Discovery Load Balancing Timeouts and Expirations Retries Rate Limiting
Connection Pooling Circuit Breaking Failure Detection Metrics and Tracing Interrupts Context Propagation
Service Service Service Service HTTP HTTP linkerd service discovery
Service Service Service Service Service linkerd host A Service
Service Service Service Service linkerd host B Service Service Service
Service Service Service Service linkerd host A Service Service Service Service Service Service linkerd host C Service
Service Service Service Service linkerd host B Service Service Service
Service Service Service Service linkerd host A Service Service Service Service Service Service linkerd host C Service
Service Service Service Service linkerd host B Service Service Service
Service Service Service Service linkerd host A Service Service Service Service Service Service linkerd host C Service
Service Service Service Service linkerd host B Service Service Service
Service Service Service Service linkerd host A Service Service Service Service Service Service linkerd host C Service
Service Service Service Service linkerd host B Service Service Service
Service Service Service Service linkerd host A Service Service Service Service Service Service linkerd host C Service
None
Amazon eu-west-1
Amazon eu-west-1
None
Amazon eu-west-1 colocation dc 1 colocation dc 2
Amazon eu-west-1 colocation dc 1 colocation dc 2
Amazon eu-west-1 colocation dc 1 colocation dc 2
Amazon eu-west-1 colocation dc 1 colocation dc 2 BGP
BGP BGP BGP
Amazon eu-west-1 colocation dc 1 colocation dc 2 BGP
BGP
Amazon eu-west-1 colocation dc 1 colocation dc 2
third parties colocation AWS Hardware VPN device
third parties colocation AWS Hardware VPN device VPN client
third parties colocation AWS “connectivity” pod Quagga (BGP) services Hardware
VPN device VPN client BGP
third parties colocation AWS “connectivity” pod Quagga (BGP) services ??????
VPN client BGP
None
third parties colocation AWS “connectivity” pod Quagga (BGP) services ??????
VPN client BGP
third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP
third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP
third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP
third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP
Linux HA Linux HA
None
third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP
Linux HA Linux HA
third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP
None
B A
active standby
active standby
active standby
active standby
standby active
third parties colocation AWS “connectivity” pod Quagga (BGP) services ??????
VPN client BGP
third parties colocation AWS “connectivity” pod Quagga (BGP) services HA
VPN Appliance VPN client BGP
Amazon eu-west-1
Build: Terraform Secure: Vault Develop: Vagrant Provision: Packer
monzo.com/careers
monzo.com/careers