I do not know which architecture is Frappe? Monolithic vs Microservices ? thks for your answer
It still Monolithic!
Even theres the concept of Apps frappe is far away of microservices
@max_morais_dmm
So, the development of an application with a large and highly complex application will be difficult to meet, right
Really hard to say!
I have a customer that is a telecom, with more than 250 services connected to ERPNext, about 10000 transactions daily, with zero downtime since 2014!
Thanks for taking the time to answer, perhaps the best thing I need to do to find this answer is that I will try, hihi
It used to be strict monolithic, but now though no microservices, it is going away from monolithic, IMO.
Different apps have different code for almost same thing.
Version naming of different apps follow different policy.
For most of the software main/master branch is the default, but here mostly develop branch is the default branch. I hope there must be a valid reason to do so. May someone shed some light on this.
Standard contact is not used by all apps, many apps do capture address in their own way.
Installation apps be becoming pain.
@Jannat_Patel and @Ritvik_Sardana
Are you thinking of having co-operation / integration between Education and Learning Apps.
There may be 3rd app having common base for two, and then on top of that user may install any of these app, with no duplicate data.
Am I missing something?
It depends. Stackoverflow is a monolith app Monolithic architecture is not so bad and if you want to still implement microservices architecture you can. There are several ways to do it.
Highlevel approach:
- Write all your logic as Microservices
- Use webhook function to delegate the logic to microservices
- Use external jobs to process batch data
- Use Virtual Doctypes
- Optionally depend on TCP/GRPC/MQTT, something faster than HTTP.
- Experiment with events pub/sub instead of HTTP request/response.
EDIT:
There is also an approach of one app one site/api where each frappe-bench site will only have one “business domain” frappe app installed and user identity is propagated through separate identity provider (OAuth2/OIDC). Something like this:
It gives you separate DB per app.