Λογότυπο Zephyrnet

Παρακολούθηση γραμμής παραγωγής Krones σε πραγματικό χρόνο με την υπηρεσία διαχείρισης Amazon για το Apache Flink | Υπηρεσίες Ιστού της Amazon

Ημερομηνία:

Κρόνες παρέχει σε ζυθοποιίες, εμφιαλωτές ποτών και παραγωγούς τροφίμων σε όλο τον κόσμο μεμονωμένα μηχανήματα και πλήρεις γραμμές παραγωγής. Κάθε μέρα, εκατομμύρια γυάλινα μπουκάλια, κονσέρβες και δοχεία PET περνούν από μια γραμμή Krones. Οι γραμμές παραγωγής είναι πολύπλοκα συστήματα με πολλά πιθανά σφάλματα που θα μπορούσαν να σταματήσουν τη γραμμή και να μειώσουν την απόδοση παραγωγής. Η Krones θέλει να εντοπίσει την αστοχία όσο το δυνατόν νωρίτερα (μερικές φορές ακόμη και πριν συμβεί) και να ενημερώσει τους χειριστές της γραμμής παραγωγής για να αυξήσουν την αξιοπιστία και την απόδοση. Πώς λοιπόν να εντοπίσετε μια αποτυχία; Η Krones εξοπλίζει τις γραμμές τους με αισθητήρες για τη συλλογή δεδομένων, οι οποίοι στη συνέχεια μπορούν να αξιολογηθούν βάσει κανόνων. Η Krones, ως κατασκευαστής γραμμής, καθώς και ο χειριστής της γραμμής έχουν τη δυνατότητα να δημιουργήσουν κανόνες παρακολούθησης για μηχανές. Επομένως, οι εμφιαλωτές ποτών και άλλοι χειριστές μπορούν να ορίσουν το δικό τους περιθώριο σφάλματος για τη γραμμή. Στο παρελθόν, η Krones χρησιμοποιούσε ένα σύστημα βασισμένο σε μια βάση δεδομένων χρονοσειρών. Οι κύριες προκλήσεις ήταν ότι αυτό το σύστημα ήταν δύσκολο να εντοπιστεί σφάλματα και επίσης τα ερωτήματα αντιπροσώπευαν την τρέχουσα κατάσταση των μηχανών αλλά όχι τις μεταβάσεις κατάστασης.

Αυτή η ανάρτηση δείχνει πώς η Krones δημιούργησε μια λύση ροής για να παρακολουθεί τις γραμμές τους, με βάση Amazon Kinesis και Διαχειριζόμενη υπηρεσία Amazon για Apache Flink. Αυτές οι πλήρως διαχειριζόμενες υπηρεσίες μειώνουν την πολυπλοκότητα της δημιουργίας εφαρμογών ροής με το Apache Flink. Η Managed Service for Apache Flink διαχειρίζεται τα υποκείμενα στοιχεία του Apache Flink που παρέχουν ανθεκτική κατάσταση εφαρμογής, μετρήσεις, αρχεία καταγραφής και άλλα, και το Kinesis σάς δίνει τη δυνατότητα να επεξεργάζεστε οικονομικά δεδομένα ροής σε οποιαδήποτε κλίμακα. Εάν θέλετε να ξεκινήσετε με τη δική σας εφαρμογή Apache Flink, ρίξτε μια ματιά στο Αποθετήριο GitHub για δείγματα που χρησιμοποιούν τα Java, Python ή SQL API του Flink.

Επισκόπηση της λύσης

Η παρακολούθηση της γραμμής του Krones είναι μέρος του Krones Shopfloor Guidance Σύστημα. Παρέχει υποστήριξη στην οργάνωση, ιεράρχηση, διαχείριση και τεκμηρίωση όλων των δραστηριοτήτων της εταιρείας. Τους επιτρέπει να ειδοποιούν έναν χειριστή εάν το μηχάνημα είναι σταματημένο ή απαιτούνται υλικά, ανεξάρτητα από το πού βρίσκεται ο χειριστής στη γραμμή. Οι κανόνες παρακολούθησης αποδεδειγμένης κατάστασης είναι ήδη ενσωματωμένοι, αλλά μπορούν επίσης να οριστούν από το χρήστη μέσω της διεπαφής χρήστη. Για παράδειγμα, εάν ένα συγκεκριμένο σημείο δεδομένων που παρακολουθείται παραβιάζει ένα όριο, μπορεί να υπάρχει ένα μήνυμα κειμένου ή ένα έναυσμα για μια εντολή συντήρησης στη γραμμή.

Το σύστημα παρακολούθησης συνθηκών και αξιολόγησης κανόνων είναι χτισμένο σε AWS, χρησιμοποιώντας υπηρεσίες ανάλυσης AWS. Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική.

Διάγραμμα Αρχιτεκτονικής για Παρακολούθηση Γραμμής Παραγωγής Krones

Σχεδόν κάθε εφαρμογή ροής δεδομένων αποτελείται από πέντε επίπεδα: πηγή δεδομένων, απορρόφηση ροής, αποθήκευση ροής, επεξεργασία ροής και έναν ή περισσότερους προορισμούς. Στις επόμενες ενότητες, βουτάμε βαθύτερα σε κάθε επίπεδο και πώς λειτουργεί λεπτομερώς η λύση παρακολούθησης γραμμής, που κατασκευάστηκε από την Krones.

Πηγή δεδομένων

Τα δεδομένα συλλέγονται από μια υπηρεσία που εκτελείται σε μια συσκευή αιχμής που διαβάζει πολλά πρωτόκολλα όπως το Siemens S7 ή το OPC/UA. Τα ακατέργαστα δεδομένα υποβάλλονται σε προεπεξεργασία για τη δημιουργία μιας ενοποιημένης δομής JSON, η οποία καθιστά ευκολότερη την επεξεργασία αργότερα στη μηχανή κανόνων. Ένα δείγμα ωφέλιμου φορτίου που έχει μετατραπεί σε JSON μπορεί να μοιάζει με το εξής:

{
  "version": 1,
  "timestamp": 1234,
  "equipmentId": "84068f2f-3f39-4b9c-a995-d2a84d878689",
  "tag": "water_temperature",
  "value": 13.45,
  "quality": "Ok",
  "meta": {      
    "sequenceNumber": 123,
    "flags": ["Fst", "Lst", "Wmk", "Syn", "Ats"],
    "createdAt": 12345690,
    "sourceId": "filling_machine"
  }
}

Κατάποση ροής

AWS IoT Greengrass είναι μια ανοιχτού κώδικα Internet of Things (IoT) υπηρεσία χρόνου εκτέλεσης και cloud. Αυτό σας επιτρέπει να ενεργείτε σε δεδομένα τοπικά και να συγκεντρώνετε και να φιλτράρετε δεδομένα συσκευής. Το AWS IoT Greengrass παρέχει προκατασκευασμένα στοιχεία που μπορούν να αναπτυχθούν στο edge. Η λύση γραμμής παραγωγής χρησιμοποιεί το στοιχείο διαχείρισης ροής, το οποίο μπορεί να επεξεργαστεί δεδομένα και να τα μεταφέρει σε προορισμούς AWS, όπως π.χ AWS IoT Analytics, Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) και Kinesis. Ο διαχειριστής ροής αποθηκεύει και συγκεντρώνει εγγραφές και στη συνέχεια τις στέλνει σε μια ροή δεδομένων Kinesis.

Αποθήκευση ροής

Η δουλειά του χώρου αποθήκευσης ροής είναι να αποθηκεύει τα μηνύματα με τρόπο ανεκτικό σε σφάλματα και να το κάνει διαθέσιμο για κατανάλωση σε μία ή περισσότερες εφαρμογές καταναλωτών. Για να επιτευχθεί αυτό στο AWS, οι πιο κοινές τεχνολογίες είναι το Kinesis και Amazon Managed Streaming για το Apache Kafka (Amazon MSK). Για την αποθήκευση των δεδομένων αισθητήρων μας από τις γραμμές παραγωγής, η Krones επιλέγει το Kinesis. Το Kinesis είναι μια υπηρεσία ροής δεδομένων χωρίς διακομιστή που λειτουργεί σε οποιαδήποτε κλίμακα με χαμηλή καθυστέρηση. Τα θραύσματα σε μια ροή δεδομένων Kinesis είναι μια μοναδικά προσδιορισμένη ακολουθία εγγραφών δεδομένων, όπου μια ροή αποτελείται από ένα ή περισσότερα θραύσματα. Κάθε θραύσμα έχει χωρητικότητα ανάγνωσης 2 MB/s και ικανότητα εγγραφής 1 MB/s (με μέγιστο 1,000 εγγραφές/δευτερόλεπτα). Για να αποφευχθεί η επίτευξη αυτών των ορίων, τα δεδομένα θα πρέπει να κατανέμονται μεταξύ των θραυσμάτων όσο το δυνατόν πιο ομοιόμορφα. Κάθε εγγραφή που αποστέλλεται στο Kinesis έχει ένα κλειδί κατάτμησης, το οποίο χρησιμοποιείται για την ομαδοποίηση δεδομένων σε ένα θραύσμα. Επομένως, θέλετε να έχετε μεγάλο αριθμό κλειδιών διαμερισμάτων για ομοιόμορφη κατανομή του φορτίου. Ο διαχειριστής ροής που εκτελείται στο AWS IoT Greengrass υποστηρίζει τυχαίες εκχωρήσεις κλειδιών διαμερισμάτων, πράγμα που σημαίνει ότι όλες οι εγγραφές καταλήγουν σε ένα τυχαίο θραύσμα και το φορτίο κατανέμεται ομοιόμορφα. Ένα μειονέκτημα των τυχαίων αναθέσεων κλειδιών διαμερισμάτων είναι ότι οι εγγραφές δεν αποθηκεύονται με τη σειρά στο Kinesis. Εξηγούμε πώς να το λύσετε αυτό στην επόμενη ενότητα, όπου μιλάμε για υδατογραφήματα.

Υδατογραφήματα

A υδατογράφημα είναι ένας μηχανισμός που χρησιμοποιείται για την παρακολούθηση και τη μέτρηση της προόδου του χρόνου συμβάντος σε μια ροή δεδομένων. Η ώρα συμβάντος είναι η χρονική σήμανση από τη στιγμή που δημιουργήθηκε το συμβάν στην πηγή. Το υδατογράφημα υποδεικνύει την έγκαιρη πρόοδο της εφαρμογής επεξεργασίας ροής, επομένως όλα τα συμβάντα με προηγούμενη ή ίση χρονική σήμανση θεωρούνται ως επεξεργασμένα. Αυτές οι πληροφορίες είναι απαραίτητες για το Flink για την προώθηση του χρόνου συμβάντος και την ενεργοποίηση σχετικών υπολογισμών, όπως αξιολογήσεις παραθύρων. Η επιτρεπόμενη υστέρηση μεταξύ του χρόνου συμβάντος και του υδατογραφήματος μπορεί να ρυθμιστεί για να προσδιορίσει πόσο χρόνο θα πρέπει να περιμένετε για καθυστερημένα δεδομένα προτού θεωρήσετε ότι ένα παράθυρο έχει ολοκληρωθεί και προωθήσετε το υδατογράφημα.

Η Krones διαθέτει συστήματα σε όλο τον κόσμο και χρειάζεται για τη διαχείριση καθυστερημένων αφίξεων λόγω απωλειών σύνδεσης ή άλλων περιορισμών δικτύου. Ξεκίνησαν παρακολουθώντας καθυστερημένες αφίξεις και ορίζοντας τον προεπιλεγμένο Flink καθυστερημένο χειρισμό στη μέγιστη τιμή που είδαν σε αυτήν τη μέτρηση. Αντιμετώπισαν προβλήματα με το συγχρονισμό του χρόνου από τις συσκευές άκρων, που τους οδηγούν σε έναν πιο εξελιγμένο τρόπο υδατογράφησης. Δημιούργησαν ένα παγκόσμιο υδατογράφημα για όλους τους αποστολείς και χρησιμοποίησαν τη χαμηλότερη τιμή ως υδατογράφημα. Οι χρονικές σημάνσεις αποθηκεύονται σε ένα HashMap για όλα τα εισερχόμενα συμβάντα. Όταν τα υδατογραφήματα εκπέμπονται περιοδικά, χρησιμοποιείται η μικρότερη τιμή αυτού του HashMap. Για να αποφευχθεί η στασιμότητα των υδατογραφημάτων λόγω έλλειψης δεδομένων, διαμόρφωσαν ένα idleTimeOut παράμετρος, η οποία αγνοεί χρονικές σημάνσεις που είναι παλαιότερες από ένα συγκεκριμένο όριο. Αυτό αυξάνει τον λανθάνοντα χρόνο, αλλά δίνει ισχυρή συνέπεια δεδομένων.

public class BucketWatermarkGenerator implements WatermarkGenerator<DataPointEvent> {
private HashMap <String, WatermarkAndTimestamp> lastTimestamps;
private Long idleTimeOut;
private long maxOutOfOrderness;
}

Ροή επεξεργασίας

Αφού συλλεχθούν τα δεδομένα από αισθητήρες και εισαχθούν στο Kinesis, πρέπει να αξιολογηθούν από μια μηχανή κανόνων. Ένας κανόνας σε αυτό το σύστημα αντιπροσωπεύει την κατάσταση μιας μεμονωμένης μέτρησης (όπως η θερμοκρασία) ή μιας συλλογής μετρήσεων. Για την ερμηνεία μιας μέτρησης, χρησιμοποιούνται περισσότερα από ένα σημεία δεδομένων, που είναι ένας υπολογισμός κατάστασης. Σε αυτήν την ενότητα, εξετάζουμε βαθύτερα την κατάσταση κλειδώματος και την κατάσταση εκπομπής στο Apache Flink και πώς χρησιμοποιούνται για τη δημιουργία του μηχανισμού κανόνων Krones.

Ελέγξτε το μοτίβο κατάστασης ροής και μετάδοσης

Στο Apache Flink, κατάσταση αναφέρεται στην ικανότητα του συστήματος να αποθηκεύει και να διαχειρίζεται πληροφορίες επίμονα σε βάθος χρόνου και λειτουργιών, επιτρέποντας την επεξεργασία δεδομένων ροής με υποστήριξη για υπολογισμούς κατάστασης.

Η μοτίβο κατάστασης εκπομπής επιτρέπει την κατανομή μιας κατάστασης σε όλες τις παράλληλες περιπτώσεις ενός τελεστή. Επομένως, όλοι οι χειριστές έχουν την ίδια κατάσταση και τα δεδομένα μπορούν να υποβληθούν σε επεξεργασία χρησιμοποιώντας την ίδια κατάσταση. Αυτά τα δεδομένα μόνο για ανάγνωση μπορούν να απορροφηθούν χρησιμοποιώντας μια ροή ελέγχου. Μια ροή ελέγχου είναι μια κανονική ροή δεδομένων, αλλά συνήθως με πολύ χαμηλότερο ρυθμό δεδομένων. Αυτό το μοτίβο σάς επιτρέπει να ενημερώνετε δυναμικά την κατάσταση σε όλους τους τελεστές, επιτρέποντας στον χρήστη να αλλάξει την κατάσταση και τη συμπεριφορά της εφαρμογής χωρίς να χρειάζεται αναδιάταξη. Πιο συγκεκριμένα, η κατανομή του κράτους γίνεται με τη χρήση ενός ρεύματος ελέγχου. Με την προσθήκη μιας νέας εγγραφής στη ροή ελέγχου, όλοι οι χειριστές λαμβάνουν αυτήν την ενημέρωση και χρησιμοποιούν τη νέα κατάσταση για την επεξεργασία νέων μηνυμάτων.

Αυτό επιτρέπει στους χρήστες της εφαρμογής Krones να εισάγουν νέους κανόνες στην εφαρμογή Flink χωρίς να την επανεκκινήσουν. Αυτό αποφεύγει το χρόνο διακοπής λειτουργίας και προσφέρει μια εξαιρετική εμπειρία χρήστη καθώς οι αλλαγές συμβαίνουν σε πραγματικό χρόνο. Ένας κανόνας καλύπτει ένα σενάριο προκειμένου να ανιχνεύσει μια απόκλιση διαδικασίας. Μερικές φορές, τα δεδομένα του μηχανήματος δεν είναι τόσο εύκολο να ερμηνευτούν όσο φαίνεται με την πρώτη ματιά. Εάν ένας αισθητήρας θερμοκρασίας στέλνει υψηλές τιμές, αυτό μπορεί να υποδηλώνει σφάλμα, αλλά και να είναι αποτέλεσμα μιας συνεχιζόμενης διαδικασίας συντήρησης. Είναι σημαντικό να βάλετε τις μετρήσεις στο πλαίσιο και να φιλτράρετε ορισμένες τιμές. Αυτό επιτυγχάνεται με μια έννοια που ονομάζεται ομαδοποίηση.

Ομαδοποίηση μετρήσεων

Η ομαδοποίηση δεδομένων και μετρήσεων σάς επιτρέπει να ορίσετε τη συνάφεια των εισερχόμενων δεδομένων και να παράγετε ακριβή αποτελέσματα. Ας δούμε το παράδειγμα στο παρακάτω σχήμα.

Ομαδοποίηση μετρήσεων

Στο Βήμα 1, ορίζουμε δύο ομάδες συνθηκών. Η ομάδα 1 συλλέγει την κατάσταση του μηχανήματος και ποιο προϊόν διέρχεται από τη γραμμή. Η ομάδα 2 χρησιμοποιεί την τιμή των αισθητήρων θερμοκρασίας και πίεσης. Μια ομάδα συνθηκών μπορεί να έχει διαφορετικές καταστάσεις ανάλογα με τις τιμές που λαμβάνει. Σε αυτό το παράδειγμα, η ομάδα 1 λαμβάνει δεδομένα ότι το μηχάνημα λειτουργεί και η φιάλη του ενός λίτρου επιλέγεται ως προϊόν. Αυτό δίνει σε αυτήν την ομάδα το κράτος ACTIVE. Η ομάδα 2 έχει μετρήσεις για τη θερμοκρασία και την πίεση. Και οι δύο μετρήσεις είναι πάνω από τα όριά τους για περισσότερο από 5 λεπτά. Αυτό έχει ως αποτέλεσμα η ομάδα 2 να βρίσκεται στο α WARNING κατάσταση. Αυτό σημαίνει ότι η ομάδα 1 αναφέρει ότι όλα είναι καλά και η ομάδα 2 όχι. Στο Βήμα 2, τα βάρη προστίθενται στις ομάδες. Αυτό είναι απαραίτητο σε ορισμένες περιπτώσεις, επειδή οι ομάδες ενδέχεται να αναφέρουν αντικρουόμενες πληροφορίες. Σε αυτό το σενάριο, η ομάδα 1 αναφέρει ACTIVE και εκθέσεις της ομάδας 2 WARNING, επομένως δεν είναι ξεκάθαρο για το σύστημα ποια είναι η κατάσταση της γραμμής. Μετά την προσθήκη των βαρών, οι πολιτείες μπορούν να ταξινομηθούν, όπως φαίνεται στο βήμα 3. Τέλος, η κατάσταση με την υψηλότερη κατάταξη επιλέγεται ως η νικήτρια, όπως φαίνεται στο Βήμα 4.

Αφού αξιολογηθούν οι κανόνες και οριστεί η τελική κατάσταση της μηχανής, τα αποτελέσματα θα υποβληθούν σε περαιτέρω επεξεργασία. Η ενέργεια που γίνεται εξαρτάται από τη διαμόρφωση του κανόνα. Αυτό μπορεί να είναι μια ειδοποίηση προς τον χειριστή της γραμμής για την ανανέωση των υλικών, τη συντήρηση ή απλώς μια οπτική ενημέρωση στο ταμπλό. Αυτό το τμήμα του συστήματος, το οποίο αξιολογεί μετρήσεις και κανόνες και αναλαμβάνει ενέργειες με βάση τα αποτελέσματα, αναφέρεται ως κινητήρας κανόνα.

Κλιμάκωση του κινητήρα κανόνα

Επιτρέποντας στους χρήστες να δημιουργήσουν τους δικούς τους κανόνες, η μηχανή κανόνων μπορεί να έχει μεγάλο αριθμό κανόνων που πρέπει να αξιολογήσει και ορισμένοι κανόνες ενδέχεται να χρησιμοποιούν τα ίδια δεδομένα αισθητήρα με άλλους κανόνες. Το Flink είναι ένα κατανεμημένο σύστημα που κλιμακώνεται πολύ καλά οριζόντια. Για να διανείμετε μια ροή δεδομένων σε πολλές εργασίες, μπορείτε να χρησιμοποιήσετε το keyBy() μέθοδος. Αυτό σας επιτρέπει να χωρίσετε μια ροή δεδομένων με λογικό τρόπο και να στείλετε μέρη των δεδομένων σε διαφορετικούς διαχειριστές εργασιών. Αυτό γίνεται συχνά επιλέγοντας ένα αυθαίρετο κλειδί, ώστε να έχετε ένα ομοιόμορφα κατανεμημένο φορτίο. Σε αυτή την περίπτωση, ο Krones πρόσθεσε α ruleId στο σημείο δεδομένων και το χρησιμοποίησε ως κλειδί. Διαφορετικά, τα σημεία δεδομένων που χρειάζονται υποβάλλονται σε επεξεργασία από άλλη εργασία. Η ροή δεδομένων με κλειδί μπορεί να χρησιμοποιηθεί σε όλους τους κανόνες όπως μια κανονική μεταβλητή.

Προορισμοι

Όταν ένας κανόνας αλλάζει την κατάστασή του, οι πληροφορίες αποστέλλονται σε μια ροή Kinesis και στη συνέχεια μέσω Amazon EventBridge στους καταναλωτές. Ένας από τους καταναλωτές δημιουργεί μια ειδοποίηση από το συμβάν που μεταδίδεται στη γραμμή παραγωγής και ειδοποιεί το προσωπικό να ενεργήσει. Για να μπορέσει να αναλύσει τις αλλαγές της κατάστασης του κανόνα, μια άλλη υπηρεσία εγγράφει τα δεδομένα σε ένα Amazon DynamoDB πίνακας για γρήγορη πρόσβαση και υπάρχει ένα TTL για τη μεταφόρτωση μακροπρόθεσμου ιστορικού στο Amazon S3 για περαιτέρω αναφορές.

Συμπέρασμα

Σε αυτήν την ανάρτηση, σας δείξαμε πώς η Krones κατασκεύασε ένα σύστημα παρακολούθησης γραμμής παραγωγής σε πραγματικό χρόνο στο AWS. Η Managed Service for Apache Flink επέτρεψε στην ομάδα Krones να ξεκινήσει γρήγορα εστιάζοντας στην ανάπτυξη εφαρμογών και όχι στην υποδομή. Οι δυνατότητες σε πραγματικό χρόνο του Flink επέτρεψαν στις Krones να μειώσουν το χρόνο διακοπής λειτουργίας του μηχανήματος κατά 10% και να αυξήσουν την απόδοση έως και 5%.

Εάν θέλετε να δημιουργήσετε τις δικές σας εφαρμογές ροής, δείτε τα διαθέσιμα δείγματα στο Αποθετήριο GitHub. Εάν θέλετε να επεκτείνετε την εφαρμογή Flink με προσαρμοσμένες υποδοχές, βλ Διευκολύνουμε τη δημιουργία εφαρμογών σύνδεσης με το Apache Flink: Παρουσιάζοντας το Async Sink. Το Async Sink είναι διαθέσιμο σε Apache Flink έκδοση 1.15.1 και μεταγενέστερη.


Σχετικά με τους Συγγραφείς

Florian Mair είναι Senior Solutions Architect και ειδικός σε ροή δεδομένων στην AWS. Είναι ένας τεχνολόγος που βοηθά τους πελάτες στην Ευρώπη να επιτύχουν και να καινοτομήσουν λύνοντας επιχειρηματικές προκλήσεις χρησιμοποιώντας τις υπηρεσίες AWS Cloud. Εκτός από την εργασία ως αρχιτέκτονας λύσεων, ο Florian είναι παθιασμένος ορειβάτης και έχει σκαρφαλώσει μερικά από τα ψηλότερα βουνά σε όλη την Ευρώπη.

Emil Dietl είναι Senior Tech Lead στην Krones που ειδικεύεται στη μηχανική δεδομένων, με βασικό τομέα στο Apache Flink και στις μικροϋπηρεσίες. Το έργο του συχνά περιλαμβάνει την ανάπτυξη και συντήρηση λογισμικού κρίσιμης σημασίας. Εκτός της επαγγελματικής του ζωής, εκτιμά βαθιά το να περνά ποιοτικό χρόνο με την οικογένειά του.

Simon Peyer είναι αρχιτέκτονας λύσεων στην AWS με έδρα την Ελβετία. Είναι πρακτικός πρακτικός και είναι παθιασμένος με τη σύνδεση της τεχνολογίας και των ανθρώπων που χρησιμοποιούν τις υπηρεσίες AWS Cloud. Ιδιαίτερη εστίαση για αυτόν είναι η ροή δεδομένων και οι αυτοματισμοί. Εκτός από τη δουλειά, ο Σάιμον απολαμβάνει την οικογένειά του, την ύπαιθρο και την πεζοπορία στα βουνά.

spot_img

Τελευταία Νοημοσύνη

spot_img