H lenses.io είναι μια ελληνική επιχείρηση που ανήκει στο ελληνικό δίκτυο συνεργατών της Amazon. Απαρτίζεται από 100 εργαζόμενους που εξειδικεύονται στην μηχανική και ανάλυση δεδομένων καθώς και στον προγραμματισμό. Κύριος στόχος της είναι ο εκδημοκρατισμός των τεχνολογιών δεδομένων. Για αυτό τον λόγο, η Lenses.io έχει αναπτύξει μια νεωτεριστική πλατφόρμα διαχείρισης δεδομένων που ονομάζεται Lenses. Η πλατφόρμα χρησιμοποιεί το πλαίσιο Apache Kafka ως την θεμελίωση της υποδομής διαχείρισης δεδομένων. Επιπλέον, πάνω από την υποδομή αυτή, η πλατφόρμα Lenses μπορεί να βασιστεί είτε στην υπηρεσία Amazon AWS Managed Streaming, είτε στην υπηρεσία Microsoft Azure HDInsight, είτε στην πλατφόρμα ροής (streaming platform) Aiven Kafka όσον αφορά την διαχείριση πολυμεσικών δεδομένων. Τα μοντέλα παράδοσης της προσφερόμενης πλατφόρμας διαχείρισης δεδομένων περιλαμβάνουν:
- ένα στιγμιότυπο της πλατφόρμας χωρίς χρέωση κυρίως για λόγους δοκιμής και ελέγχου της
- μια JVM stateless εφαρμογή που μπορεί να εκτελεστεί σε επιτόπιο περιβάλλον
- την διάταξη στιγμιοτύπων της σε διάφορα δημόσια νέφη
- την μορφή μια πύλης από συστάδες Kafka εξυπηρετητών που μπορεί να έχουν διαταχθεί πάνω από πολλαπλά περιβάλλοντα και νέφη.
Η lenses.io έχει ήδη εκατοντάδες πελάτες ενώ έχει δημοσιεύσει μια πληθώρα από ιστορίες επιτυχίας στην ιστοσελίδα της.
Μια πρώτη ιστορία αφορά την εταιρεία Avanza, προερχόμενη από την Σουηδία με πάνω από 1 εκατομμύρια πελάτες, η οποία παρέχει μια πρωτοποριακή ψηφιακή πλατφόρμα επενδύσεων και ταμιευτηρίων (investments & savings). Η φιλοδοξία της ήταν η πλατφόρμα αυτή να γίνει όσο δυνατόν περισσότερο ασφαλής ώστε να ενισχύει τόσο τους προγραμματιστές της όσο και τους μηχανικούς δεδομένων της. Συγκεκριμένα, επιθυμούσε την απελευθέρωση των δεδομένων της από την σχεδίαση (by design) με έναν ασφαλή τρόπο που να είναι βιώσιμος για το μέλλον της Avanza. Κύριος σκοπός ήταν η προστασία και διαχωρισμός της κλασικής διαχείρισης δεδομένων από την αναλυτική τους.
Η προαναφερόμενη φιλοδοξία και ανάγκη ικανοποιήθηκε από την lenses.io. Διότι η τελευταία παρέχει την αναγκαία παρατηρητικότητα (observability) για την πραγματοποίηση αυτής της αποστολής – δηλαδή τον διαχωρισμό των λειτουργικών περιβαλλόντων πραγματικού χρόνου από τα περιβάλλοντα αναλυτικής δεδομένων. Η παρατηρητικότητα αφορούσε συγκεκριμένα τις συστάδες Kafka και την διατήρηση της ροής των δεδομένων γεγονότων (event data). Συγκεκριμένα, η χρήση της Lenses ως πύλης παρείχε την κατάλληλη πληροφόρηση για το πως τα δεδομένα αναπαρίστανται ενώ η Lenses έγινε εκμεταλλεύσιμη και ως μηχανισμός ανάδρασης για το ίδιο το σχήμα δεδομένων.
Η δεύτερη επιλεγμένη ιστορία αφορά την εταιρεία Playtica, η οποία θεωρείται πρωτοπόρα στον τομέα των κοινωνικών παιχνιδιών για κινητά με πλέον των 27 εκατομμυρίων ενεργών χρηστών μηνιαίως και μια ομάδα με πάνω από 2.5 χιλιάδες εργαζόμενους με ειδίκευση στον προγραμματισμό, την δημιουργία ιστοριών (παιχνιδιών) και την μηχανική δεδομένων.
Η Playtiκa επέλεξε τα πλαίσια Apache Kafka & Kubernetes για να υλοποιήσει μια πλατφόρμα πυρήνα για την ανταλλαγή πληροφοριών μεταξύ μικρο-υπηρεσιών λόγω πλεονεκτημάτων απόδοσης και κλιμακωσιμότητας που φέρνει μια τέτοια αρχιτεκτονική. Όμως, η αρχιτεκτονική αυτή οδήγησε σε ορισμένες προκλήσεις:
- Κάθε έργο απαιτούσε μια ξεχωριστή συστάδα από Kafka & Kubernetes στιγμιότυπα ώστε να απομονώσει τις υπευθυνότητες αλλά και να διατηρήσει την συνέπεια και κλιμακωσιμότητα. Όμως, η εκτέλεση πολλαπλών εργαλείων ανά συστάδα θα οδηγούσε σε ένα τεράστιο κόστος υποδομής, ιδιαίτερα με την εκτέλεση χιλιάδων περιβαλλόντων
- Επιπλέον, θα έπρεπε εντατικά να εκτελούνται ενέργειες διατήρησης και ανάπτυξης για scripts και αυτοματισμό. Αυτό όχι μόνο δεν μπορούσε να καλυφθεί από τον προϋπολογισμό αλλά θα απαιτούσε και την συγκέντρωση ανθρώπινων πόρων εξειδικευμένων σε κατανεμημένες τεχνολογίες. Αυτό θα αποσπούσε τους μηχανικούς της εταιρείας από την εστίαση ως προς την παράδοση του μοναδικού προϊόντος gaming της εταιρείας
Θα πρέπει ακόμη να τονιστεί πως η Playtika επιθυμούσε να παρέχει μια ξεκάθαρη εμπειρία ανάλυσης (δεδομένων) στις διάφορες ομάδες της (πχ. σχεδίασης, ανάπτυξης) ώστε να έχουν κατάλληλη πληροφόρηση (insights) για τα δεδομένα ροών που συντελούν σε μια τέτοια εμπειρία. Αυτή η έλλειψη παρατηρητικότητας (ως προς τα δεδομένα) μείωνε την παραγωγικότητα των ομάδων ενώ η κατασκευή απαιτούμενων χαρακτηριστικών προϊόντος ήταν πολύπλοκη και δαπανηρή.
Σε όλα τα προαναφερόμενα προβλήματα, η Lenses.io έδωσε λύσεις. Πρώτα από όλα, παρέδωσε μια εμπειρία πλατφόρμας που ήταν εξευγενισμένη και έτοιμη για παραγωγή πάνω από το πλαίσιο Apacke Kafka κατά μήκος όλων των παιχνιδιών της Playtiκa που αύξησε σημαντικά την παραγωγικότητα για εκατοντάδες χρήστες. Αυτό επέτρεψε την επιτάχυνση της παράδοσης νέας αξίας στην αγορά. Χωρίς την πλατφόρμα Lenses, η εξέταση θεμάτων παραγωγής έπαιρνε ώρες ενώ με αυτήν μετατράπηκε σε μια γρήγορη και εύκολη λειτουργία. Επιπλέον, η πλατφόρμα αυτή οδήγησε σε αυξημένη παρατηρητικότητα ως προς τα σχήματα, τα δεδομένα, τους καταναλωτές, πελάτες και εφαρμογές για τους μηχανικούς δεδομένων της Playtiκa. Αυτό συνετέλεση σε επιτάχυνση διάφορων βασικών λειτουργιών. Ακόμη η πλατφόρμα Lenses προσέφερε αυξημένη ασφάλεια και ιδιωτικότητα δεδομένων, πράγματα ανεκτίμητα για μια εταιρεία όπως η Playtiκa όπου τα δεδομένα παίζουν κρίσιμο ρόλο. Εκτός από την ισχυρή ασφάλεια και παρακολούθηση, η πλατφόρμα Lenses προσέφερε και μικρότερο κόστος υποδομής λόγω του επιπέδου αυτοματοποίησης που προσφέρει και την δυνατότητα αντικατάστασης των διαφόρων εργαλείων που αρχικά έπρεπε να χρησιμοποιηθούν από την Playtiκa σε κάθε έργο.
Εν κατακλείδι, η Lenses.io προσέφερε στην Playtika επιπλέον παραγωγικότητα της τάξης των 30 λεπτών την ημέρα. Αν πολλαπλασιαστεί αυτό με 600 χρήστες κατά μήκος της μηχανικής και των λειτουργιών, το κέρδος είναι πλέον των 300 ωρών εργασίας ανά ημέρα. Εν τέλει, αυτό μεταφράζεται σε εξοικονόμηση 2 εκατομμυρίων δολάριων τον χρόνο και επομένως αντιστοιχεί σε μια επιτυχημένη επιστροφή επένδυσης (return-on-investment).
Πηγές άρθρου: