All Projects → syedhassaanahmed → azure-event-driven-data-pipeline

syedhassaanahmed / azure-event-driven-data-pipeline

Licence: MIT license
Building event-driven data ingestion pipelines in Azure

Programming Languages

C#
18002 projects
shell
77523 projects
lua
6591 projects

Projects that are alternatives of or similar to azure-event-driven-data-pipeline

AzureContainerInstancesManagement
Hosting game servers at scale using Azure Container Instances, using Azure Functions and Event Grid. Demo with OpenArena game server!
Stars: ✭ 41 (+215.38%)
Mutual labels:  azure-functions, arm-templates, azure-container-instances
Serverless Url Shortener
Azure Function for a URL shortening website. Uses serverless functions, Azure Table Storage and Application Insights.
Stars: ✭ 113 (+769.23%)
Mutual labels:  application-insights, azure-functions
Scavenger
A virtual "scavenger hunt" game for mobile devices using Unity, Azure, and PlayFab
Stars: ✭ 19 (+46.15%)
Mutual labels:  azure-functions, cosmos-db
clean-architecture-azure-cosmos-db
A starting point to build a web API to work with Azure Cosmos DB using .NET 5 and Azure Cosmos DB .NET SDK V3, based on Clean Architecture and repository design pattern. Partition key is also implemented through the repository pattern.
Stars: ✭ 277 (+2030.77%)
Mutual labels:  azure-functions, cosmos-db
cosmosdb-materialized-views
A full sample that shows how to implement real-time updated Materalized Views with CosmosDB, Change Feed and Azure Functions
Stars: ✭ 20 (+53.85%)
Mutual labels:  azure-functions, cosmos-db
jlik.me
URL Shortener project.
Stars: ✭ 31 (+138.46%)
Mutual labels:  azure-functions, cosmos-db
Hunt
Hunt is a virtual scavenger hunt app where players can join a game, select a team and solve hints to acquire treasure. The team with the most points wins.
Stars: ✭ 65 (+400%)
Mutual labels:  application-insights, azure-functions
memealyzer
Memealyzer is an app built to demonstrate some the latest and greatest Azure tech to dev, debug, and deploy microservice applications.
Stars: ✭ 97 (+646.15%)
Mutual labels:  azure-functions, cosmos-db
TextMood
A Xamarin + IoT + Azure sample that detects the sentiment of incoming text messages, performs sentiment analysis on the text, and changes the color of a Philips Hue lightbulb
Stars: ✭ 52 (+300%)
Mutual labels:  azure-functions
azure-functions-deno-worker
Run Deno 🦕 on Azure Functions ⚡️
Stars: ✭ 99 (+661.54%)
Mutual labels:  azure-functions
bagri
XML/Document DB on top of distributed cache
Stars: ✭ 40 (+207.69%)
Mutual labels:  document-database
Petabridge.Tracing.ApplicationInsights
OpenTracing adapter for Microsoft Application Insights
Stars: ✭ 30 (+130.77%)
Mutual labels:  application-insights
fn
No description or website provided.
Stars: ✭ 28 (+115.38%)
Mutual labels:  http-api
AzureWebAppSSLManager
Acquires and manages free SSL certificates for Azure Web App and Azure Functions applications.
Stars: ✭ 70 (+438.46%)
Mutual labels:  azure-functions
lila-openingexplorer
Opening explorer for lichess.org that can handle all the variants and billions of unique positions
Stars: ✭ 89 (+584.62%)
Mutual labels:  http-api
dotnet-web-benchmarks
Benchmarks of popular .net web frameworks
Stars: ✭ 22 (+69.23%)
Mutual labels:  wrk
NoSQLDataEngineering
NoSQL Data Engineering
Stars: ✭ 25 (+92.31%)
Mutual labels:  document-database
Orleans.CosmosDB
Orleans providers for Azure Cosmos DB
Stars: ✭ 36 (+176.92%)
Mutual labels:  document-database
hdocdb
HBase as a JSON Document Database
Stars: ✭ 24 (+84.62%)
Mutual labels:  document-database
Samples
Sample applications using App.Metrics
Stars: ✭ 19 (+46.15%)
Mutual labels:  application-insights

azure-event-driven-data-pipeline

Build Status

Problem

A large retailer with many source systems, wants a single source of truth of their data and be able to send updates to their consumers whenever this data is changed. They want to support an unpredictable load, with a max spike of 1500 req/sec.

This blog post describes the contents of this repo in detail.

Architecture

Deployment

Deploy to Azure

The entire deployment can be orchestrated using ARM template azuredeploy.json.

To deploy using Azure CLI;

az group deployment create -g <RESOURCE_GROUP> --template-file azuredeploy.json

Once the deployment is complete, the only manual step is to copy ConsumerReceiveFunc URL from the Azure portal and paste it multiple times (pipe | delimited) in ConsumerEgressFunc -> App Settings -> CONSUMERS.

Running load tests

We perform the load tests using Azure Container Instances. After creating resources using the above ARM template, run the following load testing script;

./generate-load.sh <RESOURCE_GROUP> <CONTAINER_NAME> https://http-ingress-func.azurewebsites.net/api/HttpIngressFunc?code=<FUNCTION_KEY>

Here is how to stream logs from the container;

az container attach -g <RESOURCE_GROUP> -n <CONTAINER_NAME>

Measuring Cosmos DB RUs using Application Insights

When we upsert into Cosmos DB, we log the Request Units consumed in Application Insights. The following Kusto query renders a timechart of RUs consumed in the last 10 minutes, aggregated on 10 seconds.

customMetrics
| where timestamp > ago(10m)
    and name == "product_RU"
| summarize avg(value) by bin(timestamp, 10s)
| render timechart

Resources

Choose between Azure services that deliver messages

Choose between Flow, Logic Apps, Functions, and WebJobs

Durable Functions overview

Understanding Serverless Cold Start

Azure Function Apps: Performance Considerations

Processing 100,000 Events Per Second on Azure Functions

Choose the right data store

Modeling document data for NoSQL databases

A fast, serverless, big data pipeline powered by a single Azure Function

Load testing with Azure Container Instances and wrk

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].