Θέλεις υψηλές ταχύτητες στο eshop σου; Δοκίμασε την GOLang!

  • Προβολές280
  • Argyrispro
  • 2020-06-26
  • Αρχική
  • Θέλεις υψηλές ταχύτητες στο eshop σου; Δοκίμασε την GOLang!
Θέλεις υψηλές ταχύτητες στο eshop σου; Δοκίμασε την GOLang!

Συνήθως η είσοδος κάποιου επιχειρηματία στον χώρο των ηλεκτρονικών καταστημάτων (eshop) έχει μια επίπεδη δομή και συνέχεια.

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

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

Μέχρι τότε, όλο αυτό το διάστημα δηλαδή, έχει κατανοήσει αρκετά πράγματα όπως το τι είναι το SEO ( search engine optimization ), έχει γνωρίσει την απόδοση των Google ή Facebook ads, έχει κατανοήσει την σημασία της παραμέτρου ταχύτητα φόρτωσης στην επίτευξη πωλήσεων, στην μείωση λειτουργικού κόστους αλλά και στην δημιουργία ευχαριστημένων πελατών.

Τα περισσότερα eshops σήμερα κατασκευάζονται μέσα από έτοιμες πλατφόρμες όπως είναι το Magento, Prestashop, Shopify κα. Αυτές οι πλατφόρμες με τις πολλές παραμετροποιήσεις μειώνουν δραστικά τον χρόνο κατασκευής ενός eshop. Έτσι προκύπτει η σχετικά χαμηλή τιμή και η σχετικά σύντομη παράδοση του έργου.

Το να βελτιστοποιήσεις την ταχύτητα ενός eshop ή ενός web site είναι συχνά μια πολυπαραγοντική και χρονοβόρα διαδικασία την οποία συχνά αρκετοί επαγγελματίες αποφεύγουν ή πιο σωστά αρκετοί πελάτες δεν θέλουν να πληρώσουν. Για να προχωρήσουμε στην ανάλυση όμως θεωρούμε ότι αυτές οι βελτιστοποιήσεις κάποια στιγμή γίνονται.

Οι πιο δημοφιλείς πλατφόρμες για eshop σήμερα είναι σε γλώσσα προγραμματισμού PHP η Ruby. Δυο γλώσσες με πολλά πλεονεκτήματα αλλά με αχίλλειο πτέρνα τους την χαμηλή ταχύτητα και την υψηλή κατανάλωση πόρων.

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

Η λύση ενός custom eshop είναι μια εξαιρετικά δύσκολη απόφαση με σοβαρότερη όλων το υψηλό κόστος.

Πρόσφατα επικοινώνησε μαζί μου επιχειρηματίας ο οποίος μου ζήτησε custom eshop σε Laravel το οποίο είχε ακούσει ότι είναι αρκετά πιο γρήγορο από το Prestashop. Γνώριζε το υψηλό κόστος μιας τέτοιας λύσης και ήταν διατεθειμένος να πληρώσει αυτά τα ποσά μιας και είχε κάνει σχετική έρευνα αγοράς.

Το Laravel είναι ένα PHP framework με πολλά πλεονεκτήματα το οποίο όμως υστερεί επίσης σοβαρά σε ταχύτητα και καταναλώσεις.

Του εξήγησα ότι το custom template στο front end είναι αρκετά βαρύ και πώς σε Laravel μπορεί να αυξηθεί, με όρους πάντα βαθμολογίας από το επίσημο εργαλείο της Google 2 εώς 3 φορές η ταχύτητα – βαθμολογία. Συγκεκριμένα το rating 5/100 να φτάσει 10 ή 15/100.

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

Η Go ή GoLang είναι μια σχετικά νέα γλώσσα προγραμματισμού την οποία ανέπτυξε η Google με στόχο να καλύψει τις ανάγκες και απαιτήσεις των σύγχρονων cloud εφαρμογών αξιοποιώντας ταυτόχρονα το υλικό (hardware) που υπάρχει σήμερα.

Οι ταχύτητες της Go πραγματικά εντυπωσιάζουν κρατώντας μάλιστα εξαιρετικά χαμηλές τις καταναλώσεις του server.

  • Το γεγονός ότι η GO δεν απαιτεί Web (apache , nginx)  ή Application(IIS) Server  είναι ένα τεράστιο πλεονέκτημα.
  • Το γεγονός ότι η GO παράγει απευθείας executable αρχείο για οποιοδήποτε λειτουργικό σύστημα (OS) χωρίς να απαιτεί κάποιο ενδιάμεσο virtual machine όπως η Java ή κάποιον interpreter όπως η PHP της προσδίδει επίσης τεράστια ελευθερία.
  • Το γεγονός ότι η GO μπορεί να κρατήσει στην μνήμη οποιοδήποτε δεδομένο με το πέρας ενός http request χωρίς την σύνδεση με κάποια ενδιάμεση λύση π.χ βάσης δεδομένων , Redis κ.α παρέχει επιπλέον συντριπτικά πλεονεκτήματα.
  • Τέλος η GO με τα Goroutines και channels μπορεί να αξιοποιήσει καλύτερα τα cores των επεξεργαστών και να φέρει έτσι εις πέρας πιο γρήγορα βαρύτερες διεργασίες.

Σε ορισμένα tests που έχω δοκιμάσει ( υπάρχουν άλλωστε ελεύθερα και στο διαδίκτυο ) η Go είναι συχνά μέχρι και 20 φορές πιο γρήγορη στην εκτέλεση από την PHP.

Στο μέλλον, σε κάποιο επόμενο άρθρο μου θα κάνω σχετική αναφορά.

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

Προσίλης Αργύρης

Software Developer

Επικοινωνήστε μαζί μου

Έχετε κάποια ιδέα ή επαγγελματική πρόταση; Θα χαρώ πολύ να σας ακούσω!

Messenger

Argyris Prosilis

Τοποθεσία

Ελλάδα, Αθήνα, Ερμιονίδα, Worldwide