Σχεδιασμός εφαρμογών υψηλής απόδοσης - μάθημα 46.900 rub. από το IBS Training Center, εκπαίδευση 25 ωρών, Ημερομηνία: 11 Μαρτίου 2024.
μικροαντικείμενα / / November 28, 2023
Ακόμη και πριν σχεδιάσετε οποιοδήποτε σύστημα λογισμικού, πρέπει να καταλάβετε ότι λόγω ορισμένων περιορισμών μπορεί πάντα να γίνει ένα σύστημα υψηλής απόδοσης. Κατά την ανάπτυξη ενός συστήματος υψηλής απόδοσης, είναι απαραίτητο να προσδιοριστεί ποιες παράμετροι ορίζουν το σύστημα ως υψηλής απόδοσης. Εάν το σύστημα είναι υψηλής απόδοσης, τότε για την επιτυχή εφαρμογή του πρέπει να ληφθούν ειδικά μέτρα για τη διασφάλιση της απόδοσης.
Το μάθημα εξετάζει τις διαφορές μεταξύ συστημάτων υψηλού φορτίου, υψηλής αξιοπιστίας και υψηλής απόδοσης.
Ο κύριος στόχος του μαθήματος είναι να παρέχει μια κατανόηση των βασικών εννοιών, αρχών και προσεγγίσεων που χρησιμοποιούνται στο σχεδιασμό συστημάτων υψηλής απόδοσης.
Μια κοινή φράση: "Θα πρέπει να λειτουργεί γρήγορα!" - αυτό δεν είναι απαίτηση. Κατά τη διάρκεια της εκπαίδευσης, οι συμμετέχοντες όχι μόνο θα μάθουν γιατί αυτό δεν είναι απαίτηση, αλλά θα μάθουν επίσης πώς να εργάζονται σωστά και να αναλύουν τις απαιτήσεις απόδοσης. Το μάθημα εισάγει επίσης τις έννοιες των «κρίσιμων σεναρίων». Οι μαθητές θα ενοποιήσουν τις γνώσεις που αποκτήθηκαν σχετικά με την εργασία με τις απαιτήσεις στην πράξη κατά τη διάρκεια μιας πρακτικής εργασίας.
Το μάθημα εξετάζει τα κύρια παραδείγματα απώλειας παραγωγικότητας συστημάτων λογισμικού. Μετά από αυτό, δίνονται οι κύριοι τρόποι καταπολέμησης της απόδοσης του συστήματος. Επίσης στο πλαίσιο του μαθήματος συζητούνται μοτίβα που χρησιμοποιούνται στο σχεδιασμό συστημάτων με αυξημένες απαιτήσεις χρησιμοποιώντας πρακτικά παραδείγματα εφαρμογής. απόδοση, παρέχει πληροφορίες σχετικά με τα κύρια αντι-μοτίβα που συναντώνται κατά την εφαρμογή συστημάτων λογισμικού που επηρεάζουν παραγωγικότητα.
Ιδιαίτερη προσοχή δίνεται στην προετοιμασία του συστήματος για τη δοκιμή και την ανάλυση των αποτελεσμάτων των δοκιμών. Περιγράφει τη δημιουργία προγράμματος και μεθοδολογίας για τη δοκιμή συστημάτων υψηλού φορτίου, μοντέλων φορτίου συστήματα και συζητά μια μεθοδολογία που επιτρέπει την ποσοτική αξιολόγηση της απόδοσης συστήματα.
Δεδομένου ότι οι προγραμματιστές συστημάτων λογισμικού συχνά πρέπει να λύσουν τα προβλήματα ανάπτυξης συστημάτων υψηλής φόρτωσης που επεξεργάζονται μεγάλους όγκους δεδομένων με δεδομένων των απαιτήσεων για χρόνους απόκρισης και όγκους επεξεργασμένων δεδομένων, το μάθημα θα είναι χρήσιμο όχι μόνο για αρχιτέκτονες, αλλά και για διαχειριστές έργων ανάπτυξης, προγραμματιστές.
1. Έννοια ενός συστήματος υψηλής απόδοσης (2,5 ώρες):
Εφαρμογή υψηλής απόδοσης, εφαρμογή υψηλού φορτίου, εφαρμογή υψηλής διαθεσιμότητας.
Διαχείριση απόδοσης εφαρμογής.
Εξάρτηση της τιμής διόρθωσης σφάλματος από το στάδιο ανίχνευσης και το στάδιο εισαγωγής.
Βασικά χαρακτηριστικά που περιγράφουν την απόδοση του συστήματος.
Μοντέλο φόρτωσης συστήματος.
2. Ανάλυση απαιτήσεων για συστήματα υψηλής απόδοσης (1,5 ώρα)
Διαμόρφωση μη λειτουργικών απαιτήσεων για συστήματα υψηλής απόδοσης.
Αντιμετώπιση αντιφάσεων κατά τη δημιουργία απαιτήσεων απόδοσης.
Πληρότητα απαιτήσεων.
Εργαστήριο (1 ώρα):
Ανάλυση απαιτήσεων για ασυνέπεια και πληρότητα.
2.1.Αρχιτεκτονικές τακτικές. Τακτική παραγωγικότητας (1,5 ώρα)
Χαρακτηριστικά του σχηματισμού απαιτήσεων για συστήματα ουράς (QS).
3. Σχεδιασμός συστημάτων υψηλής απόδοσης (2 ώρες)
Χαρακτηριστικά ποιότητας συστήματος.
Ανταλλαγές όταν εργάζεστε ταυτόχρονα σε πολλά ποιοτικά χαρακτηριστικά: το παράδειγμα CAP και PACELC.
Εργαστήριο: Ανάλυση της αρχής της εξισορρόπησης των χαρακτηριστικών ποιότητας χρησιμοποιώντας το παράδειγμα του Amazon Dynamo DB (1 ώρα):
Εξέταση προσεγγίσεων για την ευέλικτη κλιμάκωση του συστήματος χρησιμοποιώντας το παράδειγμα του Amazon Dynamo DB διατηρώντας παράλληλα τον έλεγχο της ανοχής σφαλμάτων και διατηρώντας σταθερή απόδοση.
3.1. Κλασικές προσεγγίσεις απόδοσης
Οι κύριες αιτίες απώλειας απόδοσης συστήματος (1 ώρα).
Βασικές μέθοδοι για την αύξηση της απόδοσης του συστήματος (1 ώρα).
Αρχές οριζόντιας και κάθετης κλιμάκωσης συστημάτων (0,5 h).
Εργαστήριο (2 ώρες):
Ανάλυση παραδείγματος κλιμάκωσης συστήματος.
Μετατροπή μονολιθικού συστήματος σε Map-Reduce.
Επισκόπηση του Map-Reduce.
Μετατροπή Map-Reduce σε αρχιτεκτονική Lambda για τη μείωση των προβλημάτων της καθαρής πρακτικής Map-Reduce.
4. Μοτίβα για την εφαρμογή συστημάτων υψηλής απόδοσης (5 ώρες)
Οι κύριες κατηγορίες προτύπων που χρησιμοποιούνται στην κατασκευή συστημάτων υψηλής απόδοσης: GRASP, Αρχιτεκτονικά μοτίβα, μοτίβα ολοκλήρωσης εφαρμογών.
Παραδείγματα πρακτικής εφαρμογής προτύπων σε σύγχρονα πρότυπα.
Παραδείγματα πρακτικής εφαρμογής προτύπων σε πλαίσια ανάπτυξης σύγχρονων συστημάτων ολοκλήρωσης.
5. Κωδικοποίηση συστημάτων υψηλής απόδοσης (2 ώρες)
Βασικά ζητήματα κωδικοποίησης συστημάτων υψηλής απόδοσης.
Μέθοδοι βελτιστοποίησης για σύγχρονους μεταγλωττιστές και περιβάλλοντα χρόνου εκτέλεσης.
6. Δοκιμή συστημάτων υψηλής απόδοσης (2 ώρες)
Τύποι δοκιμών που χρησιμοποιούνται για την απόδειξη της απόδοσης του συστήματος.
Προετοιμασία για δοκιμή (κατάρτιση σεναρίων και δημιουργία μοντέλου φορτίου).
Ανάλυση των αποτελεσμάτων των δοκιμών.
7. Μεθοδολογία SPE (1 ώρα)
Εισαγωγή στη μεθοδολογία SPE. Ιστορία, όρια χρήσης.
Μεθοδολογία για την ανάλυση συστημάτων που χρησιμοποιούν SPE.
Εργαστήριο (1 ώρα):
Εξέταση ενός πρακτικού παραδείγματος χρήσης της μεθοδολογίας SPE για:
Εκτίμηση των ορίων απόδοσης του συστήματος με βάση τα τρέχοντα χαρακτηριστικά του υλικού και του λογισμικού.
Αξιολόγηση του αντίκτυπου των αρχιτεκτονικών αποφάσεων στην απόδοση του συστήματος.
Εκτιμήσεις απαιτήσεων υλικού με βάση τις απαιτήσεις απόδοσης, με βάση την κλιμάκωση των τρεχουσών διεργασιών του συστήματος.