Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Building a Bank with Kubernetes – Kubecon 2016
Search
Oliver Beattie
November 09, 2016
Technology
620
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
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
590
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
310
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
200
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
Kiro Crewをはじめよう
kizawa2020
1
160
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
130
Rust で関数型ドメインモデリング
takonda
0
160
Refining Active Record
shugo
0
160
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
230
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
Practical Orchestrator
shlominoach
192
12k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
A designer walks into a library…
pauljervisheath
211
25k
Music & Morning Musume
bryan
48
7.4k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
420
What's in a price? How to price your products and services
michaelherold
247
13k
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