Skip to content

Arch Forum 2024-01-18

Participants: Backend developers, EMs, Andy, JD and Victor

Agenda

  • OnCall (Magnus)
  • MF vs Bank

Notes

First Magnus had an intro about OnCall, what is it, who does it and so on. Ideally, we would like to have more people join the On Call rotation, so that each person can have their shift less frequently and spread the work over more people. To be On Call is actually not very demanding, and skill wise all developers are easily qualified after a short time working. If anyone is interested, please let Magnus or Zak know!

Secondly, we discussed the separation of MoneyFlow and Bank. These subtopics were covered:

  1. The service architecture of Moneyflow related services. As a starting point, we looked at this diagram: MF vs Bank, with an overview of how the services interact with each other. Recent new services, even those that deal with sending money in or out to a Majority account does not follow this pattern anymore, and are just created as a single Area under Bank. We could agree that this is correct, we do not see a reason for a division between MoneyFlow and Bank anymore. (If/when to restructure existing MF projects is a different question, that much depend on how important it is seen by the Growth & Services team and our general priorities)

  2. The project setup in Azure Devops. JD raised the question if the current setup with multiple projects for backend is really useful. We could see that CDE might be useful to separate (PCI etc), but for others it's not really clear any separation is needed. Since it is a bit involved, we think its best to do it step by step, and the most obvious place to start would be by merging the Moneflow project into Bank. However, Platform team already have a task to make the separation between CDE and non-CDE correct, which is a more important issue.

  3. Forking of repos. This is not really related to MF-Bank, but to how we do Azure Devops in general. We could conclude that we do not see any reason to keep using individual forks of each repo, we could just as well let developers create branches on the main repo and merge from there.

Bonus topic: While in discussion about the above, we also briefly touched on the platform / infrastructure naming confusion we currently have. Platform team, Infrastructure repo and Majority.Platform C# Namespace naming confusion. No real outcome, except that it's confusing, and that we should do something about it. Probably the C# base framework code should be called Platform everywhere, while infra is the servers etc. in Azure.

Summary

(in order of doing / priority)
1. New areas and services does not (should not) use the Moneyflow - Bank separation, but instead follow the one area in Bank pattern.
2. We should try to go "forkless" (not have the fork requirement). Someone will need to trial this.
3. It would be great to rename infrastructure (the base C# framework) to platform everywhere.
4. MF could be merged into Bank. But this is up to Growth & Services team to prioritize / drive.