Resource governance for client applications (Public Preview) in Azure Event Hubs

Published May 24 2022 09:35 AM 929 Views
Microsoft

Azure Event Hubs enables you to stream millions of events per second from numerous client applications using AMQP or Apache Kafka protocols. When you stream events to and from Azure Event Hubs using different event streaming applications, you often need to govern those workloads individually. For instance, you may have to prioritize certain workloads while you throttle the other workloads beyond a certain throughput limit. Therefore, fine-grained governance of client application workloads that stream data to and from Event Hubs is a common business requirement.

 

Today we are happy to announce the public preview of Resource governance for client applications with application groups. Using application groups, you can create logical groupings between client applications that connect (publish or consume events) to Event Hubs and apply throttling and data access policies per each group. 

 

Application Groups

An application group is a collection of one or more client applications that interact with an Event Hubs namespace. Each application group must be associated with a uniquely identifiable condition such as the security context (shared access signatures (SAS) or Azure Active Directory (Azure AD) application ID - of the client application).

For example, as shown in the following figure, you can create AppGroup1 that shares the same Azure AD application Id and both producer and consumer applications will be part of the same application group. 

 

AppGr.png

 

Therefore, depending on how you select the identifiable condition, the application groups can span across multiple client applications and across publisher or consumers.

Then we can govern how the client application of an application group connect and stream data to and from and Event Hubs namespace using application group policies.

 

Application Group Policies

Each application group can have zero or more policies attached to it. We currently support throttling policies such as incoming and outgoing bytes or messages.

 

Therefore, by defining an application group and using application group policies, you can throttle low priority producers or consumers while allowing high priority producers or consumers to stream data without any interruptions. You can pick the security contexts as per the client workload governance needs so that you can directly map those contexts to application groups.

 

Disabling and terminating client applications

You can also use application groups to explicitly block the access of a collection of client applications to the Event Hubs namespace. You can simply disable an application group so that any client application of that group cannot make any connection to Event Hubs namespace and all the existing connections will also be terminated.

 

Get Started Today

To try out and learn more about how you can govern event streaming workloads of your client applications using Application Groups, please check out the following links.

 

 

 

 

 

 

Co-Authors
Version history
Last update:
‎May 24 2022 08:58 AM
Updated by: