Extensibilitate

În calculul hardware și software și în telecomunicații , extensibilitatea sau scalabilitatea se referă la capacitatea unui produs de a se adapta la o modificare a ordinii de mărime a cererii ( scalabilitate ), în special capacitatea sa de a-și menține funcționalitățile și performanța în caz de mare cerere.

Potrivit lui René J. Chevance, cuvântul englezesc scalabilitate , format pe adjectivul scalabil derivat de la verbul a scala , „nu are un echivalent acceptat în mod obișnuit în franceză”. Traducerile au folosit extinderea treptată , scalabilitatea , factorul de scalare , extensibilitatea , scalabilitatea și scalabilitatea capacității . În radio și televiziune, vorbim despre scalabilitate . Se folosește și stratul de scalabilitate franceză sau cuvântul englezesc scalability este păstrat așa cum este.

Scalabilitatea se poate referi la capacitatea unui sistem de a-și crește capacitatea de calcul sub sarcină crescută atunci când se adaugă resurse (de obicei hardware). Termenul are o semnificație similară atunci când este utilizat într-un context de afaceri, atunci când scalabilitatea unei afaceri implică faptul că modelul de afaceri oferă potențialul de creștere economică pentru afacere.

Acest aspect trebuie studiat îndeaproape în orice serviciu de rețea, sub rezerva , în special , la afluxuri foarte bruște de trafic ( de exemplu , publicitatea televizată , reacție la știri sensibile, începe un eveniment sportiv, Slashdot efect , etc.), ceea ce poate duce la o creștere semnificativă în timp de răspuns care duce la descurajarea utilizatorilor, profitabilitate mai mică și uneori la imposibilitatea tehnică de a deservi toți clienții.

Introducere

„Scalabilitatea” este capacitatea unui dispozitiv IT de a se adapta ritmului cererii. Deoarece capacitatea hardware-ului este fixă, în special rata de biți a rețelelor și a hard diskurilor, există o limită a numărului de solicitări care pot fi procesate în orice moment. Peste această limită, cererile sunt multiplexate, iar concurența dintre cererile procesate simultan determină timpi de așteptare suplimentari care acționează ca un blocaj .

Scalabilitatea este o caracteristică critică a tuturor serviciilor de rețea, fără de care serviciul poate deveni victima succesului său. Popularitatea ridicată a unui serviciu poate aduce dificultăți tehnice care duc la un cost ridicat de întreținere . Ca urmare a sosirii de noi clienți, furnizorul se poate afla în dificultate economică sau chiar în imposibilitatea tehnică de a servi atât clienții noi, cât și cei vechi.

Scalabilitatea este o capacitate căutată de aplicații de baze de date , monitoare de tranzacții și sisteme de operare . Deoarece sistemul de operare este intermediarul esențial între aplicații și hardware, „scalabilitatea” acestuia din urmă are o importanță critică - dar în mare parte ignorată - pentru scalabilitatea întregului sistem informatic.

Echipament

Hardware-ul nu trebuie doar să fie suficient pentru a satisface rata actuală a cererii, ci, din perspectiva scalabilității, să poată găzdui și adăugiri de piese pentru a satisface cererea crescută.

De procesoare sunt componente scumpe ale unui server de calculator , iar numărul va fi adesea limitată prin arhitectura lor hardware - numărul de procesoare - fie prin cădere unitate datorită echilibrării performanța de încărcare în mai multe mașini fizice mai mult sau mai puțin îndepărtat. Același lucru este valabil și pentru alte componente de hardware ale computerului.

Scalarea orizontală implică adăugarea de computere pentru a satisface cererea crescută pentru un serviciu. Cea mai obișnuită metodă este echilibrarea încărcării prin utilizarea unui cluster de servere . Este o tehnică folosită în mod obișnuit de serverele web .

Scalabilitatea verticală se referă la utilizarea unui computer care oferă multe posibilități pentru adăugarea de piese, pe care este posibil să puneți o cantitate mare de memorie , multe procesoare, mai multe plăci de bază și multe hard disk-uri. De exemplu, un computer Sun Enterprise poate conține până la 64 de procesoare, 16 plăci de bază, 64 GB de memorie și tablouri de stocare . Pachetul complet echipat poate costa până la 1 milion de dolari.

Scalabilitatea arhitecturală constă în planificarea unei aplicații de la bun început, astfel încât să poată fi distribuită pe mai multe mașini fără rescriere. Funcționarea în modul client-server adaugă o flexibilitate excelentă în acest domeniu: servere web, servere de aplicații, servere de baze de date duplicate în care jurnalele de sistem indică subdimensionarea, pe măsură ce creșterea pasajelor crește în timp și numai.

Software

Indiferent de dimensiunea și complexitatea unui software, funcționalitatea, performanța, scalabilitatea și costul acestuia trebuie să corespundă așteptărilor utilizatorului final. În domeniul bazelor de date , aplicațiile de procesare a tranzacțiilor online sunt deosebit de preocupate.

Metricele de scalabilitate arată cum variază performanța software-ului în funcție de cererea crescândă. Consumatorul se așteaptă, în general, ca performanța (timpul de răspuns) să nu varieze până când sarcina (numărul de operațiuni pe secundă) atinge valoarea nominală pe care produsul este destinat să o reziste.

Măsurile de scalabilitate se concentrează pe pragul la care performanța începe să se degradeze, precum și pe rata de degradare față de creșterea cererii.

O defecțiune de extensibilitate de tip 1 apare atunci când performanța se deteriorează rapid odată cu creșterea cererii înainte de a atinge nivelul nominal și defecțiunea poate fi corectată prin operații de parametrizare și optimizare .

Un defect de extensibilitate de nivel 2 apare atunci când performanța se deteriorează până la inacceptabil și nu se poate face nicio îmbunătățire, nici măcar înlocuirea hardware-ului. Singura modalitate de a corecta un astfel de defect necesită o regândire costisitoare a arhitecturii produsului. Un produs cu acest tip de defect este considerat ilargibil.

Multe aplicații client-server sunt construite în modul de comunicare sincronă: partea client trimite o cerere către partea server, apoi așteaptă până când primește rezultatul. Acest mod este mai simplu de implementat, dar provoacă timpi de latență care sunt percepuți de utilizator ca o lipsă de scalabilitate. Modul asincron face posibilă efectuarea operațiunilor în timpul latenței și multiplexarea procesării cererilor; acest mod este utilizat în aplicații multi-thread , servicii web și programare de evenimente .

O tehnică pentru creșterea rezistenței la o cerere ridicată de software este rezervarea în prealabil a unui grup de resurse care sunt disponibile în permanență pentru multiplexarea cererilor atunci când este nevoie și astfel se economisește timpul necesar pentru rezervări, dacă este necesar. Această tehnică de punere în comun este utilizată în special pentru conectarea la baze de date .

Utilizarea cozilor , arhitectura orientată spre servicii , utilizarea serviciilor web și a sistemelor de gestionare a bazelor de date influențează scalabilitatea software-ului.

Telecomunicații

Industria telecomunicațiilor este preocupată în special de scalabilitatea și fiabilitatea rețelelor care sunt necesare pentru a deservi un număr foarte mare de clienți. O coloană vertebrală trebuie să poată susține traficul provenit de la mai multe servicii și să furnizeze un număr mare de clienți fără a fi nevoie să adăugați echipamente.

Liniile de telecomunicații deservesc, în general, atât telefonia , internetul, cât și rețelele de calculatoare private. Furnizorii de telecomunicații încearcă să reducă costurile de întreținere a rețelei, oferind în același timp toate serviciile solicitate de consumatori. Scalabilitatea unei rețele se referă atât la rezistența la o modificare a ordinii de mărime a ratei de biți a rețelei , cât la numărul de abonați.

În rețelele publice cu un număr mare de abonați (telefonie, Internet), este de așteptat ca înlocuirea terminalului să fie o măsură suficientă pentru a adapta rețeaua la cerere. Deoarece toți clienții nu își înlocuiesc terminalul în același timp, rețeaua trebuie să poată opera simultan diferite generații de terminale.

Vezi și tu

Articole similare

Note și referințe

  1. strat de scalabilitate în limba engleză .
  1. „  extensibility  ” , Le Grand Dictionnaire terminologique , Office québécois de la langue française (accesat la 14 martie 2021 ) .
  2. Comisia pentru îmbogățirea limbii franceze , „  extensibilitate  ” , FranceTerme , Ministerul Culturii (accesat la 14 martie 2021 ) .
  3. „  scalabilitate  ” , Le Grand Dictionnaire terminologique , Office québécois de la langue française
  4. René J. Chevance, Servere multiprocesor și SGBD paralelizate , Ed. Tehnici de inginer, pagina 4.
  5. Édouard Rivier, Comunicare audiovizuală , Springer, 2003, ( ISBN  9782287597688 ) , pagina 180.
  6. Luigi Zaffalon, Programare simultană și în timp real cu Java , PPUR presează tehnici, 2007, ( ISBN  9782880746988 ) , pagina 47.
  7. Dr. Omar Elloumi, Dr. Mohsen Souissi, Integrare IP și ATM , Ed. Tehnici de inginerie, 2003, pagina 5.
  8. Jean-Noël Gouyet, Servere video și media , Ed. Tehnici de inginerie, 2008, pagina 18.
  9. Patrick Rompen, Introducere în scalarea site-urilor web: introduceri la conceptele de echilibrare a încărcării , stocare în cache, virtualizare și bază de date distribuită (ediția franceză) , 2011.
  10. NoSQL
  11. Termium , Biroul de Traduceri al Guvernului Canadei: „Principiul scalabilității permite difuzarea la diferite rate de biți dintr-o singură codificare”
  12. Djillali Seba, CISCO: Interconectarea rețelelor folosind routerele și comutatoarele , Editura ENI, 2003, ( ISBN  9782746021440 ) , pagina 274.
  13. (en) Ina Minei și Julian Lucek, MPLS-Enabled Applications: Emerging Developments and New Technologies , John Wiley and Sons, 2011, ( ISBN  9780470665459 )
  14. ( blocaj în engleză ).
  15. (en) Shoshana Loeb - Benjamin Falchuk - Euthimios Panagos - Thimios Panagos, Fabricul serviciilor mobile: paradigme software și cerințe de afaceri , Wiley-Interscience - 2009, ( ISBN  9780470277997 ) .
  16. (în) Seif Haridi - EURO 1995-PAR 1 - Stockholm, Prelucrare paralelă - Volumul 966 din Note de curs în informatică , Springer - 1995 ( ISBN  9783540602477 ) .
  17. (ro) Jeff Horwitz, Unix system management: primer plus , Sams Publishing - 2002, ( ISBN  9780672323720 ) .
  18. ( echilibrarea sarcinii în engleză ).
  19. (în engleză cluster )
  20. (en) Cal Henderson, Construirea de site-uri web scalabile , O'Reilly Media Inc., 2006, ( ISBN  9780596102357 )
  21. (în engleză matrice de discuri )
  22. (în engleză procesare tranzacțională on-line sau OLTP )
  23. (în) Jack YB Lee, Scalable Continuous Media Streaming Systems Architecture, Design, Analysis and Implementation , John Wiley and Sons, 2005 ( ISBN  9780470857540 )
  24. (în) Henry H. Liu, Software Performance and Scalability: A Quantitative Approach , John Wiley and Sons, 2009 ( ISBN  9780470462539 )
  25. (în engleză arhitectură orientată spre servicii sau SOA ).
  26. (în engleză sisteme de gestionare a bazelor de date sau SGBD ).
  27. ( coloană vertebrală în engleză ).
  28. (ro) Monique Morrow și Kateel Vijayananda, Dezvoltarea serviciilor bazate pe IP: soluții pentru furnizorii și furnizorii de servicii , Morgan Kaufmann - 2003, ( ISBN  9781558607798 )
  29. (ro) Biswanath Mukherjee, rețele optice WDM , Birkhäuser - 2006, ( ISBN  9780387290553 )