Your SlideShare is downloading. ×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Sensordatenauswertung mit Microsoft Azure (Developer Week 2013)

278
views

Published on

Haben Sie sich auch schon gewünscht, Ihre Geräte zentral über das Internet überwachen und steuern zu können, seien es nun Maschinen, Haushaltsgeräte oder Smart Devices im Bereich der Hausautomation? …

Haben Sie sich auch schon gewünscht, Ihre Geräte zentral über das Internet überwachen und steuern zu können, seien es nun Maschinen, Haushaltsgeräte oder Smart Devices im Bereich der Hausautomation?
Im Rahmen dieses Vortrags lernen Sie eine exemplarische Architektur unter Verwendung von Microsoft Azure zur Lösung dieses Problems kennen.
Die von den Geräten empfangenen Statusmeldungen bzw. Events werden dabei zentral gespeichert, wodurch komplexe Auswertungen und Abfragen möglich sind.
Oftmals sollen aber nicht nur die empfangenen Daten ausgewertet, sondern einzelne Geräte gezielt konfiguriert oder geschaltet werden, was besondere Herausforderungen an die Architektur mit sich bringt, denn nicht alles was technisch machbar ist, ist unter Kostenaspekten auch sinnvoll.
Da es "die eine" Lösung für alle Probleme nicht gibt, können Sie dank einer kurzen Darstellung der unterschiedlichen Methoden, sowie ihrer Vor- und Nachteile, die geeigneten für Ihren Anwendungszweck auswählen.

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
278
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Schalten und (Ver-)walten mit Microsoft Azure Sensordatenauswertung mit Microsoft Azure
  • 2. Kommunikation ist alles Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 2 © Zühlke 2013
  • 3. Kommunikation ist alles ? Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 3 © Zühlke 2013
  • 4. Die Herausforderungen Tausende Geräte Internet- Latenz anbindung Datensicherheit Kosten Begrenzte Resourcen Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 4 © Zühlke 2013
  • 5. Ein erster Ansatz Azure Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 5 © Zühlke 2013
  • 6. Ein erster Ansatz Azure Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 6 © Zühlke 2013
  • 7. Ein erster Ansatz Azure Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 7 © Zühlke 2013
  • 8. Last Verteilung Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 6 © Zühlke 2013
  • 9. Last Verteilung Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 9 © Zühlke 2013
  • 10. Neue Anforderungen Warum hat er es nicht gleich gesagt? Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls Ahja, wir brauchen noch eine Auswertung über die letzten 6 Monate. 10. Mai 2013 Folie 7 © Zühlke 2013
  • 11. Neue Anforderungen Problem Auswirkungen Lösung Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls •Es existiert keine Historie •Auswertungen über Geschehnisse aus der Vergangenheit nicht möglich •Speicherung aller Statusänderungen 10. Mai 2013 Folie 11 © Zühlke 2013
  • 12. Ermittlung des aktuellen Zustands Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 9 © Zühlke 2013
  • 13. Snapshots Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 10 © Zühlke 2013
  • 14. Ist eine SQL Datenbank in diesem Fall das Beste? SQL Azure Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls Table Storage 10. Mai 2013 Folie 11 © Zühlke 2013
  • 15. Zwischenstand { "DeviceProperties": { "$values": [ { "Key": "Temperature", "Value": "21" }] }, "SourceId": "df0ebd9e-df12-4a67-b794-9b94046a4079", "Version": 1 } Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 12 © Zühlke 2013
  • 16. Zwischenstand { "DeviceProperties": { "$values": [ { "Key": "Temperature", "Value": "21" }] }, "SourceId": "df0ebd9e-df12-4a67-b794-9b94046a4079", "Version": 1 } PartitionKey : Device ID RowKey : Version Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 16 © Zühlke 2013
  • 17. Zwischenstand { } "DeviceProperties": { "$values": [ { "Key": "Temperature", "Value": "21" }] }, "SourceId": "df0ebd9e-df12-4a67-b794-9b94046a4079", "Version": 1 "HMAC": "80070713463e7749b90c2dc24911e275" PartitionKey : Device ID RowKey : Version Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 17 © Zühlke 2013
  • 18. Datenauswertungen Sie haben die Wahl Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls Schalten und (Ver-)walten mit Microsoft Azure Folie 13 10. Mai 2013 Henrik Puls © Zühlke 2013
  • 19. Datenauswertung Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 14 © Zühlke 2013
  • 20. Datenauswertung Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 15 © Zühlke 2013
  • 21. Datenauswertung Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 16 © Zühlke 2013
  • 22. Datenauswertung Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 22 © Zühlke 2013
  • 23. HDInsight Apache Hadoop on Azure Split (k1, v1) Sort by k1 Merge (k1, [v1, v2, …, vn]) Mapper Mapper Reducer Mapper Input data Reducer Reducer Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls Result data 10. Mai 2013 Folie 18 © Zühlke 2013
  • 24. Steuerung der Geräte Wie kann ein Gerät, das keine öffentliche IP-Adresse besitzt, angesprochen werden? Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls Schalten und (Ver-)walten mit Microsoft Azure Folie 19 10. Mai 2013 Henrik Puls © Zühlke 2013
  • 25. Kommunikation Polling Polling mit exponentiellem Backoff Long Polling Web sockets Push notifications Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls SMS (z.B. twillio 0,07€ pro SMS) 10. Mai 2013 Folie 20 © Zühlke 2013
  • 26. Polling Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 21 © Zühlke 2013
  • 27. Kommunikation über Subscriptions (Long polling) 19,0 Command Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 22 © Zühlke 2013
  • 28. Kommunikation über Subscriptions (Long polling) 19,0 Command Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 28 © Zühlke 2013
  • 29. Kommunikation über Subscriptions (Long polling) 19,0 Command Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 29 © Zühlke 2013
  • 30. Kommunikation über Subscriptions (Long polling) 19,0 Command Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 30 © Zühlke 2013
  • 31. Kommunikation über Subscriptions (Long polling) 19,0 Command Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 31 © Zühlke 2013
  • 32. Kommunikation über Subscriptions (Long polling) 21,0 Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 32 © Zühlke 2013
  • 33. Kommunikation über Subscriptions (Long polling) 21,0 Event Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 33 © Zühlke 2013
  • 34. Kommunikation über Subscriptions (Long polling) Event 21,0 Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 34 © Zühlke 2013
  • 35. Provisioning Registration URIs, ACS Credentials Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 35 © Zühlke 2013
  • 36. Skalierung • Maximale Größe eines Storage Accounts beträgt 100 /200 TB – Bis zu 5 / 20 Storage Accounts für eine Azure Subscription • Maximal 10.000 Queues/Topics in einem Service Bus Namespaces – Bis zu 50 Namespaces für eine Azure Subscription • WASABi zum Autoscaling der Web- und Worker Roles (Microsoft Enterprise Library Autoscaling Application Block) Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 24 © Zühlke 2013
  • 37. Event Fan-in Durchsatz: ~ 2000 Nachrichten / Sekunde Erreichbarer Durchsatz verringert sich, da bei mehreren Subscriptions Nachrichten dupliziert werden. Topics skalieren nicht automatisch! Maximal: 2000 Subscriptions je Topic Table Storage Durchsatz: ~ 2000 Nachrichten / Sekunde pro Table Storage Partition ~ 20.000 Nachrichten / Sekunde pro Storage Account Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 37 © Zühlke 2013
  • 38. Command Fan-out Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 26 © Zühlke 2013
  • 39. Blick auf das Ganze Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 39 © Zühlke 2013
  • 40. Sicherheit • Principle of least privilege • Access Control Services (ACS) für Service Bus • Shared Access Policies • Verwendung von Filtern • Absicherung des Übertragungskanals – Mutual Authentication – SSL – HMAC Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 28 © Zühlke 2013
  • 41. Sicherheit Shared Access Policies Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 29 © Zühlke 2013
  • 42. Performance / Ausfallsicherheit Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 30 © Zühlke 2013
  • 43. Performance • Statusaktualisierungen auf dem Client sammeln und als Batch übertragen • Bei Bedarf den Übertragungsintervall anpassen • Batch Inserts verwenden, falls möglich • Ausnutzung der maximalen Nachrichtengröße • Evtl. zu hohe End-to-End Latenz – Status auf dem Client Faken – Zusätzliche Subscription für Live Monitoring Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 31 © Zühlke 2013
  • 44. Table Storage Performance • Bis zu 500 / 2.000 Entitäten pro Sekunde je Partition • Bis zu 5.000 / 20.000 Entitäten pro Sekunde • Wichtig: – Mehrere Threads verwenden – Batch inserts verwenden – ServicePointManager.DefaultConnectionLimit = 100; – ServicePointManager.Expect100Continue = false; – ServicePointManager.UseNagleAlgorithm = false; Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 32 © Zühlke 2013
  • 45. Sprechen wir über den Preis • Annahmen – – – – – – • 10.000 Geräte 1 Statusaktualisierung alle 5 Minuten mit 1kB Größe 100 Kommandos pro Tag Long polling mit 55s Timeout Jeweils 2 Rollen (SLA) Maximal 10MB Daten pro Gerät in der SQL Datenbank Achtung – Die Preisberechnung soll nur eine grobe Vorstellung der Kosten geben – Unter anderem entstehen zusätzliche Kosten für: – Ausgehendes Datenvolumen – Weitere Projektionen – Zusätzliche Worker zur Verringerung der End-to-End Latenz – Zusätzliche Webroles Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 33 © Zühlke 2013
  • 46. Sprechen wir über den Preis Stand: 16.06.2013 Dienst Geamtkosten bei 10k je Monat Long polling (Service Bus Topics) 354,48€ 47520 Leere Nachrichten pro Monat (55s Timeout, 30 Tage) * 10k = 476 Millionen Kommandos (Service Bus Topics) 44,69€ 3000 Kommandos pro Monat (x2 für In & Out) * 10k = 60 Millionen Events (Service Bus Topic) 128,84€ 8640 Nachrichten (x2 für In & Out für Storage Writer) * 10k = 173 Millionen Speicher lokal redundant 1 Aktualisierung alle 5 Minuten je 1 KB 8,44 MB pro Monat * 10k = 83 GB 4,34€ (Kosten addieren sich je Monat) Speichertransaktionen 6,48€ 1 Aktualisierung alle 5 Minuten je 1 KB 8640 Transaktionen pro Monat * 10k = 87 Millionen Workerroles 42,90€ 4 Extra Small instances (Provisioning) Workerroles 257,37€ 6 Small instances Projektion (Service Bus Subscription) 64,05€ 8640 Transaktionen * 10k = 86 Millionen SQL Datenbank 130,94€ 10 MB Daten je Gerät = 100 GB 1034,09€ Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 34 © Zühlke 2013
  • 47. Kostenentwicklung über die Jahre 2000 0,40 € 1.867,37 € 1800 0,35 € 1600 0,30 € 1.450,73 € 1400 0,25 € 1.242,41 € 1200 1.138,25 € 1034,09 1000 0,19 € 800 0,15 € 0,15 € 600 0,12 € 0,11 € 0,10 € 0,20 € 0,10 € 400 0,05 € 200 0 0,00 € 1 2 4 Gesamtkosten Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 8 16 Kosten je Gerät 10. Mai 2013 Folie 35 © Zühlke 2013
  • 48. Fazit Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls Schalten und (Ver-)walten mit Microsoft Azure Folie 36 10. Mai 2013 Henrik Puls © Zühlke 2013
  • 49. Fazit • Hohe Kosten für Aufbau und Betrieb eines eigenen Data Centers können vermieden werden • Gute Skalierbarkeit für tausende Geräte • Die entstehenden Kosten beeinflussen die Architektur maßgeblich • Die eine Lösung für alle Probleme existiert nicht • Aber es lässt sich für viele Probleme eine gute Lösung mit Azure realisieren Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 37 © Zühlke 2013
  • 50. Fragen Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 38 © Zühlke 2013
  • 51. Weitere Informationen • Using Service Bus for Things June 2012 MSDN Magazine "Using Service Bus for Things" • A Smart Thermostat on the Service Bus July 2012 MSDN Magazine "A Smart Thermostat on the Service Bus" • Scalability Targets for Storage Accounts http://blogs.msdn.com/b/windowsazure/archive/2012/11/02/ windows-azure-s-flat-network-storage-and-2012-scalabilitytargets.aspx Schalten und (Ver-)walten mit Microsoft Azure | Henrik Puls 10. Mai 2013 Folie 39 © Zühlke 2013
  • 52. Vernetzen Sie sich mit mir Henrik Puls © Zühlke 2013