Challenges of a multi tenant kafka service

16
Thomas Alex Principal Program Manager Microsoft

Transcript of Challenges of a multi tenant kafka service

Page 1: Challenges of a multi tenant kafka service

Thomas Alex

Principal Program Manager

Microsoft

Page 2: Challenges of a multi tenant kafka service

Introduction

Goals

Solution

Tenant model

Deployment architecture

Open Discussion

Page 3: Challenges of a multi tenant kafka service

Siphon: Enterprise Data Bus

Near real-time

Compliant

No data dead-ends

Hyper scale

Reliable

Network effects

8 millionEVENTS PER SECOND PEAK INGRESS

800 TB (10 GB per Sec)INGRESS PER DAY

1,800PRODUCTION KAFKA BROKERS

450TOPICS

15 Sec99th PERCENTILE LATENCY

Page 4: Challenges of a multi tenant kafka service

SDK Collector

Siphon

connector

API

Management UI

Metadata dB

Page 5: Challenges of a multi tenant kafka service

Customer: Major Car Manufacturer

Scenario: Connected Car Telematics

Data producers

Millions of cars

Routed via cloud gateway to Siphon endpoint

Data consumers

Spark streaming applications

Siphon compute forwards data to blob storage

Page 6: Challenges of a multi tenant kafka service

UI

Backend

Source

systemsDestination

systems

Data

producers

• Send data

reliably

Customers

• Manage capacity

• Manage

tenant/topic/subscription

• Pay for the service

Data

consumers

• Consume

data in

NRT

Service owners

• Manage service

with SLA

Page 7: Challenges of a multi tenant kafka service

Managed service

Availability

Reliability

Isolation

Low cost

Self-service

Regulatory Compliance

Data sharing

Page 8: Challenges of a multi tenant kafka service

Instance

Instance

Instance

Customer A

Customer B

Customer C

Multiple instances

Single tenant per instance

Page 9: Challenges of a multi tenant kafka service

Customer A

Customer B

Customer C

Single instance

Multiple tenant per instance

Instance

Page 10: Challenges of a multi tenant kafka service

Customer A

Customer B

Customer C

Multiple instances

Multiple tenant per instance

Instance

Instance

Page 11: Challenges of a multi tenant kafka service

Siphon Deployment Unit

• Ingress service (Collector)

• Kafka cluster

• Connector (HLC)

• Monitoring

Management Service

• Metadata

• Self-serve API

• Self-serve UI

Collector HLC

APIMetadata dB

Page 12: Challenges of a multi tenant kafka service

Tenant

Principals (administrators, users)

Resources

Endpoint

Topics

Subscriptions

Quota

Storage capacity

Throughput

Threshold for auto-approval

Default limits

Topic capacity

Retention

Partitions

Tenant 3Traffic

Manager 3

Tenant 2Traffic

Manager 2

Siphon DU 1

Collector HLC

Siphon DU 2

Collector HLC

Siphon DU 3

Collector HLC

Tenant 1Traffic

Manager 1

Page 13: Challenges of a multi tenant kafka service

Scalability

Underlying infra is IaaS

Isolation

Availability and Latency SLA

Regulatory compliance guarantees

Enterprise cloud depends on data security & privacy

Regulatory framework for certifications e.g. SOC, FEDRAMP, HIPAA

Data sharing

Manageability

Provisioning

Monitoring

Maintainability

Page 14: Challenges of a multi tenant kafka service

Comments / Feedback

https://www.linkedin.com/in/tomalex/

[email protected]

Page 15: Challenges of a multi tenant kafka service

Compliance regions North America

South America

Europe

Asia Pacific

Go Local Australia

Canada

India

Japan

United Kingdom

Sovereign Germany

China

Government

Page 16: Challenges of a multi tenant kafka service

Self-service Tenant creation & management

Topic creation & management

Topic health & data preview

Subscription creation & management

AuthN Azure AD based for Self-service API & UI

Cert based for data producers and consumers

AuthZ Siphon Metadata used to authorize provisioning & management (tenants, topics, etc.)

Kafka ACLs for topic level access control

Throttling EventServer throttles based on quota limit

Monitoring Operational metrics in a single system (MDM) for monitoring and alerting

Data quality Audit Trail system for e2e latency and completeness monitoring