Azure Event Hub

  • Author: Ronald Fung

  • Creation Date: 17 May 2023

  • Next Modified Date: 17 May 2024


A. Introduction

Event Hubs is a modern big data streaming platform and event ingestion service that can seamlessly integrate with other Azure and Microsoft services, such as Stream Analytics, Power BI, and Event Grid, along with outside services like Apache Spark. The service can process millions of events per second with low latency. The data sent to an event hub (Event Hubs instance) can be transformed and stored by using any real-time analytics providers or batching or storage adapters.


B. How is it used at Seagen

As a biopharma research company, Azure Event Hubs can be used to handle large amounts of data that are generated from various sources such as IoT devices, sensors, or other applications. Here are some ways you can use Azure Event Hubs:

  1. Collect and ingest data: Azure Event Hubs can be used to collect and ingest data from various sources such as IoT devices, sensors, or other applications. You can use Azure Event Hubs to ingest large amounts of data and store it for further processing.

  2. Process data in real-time: Azure Event Hubs can be used to process data in real-time. You can use Azure Stream Analytics or Azure Functions to process data as it is ingested into Event Hubs. This can help you detect anomalies, trigger alerts, or take other actions based on the data.

  3. Store and archive data: Azure Event Hubs can be used to store and archive data for further analysis or long-term storage. You can use Azure Blob Storage or Azure Data Lake Storage to store data that is ingested into Event Hubs.

  4. Integrate with other systems: Azure Event Hubs can be used to integrate with other systems and applications used in your research process. You can use Azure Logic Apps or Azure Functions to trigger actions or exchange data between different systems.

  5. Secure and scalable data processing: Azure Event Hubs can be used to process sensitive data securely and at scale. You can use Azure Active Directory to manage access to Event Hubs and use Azure Autoscale to automatically scale up or down based on the workload.


C. Features

Why use Event Hubs?

Data is valuable only when there’s an easy way to process and get timely insights from data sources. Event Hubs provides a distributed stream processing platform with low latency and seamless integration, with data and analytics services inside and outside Azure to build your complete big data pipeline.

Event Hubs represents the “front door” for an event pipeline, often called an event ingestor in solution architectures. An event ingestor is a component or service that sits between event publishers and event consumers to decouple the production of an event stream from the consumption of those events. Event Hubs provides a unified streaming platform with time retention buffer, decoupling event producers from event consumers.

The following sections describe key features of the Azure Event Hubs service:

Fully managed PaaS

Event Hubs is a fully managed Platform-as-a-Service (PaaS) with little configuration or management overhead, so you focus on your business solutions. Event Hubs for Apache Kafka ecosystems gives you the PaaS Kafka experience without having to manage, configure, or run your clusters.

Support for real-time and batch processing

Ingest, buffer, store, and process your stream in real time to get actionable insights. Event Hubs uses a partitioned consumer model, enabling multiple applications to process the stream concurrently and letting you control the speed of processing. Azure Event Hubs also integrates with Azure Functions for a serverless architecture.

Capture event data

Capture your data in near-real time in an Azure Blob storage or Azure Data Lake Storage for long-term retention or micro-batch processing. You can achieve this behavior on the same stream you use for deriving real-time analytics. Setting up capture of event data is fast. There are no administrative costs to run it, and it scales automatically with Event Hubs throughput units or processing units. Event Hubs enables you to focus on data processing rather than on data capture.

Scalable

With Event Hubs, you can start with data streams in megabytes, and grow to gigabytes or terabytes. The Auto-inflate feature is one of the many options available to scale the number of throughput units or processing units to meet your usage needs.

Rich ecosystem

With a broad ecosystem available for the industry-standard AMQP 1.0 protocol and SDKs available in various languages: [].NET](https://github.com/Azure/azure-sdk-for-net/), Java, Python, JavaScript, you can easily start processing your streams from Event Hubs. All supported client languages provide low-level integration. The ecosystem also provides you with seamless integration with Azure services like Azure Stream Analytics and Azure Functions and thus enables you to build serverless architectures.

Event Hubs for Apache Kafka

Event Hubs for Apache Kafka ecosystems furthermore enables Apache Kafka (1.0 and later) clients and applications to talk to Event Hubs. You don’t need to set up, configure, and manage your own Kafka and Zookeeper clusters or use some Kafka-as-a-Service offering not native to Azure.

Event Hubs premium and dedicated

Event Hubs premium caters to high-end streaming needs that require superior performance, better isolation with predictable latency and minimal interference in a managed multitenant PaaS environment. On top of all the features of the standard offering, the premium tier offers several extra features such as dynamic partition scale up, extended retention, and customer-managed-keys. For more information, see Event Hubs Premium.

Event Hubs dedicated tier offers single-tenant deployments for customers with the most demanding streaming needs. This single-tenant offering has a guaranteed 99.99% SLA and is available only on our dedicated pricing tier. An Event Hubs cluster can ingress millions of events per second with guaranteed capacity and subsecond latency. Namespaces and event hubs created within the dedicated cluster include all features of the premium offering and more. For more information, see Event Hubs Dedicated.

For more information, see comparison between Event Hubs tiers.

Event Hubs on Azure Stack Hub

The Event Hubs service on Azure Stack Hub allows you to realize hybrid cloud scenarios. Streaming and event-based solutions are supported for both on-premises and Azure cloud processing. Whether your scenario is hybrid (connected), or disconnected, your solution can support processing of events/streams at large scale. Your scenario is only bound by the Event Hubs cluster size, which you can provision according to your needs.

The Event Hubs editions (on Azure Stack Hub and on Azure) offer a high degree of feature parity. This parity means SDKs, samples, PowerShell, CLI, and portals offer a similar experience, with few differences.

For more information, see Event Hubs on Azure Stack Hub overview.

Key architecture components

Event Hubs contains the following key components.

Component

Description

Event producers

Any entity that sends data to an event hub. Event publishers can publish events using HTTPS or AMQP 1.0 or Apache Kafka (1.0 and above).

Partitions

Each consumer only reads a specific subset, or a partition, of the message stream.

Consumer groups

A view (state, position, or offset) of an entire event hub. Consumer groups enable consuming applications to each have a separate view of the event stream. They read the stream independently at their own pace and with their own offsets.

Event receivers

Any entity that reads event data from an event hub. All Event Hubs consumers connect via the AMQP 1.0 session. The Event Hubs service delivers events through a session as they become available. All Kafka consumers connect via the Kafka protocol 1.0 and later.

Throughput units (standard tier) or processing units (premium tier) or capacity units (dedicated)

Pre-purchased units of capacity that control the throughput capacity of Event Hubs.

The following figure shows the Event Hubs stream processing architecture:

Event Hub


D. Where Implemented

LeanIX


E. How it is tested

Testing Azure Event Hub involves ensuring that the service is functioning correctly and securely, and meeting the needs of all stakeholders involved in the project. Here are some steps to follow to test Azure Event Hub:

  1. Define the scope and requirements: Define the scope of the project and the requirements of all stakeholders involved in the project. This will help ensure that Azure Event Hub is designed to meet the needs of all stakeholders.

  2. Develop test cases: Develop test cases that cover all aspects of Azure Event Hub functionality, including sending and receiving events, configuring event hubs, and monitoring event hubs. The test cases should be designed to meet the needs of the organization, including scalability and resilience.

  3. Conduct unit testing: Test the individual components of Azure Event Hub to ensure that they are functioning correctly. This may involve using tools like PowerShell or Azure CLI for automated testing.

  4. Conduct integration testing: Test Azure Event Hub in an integrated environment to ensure that it works correctly with other systems and applications. This may involve testing Azure Event Hub with different operating systems, browsers, and devices.

  5. Conduct user acceptance testing: Test Azure Event Hub with end-users to ensure that it meets their needs and is easy to use. This may involve conducting surveys, interviews, or focus groups to gather feedback from users.

  6. Automate testing: Automate testing of Azure Event Hub to ensure that it is functioning correctly and meeting the needs of all stakeholders. This may involve using tools like Azure DevOps Pipelines to set up automated testing pipelines.

  7. Monitor performance: Monitor the performance of Azure Event Hub in production to ensure that it is meeting the needs of all stakeholders. This may involve setting up monitoring tools, such as Azure Monitor, to track usage and identify performance issues.

  8. Address issues: Address any issues that are identified during testing and make necessary changes to ensure that Azure Event Hub is functioning correctly and meeting the needs of all stakeholders.

By following these steps, you can ensure that Azure Event Hub is tested thoroughly and meets the needs of all stakeholders involved in the project. This can help improve the quality of Azure Event Hub and ensure that it functions correctly in a production environment.


F. 2023 Roadmap

????


G. 2024 Roadmap

????


H. Known Issues

There are several known issues that can impact Azure Event Hub. Here are some of the most common issues to be aware of:

  1. Event delivery: There may be delays in event delivery, or events may not be delivered at all. It is important to ensure that the service is properly sized and configured to avoid these issues.

  2. Security issues: Security is a critical concern when it comes to Azure Event Hub. It is important to ensure that Azure Event Hub is secured and that access to the solution is restricted to authorized personnel.

  3. Compatibility issues: Azure Event Hub may not be compatible with all platforms, devices, or languages. It is important to ensure that Azure Event Hub is compatible with the organization’s existing infrastructure before implementation.

  4. Scalability issues: Scalability issues can arise when scaling up or down the service. It is important to ensure that the service can scale to meet the needs of the organization.

  5. Integration issues: Integration issues can arise when integrating Azure Event Hub with other systems and applications. It is important to ensure that Azure Event Hub is designed to work seamlessly with other systems and applications to avoid integration issues.

  6. Testing issues: Testing issues can arise when testing Azure Event Hub. It is important to ensure that testing is carried out thoroughly and that all aspects of Azure Event Hub functionality are tested.

  7. Performance issues: Performance issues can impact the speed and reliability of Azure Event Hub. It is important to monitor performance and address any issues that arise.

  8. Licensing issues: Licensing issues can arise when using Azure Event Hub. It is important to ensure that the appropriate licensing is in place to avoid any legal issues.

Overall, Azure Event Hub requires careful planning and management to ensure that it is functioning correctly and meeting the needs of all stakeholders involved in the project. By being aware of these known issues and taking steps to address them, you can improve the quality of Azure Event Hub and ensure the success of your project.


[x] Reviewed by Enterprise Architecture

[x] Reviewed by Application Development

[x] Reviewed by Data Architecture