Service Fabric is a distributed systems
platform used to build hyperscalable, reliable, and easily managed
applications for the cloud.
Here I will be mentioning the advantages of using
Service Fabric to develop and manage your Microservices at the high level
Highly
scalable
Service fabric allows auto scaling based on CPU
consumption, Memory and more,
Maximizes resource utilization with load
balancing partitioning and replication across all nodes in a Cluster
Partition
support
Service Fabric supports partitioning of
Microservices. Partitioning is the concept of dividing data and compute into
smaller units to improve the scalability and performance of a service.
More info here
Rolling updates
To achieve high availability and low downtime of services during upgrades, Service Fabric supports rolling updates. This means that the upgrade is performed in stages. The concept of update domains is used to divide the nodes in a cluster into logical groups which are updated one at a time.
State Redundancy
Service Fabric natively integrates with a Microsoft technology called Reliable Collections to achieve collocation of compute and state for services deployed on it
More about Reliable Collection here.
High-density
deployment
Every Microservice hosted on Service
Fabric will be logically isolated and can be managed without impacting other
services. This level of granularization in turn makes possible achieving a much
higher density of deployment.
Another notable advantage of using Service
Fabric is the fact that it is tried and tested. Microsoft runs services such
as Azure DocumentDB, Cortana, and many core Azure services on Service
Fabric.
Automatic
fault tolerance
The cluster manager of Service Fabric
ensures failover and resource balancing in case of a hardware failure. This
ensures high availability of the services while minimizing manual management
and operational overhead.
Heterogeneous
hosting platforms
A key advantage of Service Fabric is its
ability to manage clusters in and across heterogeneous
environments. Service Fabric clusters can run on Azure, AWS, Google Cloud
Platform, an on-premises data centre, or any other third-party data centre.
Service Fabric can also manage clusters spread across multiple data centers.
This feature is critical for services requiring high availability.
Technology
agnostic
Service Fabric can be considered as a
universal deployment environment. Services or applications based on any
programming language or even database runtimes such as MongoDB can be
deployed on Service Fabric.
Service Fabric supports four types of
programming models – Reliable Services, Reliable Actors, Guest Executable,
and Guest Containers.
Will come back to this in more detail later
Centralized
management
Monitoring, diagnosing, and
troubleshooting are three key responsibilities of the operations team. Services
hosted on Service Fabric can be centrally managed, monitored, and diagnosed
outside application boundaries. While monitoring and diagnostics are most
important in a production environment, adopting similar tools and processes in
development and test environments makes the system more deterministic. The
Service Fabric SDK natively supports capabilities around diagnostics which
works seamlessly on both local development setups and production cluster setups.
More on this later.
And more
Service Fabric can do service discovery,
Orchestration and solves the Circuit breaking problem and much more
0 comments:
Post a Comment