Abstract infrastructure challenges

A Microservices development platform should not allow Quality of Service (QoS) challenges such as network latency, messaging formats, scalability, availability, and reliability to propagate to the application.

Scaling is a key enabler of the cloud platform. Scaling can be performed either by migrating the application to a host with higher compute capacity, also known as scaling up, or by adding more hosts with the same compute capacity to the pool of resources that the application gets deployed on, also known as scaling out. Although scaling up is limited to the maximum size of the available virtual machines, scaling out is virtually unlimited on cloud.

To scale out an application, the workload can either be distributed evenly among all instances or be partitioned between the available instances so that only the instances participating in the partition take up the work. Microsoft Azure Service Fabric supports both the models of scaling.

Microsoft Azure takes care of availability through redundancy of the infrastructure: a backup host gets spawned to resume processing when a host dies. Microsoft Azure Service Fabric can transfer the state of the failed host to the new host so that no data gets lost. Similarly, Microsoft Azure Service Fabric can manage upgrades in a manner that there is no downtime and that recovery is possible if an error is encountered.

The diagnostics and monitoring subsystems of the platform should be robust enough to detect and react to application and platform issues to ensure that services run in a reliable manner. Microsoft Azure Service Fabric provides monitoring and diagnostic features to ensure that Microservices deployed on it have high reliability.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset