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

Building the core

A776c6157563927c014fec6e6bdae763?s=47 Armin Pasalic
September 16, 2020

Building the core

Talk I gave on GOTOpia 2020

A776c6157563927c014fec6e6bdae763?s=128

Armin Pasalic

September 16, 2020
Tweet

Transcript

  1. Solarisbank Public Building the core Armin Pašalić, 16.09.2020, GOTOpia EUROPE

    2020
  2. Solarisbank Public Solarisbank Public 300+ We are Solarisbank Strong tech

    background +45% of our staff are talented developers & digital product experts Unique mix of experts A great mix of bankers, entrepreneurs and legal experts combined Diverse team More than 50 nationalities working together
  3. Solarisbank Public Father and a husband. With Solarisbank engineering for

    over 4 years. Most of that time spent researching, designing, building and maintaining the core- banking system. I do things related to distributed systems, system and software architecture, domain design, testing and, in general, trying to make software nice and enjoyable to work with. Armin Pašalić Social networks: @krule
  4. Solarisbank Public Solarisbank Public First to the market

  5. Solarisbank Public What is this core-banking?

  6. Solarisbank Public core

  7. Solarisbank Public The core banking platform is the core software

    component that keeps track of all accounts, funds, and money movements while acting as a connection point to the outside world through integrations with payment networks like SEPA, Target2, or SWIFT. The system also has to serve all data points necessary to fulfill the reporting requirements we have as a regulated German bank. What is core banking? https://www.solarisbank.com/blog/getting-to-the-core-of-the-matter-why-solarisbank-built-its-own-core-banking/
  8. Solarisbank Public Photo by Danilo Alvesd batteries included

  9. Solarisbank Public Solarisbank Public I would like to make banking

    terminology used in this talk a bit closer to the average tech person enjoying this talk. For every term I will try to find as close equivalent as I can from our, technical day to day jargon. I also might miss some term and if you detect it, please ask after the talk and I will try my best to explain. Language Should be ubiquitous, maybe? Bundesbank Central Bank of Federal Republic of Germany. BIC Bank Identifier Code Like a DNS record, making it possible for banks to resolve where to direct the transfers. SEPA Single Euro Payments Area Real world distributed system connecting banks and making transfers possible in Europe
  10. Solarisbank Public Solarisbank Public but…

  11. Solarisbank Public Solarisbank Public scalability? Photo by Christian Lue

  12. Solarisbank Public Solarisbank Public reliability? Photo by Kev Costello

  13. Solarisbank Public Solarisbank Public control? Photo by Charles Deluvio

  14. Solarisbank Public mitigation

  15. Solarisbank Public challenge accepted

  16. Solarisbank Public first steps

  17. Solarisbank Public DDD

  18. Solarisbank Public Event Sourcing

  19. Solarisbank Public CQRS

  20. Solarisbank Public one & 1/3

  21. Solarisbank Public Solarisbank Public No measures in place Illustration purposes

    only, not an actual situation… 0 200 400 600 800 1000 1200 1400 1600 1 301 601 901 1201 1501 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Capacity Load
  22. Solarisbank Public Solarisbank Public Temporal distribution of the load Illustration

    purposes only, not an actual situation… 1 301 601 901 1201 1501 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Capacity Load
  23. Solarisbank Public eventually consistent

  24. Solarisbank Public

  25. Solarisbank Public Benefits we acquired by adding a new system

    Under control Became the source of truth for the business competency in question. Adding new features was no longer nearly impossible. number of features time needed to add new feature expected* actual* *Not actually measured, based on feedback by engineers who helped with the system
  26. Solarisbank Public Benefits we acquired by adding a new system

    Under control Became the source of truth for the business competency in question. Adding new features was no longer nearly impossible. Scalable Ability to purposefully project data and independently scale and endpoint following request distribution patterns. Request Read Write
  27. Solarisbank Public Benefits we acquired by adding a new system

    Under control Became the source of truth for the business competency in question. Adding new features was no longer nearly impossible. Scalable Ability to purposefully project data and independently scale and endpoint following request distribution patterns. Resilient Potential issues with the underlying system would not affect the operations of the partner facing API.
  28. Solarisbank Public Solarisbank Public corona

  29. Solarisbank Public Solarisbank Public event storming

  30. Solarisbank Public

  31. Solarisbank Public

  32. Solarisbank Public

  33. Solarisbank Public it was not all that smooth

  34. Solarisbank Public singletons

  35. Solarisbank Public not always eventual

  36. Solarisbank Public present time

  37. Solarisbank Public new BIC code: 11010101

  38. Solarisbank Public you build it, you run it

  39. Solarisbank Public going live

  40. Solarisbank Public

  41. Solarisbank Public Small victories some of them at least… Able

    to onboard big partners Potential partners which we might have rejected in the past due to scale concerns are now welcome on our system. Scalable Internal system can move money in milliseconds between partners in our network. Still growing While we still don’t have all of the competencies we want, we are growing the team and building them right now. Photo by Robert Collins
  42. Solarisbank Public Solarisbank Public 15+ We are the core (banking)

    Go & Ruby Are the languages of choice. Emphasis on Golang. DDD, ES, CQRS We are working with exciting but proven software design concepts. Impact Building the plumbing of the future, today! Photo by me :-)
  43. Solarisbank Public Solaris Digital Assets Public - Getting to the

    core of the matter: why Solarisbank built its own core-banking system - GOTO 2015 • DDD & Microservices: At Last, Some Boundaries! • Eric Evans - GOTO 2014 • Event Sourcing • Greg Young - Martin Fowler on Event Collaboration - SEPA - by European Central Bank Additional links Other, relevant links, talks and stuff
  44. Solarisbank Public and one more thing :-)

  45. Solarisbank Public Thank you!