Regarding service fabric applications, please help me to understand the decision factors where we need to choose a reliable actor over a reliable service and vice versa. It would be really helpful if you can provide examples of these and the reason why we choose one over another.
Thanks
Reliable Services is the place to start. Here you get a simple entry point to start running your code or start taking client requests. It's wide open to whatever design patterns or frameworks you want to use. You can layer ASP.NET Core on it, for example, and write Web API / MVC services.
Reliable Actors is a highly specialized framework for parallelizing compute. Only certain types of services fit nicely into the Virtual Actor pattern. You shouldn't use Reliable Actors as a general state storage mechanism or for general-purpose services because the pattern imposes certain restrictions. Reliable Actors is usually best in the following situations:
Most general CRUD-style apps don't fall into this space. More on that here: https://learn.microsoft.com/azure/service-fabric/service-fabric-reliable-actors-introduction