O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Περατζάδα στο Azure Event Hub

208 visualizações

Publicada em

Φανταστείτε αν αντί να κοιτάτε τα logs ενός ecommerce site το βράδυ για να δείτε ότι κάποιος "τα σήκωσε", μπορούσατε να δείτε σε πραγματικό χρόνο τι συμβαίνει. Και με πιτάκια. Γιατί τα events δεν είναι μόνο για IoT

Publicada em: Dados e análise
  • Entre para ver os comentários

  • Seja a primeira pessoa a gostar disto

Περατζάδα στο Azure Event Hub

  1. 1. Περατζάδα στο Event Hub Παναγιώτης Καναβός, dotNETZone moderator
  2. 2. Η περίπτωση Netflix • The Netflix microservices architecture is a metrics generator that occasionally streams movies • 750 Bn metrics/μέρα • 300 Bn app events/μέρα • Πως πάμε σήμερα παιδιά?
  3. 3. Πως το κάνουν? • Event ingestion με Kafka κ.α. • Επεξεργασία με RxJava • Ναι, τα Reactive Extensions είναι! • Προώθηση σε επόμενα βήματα
  4. 4. Όποιος τρώει ξανατρώει • Σπάσιμο σε βήματα αντί για περίπλοκη επεξεργασία • Σταδιακές ομαδοποιήσεις
  5. 5. The Old New Thing • Event Stream Processing/Complex Event Processing • Ερευνητικό πεδίο το 1990 • The next big thing το 2005+ • Apama 2005 • Esper 2006 • Event Processing Patterns, Gartner, 2009 • SQL Server StreamInsight 2010
  6. 6. Unified Log Processing • Τι είναι • Συλλογή των log όλων των συστημάτων σε ένα σημείο • Αποθήκευση σε «αρχική» μορφή • Επεξεργασία με Hadoop/Spark/ElasticSearch για εξαγωγή metrics, συμπερασμάτων • Εξαγωγή μετρήσεων σε Data Warehouse, παραγωγή reports κλπ • Μικρή παρεκτροπή • Ευτυχώς είχαμε ESP 
  7. 7. Τι άλλαξε ? • Αντί για περίπλοκα γεγονότα, πολλά γεγονότα • Αντί για BPM, IoT και Ops • Syslog από το RPi ή το ESP8266? • UDP message για κάθε καρέ του Continuum ?
  8. 8. Κι εμένα τι με νοιάζει? • Θέλω να τρέξω υπηρεσία IoT, όχι να κάνω διδακτορικό • Θέλω να ξέρω ότι οι καφετιέρες μου θα χαλάσουν πριν χαλάσουν! • Αστείο? Ford Sync κανείς? • Θέλω να ξέρω τι γίνεται στο e-Shop μου, όχι να μασάω logs! • Έχεις δει πόσο πάει το Splunk? • Θέλω να ξέρω ότι κάποιοι πελάτες της B2B εφαρμογής μου έχουν πρόβλημα ΠΡΙΝ ακυρώσουν το συμβόλαιο. • Με ταράξανε οι screen scrapers!
  9. 9. Event Hub – Μέλος ευυπόληπτης οικογένειας
  10. 10. Event Hub Event Hub Partition Partition Partition Partition Events Consumer Group Consumer Group Cold Storage Event Processor Event Processor Event Processor Event Processor
  11. 11. Χαρακτηριστικά • Πρωτόκολλα • AMQP • HTTP • MQTT • Custom Gateway
  12. 12. Stream Analytics • SQL-based stream data processing • Windowing functions • Low Latency • Πολλά output targets
  13. 13. Τι θα παίξουμε σήμερα?
  14. 14. Outputs • SQL Database • Blob storage • Table Storage • Service Bus Queue • Service Bus Topic • Document DB • Data Lake • Power BI • Event Hub
  15. 15. Windows • Χρονική ομαδοποίηση event • Απαραίτητο για την • Επικάλυψη? • Tumbling • Hopping • Sliding • Παρκούρ ?
  16. 16. Tumbling Window • Καμία επικάλυψη • TUMBLINGWINDOW(timeunit ,windowsize,[offsetsize]) • TUMBLINGWINDOW(minute ,5)
  17. 17. Hopping Window • Επικαλυπτόμενα • HOPPINGWINDOW(timeunit ,windowsize, hopsize,[offsetsize]) • HOPPININGWINDOW(minute ,10,5)
  18. 18. Sliding Window • Όλοι οι δυνατοί συνδυασμοί με επικάλυψη • SLIDINGWINDOW (timeunit ,windowsize )
  19. 19. Ζόρικα Queries – Fraud Detection SELECT System.Timestamp as Time, CS1.CallingIMSI, CS1.CallingNum as CallingNum1, CS2.CallingNum as CallingNum2, CS1.SwitchNum as Switch1, CS2.SwitchNum as Switch2 FROM CallStream CS1 TIMESTAMP BY CallRecTime JOIN CallStream CS2 TIMESTAMP BY CallRecTime ON CS1.CallingIMSI = CS2.CallingIMSI AND DATEDIFF(ss, CS1, CS2) BETWEEN 1 AND 5 WHERE CS1.SwitchNum != CS2.SwitchNum
  20. 20. Ζόρικα Queries – Διάρκεια σφάλματος SELECT LAG(time) OVER (LIMIT DURATION(hour, 24) WHEN weight < 20000 ) [StartFault], [time] [EndFault] FROM input WHERE [weight] < 20000 AND LAG(weight) OVER (LIMIT DURATION(hour, 24)) > 20000 Σφάλμα στην πλάστιγγα βγάζει το βάρος των αυτοκινήτων > 20 τόνους.
  21. 21. Και η Amazon ? • Kinesis Firehose • Φόρτωμα Streaming Data • Kinesis Streams • Custom Processing. Συνδιασμός Event Processor και Stream Jobs (output) • Kinesis Analytics • Θα είναι αντίστοιχο του Stream Analytics • Περισσότερο IaaS παρά PaaS
  22. 22. Κοινά Patterns • Think big, start small • Η αρχιτεκτονική θα πρέπει να καλύπτει μεγάλους όγκους αλλά • Ξεκινήστε με μικρά δείγματα • Ευκολότερο debugging όταν είναι λίγα τα events! • Don’t interrupt the fast Path! • Μην μπλοκάρετε το fast path με επεξεργασίες, ETL. Αυτό γίνεται και μετά. • Data Lake! • Βασιστείτε στο IoT Reference Architecture • Τα υποσυστήματα «κουμπώνουν» σε αυτή την αρχιτεκτονική
  23. 23. Azure IoT Reference Architecture Solution PortalProvisioning API Identity & Registry Stores Stream Event Processor Analytics/ Machine Learning Data Visualization & Presentation Device State Store Gateway Storage IP capable devices Existing IoT devices Low power devices PresentationDevice and Event Processing Data Transport Devices and Data Sources Cloud Gate- way Agent Libs Agent Libs Control System Worker Role Agent Libs
  24. 24. Αγοράζω ή φτιάχνω ? Αγοράζω • Δεν έχω Bn/μέρα • Τα αποτελέσματα πιο σημαντικά από το κόστος • Τώρα ξεκινάω • Δεν έχω διδακτορικό στο CEP • Δεν θέλω να διαχειριστώ το infrastructure Φτιάχνω • Έχω πολύ μεγάλους όγκους (Bn/day) • Ξέρω τι θέλω • Είδη πληροφορίας, ερωτήσεις, ειδοποιήσεις • Ξέρω τι κάνω •  Έχω PhD •  Διάβασα ένα white paper • Καλή Γνώση των διαθέσιμων συστημάτων • Storm, Spark, Kafka, Docker, Mesos, Kubernetes • Διαχειρισιμότητα • Μεγάλη ομάδα, χρηματοδότηση, χρόνος

×