Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.?

like image 290
user1340582 Avatar asked Jun 12 '16 10:06

user1340582


People also ask

Does Azure run on service Fabric?

Service Fabric is an open source project and it powers core Azure infrastructure as well as other Microsoft services such as Skype for Business, Intune, Azure Event Hubs, Azure Data Factory, Azure Cosmos DB, Azure SQL Database, Dynamics 365, and Cortana.

What is a Azure service Fabric?

Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices and containers. Service Fabric also addresses the significant challenges in developing and managing cloud native applications.

Is Azure service Fabric a service mesh?

Azure Service Fabric mesh gives you a fully managed microservices platform. It enables businesses to easily build mission-critical, scalable applications using microservices with any code or framework of your choice.

What is the difference between Azure service Fabric and Kubernetes?

Service Fabric addresses the significant challenges in developing and managing cloud apps. On the other hand, Kubernetes is detailed as "Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops". Kubernetes is an open source orchestration system for Docker containers.


2 Answers

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.

  • like image 131
    Sean McKenna Avatar answered Oct 14 '22 21:10

    Sean McKenna


    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.

    like image 40
    LoekD Avatar answered Oct 14 '22 20:10

    LoekD