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のためのEthernet技術動向 (SerDes)
markunet
1
260
自宅NWにISR4331を導入してみた話
okaits
0
120
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
290
LanceDB入門
mocobeta
9
650
AIに持続⼒を与える 判断の⻑期記憶設計
eiei114
1
470
DDDのエッセンスを取り入れたAIでの開発
ak2ie
0
180
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
250
Digitization部 紹介資料
sansan33
PRO
2
7.7k
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
140
My broken English still works: speaking at global OSS events
naruoga
0
120
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
560
8bit CPU 2026
koba789
3
1.3k
Featured
See All Featured
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.5k
Building AI with AI
inesmontani
PRO
1
1.1k
Tell your own story through comics
letsgokoyo
1
1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
340
Utilizing Notion as your number one productivity tool
mfonobong
4
550
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
420
Design in an AI World
tapps
1
280
Testing 201, or: Great Expectations
jmmastey
46
8.2k
How STYLIGHT went responsive
nonsquared
100
6.2k
エンジニアに許された特別な時間の終わり
watany
108
250k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
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