Φανταστείτε αν αντί να κοιτάτε τα logs ενός ecommerce site το βράδυ για να δείτε ότι κάποιος "τα σήκωσε", μπορούσατε να δείτε σε πραγματικό χρόνο τι συμβαίνει. Και με πιτάκια. Γιατί τα events δεν είναι μόνο για IoT
59ο DotNetZone event - Το Azure δεν είναι χορτοφάγο.
Το Azure είναι κατάλληλο:
- Για φτηνό Hosting
- Μόνο για startups
- Για περιστασιακή χρήση
- Να σηκώσει ολόκληρη την παραγωγή οποιασδήποτε επιχείρησης
Μόνο μία απάντηση είναι σωστή. Κι όμως, οι περισσότερες εισαγωγικές παρουσιάσεις για Azure δίνουν την αντίθετη εντύπωση, ακόμα και ότι για σοβαρές εγκαταστάσεις καλύτερες είναι ... Antagonistikes Υπηρεσίες.
Ξεκινώντας από ένα όχι και τόσο υποθετικό παράδειγμα, ενός online travel agency του ευρωπαϊκού Top ten, θα δούμε:
- Ποιες είναι οι ανάγκες μιας επιχείρησης
- Πως καλύπτονται από τις υπηρεσίες που παρέχει το Azure
- Πως συγκρίνεται το Azure με Antagonistikes Υπηρεσίες.
The Server-SIde Story: Παράλληλος και ασύγχρονος προγραμματισμός στο .NET - I...Panagiotis Kanavos
Πως διαφέρει ο παράλληλος και ασύγχρονος προγραμματισμός στο Server και ποιές τεχνολογίες του .NET μας επιτρέπουν να πετύχουμε μεγάλο throughput και να αποφύγουμε meltdowns?
Parallel and Asynchronous Programming - ITProDevConnections 2012 (English)Panagiotis Kanavos
This document discusses parallel and asynchronous programming. It begins by explaining how processors are getting smaller while networks are getting worse, requiring more efficient parallel programming approaches. It then covers different parallel programming models in .NET like data parallelism using PLINQ, task parallelism using TPL, asynchronous programming with async/await, and concurrent collections. It also discusses challenges like cancellation, progress reporting, and synchronization, and how modern .NET addresses these.
Parallel and Asynchronous Programming - ITProDevConnections 2012 (Greek)Panagiotis Kanavos
This document discusses parallel and asynchronous programming using the Task Parallel Library (TPL) in .NET. It covers how processors are getting smaller so parallelism is important. It provides examples of using TPL for data parallelism by partitioning work over collections and task parallelism by breaking work into steps. It also discusses asynchronous programming with async/await and how TPL handles cancellation, progress reporting, and synchronization contexts.
Pithos is an object storage service similar to Amazon S3 that is written in Python. It has clients for various platforms that communicate with its REST API based on the OpenStack Object Storage API. The Pithos client is a .NET application that synchronizes local folders to Pithos accounts. It handles file events asynchronously using multiple agents to avoid hanging, while efficiently hashing and uploading/downloading large files over unstable networks.
59ο DotNetZone event - Το Azure δεν είναι χορτοφάγο.
Το Azure είναι κατάλληλο:
- Για φτηνό Hosting
- Μόνο για startups
- Για περιστασιακή χρήση
- Να σηκώσει ολόκληρη την παραγωγή οποιασδήποτε επιχείρησης
Μόνο μία απάντηση είναι σωστή. Κι όμως, οι περισσότερες εισαγωγικές παρουσιάσεις για Azure δίνουν την αντίθετη εντύπωση, ακόμα και ότι για σοβαρές εγκαταστάσεις καλύτερες είναι ... Antagonistikes Υπηρεσίες.
Ξεκινώντας από ένα όχι και τόσο υποθετικό παράδειγμα, ενός online travel agency του ευρωπαϊκού Top ten, θα δούμε:
- Ποιες είναι οι ανάγκες μιας επιχείρησης
- Πως καλύπτονται από τις υπηρεσίες που παρέχει το Azure
- Πως συγκρίνεται το Azure με Antagonistikes Υπηρεσίες.
The Server-SIde Story: Παράλληλος και ασύγχρονος προγραμματισμός στο .NET - I...Panagiotis Kanavos
Πως διαφέρει ο παράλληλος και ασύγχρονος προγραμματισμός στο Server και ποιές τεχνολογίες του .NET μας επιτρέπουν να πετύχουμε μεγάλο throughput και να αποφύγουμε meltdowns?
Parallel and Asynchronous Programming - ITProDevConnections 2012 (English)Panagiotis Kanavos
This document discusses parallel and asynchronous programming. It begins by explaining how processors are getting smaller while networks are getting worse, requiring more efficient parallel programming approaches. It then covers different parallel programming models in .NET like data parallelism using PLINQ, task parallelism using TPL, asynchronous programming with async/await, and concurrent collections. It also discusses challenges like cancellation, progress reporting, and synchronization, and how modern .NET addresses these.
Parallel and Asynchronous Programming - ITProDevConnections 2012 (Greek)Panagiotis Kanavos
This document discusses parallel and asynchronous programming using the Task Parallel Library (TPL) in .NET. It covers how processors are getting smaller so parallelism is important. It provides examples of using TPL for data parallelism by partitioning work over collections and task parallelism by breaking work into steps. It also discusses asynchronous programming with async/await and how TPL handles cancellation, progress reporting, and synchronization contexts.
Pithos is an object storage service similar to Amazon S3 that is written in Python. It has clients for various platforms that communicate with its REST API based on the OpenStack Object Storage API. The Pithos client is a .NET application that synchronizes local folders to Pithos accounts. It handles file events asynchronously using multiple agents to avoid hanging, while efficiently hashing and uploading/downloading large files over unstable networks.
Συμβουλές για σωστό και αξιόπιστο Backup - TicTac Hybrid Backup SolutionTicTac Data Recovery
Μάθετε τι πρέπει να γνωρίζετε για ένα σωστό και ασφαλές backup για την επιχείρηση σας ή για τα προσωπικά σας δεδομένα, ούτως ώστε να είστε ασφαλείς, τόσο απο μηχανικές αστοχίες, ανθρώπινο λάθος ή επίθεση απο Ransomware.
Μια πλήρη παρουσίαση για το πώς πρέπει να σκεφτείτε να κάνετε το Backup σας με τον σωστό τρόπο.
Πώς μπορώ να έχω ασφαλές Backup;
Τι πρέπει να κάνω backup;
Ποιά λύση μπορεί να μου δώσει Backup αξιόπιστο και λειτουργικό;
Backup στο Cloud
Υβρυδικό Backup (Local Backup + Clound Backup)
Στο εργαστήριο της TicTac Data Recovery έχουμε δεί πάρα πολλά περιστατικά απώλειας δεδομένων. Οι βασικότερες αιτίες απώλειας είναι το ανθρώπινο λάθος και η βλάβη σε κάποιο σκληρό δίσκο. Τον τελευταίο καιρό βλέπουμε επίσης πολλά περιστατικά Ransomware.
TicTac Data Recovery: http://www.tictac.gr/
Blog για τις απειλές και την ασφάλεια: http://tictac.gr/blog
Ανάκτηση Δεδομένων απο χαλασμένο δίσκο: https://tictac.gr/vlaves-sklirou-diskou
Microsoft Dynamics CRM 3 Launch Event: Presentation of the new Olympiacos Members solution.
Case study for Microsoft at the official launch of Microsoft Dynamics CRM 3 Server in Athens Intercontinental, May 2006
65ο DotNetZone event: Tpl data flow και railway oriented programmingPanagiotis Kanavos
Χρειάστηκε ποτέ να γράψετε σε ένα log ή Sqlite από 3 threads? Ή να διαβάσετε ενός μήνα logs χωρίς να σκάσει το μηχάνημα? Το κρυφό διαμάντι του .NET, μπορεί απλουστεύει από απλά fire-and-forget tasks μέχρι βαρά processing pipelines
Ομιλία: Παναγιώτης Τσαντίλας, Ιδρυτής & Διευθύνων Σύμβουλος, Paloservices
Τίτλος Ομιλίας: «Η τεχνητή νοημοσύνη στην ειδησεογραφία και στα social media»
Παρουσίαση που πραγματοποιήθηκε στις 8 Ιουνίου 2007 στο τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΚΠΑ.
Πηγαίος κώδικας, πληροφορίες και προτάσεις για περαιτέρω μελέτη: http://www.forums.gr/showpost.php?p=462712
Συμβουλές για σωστό και αξιόπιστο Backup - TicTac Hybrid Backup SolutionTicTac Data Recovery
Μάθετε τι πρέπει να γνωρίζετε για ένα σωστό και ασφαλές backup για την επιχείρηση σας ή για τα προσωπικά σας δεδομένα, ούτως ώστε να είστε ασφαλείς, τόσο απο μηχανικές αστοχίες, ανθρώπινο λάθος ή επίθεση απο Ransomware.
Μια πλήρη παρουσίαση για το πώς πρέπει να σκεφτείτε να κάνετε το Backup σας με τον σωστό τρόπο.
Πώς μπορώ να έχω ασφαλές Backup;
Τι πρέπει να κάνω backup;
Ποιά λύση μπορεί να μου δώσει Backup αξιόπιστο και λειτουργικό;
Backup στο Cloud
Υβρυδικό Backup (Local Backup + Clound Backup)
Στο εργαστήριο της TicTac Data Recovery έχουμε δεί πάρα πολλά περιστατικά απώλειας δεδομένων. Οι βασικότερες αιτίες απώλειας είναι το ανθρώπινο λάθος και η βλάβη σε κάποιο σκληρό δίσκο. Τον τελευταίο καιρό βλέπουμε επίσης πολλά περιστατικά Ransomware.
TicTac Data Recovery: http://www.tictac.gr/
Blog για τις απειλές και την ασφάλεια: http://tictac.gr/blog
Ανάκτηση Δεδομένων απο χαλασμένο δίσκο: https://tictac.gr/vlaves-sklirou-diskou
Microsoft Dynamics CRM 3 Launch Event: Presentation of the new Olympiacos Members solution.
Case study for Microsoft at the official launch of Microsoft Dynamics CRM 3 Server in Athens Intercontinental, May 2006
65ο DotNetZone event: Tpl data flow και railway oriented programmingPanagiotis Kanavos
Χρειάστηκε ποτέ να γράψετε σε ένα log ή Sqlite από 3 threads? Ή να διαβάσετε ενός μήνα logs χωρίς να σκάσει το μηχάνημα? Το κρυφό διαμάντι του .NET, μπορεί απλουστεύει από απλά fire-and-forget tasks μέχρι βαρά processing pipelines
Ομιλία: Παναγιώτης Τσαντίλας, Ιδρυτής & Διευθύνων Σύμβουλος, Paloservices
Τίτλος Ομιλίας: «Η τεχνητή νοημοσύνη στην ειδησεογραφία και στα social media»
Παρουσίαση που πραγματοποιήθηκε στις 8 Ιουνίου 2007 στο τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΚΠΑ.
Πηγαίος κώδικας, πληροφορίες και προτάσεις για περαιτέρω μελέτη: http://www.forums.gr/showpost.php?p=462712
2. Η περίπτωση Netflix
• The Netflix microservices
architecture is a metrics
generator that occasionally
streams movies
• 750 Bn metrics/μέρα
• 300 Bn app events/μέρα
• Πως πάμε σήμερα παιδιά?
3. Πως το κάνουν?
• Event ingestion με Kafka κ.α.
• Επεξεργασία με RxJava
• Ναι, τα Reactive Extensions είναι!
• Προώθηση σε επόμενα βήματα
4. Όποιος τρώει ξανατρώει
• Σπάσιμο σε βήματα αντί για
περίπλοκη επεξεργασία
• Σταδιακές ομαδοποιήσεις
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. Unified Log Processing
• Τι είναι
• Συλλογή των log όλων των συστημάτων σε ένα σημείο
• Αποθήκευση σε «αρχική» μορφή
• Επεξεργασία με Hadoop/Spark/ElasticSearch για εξαγωγή metrics, συμπερασμάτων
• Εξαγωγή μετρήσεων σε Data Warehouse, παραγωγή reports κλπ
• Μικρή παρεκτροπή
• Ευτυχώς είχαμε ESP
7. Τι άλλαξε ?
• Αντί για περίπλοκα γεγονότα, πολλά γεγονότα
• Αντί για BPM, IoT και Ops
• Syslog από το RPi ή το ESP8266?
• UDP message για κάθε καρέ του Continuum ?
8. Κι εμένα τι με νοιάζει?
• Θέλω να τρέξω υπηρεσία IoT, όχι να κάνω διδακτορικό
• Θέλω να ξέρω ότι οι καφετιέρες μου θα χαλάσουν πριν χαλάσουν!
• Αστείο? Ford Sync κανείς?
• Θέλω να ξέρω τι γίνεται στο e-Shop μου, όχι να μασάω logs!
• Έχεις δει πόσο πάει το Splunk?
• Θέλω να ξέρω ότι κάποιοι πελάτες της B2B εφαρμογής μου έχουν
πρόβλημα ΠΡΙΝ ακυρώσουν το συμβόλαιο.
• Με ταράξανε οι screen scrapers!
18. Sliding Window
• Όλοι οι δυνατοί συνδυασμοί με επικάλυψη
• SLIDINGWINDOW (timeunit ,windowsize )
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. Ζόρικα 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. Και η Amazon ?
• Kinesis Firehose
• Φόρτωμα Streaming Data
• Kinesis Streams
• Custom Processing. Συνδιασμός
Event Processor και Stream Jobs
(output)
• Kinesis Analytics
• Θα είναι αντίστοιχο του Stream
Analytics
• Περισσότερο IaaS παρά PaaS
22. Κοινά Patterns
• Think big, start small
• Η αρχιτεκτονική θα πρέπει να καλύπτει μεγάλους όγκους αλλά
• Ξεκινήστε με μικρά δείγματα
• Ευκολότερο debugging όταν είναι λίγα τα events!
• Don’t interrupt the fast Path!
• Μην μπλοκάρετε το fast path με επεξεργασίες, ETL. Αυτό γίνεται και μετά.
• Data Lake!
• Βασιστείτε στο IoT Reference Architecture
• Τα υποσυστήματα «κουμπώνουν» σε αυτή την αρχιτεκτονική
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. Αγοράζω ή φτιάχνω ?
Αγοράζω
• Δεν έχω Bn/μέρα
• Τα αποτελέσματα πιο σημαντικά από το
κόστος
• Τώρα ξεκινάω
• Δεν έχω διδακτορικό στο CEP
• Δεν θέλω να διαχειριστώ το infrastructure
Φτιάχνω
• Έχω πολύ μεγάλους όγκους (Bn/day)
• Ξέρω τι θέλω
• Είδη πληροφορίας, ερωτήσεις, ειδοποιήσεις
• Ξέρω τι κάνω
• Έχω PhD
• Διάβασα ένα white paper
• Καλή Γνώση των διαθέσιμων συστημάτων
• Storm, Spark, Kafka, Docker, Mesos, Kubernetes
• Διαχειρισιμότητα
• Μεγάλη ομάδα, χρηματοδότηση, χρόνος