Veröffentlicht: 21.03.2018

HashFlare 2.0

HashFlare 2.0: μέχρι το άπειρο… και ακόμα παραπέρα

Το HashFlare 2.0 αλλάζει – όταν ξεκινήσαμε το 2015 να φτιάχνουμε την υπηρεσία μας, δεν περιμέναμε ποτέ ότι θα ξεπεράσει το ένα εκατομμύριο χρήστες μέσα σε δυόμιση χρόνια.

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

Κατά μέσο όρο στην υπηρεσία μας εγγράφονται καθημερινά 4000 νέοι χρήστες και τη χρησιμοποιούνται περίπου 8000 άτομα σε όλη τη διάρκεια της ημέρας.

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

Επειδή όλες αυτές οι μικρές παρεμβολές είναι ενδείξεις για τις συνεχείς τροποποιήσεις. Ανοίγουμε ένα νέο κεφάλαιο – και αυτό λέγεται HashFlare 2.0.

Για να σας δώσουμε μια καλύτερη εικόνα για το πόσο ουσιαστικά θα διαφέρει η νέα έκδοση του HashFlare από την παλιά (και ποιος είναι ο λόγος για το όλο θέμα), μιλήσαμε με τον Vitali Pavlov, τον υπεύθυνο σχεδίασης προϊόντων της HashCoins, ο οποίος δουλεύει στο HashFlare από την αρχή.

Όπως πάντα, οι λόγοι για την τροποποίηση βρίσκονται στο παρελθόν.

Έτσι ήταν… και έτσι θα συνεχίσει να είναι

Η ιστορία του HashFlare ξεκίνησε το 2013, όταν η εσθονική εταιρεία HashCoins έβαλε στόχο να γίνει μία από τις πρώτες εταιρείες που παράγει hardware εξόρυξης.

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

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

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

Δυσκολίες όμως υπήρχαν και από την πλευρά των χρηστών: Δεν είναι όλοι οι πελάτες μας ειδικοί επί της εξόρυξης, αλλά οι εξορύκτες ASIC δεν είναι υπολογιστές με Windows.

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

Οπότε αποφασίσαμε να ακολουθήσουμε έναν νέο δρόμο με μια υπηρεσία Cloud Mining. Η Renna Reemet, η επικεφαλής προγραμματίστρια του HashFlare, αποτέλεσε την κινητήρια δύναμη πίσω από αυτό το σχέδιο.

Κοιτάζοντας πίσω, ο Vitali έχει την αίσθηση ότι το HashFlare τον πρώτο χρόνο δημιουργήθηκε πρακτικά μόνο από τη Renna και τον ίδιο.

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

Η πρώτη έκδοση του προγράμματος Cloud Mining ήταν έτοιμη μετά από… 13 ημέρες (σύμφωνα με τον Vitali αυτό ήταν ένα από τα καλύτερα και μεγαλύτερα κατορθώματά του ως προγραμματιστής) και το HashFlare 1.0 κυκλοφόρησε εντός έξι μηνών. Δυστυχώς δεν ήταν όλα τέλεια.

«Επειδή δεν είχαμε καταλάβει, πόσο μεγάλη ήταν ολοένα αυξανόμενη τάση του Cloud Mining, δεν είχαμε φανταστεί ούτε στα πιο τρελά μας όνειρα ότι μετά από δυόμιση χρόνια θα έχουμε πάνω από ένα εκατομμύριο χρήστες.», λέει ο Vitali.

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

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

Το HashFlare ωστόσο κάτι παραπάνω από ένα παραπροϊόν: Εργαζόμαστε 24ώρες το 24ωρο και από τότε που δημιουργήθηκε η ιδέα του HashFlare, ο Vitali και η Renna απολαμβάνουν τα πλεονεκτήματα του να ζεις απευθείας στο γραφείο.

«Με το πέρασμα του χρόνου μπήκα στην ομάδα του IT νέοι άνθρωποι», θυμάται ο Vitali. «Με αυτόν τον τρόπο μειώθηκε ο φόρτος εργασίας μας και έγινε πιο εύκολο να επικεντρωθούμε στην περαιτέρω ανάπτυξη του προϊόντος και να ανταποκρινόμαστε στις παρατηρήσεις των χρηστών μας.

Παρόλα αυτά ακόμα και σήμερα πληρώνουμε κάποιες φορές το γεγονός ότι γράψαμε τον αρχικό κώδικα τόσο βιαστικά και προσπαθούμε πάντα να τον βελτιώνουμε.

Ωστόσο είμαστε πραγματικά πολύ περήφανοι για το ότι ο κώδικάς μας λειτουργεί και ότι μπορέσαμε να δημιουργήσουμε ένα προϊόν με μια σταθερή μέχρι σήμερα παρουσία στην αγορά.»

Σχεδόν τρία χρόνια αργότερα το HashFlare περιλαμβάνει τέσσερις αλγόριθμους (SCRYPT, SHA-256, ETHASH και EQUIHASH) με αυτοματοποιημένες πληρωμές σε bitcoin, Ethereum και Zcash, μια εύκολη στη χρήση λειτουργία στατιστικών στοιχείων και την προαιρετική κατανομή του ποσοστού κατακερματισμού σε mining pool.

Επίσης, έχει χρήστες από όλο τον κόσμο – μεταξύ άλλων στη Βόρεια και τη Νότια Αμερική, τη Ρωσία, την Ευρώπη και την Ασία.

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

Τι θα ακολουθήσει;

Φυσικά, δεν τελειώνουμε εδώ. Το φθινόπωρο η Renna Reemet έφυγε από το HashFlare για να εργαστεί ως προγραμματίστρια σε άλλα πρότζεκτ που δεν έχουν να κάνουν με το Cloud Mining.

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

Δεν μπορείς να αντικαταστήσεις κάποιον σαν αυτή, αλλά δε σκοπεύουμε να κάνουμε κάτι τέτοιο.

Αντίθετα, θα ξεκινήσουμε μια νέα «εποχή» και είμαστε στην ευχάριστη θέση να σας ανακοινώσουμε ότι ως επικεφαλής προγραμματισμού για το HashFlare καλωσορίζουμε κάποιον εξίσου ανιδιοτελή με τη Renna: Τον Pavel Borozdin.

Ο Pavel ήρθε στο HashFlare πριν από ένα χρόνο και δούλεψε στενά μαζί με τη Renna για να βελτιστοποιήσει την υπηρεσία μας, να διορθώσει σφάλματα και να προσθέσει νέες λειτουργίες και τεχνολογίες.

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

Ο Pavel είναι ο ιδανικός υποψήφιος για τη θέση του επικεφαλής προγραμματιστή.

Ο Pavel αναλαμβάνει τώρα το καθήκον να μεταφέρει το HashFlare 2.0 σε μια νέα αρχιτεκτονική και δεν θα του εμπιστευόμασταν ποτέ μια τέτοια εργασία, εάν δεν είχαμε απόλυτη εμπιστοσύνη σε εκείνον και τις ικανότητές του. 🙂

Γενική ανανέωση

Αυτή τη στιγμή εργαζόμαστε σε δύο πτυχές του HashFlare. Αφενός μετακομίζουμε με όλη μας τη δομή στο AWS, αφετέρου κατανέμουμε τον πυρήνα του ιστότοπού μας σε μεμονωμένες microservices. Έτσι το HashFlare 2.0 θα γίνει πιο παραγωγικό και σταθερό.

Για τους χρήστες μας αυτό σημαίνει ότι: Το σύστημα θα γίνει πιο ευέλικτο και ταυτόχρονα πιο σταθερό. Το AWS, μια λύση Cloud Hosting, καθιστά εύκολο για εμάς να αποκρούουμε επιθέσεις DDoS.

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

Μετά τη μετάβαση στο AWS τέτοιες δυσκολίες θα παρουσιάζονται σπάνια και θα αντιμετωπίζονται πιο εύκολα.

Όταν ρωτήθηκε για αλλαγές, ο Pavel είπε τα εξής:

«Το HashFlare διαθέτει μία μονολιθική αρχιτεκτονική, που ήταν επαρκής έως το 2017, για να μπορέσει να διαχειριστεί τον αριθμό των χρηστών.

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

Παλιότερα είχαμε από 15.000 έως 20.000 νέους χρήστες το μήνα, αλλά τώρα μερικές φορές φτάνουν τους 100.000.

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

Βελτιώνουμε συνεχώς τον κώδικά μας και ελέγχουμε τακτικά τις μεθόδους μας ως προς την αποτελεσματικότητά τους, αλλά μας απομένει λίγος χρόνος για να δουλέψουμε για την έκδοση 2.0.

Τον Μάρτιο του 2017 αποφασίσαμε να μεταφέρουμε τα πάντα σε μια αρχιτεκτονική microservice.

Με αυτόν τον τρόπο θα μπορέσουμε να κλιμακώσουμε την εφαρμογή απρόσκοπτα και ο φόρτος θα κατανέμεται σε διαφορετικές μονάδες του συστήματος, έτσι ώστε η υπηρεσίας μας να επιταχυνθεί σημαντικά.»

Μπορούμε επιτέλους να επικεντρωθούμε στην ανάπτυξη του συστήματος για την έκδοση 2.0. Η τρέχουσα έκδοση του HashFlare γράφτηκε σε PHP, για το HashFlare 2.0 ωστόσο διαλέξαμε τη Java.

Εκτός από το frontend και το backend θα εστιάσουμε την προσοχή μας και σε μια υπηρεσία API. Ναι, σκεφτόμαστε σοβαρά να κάνουμε το API μας όσο το δυνατόν πιο ανοιχτό για άλλους προγραμματιστές, έτσι ώστε να μπορέσουν να κυκλοφορήσουν στην αγορά δικά τους προϊόντα με βάση το HashFlare 2.0 .

Εφαρμογές για κινητές συσκευές ή bot τηλεγραφημάτων; Κανένα πρόβλημα. Και φυσικά δε θα κάνουμε απλά έναν γενικό καθαρισμό του HashFlare 2.0 αλλά θα του αλλάξουμε και την εμφάνιση.

Ωστόσο, η μοντέρνα, πλήρως αναδιαμορφωμένη σχεδίαση είναι μόνο η αιχμή του παγόβουνου: Θα παρατηρήσετε ότι η εργασία με την έκδοση 2.0 και τον πίνακα ελέγχου σας θα γίνει πολύ πιο εύκολη.

Αυτή τη στιγμή επεκτείνουμε τακτικά την ομάδα μας και αναζητούμε νέους προγραμματιστές Full Stack και Java.

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

Η μετάβαση στο HashFlare 2.0 έχει προγραμματιστεί για το 2018 – ίσως ένα ελαφρώς καθυστερημένο χριστουγεννιάτικο δώρο για σας.

Η ομάδα HashFlare

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *