Brent Stineman – Technical Evangelist and code monkey
- CollectionProducers Your are here Massively Parallel Azure Systems w/ Jason Young Aralia HDInsight and Internet of Things w/ Tony Guidici Tuesday, 2:30pm, Tamarind
Guaranteed FIFO, with push-style API, up to 80GB maximum size, 10,000 queues per namespace, 2,000 messages per second, 256KB per message.
Express Decreases latency by storing the messages in memory Partitions Managed scale out (at max 16x)
A higher level abstraction from queues, enables pub/sub models with similar scale out capabilities and consistent pricing
Filters Allows subscribers to selectively receive messages Rules Aid in filtering and authorization Volatile Subscribers Can delete on idle, allowing for transient consumers
Event Sources Cloud Services Storage & Analytics Custom Code & 3 rd Party Services Web/Mobile User Interfaces Integration Services Event Hub - Hyper Scale - - Fully Managed - - Interoperable - - Secure - - Cost Effective -
Event Hub Publisher concept Every Event Hub has pre-defined number of partitions Every event has a partition key => mapped to one of the partitions Partition 1 Partition 2 Partition “n” Event 1 PartitionKey=A Event 1 PartitionKey=B
Critical to scaling
://.servicebus.windows.net/ /publisher/ /messages SharedAccessSignature sr=https%3a%2f%2fthatconference- ns.servicebus.windows.net%2fthatconference%2fpublishers%2fbstineman%2fmessages&sig=a3MkKnkh MZpTMz%2fnFcsCS%2fcT9rT7Wn%2fZO%2b7eztBRMkk%3d&se= &skn=Publish
Receiver connects to a partition and pull messages Limited(5) receivers for each partition Direct Receiver Partition 1 Partition 2 Partition “n” Event 1 Pkey = A Event 2 Pkey = B Receiver 6 Receiver 2 Worker “n” Receiver 1 Receiver “n” Worker 1
Register a class that implements an EventProcessor interface Client SDK will manage balancing receivers across workers Partition 1 Partition 2 Partition “n” Callback for prtn. 1 Worker 4 Callback for prtn. “n” Worker 2 Worker “n” Callback for prtn. 6 Callback for prtn. 2 Callback for prtn. 1 Callback “n” Worker 1
Consumer groups allow multiple, parallel sets of subscribers to receive the same events Pub-Sub with Event Hub Partition 1 Partition 2 Partition “n” Consumer Group C Callback for prtn. 6 Callback for prtn. 2 Worker “n” Callback for prtn. 1 Callback “n” Worker 1 Consumer Group B Callback for prtn. 6 Callback for prtn. 2 Worker “n” Callback for prtn. 1 Callback “n” Worker 1 Consumer Group A Worker “n” Callback for prtn. 6 Callback for prtn. 2 Callback for prtn. 1 Callback “n” Worker 1
Azure Worker Role (Compute) Event Hub Partition 1 Partition 2 Partition N EventProcessorHost CustomProcessor Instance 1 CustomProcessor Instance 2 CustomProcessor Instance N Azure Web Site Device sends with some key (field / area id) Event Hub pins key to a partition Readers lease a partition to read As more instances come online Partition leases reshuffle Each reader sends a partition tally to the portal
Buy Build Buy Some, Build Some Building software is not a core competency Focus on time-to-value Core competency in building software/services Focus on flexibility & control, cost minimization Strategic investment in custom service platform Custom protocols and security models Custom analytics and data processing Compose higher level services Intelligent Systems Service (ISS) Solution Core/App Platform Services ISS Platform Services Orientation to IoT Organization CharacteristicsAzure Services
Get started Visit azure.microsoft.com HDInsight and Internet of Things w/ Tony Guidici Tuesday, 2:30pm, Tamarind Massively Parallel Azure Systems w/ Jason Young Aralia Azure Event Hub – IOT at Scale w/ Brent Stineman Guava
Service Bus MessagingFeaturesBasicStandard Enterprise Messaging Queues Topics (pub-sub) Transactions, De-duplication Scheduled messages Scaled receive Partitioned entity max count Event Hub Large-scale event ingestion Pub-sub Filters Ack-based message retention Storage Retention 1 dayUp to 30 days Shared Features (across a Namespace) Brokered Connections (AMQP, HTTP long-polling) Shareable across EventHub, Queues and Topics incl. bi-directional communication Limited (100) Publisher Policy SLA
BasicStandard Enterprise Messaging Base Charge (per month) 1) $0$10 Tier (million messages per month) 1) 0-5, ,5002,500-5,000 >5B:Call us Messages (per million messages) $0.05$0.00$0.80$0.50$0.20 Event Hub Ingress Events (per million events) Event consumption free $0.028 ($70/month) $0.028 (~$70 / month) Throughput Unit (per hour) 1 MB/s Ingress, 2 MB/s Egress $0.015 (~$10 / month) $0.030 (~$20 / month) Brokered Connections # of Connections k1k-100k 100k- 500k 500k-1M >1M Call Us Charge per month per connection 3) $0 $0.00$0.03 ($0.36 per year) $0.025 ($0.300 per year) $0.015 ($0.18 per year) Storage Overage 2) Charged at regular Azure Storage charges 1)Base charge is daily prorated and is per subscription. Tiers are applied monthly per subscription 2)Event Hub: for each GB above 84GB per Throughput Unit, Queues & Topics: for each GB above 5 GB per Queue or Topic 3)Charged prorated hourly.