Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
330
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
320
Contexts in Context
mattheath
0
180
A guided journey of Cloud Native
mattheath
1
130
Modelling prototypes to critical systems with Cassandra
mattheath
0
220
Building a Cloud Native Bank
mattheath
1
190
Building a Cloud Native Bank
mattheath
0
330
Building reliable APIs
mattheath
0
260
Go and Microservices - NDC London 2018
mattheath
0
230
Architecting a Bank from scratch
mattheath
1
770
Other Decks in Programming
See All in Programming
MCP with Cloudflare Workers
yusukebe
2
220
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
410
良いユニットテストを書こう
mototakatsu
8
2.8k
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
クリエイティブコーディングとRuby学習 / Creative Coding and Learning Ruby
chobishiba
0
3.9k
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
850
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
140
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
260
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
290
Zoneless Testing
rainerhahnekamp
0
120
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
3
300
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
260
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
4 Signs Your Business is Dying
shpigford
181
21k
GraphQLとの向き合い方2022年版
quramy
44
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Building Applications with DynamoDB
mza
91
6.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Side Projects
sachag
452
42k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
A Tale of Four Properties
chriscoyier
157
23k
Writing Fast Ruby
sferik
628
61k
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