Προγραμματισμός

Πώς να αξιοποιήσετε στο έπακρο τη δωρεάν κατηγορία AWS

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

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

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

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

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

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

Τα απόβλητα δεν θέλουν

Οι περισσότερες από τις υπηρεσίες AWS στη δωρεάν βαθμίδα παρέχονται με ένα όριο, που συνήθως επιβάλλεται κάθε μήνα. Μερικά από αυτά φαίνεται απίστευτα μεγάλα, όπως η εκχώρηση ενός εκατομμυρίου κλήσεων λειτουργίας από την AWS Lambda. Αφού τελειώσετε να αποτίσετε φόρο τιμής στον Dr. Evil από τις ταινίες του Austin Powers, επαναλαμβάνοντας την προφορά του "εκατομμύρια", μπορείτε να αρχίσετε να χρησιμοποιείτε τον προϋπολογισμό για τη χρήση αυτών των κλήσεων λειτουργίας στις πιο σημαντικές εργασίες. Ακόμα και τα γενναιόδωρα όρια μπορούν να εξαντληθούν. Ένα εκατομμύριο μπορεί να έρθει σύντομα αν δεν είστε προσεκτικοί.

Πηγαίνετε στατικός

Οι επιλογές υπολογισμού στην ελεύθερη βαθμίδα είναι αρκετά περιορισμένες και, επομένως, είναι απαραίτητο να μειωθεί όσο το δυνατόν περισσότερο ο υπολογισμός από την πλευρά του διακομιστή. Οι δημιουργικοί στατικών ιστότοπων, όπως το Jekyl ή το Gatsby, μετατρέπουν τα δεδομένα στον δυναμικό ιστότοπό σας σε αρχεία HTML, JavaScript και CSS που βρίσκονται σε ένα στατικό διακομιστή ιστού. Ίσως θα τα μετακινήσετε σε ένα CDN όπως το CloudFront της Amazon. Ίσως να τα σερβίρετε απευθείας από το Amazon S3. Ίσως θα τα παρκάρετε ακόμη και στη γωνία ενός άλλου διακομιστή γύρω από το γραφείο σας. Το θέμα είναι να εξοικονομήσετε υπολογιστικούς πόρους που θα δημιουργούσαν δυναμικά τις ιστοσελίδες σας, ώστε να παραμείνετε εντός της δωρεάν βαθμίδας.

Μετάβαση χωρίς διακομιστή

Το AWS Lambda είναι η μόνη επιλογή υπολογισμού Amazon που παραμένει δωρεάν μετά από ένα χρόνο. Είναι επίσης αναμφισβήτητα η καλύτερη επιλογή για μια υπηρεσία που θα κλιμακωθεί ομαλά για να χειριστεί χιλιάδες, εκατομμύρια ή δισεκατομμύρια αιτήματα. Η επιλογή της Lambda από την αρχή θέτει την αίτησή σας για επιτυχία στο μέλλον.

Πηγαίνετε NoSQL

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

Συνδυάστε κλήσεις AJAX

Μερικές φορές θα πρέπει να κάνετε τον ιστότοπό σας διαδραστικό. Η καλύτερη προσέγγιση είναι να συνδυάσετε τις κλήσεις προς τις υπηρεσίες Ιστού σας σε όσο το δυνατόν λιγότερες συναλλαγές. Το Amazon API Gateway free tier, για παράδειγμα, περιλαμβάνει ένα εκατομμύριο κλήσεις API και ένα εκατομμύριο κλήσεις HTTP. Ο συνδυασμός όλων των δεδομένων σας σε μία κλήση κάνει αυτά τα όρια να διαρκέσουν περισσότερο από ό, τι επιβάλλουν αμέσως τις κλήσεις. Ο απλούστερος τρόπος για να το επιτύχετε αυτό είναι να μειώσετε την αποθήκευση εγγράφων ή τη φόρμα δεδομένων για τον χρήστη. Ναι, αυτό μπορεί να κάνει την υπηρεσία λίγο λιγότερο στιβαρή και ανθεκτική στις συγκρούσεις, αλλά αυτό είναι το κόστος να κάνουμε πράγματα δωρεάν.

Ενδυνάμωση του πελάτη

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

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

Αποφύγετε τα τεχνάσματα

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

Εκτελέστε τη δική σας βάση δεδομένων

Οι υπηρεσίες σχεσιακής βάσης δεδομένων που διαχειρίζεται το Amazon, όπως η MySQL ή η PostgreSQL, είναι εξαιρετικά εργαλεία για την εκκίνηση και τη συντήρηση μιας βάσης δεδομένων για την αποθήκευση των πληροφοριών της εφαρμογής σας, αλλά η δωρεάν σειρά σας προσφέρει μόνο μία από αυτές και είναι μόνο για τους πρώτους 12 μήνες. Δεν υπάρχει τίποτα που να σας εμποδίζει να εκτελείτε τη δική σας βάση δεδομένων σε μία από τις δωρεάν παρουσίες EC2 που είναι επίσης διαθέσιμες για τους πρώτους 12 μήνες. Ναι, θα πρέπει να τα εγκαταστήσετε και να τα διαμορφώσετε μόνοι σας, αλλά θα διπλασιάσει τις επιλογές της βάσης δεδομένων σας.

Συνδεθείτε προσεκτικά

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

Χρησιμοποιήστε πόρους χωρίς σύννεφο

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

Αναγνωρίστε τα όρια

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

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

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