I am in the phase of planning for a scalable and huge web application, I've decided to implement Microservices and Multi-Tenants with DB per tenant. After doing some research I was tending to select ASP.NET Core as my development framework, but then someone advised me to separate the development entities having the back-end, APIs and front-end separately, but then I will lose the debugging and pre-compile advantages of ASP.NET. Also, If I'm willing to use serverless functions I was advised not to go with ASP.NET for some limitations. So I'm thinking between PHP or Python or NodeJs!
I've been developing using the traditional methods since long time and I'm confused with all these new and interesting concepts. I will build a team to do the development but I need to decide on the architecture design and which languages to use and on what environments (tending to host on AWS). I need more clarification regarding how to separate the entities and what are the best practices.
Can you please help me with this?
Appreciated!
The language here is not mandatory, but I would split the services, Web, Backend and API, it is a better architecture than shipping everything together.
PHP is quite famous, but I never used, I use python and like it a lot, nodeJS is quite popular and has a huge set of frameworks. In a micro services world you can use any language. Each microservice is independent.
I am a AWS user and it a great cloud provider.
Take a read on serverless architecting on AWS. It will give a good idea on the field. here the link: https://d1.awsstatic.com/whitepapers/serverless-architectures-with-aws-lambda.pdf
Here a great website on microservices: https://martinfowler.com/microservices/
Best Regards,