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
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
210
A guided journey of Cloud Native
mattheath
1
150
Modelling prototypes to critical systems with Cassandra
mattheath
0
250
Building a Cloud Native Bank
mattheath
1
210
Building a Cloud Native Bank
mattheath
0
360
Building reliable APIs
mattheath
0
290
Go and Microservices - NDC London 2018
mattheath
0
260
Architecting a Bank from scratch
mattheath
1
820
Other Decks in Programming
See All in Programming
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
520
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
4
16k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
200
One Enishi After Another
snoozer05
PRO
0
160
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.2k
Pythonに漸進的に型をつける
nealle
1
130
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
910
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
980
Software Architecture
hschwentner
6
2.3k
Introduce Hono CLI
yusukebe
6
3.1k
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
120
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
440
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
It's Worth the Effort
3n
187
28k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Code Reviewing Like a Champion
maltzj
526
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Why Our Code Smells
bkeepers
PRO
340
57k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Unsuck your backbone
ammeep
671
58k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
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