Learning Azure Service Fabric - Architecture Suggestion on Getting Started RRS feed

  • Question

  • Hello There,

    I am learning Azure Service Fabric and have a business that I would like use it, please suggest if this is good idea or if there any other better way to implement it.

    Business Case: Compile a list of store location for multiple stores like Walmart, target and any retail store that has a web service where I can query the stores web service. There are too many rest end points and the data that would come from these rest end points are different to the field that I would store on my side. 

    To make it interesting I would like update the store location every day and keep the history of the store location and I would like to end get address parallel for all the end points

    Implementation Idea:

    One stateful Reliable Service having which out puts the location of all the stores that I need, this reliable service will pass the parameters of the stores, fields that I need from the stores rest end point.

    One Reliable Actor Per Store (stateless) - This reliable actor will use token particular to the store and get the details and map to what fields I need and send it to back the calling reliable service

    Once all the stores locations are compiled, I will send this data to multiple end point (service bus, email thru logic apps and Azure Tables etc)

    Appreciate your suggestion on this


    Wednesday, May 8, 2019 4:31 PM


All replies

  • Based on your description, I see no reason you couldn't use Service Fabric to run your service. That being said, I also could see other services that could be used as well. 

    If you are considering using SF I suggest you start here:

    This doc does a good job going over the big picture behind service fabric and it can help you determine if this service is ideal for you to use. 

    Another great doc is the Application Scenarios

    This specific doc goes over some of the advantages of using SF. However, you should also read through it and consider if the advantages are something you are really concerned about. For example, SF is great for scaling and highly available services. If that is something your application needs, then that is great. If it does not, then SF might not be the correct choice for you. SF is also great at data gathering, processing, and computing data. So if your app needs that, great if not, then SF might not be the correct choice. 

    The great thing about service fabric is it can do such a variety of things and be used for many different applications. I would just suggest you read through the documentation we have and determine if SF is a service that makes sense to host your application or not. I personally greatly enjoy SF and think it is fantastic...But maybe I am biased ;)

    Another note I have is regarding where you are hosting it. With SF you are able to host it locally or in the cloud. So having that option is great and can really help you manage costs. 

    Take a look at the links I provided and if you have follow up questions I am happy to help further. There is no right or wrong answer here so it is really up to you to determine what you want to run your app on as based on your description it sounds like you could host it in many different ways. 

    Some other members in community might have additional thoughts as well but just wanted to say my opinion :) 

    Wednesday, May 8, 2019 11:21 PM
  • Thanks for the links Micah, I am in the process of reading and digesting those same awesome docs. At the same time I practically working on to develop a project for myself.

    The main questions I had was the choice of Reliable Service vs Reliable actors, Google around and got few anwers but I couldn't relate to what I am trying to achieve.

    If I am calling multiple remote end points to get the data, is reliable actors the best choice?. Today I am only thinking to go with few stores, but I want to scale it to multiple stores and multiple countries. So I wanted to start out on good note.

    Thanks for the reply and as you said will wait for few more answers from the community.

    Wednesday, May 8, 2019 11:37 PM
  • Happy to help :) 

    In case you haven't found them, although I am sure you have, we have a great overview of both services that can help you compare

    Introduction to Reliable Actors

    Introduciton to Reliable Services

    Also, a useful discussion can be found here:

    The above conversation is actually one where myself and the Service Fabric Product team actually often point people to when they have this same question. 

    I'll also say that most of the time that ReliableServices are the common solution and that generally actors should be used when there is a direct pattern that matches them, otherwise reliable services should be preferred. Based on your description I am leaning more towards Reliable Services. 

    Thursday, May 9, 2019 12:23 AM