
Πριν από σχεδόν τέσσερα χρόνια αρχίσαμε να σχεδιάζουμε ένα θεμελιωδώς νέο σύστημα διανομής email, το Mailion, το οποίο έχει σχεδιαστεί για εταιρικές επικοινωνίες. Η λύση μας βασίζεται στην αρχιτεκτονική μικροϋπηρεσιών Cloud Native, μπορεί να συνεργαστεί με περισσότερους από 1 χρήστες ταυτόχρονα και θα είναι έτοιμη να καλύψει το 000% των αναγκών μεγάλων εταιρειών.
Κατά τη διάρκεια της εργασίας στο Mailion, η ομάδα μεγάλωσε αρκετές φορές και τώρα σχεδόν 70 προγραμματιστές συμμετέχουν στο προϊόν. Έχουμε διανύσει πολύ δρόμο από την ιδέα και τα πρώτα πρωτότυπα μέχρι το στάδιο της πιλοτικής εφαρμογής μιας εμπορικής έκδοσης. Ήρθε η ώρα να πούμε στη Habr τι είδους προϊόν δημιουργούμε, πώς είναι δομημένο και λειτουργεί το σύστημα αλληλογραφίας μας, ποια στοίβα τεχνολογίας χρησιμοποιούμε και γιατί η λύση μας είναι το μέλλον των εταιρικών επικοινωνιών. Πάμε!
Χαμπρ, γεια! Ονομάζομαι Anton Gerasimov, διευθύνω το τμήμα ανάπτυξης στο κέντρο ανάπτυξης της εταιρείας στη Μόσχα . Σήμερα θα θέλαμε να παρουσιάσουμε το Mailion, ένα θεμελιωδώς νέο ρωσικό σύστημα αλληλογραφίας εταιρικής κατηγορίας που θα γίνει μια αξιόλογη εναλλακτική λύση στις δημοφιλείς ξένες λύσεις. Το Mailion έχει υψηλή χωρητικότητα φόρτωσης, πρωτοφανή επεκτασιμότητα και ανοχή σφαλμάτων και απαιτεί ελάχιστη προσοχή από τους διαχειριστές του συστήματος.
Επί του παρόντος, η ανάπτυξή μας βρίσκεται στο στάδιο beta, αλλά πολύ σύντομα, σύμφωνα με το σχέδιό μας, μέχρι το τέλος του 2020, θα γίνει πιλοτική εφαρμογή ενός εμπορικού προϊόντος.
Ως επί το πλείστον, αυτό το άρθρο περιέχει γενικές πληροφορίες - είναι απλά αδύνατο να μιλήσουμε για ένα σύνθετο προϊόν λογισμικού σε μία δημοσίευση. Σκοπεύω να κάνω μια σειρά άρθρων που θα μιλάνε για βασικές τεχνολογίες. Εν τω μεταξύ, για τη διευκόλυνσή σας, προσφέρω το ακόλουθο περιεχόμενο:
Τι είναι ένα εταιρικό σύστημα email;
Η απλή και προφανής απάντηση σε αυτήν την ερώτηση είναι ένα εργαλείο ηλεκτρονικού ταχυδρομείου και ημερολογίου. Αλλά ο διάβολος, όπως ξέρουμε, βρίσκεται στις λεπτομέρειες.
Έτσι, δημιουργούμε μια νέα γενιά αλληλογραφίας με προηγμένες λειτουργίες προγραμματισμού, που απευθύνεται στον εταιρικό τομέα και τις μεγάλες εταιρείες. Στόχος μας είναι να συνεργαστούμε με μεγάλες εμπορικές και κυβερνητικές δομές, οι οποίες μπορούν να έχουν από 30 χιλιάδες έως αρκετές εκατοντάδες χιλιάδες θέσεις εργασίας.
Το σύστημά μας βασίζεται στην αρχή της λύσης πλατφόρμας. Βασιζόμαστε στην ιδέα των Unified Communications και προσφέρουμε ένα ενιαίο εργαλείο για εργασία με αλληλογραφία, ημερολόγιο και έγγραφα σε ένα σύστημα, με τη δυνατότητα να αυξήσουμε τη λειτουργικότητα της λύσης συνδέοντας πρόσθετες μονάδες και στοιχεία. Οι επεκτάσεις, παρεμπιπτόντως, μπορούν να αναπτυχθούν όχι μόνο από εμάς, αλλά και από τους συνεργάτες μας. Για το σκοπό αυτό, θα δημοσιευτεί μια αρκετά ευρεία εργαλειοθήκη SDK.
Ποιος χρειάζεται άλλο ταχυδρομείο και γιατί;
Οι μεγάλες επιχειρήσεις έχουν σχηματίσει μια ενδιαφέρουσα τάση - οι επιχειρήσεις αντιμετωπίζουν την ανάγκη για λειτουργίες συνεργασίας. Μιλάμε όχι μόνο για την άμεση αλληλεπίδραση μεταξύ των εργαζομένων μέσω της αποστολής κάτι, αλλά για την κοινή πρόσβαση σε γραμματοκιβώτια και λογαριασμούς ρόλων, τη δυνατότητα εργασίας με μεγάλες ομάδες συμμετεχόντων και την παρουσία διαφόρων εταιρικών λειτουργιών.
Μια τυπική εταιρική λειτουργία είναι ένας μηχανισμός για την ανάκληση γραμμάτων, ο οποίος είναι εξαιρετικά δημοφιλής σε μεγάλες εταιρείες, αλλά πρακτικά δεν χρησιμοποιείται ούτε στο τμήμα B2C ούτε σε μικρές επιχειρήσεις. Το θέμα είναι ότι μεταξύ μικρών ομάδων χρηστών η πιθανότητα να προκύψει μια τέτοια ανάγκη είναι αρκετά μικρή και το κόστος ενός σφάλματος είναι πολύ μικρότερο. Επιπλέον, είναι απλά αδύνατο να εφαρμοστεί αυτή η λειτουργία εκτός του εταιρικού συστήματος αλληλογραφίας - ακόμη και το Google mail δεν ανακαλεί γράμματα με τη μορφή που έχουν συνηθίσει οι χρήστες του Exchange. Η ρίζα του προβλήματος βρίσκεται στον σχεδιασμό πρωτοκόλλων αλληλογραφίας από τη δεκαετία του '80 του περασμένου αιώνα.
Διεξάγαμε δεκάδες ομάδες εστίασης, ερευνήσαμε εκατοντάδες χρήστες και αφιερώσαμε αρκετές χιλιάδες ανθρωποώρες για να εντοπίσουμε τυπικά σενάρια χρήσης email. Αυτό μας επέτρεψε να μελετήσουμε προσεκτικά τις ανάγκες των πιθανών χρηστών μας και τα χαρακτηριστικά των επιχειρηματικών διαδικασιών τους. Με βάση τα δεδομένα που ελήφθησαν, αποφασίσαμε να αναπτύξουμε μια αρχιτεκτονική που θα μας επέτρεπε να κλιμακώσουμε τον απαιτούμενο όγκο φορτίου εάν είναι απαραίτητο. Κατά τη γνώμη μας, δεν υπάρχει κανένα όριο, αλλά αυτή τη στιγμή καταλαβαίνουμε πώς να διασφαλίσουμε το έργο των εταιρειών που απασχολούν αρκετές εκατοντάδες χιλιάδες χρήστες.
Τι κρύβεται κάτω από την κουκούλα
Το προϊόν μας περιλαμβάνει μια λύση email, ένα εργαλείο προγραμματισμού ημερολογίου, ένα βιβλίο διευθύνσεων, καθώς και διαδραστική προβολή εγγράφων με βάση τη λύση MyOffice για εργασία με έγγραφα.
Δεδομένου ότι μιλάμε για μια λύση εταιρικού επιπέδου, αναπόσπαστο μέρος της εταιρικής αλληλογραφίας είναι επίσης ένα πλήρες σύστημα αναζήτησης. Η λύση μας είναι σε θέση να πραγματοποιεί μορφολογική αναζήτηση από άκρο σε άκρο σε όλα τα στοιχεία. Επιπλέον, ολόκληρο το σύστημα αλληλογραφίας βασίζεται στη δική του αποθήκευση, η οποία είναι επίσης βελτιστοποιημένη για συνεργασία.
Ποιες είναι οι διαφορές μεταξύ των συστημάτων αλληλογραφίας MyOffice;
Ένας αναγνώστης Habr που έχει ήδη εμπειρία στην εργασία με λύσεις MyOffice γνωρίζει ότι τα εμπορικά προϊόντα περιλαμβάνουν το "MyOffice Mail". Και τίθεται το ερώτημα - ποιες είναι οι διαφορές του από το εταιρικό σύστημα email Mailion, στο οποίο εργάστηκε η ομάδα μου;
Εμείς στο MyOffice αποφασίσαμε ότι για να καλύψουμε τις ανάγκες εταιρειών διαφορετικών μεγεθών, είναι απαραίτητο να δημιουργηθούν δύο συστήματα email εταιρικής κατηγορίας. Το προϊόν MyOffice Mail προορίζεται για οργανισμούς στους οποίους ο αριθμός των χρηστών ανέρχεται σε χιλιάδες ή αρκετές δεκάδες χιλιάδες. Για μεγαλύτερες δομές, είναι πιο σκόπιμο να χρησιμοποιήσετε το Mailion - το νέο προϊόν MyOffice, το οποίο βασίζεται στην αρχιτεκτονική μικροϋπηρεσιών Cloud Native και έχει πρωτοφανείς δυνατότητες κλιμάκωσης και ανοχής σφαλμάτων.
Κατά την επιλογή προϊόντων, οι πελάτες πρέπει να αποφασίσουν εκ των προτέρων για τη στρατηγική για την περαιτέρω ανάπτυξη της εταιρείας τους. Για οποιονδήποτε οργανισμό, η εφαρμογή ενός συστήματος email είναι μια περίπλοκη εργασία που δεν περιλαμβάνει τη γρήγορη αντικατάσταση μιας λύσης με μια άλλη. Ως εκ τούτου, θα πρέπει να ληφθούν εκ των προτέρων υπόψη το μέγιστο δυνατό φορτίο, η ανοχή σε σφάλματα και τα κριτήρια αυτοθεραπείας, καθώς και ο παράγοντας γεωγραφικής κατανομής.
Τα δύο συστήματα ηλεκτρονικού ταχυδρομείου MyOffice είναι θεμελιωδώς διαφορετικά. Κατασκευάζονται χρησιμοποιώντας διαφορετικές στοίβες τεχνολογίας και τα εργαλεία για κάθε σύστημα επιλέγονται σύμφωνα με τους στόχους και τους στόχους του τμήματος στο οποίο θα αναπτυχθεί το σύστημα αλληλογραφίας. Έχουμε ένα κοινό όραμα προϊόντος για το τι πρέπει να υπάρχει στα συστήματα αλληλογραφίας, καθώς και συγχρονισμό στις προσεγγίσεις σχεδιασμού. Αλλά αυτά είναι δύο προϊόντα που έχουν σχεδιαστεί για διαφορετικό κοινό χρηστών.
Ποιες προκλήσεις αντιμετωπίζουν οι προγραμματιστές;
Περαιτέρω στο κείμενο θα μιλήσω μόνο για το νέο εταιρικό σύστημα αλληλογραφίας Mailion.
Πραγματοποιήσαμε ενδελεχή έρευνα και αναλύσαμε τα πλεονεκτήματα και τα μειονεκτήματα των υπαρχουσών λύσεων ηλεκτρονικού ταχυδρομείου. Η συσσωρευμένη εμπειρία των ειδικών μας, οι οποίοι στο παρελθόν συμμετείχαν άμεσα στη δημιουργία συστημάτων υψηλού φορτίου, μας επέτρεψε να εντοπίσουμε γρήγορα το κύριο σημείο πόνου οποιουδήποτε γνωστού προϊόντος - την απόδοση των λειτουργιών εισόδου και εξόδου δίσκου (IO) .
Μπορούμε να πούμε ότι το καθήκον της επιτάχυνσης των λειτουργιών IO έγινε η κύρια πρόκληση που αντιμετωπίσαμε. Ήταν απαραίτητο να επικεντρωθούμε στην επίλυση των συγκεκριμένων προβλημάτων μας και αρχίσαμε να δημιουργούμε και να αναπτύσσουμε το δικό μας δυαδικό σύστημα αποθήκευσης δεδομένων. Αυτή η προσέγγιση έχει ένα πολύ προφανές οικονομικό στοιχείο - δεν χρειάζεται μόνο να αποθηκεύουμε δεδομένα, αλλά και να εκτελούμε πολλές λειτουργίες εισόδου και εξόδου δίσκου.
Αυτή η απόφαση δεν πάρθηκε επιπόλαια. Μελετήσαμε πολλά προϊόντα εταιρικής κατηγορίας που στοχεύουν στην αποθήκευση πληροφοριών και δεν βρήκαμε τίποτα έτοιμο και κατάλληλο για τις απαιτήσεις μας. Εξάλλου, δεν χρειάζεται μόνο να αποθηκεύουμε δεδομένα, αλλά και να εργαζόμαστε συνεχώς με αυτά, και όχι σε αποκλειστική λειτουργία με πρόσβαση σε έναν χρήστη, αλλά να διασφαλίζουμε τη δυνατότητα συνεργασίας μεταξύ πολλών δεκάδων χιλιάδων χρηστών.
Έτσι, έχουμε καθορίσει ότι το υψηλότερο εταιρικό κριτήριο για εμάς είναι η εργασία με μεγάλο όγκο δεδομένων.
Αξιοπιστία
Επιπλέον, δεν πρόκειται τόσο για θέμα αποθήκευσης όσο για εργασία επεξεργασίας και γρήγορης πρόσβασης σε αυτές τις πληροφορίες. Απαιτείται η εξασφάλιση υψηλών δεικτών αξιοπιστίας - ο συνεχής χρόνος λειτουργίας ολόκληρης της λύσης πρέπει να είναι στο επίπεδο του 99,9%. Ταυτόχρονα, το σύστημα αλληλογραφίας πρέπει να είναι αυτόνομο στη λήψη των σωστών αποφάσεων σχετικά με την επεξεργασία των αρνήσεων. Μόνο με αυτόν τον τρόπο μπορούμε να διασφαλίσουμε την απουσία αστοχιών που μπορούν να παραλύσουν τις επιχειρηματικές διαδικασίες μιας συγκεκριμένης εταιρείας.
ανοχή σε σφάλματα
Έχουμε εργαστεί μέσα από ένα σύνολο μέτρων που εφαρμόζονται σε κάθε στοιχείο και επιλεγμένες προσεγγίσεις για να διασφαλίσουμε την ανοχή σφαλμάτων. Ειδικότερα, το εταιρικό σύστημα αλληλογραφίας χρησιμοποιεί επεξεργασία δεδομένων σε απαρτία, κράτηση υπηρεσιών και έλεγχο της απουσίας των καταστάσεων τους, καθώς και δικούς του μηχανισμούς δρομολόγησης και υποστήριξη απαρτίας βάσει συναίνεσης.
Κριτήριο για υψηλή ανοχή σφαλμάτων είναι η ύπαρξη μηχανισμών αυτοελέγχου σε κάθε εξάρτημα. Το Mailion αναλύει συνεχώς εάν αυτή ή εκείνη η συνάρτηση εκτελείται σωστά ή λανθασμένα, εάν αυτό ή εκείνο το μπλοκ λειτουργεί σωστά. Αυτό είναι ένα από τα μέσα αυτοθεραπείας του συστήματος σε περίπτωση βλάβης. Οι πληροφορίες δεν πρέπει να χαθούν, η λύση θα πρέπει τελικά να φτάσει σε μια συνεπή κατάσταση.
Πρέπει να καταλάβετε ότι δεν είναι δυνατό να προβλέψετε όλα τα πιθανά γεγονότα στη ζωή - δεν μπορείτε να ξεγελάσετε τη φυσική. Αλλά τηρούμε τέτοιες σχεδιαστικές προσεγγίσεις που μας επιτρέπουν να μιλάμε με αρκετά υψηλό βαθμό εμπιστοσύνης για τον σωστό χειρισμό ατυχημάτων ορισμένων μοτίβων. Έχουμε επίσης μια μεγάλη ομάδα δοκιμών που προσπαθεί πάντα να σπάσει κάτι στο προϊόν. Και μερικές φορές τα καταφέρνουν. Το γεγονός αυτό πυροδοτεί ένα περιστατικό, το οποίο μελετάμε διεξοδικά και, στη βάση του, δημιουργούμε έναν νέο μηχανισμό για την εξάλειψη αυτού του είδους του προβλήματος.
Πώς αντιδρά το σύστημα στα ατυχήματα
Η αγορά θέτει συχνά το ερώτημα - τι θα συμβεί με το σύστημα εάν χάσει ξαφνικά την επικοινωνία με έναν από τους κόμβους του; Αυτό το αίτημα είναι ιδιαίτερα σημαντικό εάν σκοπεύετε να εφαρμόσετε μια γεωγραφικά κατανεμημένη λύση.
Κατά το σχεδιασμό μιας τέτοιας εγκατάστασης, είναι απαραίτητο να ληφθούν υπόψη οι ανάγκες του πελάτη και το σύνολο των κριτηρίων αξιοπιστίας του. Είναι λάθος να πιστεύουμε ότι η σύνδεση με το δίκτυο δεδομένων είναι η ίδια παντού. Στα εταιρικά συστήματα, είναι σημαντικό να λαμβάνεται υπόψη ακόμη και η ταχύτητα του σήματος μέσω της οπτικής ίνας.
Εάν ο πελάτης έχει υψηλές απαιτήσεις αξιοπιστίας, τότε θα προτείνουμε την εγκατάσταση σε πολλά κέντρα δεδομένων, τα οποία θα συνδέονται με αποκλειστικές γραμμές επικοινωνίας.
Ωστόσο, δεν μπορεί να αποκλειστεί το σενάριο πλήρους διακοπής ρεύματος σε έναν από τους κόμβους του ταχυδρομικού συστήματος. Σε αυτήν την περίπτωση, η εργασία με τα κύρια δεδομένα αυτού του τμήματος θα σταματήσει, αλλά τα υπόλοιπα μέρη θα λειτουργούν σαν να μην συνέβη τίποτα. Το σύστημα θα ειδοποιήσει τους διαχειριστές ότι ένας κόμβος έχει χαθεί και οι υπάλληλοι θα πρέπει να λάβουν τα κατάλληλα μέτρα.
Επίσης, το σύστημα αλληλογραφίας μας μπορεί να διαμορφωθεί με τέτοιο τρόπο ώστε να πραγματοποιούνται κρατήσεις εντός του κέντρου δεδομένων. Αυτή η προσέγγιση θα εξασφαλίσει τη λειτουργικότητα σε περίπτωση απώλειας πολλών κόμβων μέσα στο κέντρο δεδομένων και κανείς δεν θα παρατηρήσει την απώλεια ενός από τους κόμβους - εκτός φυσικά από το σύστημα παρακολούθησης. Όταν συμβαίνει ένα τέτοιο γεγονός, το φορτίο απλώς ανακατανέμεται. Επομένως, κατά το σχεδιασμό ενός συστήματος αλληλογραφίας, είναι σημαντικό να λαμβάνεται υπόψη το περιθώριο - πόσα και ποια εξαρτήματα μπορούν να «χαθούν» σε ένα ατύχημα.
Ανεξαρτησία
Δεν υπάρχουν απολύτως αξιόπιστα συστήματα και μπορεί να συμβούν αστοχίες, με τον ένα ή τον άλλο τρόπο. Ως εκ τούτου, κατά το σχεδιασμό ενός συστήματος αλληλογραφίας, είναι σημαντικό να διασφαλιστεί η δυνατότητα γρήγορης εντοπισμού βλαβών, γεγονός που θα επιτρέψει την εξάλειψή τους εντός μιας συγκεκριμένης περιόδου SLA. Επιπλέον, οι βλάβες θα πρέπει να διορθώνονται από το σύστημα ανεξάρτητα, ελαχιστοποιώντας παράλληλα την παρέμβαση των διαχειριστών του συστήματος και των υπηρεσιών λειτουργίας.
Εύκολη λειτουργία
Φυσικά, τα μεγάλα συστήματα δεν μπορούν παρά να απαιτούν την προσοχή εργαζομένων υψηλής εξειδίκευσης. Αλλά μια από τις πτυχές που λαμβάνουμε υπόψη κατά το σχεδιασμό είναι ότι το σύστημα πρέπει να είναι εύκολο στη διαχείριση και να μην απαιτεί μοναδικές ικανότητες.
Αποτελεσματικότητα κόστους
Φυσικά, για να δουλέψετε με οποιοδήποτε τέτοιο εταιρικό σύστημα, απαιτείται εκπαίδευση εργαζομένων - άλλωστε μιλάμε για μια πραγματικά τεράστια κλίμακα. Επομένως, κατά τη δημιουργία του προϊόντος μας, εστιάσαμε στη μείωση του συνολικού κόστους ιδιοκτησίας του συστήματος. Για κάθε επιχείρηση, είναι σημαντικό να παρακολουθείτε την αποτελεσματικότητα των δαπανών και να προσπαθήσετε να αποφύγετε την ατελείωτη απόρριψη χρημάτων στα λειτουργικά έξοδα.
Αποκέντρωση
Για να επιτευχθούν οι αρχές για τις οποίες μίλησα προηγουμένως, το σύστημα πρέπει να είναι πλήρως κατανεμημένο - μια κεντρική προσέγγιση περιορίζεται πάντα από τις συνθήκες χρήσης του υλικού.
Φυσικά, μπορείτε να αγοράσετε έναν μεγάλο διακομιστή και να προσπαθήσετε να εγκαταστήσετε όλες τις εφαρμογές και τις υπηρεσίες σε αυτόν. Όμως, όσο μεγαλύτερο είναι το σύστημα, τόσο πιο περίπλοκος είναι ολόκληρος ο σχεδιασμός και η αξιοπιστία ενός τέτοιου συστήματος μειώνεται σταθερά - τελικά, ένας διακομιστής σημαίνει ένα μόνο σημείο αποτυχίας. Και όσο περισσότερο συγκεντρώνουμε την εργασία, τόσο περισσότερο εξαρτόμαστε από αυτό το κεντρικό σημείο.
Απαιτήσεις συστήματος
Όταν μιλάμε για πολύπλοκα εταιρικά συστήματα email, πρέπει να καταλάβουμε ότι δεν υπάρχει «ελάχιστη διαμόρφωση για λειτουργία». Η βάση κάθε μεγάλης υλοποίησης είναι πάντα η σοβαρή εργασία σχεδιασμού. Σας επιτρέπει να συσχετίσετε τις ανάγκες μιας συγκεκριμένης επιχείρησης και τη βέλτιστη διαμόρφωση του συστήματος αλληλογραφίας.
Ένα εταιρικό σύστημα email είναι ένα ευέλικτο εργαλείο που μπορεί να διαμορφωθεί σύμφωνα με μεγάλο αριθμό παραμέτρων. Πραγματοποιούμε δοκιμές φορτίου χρησιμοποιώντας τη δική μας μεθοδολογία, η οποία μας επιτρέπει να προσομοιώσουμε το φορτίο με βάση μια ανάλυση δεκάδων βασικών και αρκετών εκατοντάδων πιθανών κριτηρίων.
Μπορούμε να πούμε ότι κατά την προετοιμασία ενός έργου υλοποίησης, είναι οι υπολογισμοί που θα δείξουν την ένταση της εργασίας των χρηστών στις υπάρχουσες επιχειρηματικές διαδικασίες του οργανισμού. Σε αυτήν την περίπτωση, αναλύονται πολλές παράμετροι εισόδου και ανάλογα με το πιθανό φορτίο, λαμβάνεται απόφαση για την απαιτούμενη ποσότητα υπολογιστικής ισχύος - από έναν υπολογιστή σε μια ολόκληρη αίθουσα υπολογιστών.
Επομένως, το να μιλάμε για κάποιες ελάχιστες διαμορφώσεις δεν είναι απολύτως σωστό. Συγκεκριμένα, έχουμε και ένα περίπτερο επίδειξης που λειτουργεί σε ένα μόνο μηχάνημα. Καταλαβαίνουμε όμως ότι η εργασία στον εταιρικό τομέα απαιτεί εγκατάσταση σε δεκάδες, ακόμη και εκατοντάδες εικονικές μηχανές.
Στοίβα τεχνολογίας
Κατά τη δημιουργία προϊόντων, δίνουμε ιδιαίτερη προσοχή στην αδειοδοτημένη καθαρότητα του κωδικού. Το MyOffice έχει καθιερώσει και λειτουργεί υψηλά πρότυπα ποιότητας, τα οποία απαιτούν από εμάς να αναπτύσσουμε ανεξάρτητα προϊόντα πλήρως, με ελάχιστη συμμετοχή εξωτερικού κώδικα.
Μεγάλο μέρος του κώδικα του Mailion είναι δικός μας, κώδικας στον οποίο κατέχουμε πλήρως τα δικαιώματα και τον οποίο μπορούμε να αλλάξουμε και να τροποποιήσουμε όπως απαιτείται. Το μεγαλύτερο μέρος του κώδικα για το σύστημα ηλεκτρονικού ταχυδρομείου μας είναι γραμμένο εσωτερικά στο Go (Golang). Εκτός από το Go, χρησιμοποιούμε C++ καθώς και Java Script ES6 για το web μέρος.
Το υπόλοιπο 5% είναι τα λεγόμενα «βαριά συστατικά», όπως οι βάσεις δεδομένων. Αυτά περιλαμβάνουν τα RethinkDB, ArangoDB και Redis. Μεταξύ των βασικών τεχνολογιών, θα σημειώσω επίσης το gRPC - ένα σύστημα κλήσης απομακρυσμένης διαδικασίας, το οποίο χρησιμοποιείται ως ενιαίος μηχανισμός αλληλεπίδρασης μέσω API, αυτό είναι ένα σημαντικό μέρος.
Από τι αποτελείται το προϊόν;
Ένα εταιρικό σύστημα email δεν είναι «διακομιστής στο κενό». Το προϊόν μας περιλαμβάνει περίπου 70 εξαρτήματα και 45 υπηρεσίες που συντηρούν το σύστημα αλληλογραφίας. Όλα αυτά τα στοιχεία είναι γραμμένα "από την αρχή" και αποτελούν δική του ανάπτυξη του MyOffice.
Το πιο αξιοσημείωτο μέρος του συστήματος είναι το σύμπλεγμα διακομιστών, το οποίο παρέχει συστήματα αποθήκευσης, αλληλογραφίας, ημερολογίου και αναζήτησης, καθώς και ένα πρόγραμμα-πελάτη ιστού. Επίσης, αναπτύσσουμε πολλές εφαρμογές χρηστών και σχεδιάζουμε να προσφέρουμε στους χρήστες μας νέους «thin clients» που βασίζονται στις τεχνολογίες web client μας μέχρι την εμπορική κυκλοφορία.
Συμβατότητα με συστήματα αλληλογραφίας
Το Mailion λειτουργεί χρησιμοποιώντας τυπικά πρωτόκολλα. Για να ξεκινήσετε να χρησιμοποιείτε τη λύση μας, χρειάζεται μόνο να διαμορφώσετε τις εφαρμογές πελάτη και να συνεχίσετε να εργάζεστε μαζί τους στο συνηθισμένο περιβάλλον σας. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε την εφαρμογή πελάτη που περιλαμβάνεται στο προϊόν MyOffice Mail.
Επίσης, για τη διευκόλυνση των χρηστών μας, δημιουργήσαμε ένα ειδικό πρόσθετο που παρέχει απρόσκοπτη μετάβαση από το Exchange. Με τη βοήθειά του, οι χρήστες θα μπορούν να συνεχίσουν να εργάζονται με το MS Outlook κατά την αντικατάσταση ενός διακομιστή αλληλογραφίας - δεν θα παρατηρήσουν καν ότι κάτι έχει αλλάξει στη συνήθη αλληλεπίδρασή τους με τα εργαλεία επικοινωνίας. Αυτό το πρόσθετο σάς επιτρέπει να μεταφέρετε ομαλά χρήστες από το προηγούμενο σύστημα αλληλογραφίας, χωρίς να σταματήσετε το έργο ολόκληρου του οργανισμού. Αυτό είναι ιδιαίτερα σημαντικό εάν πρέπει να αντικαταστήσετε εργαλεία για να εξυπηρετήσετε εκατοντάδες χιλιάδες χρήστες.
Ευκολία χορήγησης
Η ιδιαιτερότητα του εταιρικού μας συστήματος αλληλογραφίας είναι ότι απαιτεί εξαιρετικά μικρή συμμετοχή από τους διαχειριστές. Κατά το σχεδιασμό, προσπαθήσαμε να βρούμε μια ισορροπία μεταξύ της δυνατότητας προσαρμογής και της πολυπλοκότητας της διαχείρισης. Για να το πετύχουμε αυτό, χρειάστηκε να διεξαγάγουμε πολλή έρευνα για τα πρότυπα συμπεριφοράς των διαχειριστών πολύπλοκων εταιρικών συστημάτων.
Η ομάδα μας αποτελείται, όπως είπα προηγουμένως, από ειδικούς υψηλής ειδίκευσης - καθένας από αυτούς έχει μεγάλη εμπειρία διαχείρισης. Επομένως, κατά την ανάπτυξη του συστήματος, προσπαθήσαμε να μεταφέρουμε την εμπειρία τους στις ανάγκες των χρηστών κατά τη διαχείριση ενός σύνθετου προϊόντος. Με άλλα λόγια, γνωρίζοντας τα πιθανά προβλήματα, παρείχαμε προληπτικά τρόπους επίλυσής τους σε επίπεδο αρχιτεκτονικού σχεδιασμού.
Για παράδειγμα,
- Παρέχεται απομόνωση στοιχείων συστήματος σε κοντέινερ, συμπεριλαμβανομένων των υποδομών - αυτό μας βοηθά να αυξήσουμε το επίπεδο ασφάλειας, να διαμορφώσουμε ευέλικτα την πρόσβαση μεταξύ των στοιχείων και επίσης να συμπεριλάβουμε γρήγορα νέα στοιχεία που απαιτούνται από την επιχείρηση στη λίστα των υποστηριζόμενων συστημάτων και πλατφορμών.
- μια ενοποιημένη προσέγγιση για την ανάπτυξη και την ανάπτυξη, μια ενιαία μορφή διαμόρφωσης για όλα τα στοιχεία συμβάλλουν σε σαφέστερη και αποτελεσματικότερη λειτουργία και μειώνουν το κόστος υποστήριξης.
- Το δικό σας πρόγραμμα εγκατάστασης συστήματος, που βασίζεται σε γνωστά εργαλεία ανάπτυξης, σας επιτρέπει να διαχειρίζεστε την εγκατάσταση κεντρικά, ευέλικτα και ξεκάθαρα.
Η αρχιτεκτονική μικροϋπηρεσιών με σαφή κατανομή των ευθυνών επιχειρηματικής λογικής μεταξύ των υπηρεσιών βοηθά στην κατανόηση του σχήματος λειτουργίας του συστήματος και στην παροχή υποστήριξης πιο αποτελεσματικά. - το τμήμα υποδομής του συστήματος βασίζεται σε γνωστές λύσεις, χρησιμοποιώντας βέλτιστες πρακτικές και επιτρέπει επίσης την ενοποίηση με υπάρχοντα συστήματα στην επιχείρηση, γεγονός που απλοποιεί τη θέση σε λειτουργία του συστήματος εντός της εταιρείας.
- Για το σκοπό αυτό, η εγκατάσταση αποθήκευσης θα διαθέτει ένα σύστημα βασισμένο στην τεχνητή νοημοσύνη, το οποίο θα μπορεί να εντοπίζει ανεξάρτητα πιθανές βλάβες και να ελέγχει τον εξοπλισμό.
Μοντέρνο σχέδιο
Χρειάστηκαν αρκετές χιλιάδες ανθρωποώρες για να δημιουργηθεί το σχέδιο του προϊόντος. Το καθήκον ανάπτυξης ήταν να γίνει η διεπαφή σύγχρονη - εύκολη και διαισθητική. Αυτό είναι δύσκολο όταν σχεδιάζετε ένα εταιρικό σύστημα, το οποίο από προεπιλογή πρέπει να περιλαμβάνει μια σειρά από συγκεκριμένες λειτουργίες.
Φυσικά, το σχέδιο δεν μπορεί να «χαραχτεί στην πέτρα» ή να εγκριθεί με υπογραφή και σφραγίδα - είναι ένα ζωντανό εργαλείο, συνεχώς αναπτύσσεται και βελτιώνεται. Κατά τη διάρκεια τεσσάρων ετών, μεταμορφώσαμε το σχέδιο αρκετές φορές, αλλά δεν υπήρξε καμία ριζική αλλαγή στην ιδεολογία. Η βασική αρχή για τη δημιουργία μιας ολόκληρης εταιρικής σειράς προϊόντων είναι η δημιουργία ενός καθολικού συστήματος σχεδιασμού.
Κατά το σχεδιασμό ενός εταιρικού συστήματος email, δώσαμε ιδιαίτερη προσοχή στην ανάπτυξη τριών βασικών τομέων - προσαρμοστικότητα, συνέπεια και ικανότητα προσαρμογής στο εταιρικό στυλ του πελάτη.
Ικανότητα προσαρμογής
Ένα ιδιαίτερο χαρακτηριστικό του σχεδιασμού των διεπαφών του εταιρικού συστήματος αλληλογραφίας Mailion είναι η δυνατότητα εμφάνισης του σε συσκευές με οθόνες οποιουδήποτε μεγέθους. Όλα τα οπτικά στοιχεία αποδίδονται προσεκτικά, κλιμακώνονται σωστά όταν εκτελούνται σε κινητές συσκευές και είναι εξαιρετικά ακόμη και για έλεγχο με τα δάχτυλα σε οθόνες αφής. Επίσης, όταν αλλάζετε το μέγεθος του παραθύρου της εφαρμογής, μετασχηματίζεται και η διάταξη της στήλης - το μέγεθος των στηλών μετατοπίζεται αναλογικά, σε αυστηρή συμφωνία με τα αξιώματα της έννοιας των πλούσιων εφαρμογών Διαδικτύου.
Συνοχή
Ο σχεδιασμός του εταιρικού συστήματος email Mailion βασίζεται σε μια συστηματική προσέγγιση. Αναπτύσσουμε αυτόν τον τομέα από τις αρχές του 2017, όταν δεν ήταν τόσο της μόδας να μιλάμε για συστήματα σχεδιασμού όπως τώρα. Ένα σύστημα σχεδιασμού είναι ένα σύνολο κανόνων και εργαλείων για οπτική και τεχνική εκτέλεση που αντανακλά τη φιλοσοφία του προϊόντος και εξελίσσεται συνεχώς. Το παρουσιάσαμε για να απλοποιήσουμε την επικοινωνία μεταξύ ανάπτυξης και σχεδιασμού.
Δημιουργία εταιρικής ταυτότητας
Ο σχεδιασμός μας είναι ένας «χαμαιλέοντας», ικανός να προσαρμοστεί στο εταιρικό στυλ κάθε πελάτη. Τα χρώματα όλων των στοιχείων διεπαφής ορίζονται μέσω μεταβλητών. Έτσι, αλλάζοντας το βασικό σύνολο πολλών χρωμάτων, μπορείτε να ξαναχρωματίσετε όλες τις εφαρμογές ταυτόχρονα.
Οι γραμματοσειρές ορίζονται επίσης μέσω μεταβλητών: η διεπαφή μπορεί να χρησιμοποιήσει την εταιρική γραμματοσειρά της εταιρείας πελάτη, εάν αυτό προβλέπεται στο βιβλίο επωνυμίας πελάτη. Ταυτόχρονα, διαφορετικές γραμματοσειρές μπορεί να έχουν διαφορετικά μεγέθη γραμμάτων και αυτό το λαμβάνουμε υπόψη. Για παράδειγμα, το PT Sans στο μέγεθος 16 φαίνεται αισθητά μικρότερο από το Roboto στο ίδιο μέγεθος 16. Επομένως, προσαρμόζουμε το μέγεθος των μπλοκ κειμένου στα χαρακτηριστικά μιας συγκεκριμένης γραμματοσειράς.
Θα αφιερώσουμε ξεχωριστά άρθρα στη δομή της βιβλιοθήκης χρωμάτων μας και στις δυνατότητες εργασίας με γραμματοσειρές.
Mobile Apps
Αναπόσπαστο μέρος κάθε σύγχρονου συστήματος email είναι οι εφαρμογές για κινητά - οι χρήστες θα πρέπει να μπορούν να εργάζονται από οπουδήποτε και ανά πάσα στιγμή.
Τώρα μόλις διαμορφώνουμε την έννοια των εταιρικών εφαρμογών για κινητές συσκευές· θα πρέπει να λαμβάνουν υπόψη τις διαφορές στη λειτουργικότητα των συστημάτων email MyOffice και να προσφέρουν διαφορετικές προσεγγίσεις στη χρήση των συστημάτων email και ημερολογίου σε εταιρείες.
Έξυπνο πάνελ πολυμέσων
Οι ομάδες εστίασής μας έδειξαν ότι οι χρήστες βρίσκουν τις διεπαφές των παραδοσιακών συστημάτων ηλεκτρονικού ταχυδρομείου δυσκίνητες. Οι ερωτηθέντες από τους οποίους πήραμε συνέντευξη παρατήρησαν ότι η εργασία με συμβάντα και συνημμένα ημερολογίου ήταν ιδιαίτερα δύσκολη. Προσπαθήσαμε να επιτύχουμε μια διεπαφή με απόκριση και να αυξήσουμε την παραγωγικότητα - για να κάνουμε το προϊόν μας ευχάριστο στη χρήση.
Το Media Panel, ένα νέο εργαλείο για την επιτάχυνση της συνεργασίας, οργανώνει όλες τις πληροφορίες σχετικά με την αλληλογραφία και παρέχει άμεση πρόσβαση σε μια λίστα συμμετεχόντων στην αλληλογραφία, συνδέσμους και εκδόσεις των εγγράφων που έχουν αποσταλεί ποτέ.
Αυτό το εργαλείο βοηθά σε καταστάσεις όπου οι χρήστες πρέπει να εργαστούν με μεγάλα κομμάτια εκατοντάδων μηνυμάτων. Συμβαίνει συχνά να χρειαστεί να βρείτε ένα έγγραφο ή μια εικόνα που υπήρχε μόνο σε ένα από αυτά. Ο πίνακας πολυμέσων δημιουργεί μια λίστα με όλα τα στοιχεία από μια αλυσίδα email και τα εμφανίζει σε ένα μέρος. Ως αποτέλεσμα, η εύρεση του επιθυμητού αντικειμένου γίνεται πολύ πιο εύκολη.
Εντοπισμός
Όχι μόνο οι Ρώσοι χρήστες έχουν ανάγκη για ένα εταιρικό σύστημα email. Το MyOffice ακολουθεί μια συνεπή πολιτική εισόδου στις ξένες αγορές, επομένως δίνεται μεγάλη προσοχή στα θέματα τοπικής προσαρμογής προϊόντων.
Στο προϊόν μας, η ανάγκη για τοπική προσαρμογή σε ξένες γλώσσες θεσπίστηκε αρχικά, στο επίπεδο του βασικού μέρους του συστήματος. Από μόνη της, η προσθήκη νέων γλωσσών δεν είναι μεγάλο πρόβλημα για εμάς - είναι μια απολύτως κατανοητή εργασία που ξέρουμε πώς να λύσουμε.
Επί του παρόντος, οι ρωσικές και αγγλικές γλώσσες είναι διαθέσιμες στους χρήστες. Στις επερχόμενες εκδόσεις, θα προσθέσουμε υποστήριξη στο εταιρικό σύστημα email για τις γλώσσες στις οποίες λειτουργούν τα προϊόντα MyOffice - Γαλλικά, Ισπανικά, Πορτογαλικά και άλλες. Κατά κάποιο τρόπο, είναι πιο εύκολο για εμάς παρά για τους συναδέλφους από γειτονικά τμήματα, καθώς για συστήματα αλληλογραφίας και ημερολογίου χρειάζεται μόνο να λάβουμε υπόψη το αλφάβητο και τα χαρακτηριστικά της εργασίας με ημερομηνίες και ώρες - ευτυχώς, δεν έχουμε τύπους όπως στο έναν επεξεργαστή υπολογιστικών φύλλων.
Ναι, προσλαμβάνουμε!
Χρειάστηκαν αρκετές εκατοντάδες ανθρωποέτη για τη δημιουργία του προϊόντος μας. Και ακόμα κι αν το ήθελα, δεν θα μπορούσα να σας τα πω όλα ταυτόχρονα σε ένα άρθρο. Ωστόσο, ελπίζω ότι αυτή η δημοσίευση θα χρησιμεύσει ως αφετηρία για να γνωρίσετε το προϊόν μας - όπως είπα παραπάνω, σκοπεύω να μιλήσω λεπτομερέστερα στο μέλλον τόσο για την ίδια τη λύση και τα χαρακτηριστικά της, όσο και για την ανάπτυξή μας προσεγγίσεις.
Χωρίς μια σκιά σεμνότητας, θα πω επίσης ότι σήμερα ο αριθμός των εταιρειών που αναπτύσσουν τέτοια συστήματα αλληλογραφίας σε όλο τον κόσμο είναι λίγες. Πρόκειται για ένα πραγματικά πολύπλοκο έργο μηχανικής· απαιτεί βαθιά κατανόηση των αναγκών των εταιρικών πελατών και ενδελεχή ανάλυση των επιχειρηματικών διαδικασιών μεγάλων οργανισμών, των σύγχρονων τάσεων στο σχεδιασμό και την ανάπτυξη, καθώς και αρκετό αριθμό ικανών ειδικών. Το ταχυδρομικό μας σύστημα εξελίσσεται καθημερινά.
Αυτή τη στιγμή είμαστε σχεδόν ανοιχτά κενές θέσεις στην ανάπτυξη. Ελάτε να συνεργαστείτε μαζί μας εάν θέλετε να συνεργαστείτε μαζί μας για να δημιουργήσετε ένα προϊόν που μπορεί να αλλάξει τον τρόπο που ο εταιρικός κόσμος σκέφτεται για το email.
Πηγή: www.habr.com
