Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running Service Fabric on non-Azure clouds

I have just started exploring Azure Service Fabric & I'm finding the concepts involved a little overwhelming

Consider these 2 statements -

As per my understanding,

1) in Azure, app can be deployed to "Azure Service Fabric" PaaS platform.

2) On a local development machine, it can be deployed to physical or virtual machine(S) that support Azure Service Fabric SDK

3) On "other cloud providers", "Azure Service Fabric for Windows Server" has to be installed(?) on VMs before app can be deployed.

So when an app runs on Azure, it is the "Azure Service Fabric" PaaS platform but if it is deployed to any other cloud provider, it is in an IaaS mode and the maintenance of the SF infrastructure & supporting functions have to be done by deployer of the app

Is my understanding correct?

Is there any documentation on running Service Fabric on non-Azure cloud like AWS?

Can someone elaborate on the purpose of "Azure Service Fabric for Windows Server" & Azure Service Fabric SDK?

like image 656
mvark Avatar asked Jan 20 '17 04:01

mvark


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.

Is Azure service Fabric deprecated?

Today, we are announcing the retirement of Azure Service Fabric Mesh. We will continue to support existing deployments until April 28th, 2021, however new deployments will no longer be permitted through the Service Fabric Mesh API.

Which type of Microservice S does service Fabric support?

Service Fabric provides a sophisticated, lightweight runtime that supports stateless and stateful microservices.

What is Azure service fabric?

Azure Service Fabric 1 Run anything – your choice of languages and programming models 2 Run anywhere – supports Windows/Linux in Azure, on-premises, or other clouds 3 Scales up to thousands of machines More ...

Is service fabric the best choice for building cloud-native applications?

Large areas of the Azure infrastructure have been built out using Service Fabric, but that doesn’t necessarily make it an ideal candidate for building modern, cloud-native applications.

Can multiple applications be deployed to a single service fabric cluster?

Multiple applications can be deployed to a single Service Fabric cluster. Service Fabric itself is an application platform layer that runs on Windows or Linux, whereas Cloud Services is a system for deploying Azure-managed VMs with workloads attached. The Service Fabric application model has a number of advantages:

How do I migrate from cloud services to service fabric?

The simplest migration path from Cloud Services to Service Fabric is to replace only the Cloud Services deployment with a Service Fabric application, keeping the overall architecture of your application roughly the same. The following article provides a guide to help convert a Web or Worker Role to a Service Fabric stateless service.


1 Answers

When using Azure as the cloud platform to host your Service Fabric cluster then you get some benefits from being able to setup and manage (some aspects of) your cluster directly in the Azure portal, as well as connecting it to other Azure resources such as Azure Key Vault for storing your cluster certificate securely and OMS/Azure Log Analytics for analyzing your log data from the cluster. You still get a set of IaaS resources created for you though when you set up a Service Fabric cluster in Azure, a minimum of the following IaaS resources are at least created for you:

  • Virtual Machine Scaleset
  • Public IP address
  • Virtual Network
  • Load Balancer
  • Storage accounts

Depending on the number of nodes and nodetypes there may be multiple instances of these. Each of the nodes are in turn a VM running (by default) Windows Server 2012 R2 Datacenter (you can change that in your template as well). Running Azure Service Fabric on Azure is not really a PaaS solution, you are far to much in contact with the supporting infrastucture for that to be true. It is a mix of IaaS and PaaS I would say.

On you local development machine you can run a local development cluster that emulates running a 1 or 5 nodes cluser on you local machine. It is only intended for development and there are some features of this local cluster that will behave differently (for instance, you cannot run a reverse proxy there). https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started

If you want to run Service Fabric on any other platform than Azure, such as an on premice data center or in another cloud platform (AWS for instance), then you should look at Create and manage a cluster running on Windows Server. You will then need to create an infrastructure similar to the infrastructure created by Azure when you create an Azure Service Fabric resource directly in Azure. You will need to create a number of VMs (or physical machines) with Windows Server 2012 R2 (or later) that are connected on the same network (virtual or physical) and you will likely need some form of load balancer. When you run Azure Service Fabric in this way you are yourself responsible for maintaining your infrastructure in terms of monitoring and maintaining them (patching the OS on your VM's, monitoring the network for vulnerabilities, etc.).

There is also a preview for running Service Fabric on Linux machines but it does not support Standalone installations yet. https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-linux-overview.

When you have your Service Fabric cluster running on either Azure, local development cluster or as a Standalone cluster, then you could in a way consider that installation as your PaaS platform for adding new microservices.

like image 90
yoape Avatar answered Oct 14 '22 07:10

yoape