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

Code to Current Account

Code to Current Account

Presented with Simon Vans-Colina at Hashidays London

67f4a8f2a209a38d7242829947b26ba3?s=128

mattheath

June 12, 2017
Tweet

More Decks by mattheath

Other Decks in Programming

Transcript

  1. Code to 
 Current Account @simonvc & @mattheath

  2. @simonvc @mattheath

  3. @simonvc @mattheath

  4. None
  5. None
  6. None
  7. None
  8. None
  9. Legacy banks

  10. Number of banks running entirely* free* software.

  11. Number of banks running entirely* free* software.

  12. Rebuild everything * Go microservices * Git as Change management

    * Realtime and API
  13. Go ❤ * Emphasis on
 correctness * Performant * Lean

  14. "Plan to throw your first one away." Mesos -> Kubernetes

    RabbitMQ -> LinkerD Cloud Formation -> Terraform
  15. None
  16. Terraform

  17. None
  18. None
  19. github.com/hashicorp/vault/ pull/2241 Cassandra storage backend

  20. Builds

  21. None
  22. None
  23. None
  24. 0 40 80 160 120 Feb 2015 June 2017 200

    Number of services 240
  25. None
  26. None
  27. None
  28. Service Service

  29. Service Service Service Service

  30. Service Service Service Service HTTP HTTP

  31. Service Discovery Load Balancing Timeouts and Expirations Retries Rate Limiting

    Connection Pooling Circuit Breaking Failure Detection Metrics and Tracing Interrupts Context Propagation
  32. Service Service Service Service HTTP HTTP ?

  33. Service Service Service Service HTTP HTTP linkerd

  34. Service Service Service Service HTTP HTTP linkerd service discovery

  35. Service Discovery Load Balancing Timeouts and Expirations Retries Rate Limiting

    Connection Pooling Circuit Breaking Failure Detection Metrics and Tracing Interrupts Context Propagation
  36. Service Service Service Service HTTP HTTP linkerd service discovery

  37. Service Service Service Service Service linkerd host A Service

  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. None
  44. Amazon 
 eu-west-1

  45. Amazon 
 eu-west-1

  46. None
  47. Amazon 
 eu-west-1 colocation
 dc 1 colocation
 dc 2

  48. Amazon 
 eu-west-1 colocation
 dc 1 colocation
 dc 2

  49. Amazon 
 eu-west-1 colocation
 dc 1 colocation
 dc 2

  50. Amazon 
 eu-west-1 colocation
 dc 1 colocation
 dc 2 BGP

    BGP BGP BGP
  51. Amazon 
 eu-west-1 colocation
 dc 1 colocation
 dc 2 BGP

    BGP
  52. Amazon 
 eu-west-1 colocation
 dc 1 colocation
 dc 2

  53. third parties colocation AWS Hardware
 VPN device

  54. third parties colocation AWS Hardware
 VPN device VPN client

  55. third parties colocation AWS “connectivity” pod Quagga (BGP) services Hardware


    VPN device VPN client BGP
  56. third parties colocation AWS “connectivity” pod Quagga (BGP) services ??????

    VPN client BGP
  57. None
  58. third parties colocation AWS “connectivity” pod Quagga (BGP) services ??????

    VPN client BGP
  59. third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP

  60. third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP

  61. third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP

  62. third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP

    Linux HA Linux HA
  63. None
  64. third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP

    Linux HA Linux HA
  65. third parties colocation “connectivity” pod Quagga (BGP) VPN client BGP

  66. None
  67. B A

  68. active standby

  69. active standby

  70. active standby

  71. active standby

  72. standby active

  73. third parties colocation AWS “connectivity” pod Quagga (BGP) services ??????

    VPN client BGP
  74. third parties colocation AWS “connectivity” pod Quagga (BGP) services HA

    VPN
 Appliance VPN client BGP
  75. Amazon 
 eu-west-1

  76. Build: Terraform Secure: Vault Develop: Vagrant Provision: Packer

  77. monzo.com/careers

  78. monzo.com/careers