user1340582
user1340582

Reputation: 19699

Azure vs On-premise Service Fabric

I have a bit of trouble finding differences about Azure and on-premise Service Fabric versions. I did read somewhere that on-premise version does not support auto-scaling, but this is easy to understand.

However, does on-premise version offer any type of operational capabilities such as resource managers, visual management of cluster, etc.?

Upvotes: 9

Views: 7556

Answers (2)

Sean McKenna
Sean McKenna

Reputation: 3714

The core Service Fabric platform is simply a runtime that gets installed on a set of virtual or physical machines. Once you tell those machines how to find each other, they form a cluster and provide a set of management capabilities that includes the Service Fabric Explorer UI, a REST API, and a TCP endpoint for PowerShell. All of that is common whether you're running on Azure, on-premises, or in another public cloud.

What's different in those environments is everything that lives outside of the machines that form the cluster. That includes:

  • Autoscaling

    While Service Fabric can easily handle new machines being added and removed from the cluster, it has no knowledge of how that process actually works, so some external agent needs to handle it. In Azure, that's a virtual machine scale set.

  • Failure domain/Upgrade domain management

    Good management of failure and upgrade domains is critical to ensuring availability and data reliability in Service Fabric. In Azure, clusters are automatically spread across FDs/UDs and maintenance is coordinated to avoid impact to your clusters. In other environments, this is your responsibility.

  • Cluster setup and management

    In Azure, a Service Fabric cluster is a 1st class resource that can be created and managed through the Azure Resource Manager and the Azure portal. Outside of Azure, you must do that management using the cluster configuration JSON template.

    Incidentally, just so there's no confusion since there are overloaded terms... you can't currently use the Azure Resource Manager (ARM) with Service Fabric outside of the Azure environment. However, Service Fabric's cluster resource manager is part of the core runtime and is available everywhere.

  • Diagnostics pipeline

    By default, Service Fabric logging (on Windows) is done via ETW. However, without any component to pick up those events from the individual machines in the cluster and ship them somewhere for easy aggregation and inspection, the logs aren't very useful. In Azure, that process is handled by the Windows Azure Diagnostics (WAD) agent, whereas in other environments you are responsible for setting up that pipeline.

    Upvotes: 28

  • LoekD
    LoekD

    Reputation: 11470

    You don't get to use the resource manager on premises. You can access the Service Fabric Explorer at port 19080.

    https://azure.microsoft.com/en-us/documentation/articles/service-fabric-deploy-anywhere/ https://azure.microsoft.com/en-us/documentation/articles/service-fabric-visualizing-your-cluster/

    Powershell management & deployment will also work.

    Upvotes: 2

    Related Questions