Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building a Cloud Native Bank

67f4a8f2a209a38d7242829947b26ba3?s=47 mattheath
October 26, 2018

Building a Cloud Native Bank

Presented at McKinsey's DevOpsDays 2018

67f4a8f2a209a38d7242829947b26ba3?s=128

mattheath

October 26, 2018
Tweet

Transcript

  1. Building a Cloud-Native Bank Matt Heath, Monzo

  2. Hi, I’m Matt

  3. @mattheath

  4. None
  5. None
  6. Nov 2015 Oct 2018 CUSTOMER
 GROWTH

  7. 1,100,102

  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. None
  17. None
  18. None
  19. LICENCE WITH RESTRICTIONS WE ARE HERE A UK banking licence

    is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS 50K MAX DEPOSIT WE ARE HERE A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC E APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS WE ARE HERE AUG
 2016 JAN
 2016 Feb
 2015 APR
 2017 A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LICENCE WITH RESTRICTIONS WE ARE HERE
  20. Henrik Kniberg

  21. Henrik Kniberg

  22. None
  23. None
  24. None
  25. ?

  26. EXTENSIBLE SCALABLE RELIABLE SECURE
 CHEAP FAST

  27. ?

  28. Application

  29. Application

  30. APPLICATION Application

  31. None
  32. None
  33. LICENCE WITH RESTRICTIONS WE ARE HERE A UK banking licence

    is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS 50K MAX DEPOSIT WE ARE HERE A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC E APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS WE ARE HERE JAN
 2016 Feb
 2015 APR
 2017 A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LICENCE WITH RESTRICTIONS WE ARE HERE AUG
 2016
  34. LICENCE WITH RESTRICTIONS WE ARE HERE A UK banking licence

    is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS 50K MAX DEPOSIT WE ARE HERE A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC E APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS WE ARE HERE JAN
 2016 Feb
 2015 APR
 2017 A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LICENCE WITH RESTRICTIONS WE ARE HERE AUG
 2016 INTERNAL TEST CARDS
  35. None
  36. A UK banking licence is authorised by the PRA and

    regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS 50K MAX DEPOSIT WE ARE HERE A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC E APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS WE ARE HERE JAN
 2016 Feb
 2015 APR
 2017 PREPAID
 CARD
 LAUNCH LICENCE WITH RESTRICTIONS WE ARE HERE A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LICENCE WITH RESTRICTIONS WE ARE HERE AUG
 2016 INTERNAL TEST CARDS
  37. None
  38. None
  39. None
  40. A UK banking licence is authorised by the PRA and

    regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS 50K MAX DEPOSIT WE ARE HERE A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY JUN JUL MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC E APPLICATION APPLICATION MOBILISATION LAUNCH LICENCE WITH RESTRICTIONS WE ARE HERE JAN
 2016 Feb
 2015 APR
 2017 PREPAID
 CARD
 LAUNCH LICENCE WITH RESTRICTIONS WE ARE HERE A UK banking licence is authorised by the PRA and regulated by the PRA and FCA1, allowing deposit- taking and balance sheet lending. Once granted, it allows firms to passport across Europe, accessing This is followed by a “mobilisation” phase during which final capital is raised and IT systems are completed, before launching to the public. We received a UK banking licence in August 2016! FEB 2015 JAN 2016 JAN 2017 MAR FEB FEB APR MAR MAR APR MAY APR JUN MAY JUL JUN AUG JUL SEP AUG NOV SEP DEC NOV DEC PRE APPLICATION APPLICATION MOBILISATION LICENCE WITH RESTRICTIONS WE ARE HERE AUG
 2016 INTERNAL TEST CARDS
  41. Server

  42. ☁ 
 instance

  43. instance instance

  44. instance instance instance instance instance instance

  45. instance instance instance instance instance instance { { { eu-west-1a

    eu-west-1b eu-west-1c
  46. instance instance instance instance instance instance Kubernetes

  47. instance instance instance instance instance kubelet Kubernetes

  48. kubelet kubelet kubelet kubelet kubelet kubelet Kubernetes

  49. kubernetes

  50. kubernetes pod pod pod pod pod pod pod pod pod

    pod
  51. kubernetes service service service service service service service service service

    service
  52. kubernetes service service service service service service service service service

    service
  53. kubernetes service service service service service service service service service

    service
  54. kubernetes service service service service service service service service service

    service
  55. kubernetes service service service service service service service service service

    service service service service
  56. kubernetes service service service service service service service service service

    service
  57. kubernetes service Prometheus service service Kafka linkerd Kafka service service

    Elasticsearch calico API service
  58. None
  59. AWS Public Cloud

  60. AWS Public Cloud Kubernetes

  61. AWS Public Cloud Cassandra etc Kubernetes

  62. AWS Public Cloud Kafka etcd Cassandra etc Elasticsearch Kubernetes Prometheus

    NSQ
  63. Monzo Platform

  64. Monzo Platform

  65. Monzo Services Monzo Platform

  66. None
  67. Feb 2015 Oct 2018 800

  68. None
  69. API Gateway

  70. API

  71. API Gateway API Service API Service API Service API Service

    API Service API Service API Service API Service
  72. None
  73. API Gateway Accounts Cards Pots Feed Payments …

  74. API Gateway Accounts Cards Pots Feed Payments … New
 Exciting


    API!!
  75. Cards Pots Payments … API Gateway Accounts New
 Exciting
 API!!

    Feed
  76. Cards Pots Payments … API Gateway Accounts New
 Exciting
 API!!

    Feed
  77. API Gateway Accounts Cards Pots Payments … New
 Exciting
 API!!

    Feed
  78. Event Driven
 Architecture

  79. Service A Service B Load Balancer Edge Gateway API Service

  80. API Service Service A Service B Load Balancer Edge Gateway

  81. API Service Service A Service B Load Balancer Edge Gateway

    Service D Service E
  82. API Service Service A Service B Load Balancer Edge Gateway

    Service C Service D Service E
  83. API Service Service A Service B Load Balancer Edge Gateway

    Service C Service D Service E
  84. Reliable Communication

  85. Service Service Service Service

  86. Service Service Service Service ?

  87. Service Service Service Service linkerd

  88. Service linkerd

  89. Service Service Service Service linkerd

  90. Service Service Service Service linkerd

  91. Service Service Service Service linkerd

  92. Monzo Services Monzo Platform

  93. Team & Company
 Structure

  94. Monzo Services Monzo Platform

  95. Monzo Services Monzo Platform

  96. None
  97. None
  98. None
  99. None
  100. None
  101. None
  102. Enforcing Resilience

  103. Production load tests & Shadow Traffic

  104. None
  105. Ship it and iterate. Make changes small, make them often.

    Technical debt is a useful tool. Solve problems at the root. Do not accept deviant system behaviour. Write code to be read. Write code to be debugged. If you can’t show it’s a bottleneck, don’t optimise it. Unblock others whenever you can. Leave the codebase better than you found it.
  106. Ship it and iterate. Make changes small, make them often.

    Technical debt is a useful tool. Solve problems at the root. Do not accept deviant system behaviour. Write code to be read. Write code to be debugged. If you can’t show it’s a bottleneck, don’t optimise it. Unblock others whenever you can. Leave the codebase better than you found it.
  107. EXTENSIBLE SCALABLE RELIABLE SECURE
 CHEAP FAST

  108. Simple / small components No single points of failure Minimise

    critical path Masterless systems Queue deferrable tasks Automate failure correction
  109. Cross-functional teams Own their systems Empowered to move fast