Hi @Ryuske. To make a good decision you need to define WHAT you want to achieve with your microservices, ie WHY you are building these microservices. Creating distributed service-oriented systems will increase complexity quiet a lot, and thus you need to have a very good reason to go there.
Basically there are 4 main reasons to "mini-fy" a monolith: A) your application is getting so big that your developers cannot understand its entirety anymore, and thus you get organisational/project scaling issues B) you have independent and very different update&release frequencies for different parts of your system C) you want to dynamically scale specific parts of your system in and out, independently from the other parts D) different parts of your system have such specific domain or technical requirements that you need to use a very specific programming-language/framework which is different than your common regular programming language.
If you know what your reasons are, you can also much better decide how to architect your system.
The reasons are a mixture of B & C.
Some parts of the system are a lot more taxing, like the donors section. And would need to scale way more than say the users system.
And some parts of the system change rarely (i.e. users) while some parts change almost daily (campaigns). That is also a big reason for making this switch.
Hopefully that makes sense.
Sign in to participate in this thread!
We'd like to thank these amazing companies for supporting us