In the case where the legacy .NET Framework application is hosting the frontend, it is recommended to also think about the hosting method of the frontend in .NET 10.
This issue is best considered before or during the migration so the team will not spend time implementing something that will be removed shortly in the future.
Depending on the scenario and the situation of the projects, there are many options available to host the frontend with .NET 10. Here are a couple of the many options available.
No changes to the flow, keep hosting the frontend the same way as before (e.g. bundling the frontend build artifacts as a static resource in .NET 10).
✅ Pros:
❌ Cons:
This option fully separates the frontend from the backend. This requires serving the frontend on a separate hostname or using a gateway service to redirect API with frontend routes. e.g. Hosting frontend in Azure Static Web Apps and use Azure Front Door to route requests to frontend on frontend routes and backend routes to the .NET 10 application.
✅ Pros:
❌ Cons:
Hosting your frontend application in a separate storage (e.g. in Azure Blob Storage) is the mixed transitionary approach where the frontend artifacts are hosted separately from the backend, and the backend will pass these artifacts to the frontend without statically embedding the resource in the backend. This option still allows a clean separation of concerns, allowing for independent scaling and deployment of the frontend and backend, while also sitting in a transition where we have the option to host the frontend standalone, similar to Option 2 setup.
✅ Pros:
❌ Cons:
Option 2 is typically preferred for future-proofing, but Option 3 can also be recommended for its balance of cost, build efficiency, and future flexibility. Remember to weigh these factors in the context of your project's specific needs and constraints.
✅ Figure: Good example - Good example - Deciding on frontend hosting, considering its scalability and cost benefits
By carefully assessing your needs and understanding the trade-offs of each option, you can make an informed decision on how to serve your front-end applications in a .NET 10 environment.