What is Azure Service Fabric?
Azure Service Fabric is a distributed systems platform used to build scalable, reliable, and easily managed applications for the cloud. Service Fabric addresses the significant challenges in developing and managing cloud applications. By using Service Fabric, developers and administrators can avoid solving complex infrastructure problems and focus instead on implementing mission-critical, demanding workloads knowing that they are scalable, reliable, and manageable. Service Fabric represents the next-generation middleware platform for building and managing these enterprise-class, Tier-1 cloud-scale service
What is Service Fabric Cluster?
shared pool of machines (commonly referred to as a Service Fabric cluster)
Clusters of machines can go to thousands of machines and span across regions globally.
What is a MicroService?
Microservice applications are composed of small, independently versioned, and scalable customer-focused services that communicate with each other over standard protocols with well-defined interfaces
Service Fabric is agnostic on how you build your service, and you can use any technology. However, it does provide built-in programming APIs that make it very easy to build microservices
Types of MicroServices:
- Stateless Microservices
- Stateful Microservices
Stateless microservices (protocol gateways, web proxies, etc.) do not maintain a mutable state outside of any given request and its response from the service. Azure Cloud Services worker roles are an example of a stateless service. Stateful microservices (user accounts, databases, devices, shopping carts, queues, etc.) maintain a mutable, authoritative state beyond the request and its response. Today’s Internet-scale applications consist of a combination of stateless and stateful microservices.
What is an Application instance in Azure Service Fabric: In a cluster, you can create many application instances of an application type, each of which has a specific name. Each application instance can be independently managed and versioned from other application instances of the same type or a different type. Additionally, they define resource and security isolation.
What is a Cluster in Service Fabric:
A network-connected set of virtual or physical machines into which application instances are deployed. Clusters can scale to thousands of machines.
What is a Node in Service Fabric: An addressable unit in a cluster. Nodes have characteristics such as placement properties and unique IDs. Nodes can join a cluster and correlate to an operating system instance with Fabric.exe running.
What is a Service instance in Azure Service Fabric: Code that has been instantiated for a service type. Each service instance has a unique name starting with fabric:/ and is associated with a particular named application instance.
What is a Service/service type Azure Service Fabric: Code and configuration that perform a standalone function (it can start and run independently), for example, a queue service or database service. An application type may consist of one or more service types. There are two kinds of services types:
What is an Application package in Azure Service Fabric: The collection of service code packages and the configuration files combined for a particular application. These are the physical files that are deployed, and they are simply in a file and folder format layout. For example, an application package for an email application could contain a queue service package, a front-end service package, and a database service package.
What are the available Programming models in Azure Service Fabric: There are two programming models available in Service Fabric to build applications:
- Reliable services: An API to build stateless and stateful services based on StatelessServiceand StatefulService .NET classes and store state in .NET reliable collections (dictionary and queue). They also have the ability to plug in a variety of communication stacks, such as Web API and Windows Communication Foundation. This programming model is suitable for applications where you need to perform compute across multiple units of state.
- Reliable actors: An API to build stateless and stateful objects through the virtual actor programming model that is suitable for applications with multiple independent units of state and compute.
What is an Application/application type in Azure Service Fabric: A collection of (micro)services. Think of an application type as a container for one or more service types.
- Stateless service: A service that has state where the state is persisted to external storage, such as Azure databases or Azure Table store. If a node on which an instance of this service is active goes down, another instance is automatically started on another node.
- Stateful service: A service that has state and achieves reliability through replication between replicas on other nodes in the cluster. Stateful services have a primary and multiple secondary replicas. If a node on which a replica of this service is active goes down, a new replica is started on another node. If the node that goes down is the primary replica, a secondary replica is automatically promoted to a new primary.