In a set of instances that run identical code, elect a temporary leader to execute short-lived management functions.
For High Availability and Scale, applications and services may run on several instances of containers, VMs or service hosts. Yet, some functions are best executed by a single instance for a given time period.
Call the Elector.EnsureIsLeaderAsync method to acertain if a particular instance has been successfully designated as 'Leader' for a given time period.
This implementation uses the Lease mechanism provided by Azure Storage Blob Service.
See a description of the Leader Election pattern https://docs.microsoft.com/en-us/azure/architecture/patterns/leader-election
Updated dependencies. Added ConfigureAwait(false) to awaits