Service Fabric (continued)
Part 2 compared
Paxos and Raft. Part 3 discussed
SF-Ring and Part 4 discussed its
architecture. This article describes compute planning and scaling.
Service Fabric supports a
wide variety of business applications and services. These applications and
services can be stateless or stateful. They are run with high efficiency and
load balancing. It supports real-time data analysis, in-memory computation,
parallel transactions, and event processing in the applications. Applications
can be scaled in or out depending on the changing resource requirements.
Service Fabric handles hosts
stateful services that must support large scale and low latency. It can help
process data on millions of devices where the data for the device and the
computation are co-located. It is equally effective for both core and edge
services and scales to IoT traffic. Apps and services are all deployed in the same
Service Fabric cluster through the Service Fabric deployment commands and yet
each of them is independently scaled and made reliable with guarantees for
resources. This independence improves agility and flexibility.
Capacity and Scaling are
two different considerations for Service Fabric and must be reviewed
individually. Cluster capacity considerations include Key considerations
include initial number and properties of cluster node types, durability level
of each node type, which determines Service Fabric VM privileges within Azure
infrastructure, and reliability level of the cluster, which determines the
stability of Service Fabric system services and overall cluster function
A cluster requires a node
type. A node type defines the size, number, and properties for a set of nodes
(virtual machines) in the cluster. Every node type that is defined in a Service
Fabric cluster maps to a virtual machine scale set aka VMSS. A primary node
type is reserved to run critical system services. Non-primary node types are
used for backend and frontend services.
Node type planning
considerations depend on whether the application has multiple services or if
they have different infrastructure needs such as greater RAM or higher CPU
cycles or if any of the application services need to scale out beyond hundred
nodes or if the cluster spans availability zones.
No comments:
Post a Comment