Search code examples
c#.netazuredistributed-systemazure-service-fabric

Pros and cons on utilizing Azure Service Fabric vs Custom Azure Cloud?


If I choose build my distributed app system with Azure Service Fabric does it mean that I will need to create all parts in Actors way?

Or if I have already distributed system in Azure cloud services and roles, workers, is it possible to create new parts with Azure Service Fabric and connect them together?

What is pros and cons of utilizing Azure Service Fabric vs custom architecture with Azure Cloud(services, roles, queues)?


Solution

  • does it mean that I will need to create all parts in Actors way?

    No, you don't have to use Actors in Service Fabric at all. You can use services API or even run your custom services.

    is it possible to create new parts with Azure Service Fabric and connect them together?

    This is totally possible. You can use multiple ways to do that, similar to approaches you use for other applications. The two most common ways are

    • Host a Web API project in Service Fabric
    • Use message queues or event hubs

    What is pros and cons of utilizing Azure Service Fabric vs custom architecture with Azure Cloud

    This is a very broad question, so you'll have to go and read the Service Fabric documentation to get the details, but I can give my opinion.

    Pros:

    • Deploy large amount of services in the cluster with effective resource utilization
    • Out-of-the-box reliability, resource allocation, partitioning, error recovery and communication orchestration
    • Local in-memory reliable state
    • Upgrades with no downtime

    Cons:

    • Platform lock-in (at least to some extent)
    • Higher complexity and entrance barrier