I work on a .net core admin dashboard web application hosted on-premise and it is time to modernize this application. please be noted that this application is use "internally" in the org.
Now, i knew about microservices but i am also concerned about how complicated it might get to convert it. I do not want to make a hybrid application that it monolithic and uses API as well. Please suggest how do I make it more modular, faster and more efficient. I am thinking of these two approaches. Please correct me if i am wrong as i am entirely new to this -
Approach 1 : REACTJS + ASPNET Core Web API + SQL SERVER
Approach 2: Microservices ( ASP.NET Web API, Docker, RabbitMQ, Gateway, Redis, Sql Server )
Which approach will be best suitable and less complicated to achieve?
Nikunj SatasiyaPosted Jul 26, 2024, 4:47 AM
Banerjee, the decision between the two approaches you've proposed depends on various factors, including the size of your application, your team's expertise, and the specific requirements and constraints of your organization. Here's a breakdown of both approaches to help you decide which might be more suitable for modernizing your .NET Core admin dashboard application:
Approach 1 : REACTJS + ASPNET Core Web API + SQL SERVER
Pros:
Cons:
Approach 2: Microservices ( ASP.NET Web API, Docker, RabbitMQ, Gateway, Redis, Sql Server )
Pros:
Cons:
My recommendation is If your team is new to microservices and your application does not demand the high scalability and flexibility benefits that microservices offer, Approach 1 might be more suitable and less complicated for your needs. It allows you to modernize your application with a significant boost in performance and maintainability without the steep learning curve and complexity of microservices.
However, if you foresee your application growing significantly in complexity and user base, and your team is ready to invest time in learning new technologies, then considering Approach 2 for long-term benefits could be worthwhile. This approach would future-proof your application by making it more resilient and adaptable to changing needs.
banerjeeJKPosted Jul 30, 2024, 8:14 AM
@NikunjSataSiya,
Really appriciate your suggestion. This is exactly what i needed. At the time I posted this question i did not have much idea about the other parameters . So,
- the application will be for internal organization use only.
- Standard size application. basically housing of a number of tableau dashboards and a few admin pages for CRUD operations.
- My team is rather small and not everyone has knowledge about docker and other things. So , we need a long window for training.
- there are certain constraints about docker / orchetration package usage.
Considering all these points , i would go for Approach 1. Best suitable for the upgrade. As of now it is a simple application that communicates directly with databases.
But again, thank you so much for your clarity. People from stackoverflow really need to learn from your reply that how to reply on posts. ; )