Proiectarea aplicațiilor de înaltă performanță - curs 46.900 rub. de la IBS Training Center, training 25 ore, Data: 11 martie 2024.
Miscelaneu / / November 28, 2023
Chiar și înainte de a proiecta orice sistem software, trebuie să înțelegeți că, datorită anumitor limitări, acesta poate deveni întotdeauna un sistem de înaltă performanță. Când se dezvoltă un sistem de înaltă performanță, este necesar să se determine ce parametri definesc sistemul ca fiind de înaltă performanță. Dacă sistemul este performant, atunci pentru implementarea sa cu succes trebuie luate măsuri speciale pentru a asigura performanța.
Cursul examinează diferențele dintre sistemele cu sarcină mare, de înaltă fiabilitate și de înaltă performanță.
Obiectivul principal al cursului este de a oferi o înțelegere a conceptelor de bază, principiilor și abordărilor utilizate în proiectarea sistemelor de înaltă performanță.
O expresie comună: „Ar trebui să funcționeze rapid!” - aceasta nu este o cerință. În timpul instruirii, participanții nu numai că vor învăța de ce aceasta nu este o cerință, dar vor învăța și cum să lucreze și să analizeze corespunzător cerințele de performanță. Cursul prezintă, de asemenea, conceptele de „scenarii critice”. Studenții vor consolida cunoștințele dobândite privind lucrul cu cerințele în practică în timpul unei sarcini practice.
Cursul examinează principalele exemple de pierdere a productivității sistemelor software. După aceasta, sunt prezentate principalele modalități de combatere a performanței sistemului. De asemenea, în cadrul cursului, modelele utilizate în proiectarea sistemelor cu cerințe crescute sunt discutate folosind exemple practice de aplicare. performanță, oferă informații despre principalele anti-pattern întâlnite la implementarea sistemelor software care afectează productivitate.
O atenție deosebită este acordată pregătirii sistemului pentru testare și analiza rezultatelor testelor. Descrie crearea unui program și a unei metodologii pentru testarea sistemelor cu sarcină mare, modele de încărcare sisteme și discută o metodologie care permite evaluarea cantitativă a performanței sisteme.
Deoarece dezvoltatorii de sisteme software trebuie deseori să rezolve problemele dezvoltării sistemelor foarte încărcate cu care procesează volume mari de date date fiind cerințele pentru timpii de răspuns și volumele de date prelucrate, cursul va fi util nu numai arhitecților, ci și managerilor de proiecte de dezvoltare, dezvoltatori.
1. Conceptul unui sistem de înaltă performanță (2,5 ore):
Aplicație de înaltă performanță, aplicație de încărcare mare, aplicație de înaltă disponibilitate.
Managementul performanței aplicațiilor.
Dependența prețului corectării erorilor de stadiul de detectare și de stadiul introducerii.
Caracteristici de bază care descriu performanța sistemului.
Model de încărcare a sistemului.
2. Analiza cerințelor pentru sisteme de înaltă performanță (1,5 ore)
Formarea cerințelor nefuncționale pentru sistemele de înaltă performanță.
Confruntarea cu contradicțiile la crearea cerințelor de performanță.
Completitudinea cerințelor.
Atelier (1 oră):
Analiza cerințelor pentru inconsecvență și completitudine.
2.1.Tactici arhitecturale. Tactici de productivitate (1,5 ore)
Caracteristici ale formării cerințelor pentru sistemele de așteptare (QS).
3. Proiectare sisteme performante (2 ore)
Atributele de calitate ale sistemului.
Compensații atunci când se lucrează simultan la mai multe atribute de calitate: exemplul CAP și PACELC.
Workshop: Analiza principiului echilibrării atributelor de calitate folosind exemplul Amazon Dynamo DB (1 oră):
Luarea în considerare a abordărilor pentru scalarea flexibilă a sistemului folosind exemplul Amazon Dynamo DB, menținând în același timp controlul asupra toleranței la erori și menținând performanța constantă.
3.1. Abordări clasice de performanță
Principalele cauze ale pierderii performanței sistemului (1 oră).
Metode de bază pentru creșterea performanței sistemului (1 oră).
Principii de scalare orizontală și verticală a sistemelor (0,5 h).
Atelier (2 ore):
Analiza unui exemplu de scalare a sistemului.
Conversia unui sistem monolitic în Map-Reduce.
Prezentare generală a Map-Reduce.
Conversia Map-Reduce în arhitectura Lambda pentru a reduce problemele practicii pure Map-Reduce.
4. Modele de implementare a sistemelor de înaltă performanță (5 ore)
Principalele clase de modele utilizate în construirea sistemelor de înaltă performanță: GRASP, modele de arhitectură, modele de integrare a aplicațiilor.
Exemple de implementare practică a șabloanelor în standardele moderne.
Exemple de implementare practică a șabloanelor în cadrele moderne de dezvoltare a sistemelor de integrare.
5. Codificarea sistemelor de înaltă performanță (2 ore)
Probleme de bază în codificarea sistemelor de înaltă performanță.
Metode de optimizare pentru compilatoare moderne și medii de rulare.
6. Testarea sistemelor de înaltă performanță (2 ore)
Tipuri de teste utilizate pentru a demonstra performanța sistemului.
Pregătirea pentru testare (elaborarea scenariilor și crearea unui model de încărcare).
Analiza rezultatelor testelor.
7. Metodologia SPE (1 oră)
Introducere în metodologia SPE. Istorie, limite de utilizare.
Metodologie de analiză a sistemelor folosind SPE.
Atelier (1 oră):
Considerarea unui exemplu practic de utilizare a metodologiei SPE pentru:
Estimarea limitelor de performanță a sistemului pe baza caracteristicilor actuale ale hardware-ului și software-ului;
Evaluarea impactului deciziilor arhitecturale asupra performanței sistemului;
Estimări ale cerințelor hardware bazate pe cerințele de performanță, bazate pe scalarea proceselor curente ale sistemului.