$30 off During Our Annual Pro Sale. View Details »

Banking on Go - GoSF meetup Sep 2017

mattheath
September 20, 2017

Banking on Go - GoSF meetup Sep 2017

Presented at GoSF meetup, September 2017

"Matt Heath will walk through how Monzo, a new UK based bank, have developed their Go-based banking platform along with some of the challenges they have faced while growing both their team and infrastructure."

mattheath

September 20, 2017
Tweet

More Decks by mattheath

Other Decks in Programming

Transcript

  1. Banking on Go
    Matt Heath, Monzo

    View Slide

  2. Hi, I’m Matt
    @mattheath

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. monoliths
    traditional dev

    View Slide

  14. Microservices

    View Slide

  15. Microservices

    View Slide

  16. View Slide

  17. View Slide

  18. monzo/typhon

    View Slide

  19. type Service func(req Request) Response

    View Slide

  20. router.GET("/", handler.List)
    router.POST("/", handler.Register)
    router.DELETE("/:id", handler.Deregister)

    View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. Service
    Service

    View Slide

  27. Service
    Service Service
    Service

    View Slide

  28. + =

    View Slide

  29. Service
    Service Service
    Service

    View Slide

  30. Service
    Service Service
    Service
    linkerd

    View Slide

  31. Service
    Service Service
    Service
    linkerd

    View Slide

  32. Service
    Service Service
    Service
    linkerd

    View Slide

  33. View Slide

  34. Service
    Service Service
    Service
    linkerd
    service

    discovery

    View Slide

  35. 0
    40
    80
    160
    120
    Feb
    2015
    200
    Number of services
    240
    280
    320
    Sep
    2017

    View Slide

  36. API card-api card-processing cards transactions ledger transaction-enrichment merchant feed-generator feed apns
    API card-api card-processing cards transactions ledger transaction-enrichment merchant feed-generator feed apns

    View Slide

  37. View Slide

  38. Attack of the mainframes

    View Slide

  39. monoliths
    traditional dev

    View Slide

  40. View Slide

  41. View Slide

  42. go generate payment_messages

    View Slide

  43. Kubernetes
    Service
    Third

    Parties
    ???

    View Slide

  44. Kubernetes

    Service
    service pod
    Go based

    UDP 

    encapsulator
    routing table

    routes IP range
    to local udp

    encapsulation

    interface
    “connectivity” pods
    VPN

    network

    interface
    Go based

    UDP 

    listener
    routing table

    routes packets

    to local vpn

    interface
    colocation
    VPN

    Appliance
    Third

    Parties

    View Slide

  45. View Slide

  46. GC Pauses

    View Slide

  47. View Slide

  48. View Slide

  49. View Slide

  50. View Slide

  51. View Slide

  52. View Slide

  53. Decimals

    View Slide

  54. View Slide

  55. View Slide

  56. View Slide

  57. View Slide

  58. Testing

    View Slide

  59. API card-api card-processing cards transactions ledger transaction-enrichment merchant feed-generator feed apns
    API card-api card-processing cards transactions ledger transaction-enrichment merchant feed-generator feed apns

    View Slide

  60. View Slide

  61. Future?

    View Slide

  62. View Slide

  63. Thanks!
    @mattheath
    @monzo

    View Slide