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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
mattheath
June 12, 2017
Programming
380
3
Share
Code to Current Account
Presented with Simon Vans-Colina at Hashidays London
mattheath
June 12, 2017
More Decks by mattheath
See All by mattheath
Breaking down problems
mattheath
2
400
Contexts in Context
mattheath
0
240
A guided journey of Cloud Native
mattheath
1
180
Modelling prototypes to critical systems with Cassandra
mattheath
0
280
Building a Cloud Native Bank
mattheath
1
260
Building a Cloud Native Bank
mattheath
0
400
Building reliable APIs
mattheath
0
340
Go and Microservices - NDC London 2018
mattheath
0
290
Architecting a Bank from scratch
mattheath
1
860
Other Decks in Programming
See All in Programming
OSもどきOS
arkw
0
170
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
270
関係性から理解する"同一性"の型用語たち
pvcresin
2
560
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
5
690
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
390
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.7k
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
160
iOS26時代の新規アプリ開発
yuukiw00w
0
200
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
240
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
380
AIとRubyの静的型付け
ukin0k0
0
130
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
670
Featured
See All Featured
Design in an AI World
tapps
1
220
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
430
Mobile First: as difficult as doing things right
swwweet
225
10k
What's in a price? How to price your products and services
michaelherold
247
13k
How to train your dragon (web standard)
notwaldorf
97
6.6k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Faster Mobile Websites
deanohume
310
31k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
820
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