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
Building a Bank with Kubernetes – Kubecon 2016
Search
Oliver Beattie
November 09, 2016
Technology
610
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building a Bank with Kubernetes – Kubecon 2016
Oliver Beattie
November 09, 2016
More Decks by Oliver Beattie
See All by Oliver Beattie
Anatomy of a Production Kubernetes Outage – Kubecon EU 2018
obeattie
4
4.7k
DevOps Exchange London – Network Security at Monzo
obeattie
0
270
Building a Bank with Kubernetes – Kubernetes London Meetup, Autumn 2016
obeattie
10
47k
Other Decks in Technology
See All in Technology
AIが自社のTableauを操作する世界へ:Tableau MCP超入門
tbtykk
0
120
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
2
610
바이브풀 라이프
arawn
0
100
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
200
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
240
ホームラボ紹介
y_sera15
0
110
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
330
20分でわかるセキュアAPI
nwiizo
0
180
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
350
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.5k
Pavlokで始める電撃駆動開発
sgrsn
0
170
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
410
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
840
Code Review Best Practice
trishagee
74
20k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
HDC tutorial
michielstock
2
780
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
Deep Space Network (abreviated)
tonyrice
0
250
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
Building a Bank with Kubernetes
Oliver Beattie @obeattie Head of Engineering, Monzo
None
None
None
None
None
None
None
None
Pre-application 9 months Application 6 months Mobilisation 4–8 months
Extensible Efficient Resilient Secure
Extensible Efficient Resilient Secure
Application Database
Application Database Cache
Application Database Cache Load balancer Cache Cache Application Application
Database Cache Load balancer Database Database Cache Cache Application Application
Application
Database Cache Load balancer Database Database Cache Cache Application Application
Application
Application Database Cache Load balancer Application Application Database Database Cache
Cache
None
None
None
Extensible Efficient Resilient Secure
None
app
app
core app
None
None
Extensible Efficient Resilient Secure
None
None
Load balancing Tracing Circuit breakers Retries Canarying Load shedding Error
tracking Metrics Service discovery Logging Timeouts Expirations Security policies Back-offs Retry budgets Dynamic routing
Minimise latency ⏱ Maximise success
linkerd Finagle
HOST A service. CONTAINER 10.224.15.2 service.cruft CONTAINER 10.224.15.1 LINKERD 10.102.32.198
10.224.15.3 HOST B service. CONTAINER 10.224.16.2 service.cruft CONTAINER 10.224.16.1 LINKERD 10.102.34.192 10.224.16.3 HOST C service. CONTAINER 10.224.17.2 service.cruft CONTAINER 10.224.17.1 LINKERD 10.102.36.187 10.224.17.3
HOST A service. CONTAINER 10.224.15.2 service.cruft CONTAINER 10.224.15.1 LINKERD 10.102.32.198
10.224.15.3 GET / HTTP/1.1 Host: service. HOST B service. CONTAINER 10.224.16.2 service.cruft CONTAINER 10.224.16.1 LINKERD 10.102.34.192 10.224.16.3 HOST C service. CONTAINER 10.224.17.2 service.cruft CONTAINER 10.224.17.1 LINKERD 10.102.36.187 10.224.17.3
HOST A service. CONTAINER 10.224.15.2 service.cruft CONTAINER 10.224.15.1 LINKERD 10.102.32.198
10.224.15.3 GET / HTTP/1.1 Host: service. HOST B service. CONTAINER 10.224.16.2 service.cruft CONTAINER 10.224.16.1 LINKERD 10.102.34.192 10.224.16.3 HOST C service. CONTAINER 10.224.17.2 service.cruft CONTAINER 10.224.17.1 LINKERD 10.102.36.187 10.224.17.3
HOST A service. CONTAINER 10.224.15.2 service.cruft CONTAINER 10.224.15.1 LINKERD 10.102.32.198
10.224.15.3 Host: service. → 10.224.17.3 GET / HTTP/1.1 Host: service. HOST B service. CONTAINER 10.224.16.2 service.cruft CONTAINER 10.224.16.1 LINKERD 10.102.34.192 10.224.16.3 HOST C service. CONTAINER 10.224.17.2 service.cruft CONTAINER 10.224.17.1 LINKERD 10.102.36.187 10.224.17.3 Host: service. → 10.224.17.2
HOST A service. CONTAINER 10.224.15.2 service.cruft CONTAINER 10.224.15.1 10.224.15.3 Host:
service. GET / HTTP/1.1 Host: service. HOST B service. CONTAINER 10.224.16.2 service.cruft CONTAINER 10.224.16.1 10.224.16.3 HOST n edge CONTAINER 10.224.18.2 service.cruft CONTAINER 10.224.18.1 LINKERD 10.102.36.110 10.224.18.3 HOST n edge CONTAINER 10.224.16.2 service.cruft CONTAINER 10.224.16.1 LINKERD 10.102.32.192 10.224.16.3 GET / HTTP/1.1 → service. ELB
AWS eu-west-1
AWS eu-west-1
None
Co-location uk-1 Co-location uk-2 AWS eu-west-1
Co-location uk-1 Co-location uk-2 AWS eu-west-1 ⚡
Co-location uk-1 Co-location uk-2 AWS eu-west-1 ⚡
Co-location uk-1 Co-location uk-2 AWS eu-west-1 BGP BGP BGP BGP
Co-location uk-1 Co-location uk-2 AWS eu-west-1 BGP BGP BGP BGP
⚡ ⚡
Co-location uk-1 Co-location uk-2 AWS eu-west-1 BGP BGP ⚡ ⚡
“Connectivity” Pod BGP IPSec BGP BGP StrongSwan (IPSec) GNU Zebra
(BGP) Hardware VPN device Services Services Services AWS Co-location Third parties
Extensible Efficient Resilient Secure
Device isolation Process isolation Data encryption Filesystem isolation Privilege isolation
Network isolation Resource isolation Principle of least privilege Log monitoring Secret management
Device isolation Process isolation Data encryption Filesystem isolation Privilege isolation
Network isolation Resource isolation Principle of least privilege Log monitoring Secret management
k8s-master Availability Zone A Availability Zone B Availability Zone C
admin user data k8s-worker dmz
k8s-master Availability Zone A Availability Zone B Availability Zone C
k8s-worker dmz
Calico + network policy
zone: super-secure
apiVersion: extensions/v1beta1 kind: NetworkPolicy metadata: name: super-secure-zone spec: podSelector: matchLabels:
zone: super-secure ingress: - from: - podSelector: matchLabels: zone: super-secure ports: - protocol: tcp
Extensible Efficient Resilient Secure
monzo.com/careers
Q&A .
@obeattie