Cele mai importante cinci tendințe de dezvoltare software din 2018 - De Igor Lebedev, CTO al SONM

Publicat: 2021-08-09

Până în prezent, 2018 a fost un an transformator pentru dezvoltatori. Dezvoltarea software-ului s-a depășit cu noi versiuni și soluții de calitate superioară, care fac sarcinile computerizate mai ușoare și mai eficiente ca niciodată. Bazele de date sunt acum capabile să cuantifice grupuri mari de informații fără întrerupere, serverele sunt vândute ca serie în loc de unități singulare, iar blockchain-ul a deschis ușile prin utilizarea unui sistem descentralizat. Acestea sunt primele cinci tendințe de dezvoltare de software care iau lumea tehnologiei în pericol anul acesta:

Date mare

Creșterea constantă a datelor corporative și publice duce la o situație în care bazele de date și instrumentele de stocare tradiționale nu mai sunt capabile să utilizeze și să gestioneze volumul de date. Vechile abordări nu mai funcționează, având în vedere în mod direct că RDBMS (Relational Database Management Systems) nu mai sunt capabile să rețină totul. Acest lucru duce la apariția unor noi instrumente și abordări, dar mai important, acest lucru duce la sfârșitul dominanței bazelor de date tradiționale monolitice. Noua abordare constă în stocarea datelor partajate pe un număr multiplu de noduri. Datele de bază sunt încă stocate în bazele de date centralizate tradiționale, dar mai mult volum de date este stocat separat și ponderea bazelor de date monolitice este redusă. Provocarea datelor mari în 2018 este că vă solicită să vă rescrieți aplicațiile convenționale într-un mod nou, astfel încât să gestionați grupuri mari de date.

Scalabilitate orizontală

Soluția tradițională de scalare a fost întotdeauna achiziționarea unui server mai nou și mai mare. Acest nou server ar avea mai multe nuclee, cache de mod, frecvențe mai mari, bănci de memorie mai mari, autobuze mai rapide și mai multe discuri. Cu toate acestea, această soluție de scalare are limitări și aceste limitări au fost deja atinse. Șasiurile comune ale serverului pot avea cel mult 2 sau 4 procesoare și nu puteți adăuga procesoare fără limite, deoarece nu puteți crește frecvențele. La un moment dat, scalarea verticală își atinge limitele. Următorul pas este scalarea orizontală. Aceasta înseamnă că, în loc să cumpărați un server mai mare pentru a-l înlocui pe cel vechi, cumpărați unul sau mai multe servere suplimentare de același tip pentru a le adăuga la grupul existent. Această abordare pare mai flexibilă, dar necesită o arhitectură software diferită și, din nou, necesită rescrierea software-ului. Dacă faceți acest lucru, veți primi avantajele unei mai bune gestionări a resurselor, cu posibilitatea de a partaja resurse. Aici vedem microserviciile, execuția fără stat și Kubernetes ca tendințe.

Descentralizare

Schimbările pe care le vedem în lume, aduc noi provocări. Acestea pot fi legate de politici, costuri de livrare, încredere sau situații de piață, dar rămâne tendința că companiile tind să își descentralizeze serviciile și software-ul. Rețelele de livrare de conținut implementează servere la ISP-ul dvs., furnizorii de SaaS deschid DC-uri în țara dvs., iar companiile se gândesc la recuperarea catastrofelor. Acest lucru face ca întreprinderile să nu mai aibă un singur centru de date principal, ci două sau mai multe, în timp ce le cere inginerilor să se gândească la schimbarea unor aspecte ale arhitecturii aplicației lor.

Prelucrarea ceații

Utilizarea procesării datelor crește în fiecare zi. IoT generează tot mai multe date la marginea rețelei. Aceste date sunt procesate în mod tradițional în DC sau în cloud. Cu toate acestea, luând în considerare faptul că liniile optice moderne se aprind rapid, iar randamentul rețelei crește de la an la an, cantitatea de date crește cu mai multe ordonanțe mai repede. Rețelele sunt și au fost întotdeauna „blocajul” procesării globale a informațiilor. Dacă nu din punct de vedere tehnic (prin lățime de bandă și latență), atunci din punct de vedere economic (după prețul pe transmisie). În prezent, cel mai rapid și mai ieftin mod de a vă migra depozitul de date către un alt DC este de a apela un vehicul de marfă și de a transporta literalmente HDD-uri într-o locație nouă. Nu, nu este o glumă.

Acest lucru duce la ideea fondatoare a industriei de prelucrare Edge și Ceață - ceea ce înseamnă că cât mai multe date trebuie procesate local. Companiile IT de top lucrează la soluții pentru procesarea și difuzarea datelor în apropierea dispozitivelor. Acest tip de procesare este ceața. Există dificultăți în acest sens. Nu puteți copia doar codul din cloud și sperați că funcționează, deoarece în cloud toate datele sunt accesibile local, în timp ce în ceață niciun nod unic nu are toate datele și trebuie să solicitați altor noduri din jur informațiile necesare. Este necesar ca dezvoltatorii de aplicații să adopte arhitectura și să rescrie codul, astfel încât sarcinile să poată fi rezolvate în modul MPP (procesare paralelă masivă). Acest lucru oferă încă un motiv pentru rescrierea codului și IaaS descentralizate; până când devine o platformă atractivă pentru găzduirea aplicației dvs. nou-născut.

Toleranță la erori

Trăim într-o epocă în care este mai greu să vinzi ceva decât să produci. Concurența pieței crește, iar companiile care gestionează software se gândesc la un SLA mai bun pentru a avea un avantaj și a construi încrederea utilizatorilor. Cu punctele menționate anterior, probabilitatea unei defecțiuni a unei singure componente de sistem crește în mod critic. Nu ne putem baza pe capacitatea clusterului de baze de date Oracle de a face față unui accident, deoarece o mare parte a datelor trăiesc în afara. În loc să aveți câteva servere super fiabile cu sursă de alimentare dublă, pot exista acum 10 sau chiar 100 de servere, iar așteptările matematice ale unui singur nod eșuează aproape de 1 (unul, 100%). Ceva va eșua probabil și întreprinderile trebuie să fie pregătite din nou pentru acest lucru, analizând arhitectura aplicației lor. Lumea, în special IT, se schimbă constant și se mișcă într-un ritm incredibil de rapid. Abordările mai vechi nu funcționează. Companiile își rescriu software-ul cu date mari, scalabilitate orizontală, descentralizare și procesare de ceață. Inginerii țin cont în permanență de toleranțele la erori din partea aplicației.

Aceste tendințe de dezvoltare software au condus la apariția de noi cerințe în ceea ce privește hardware-ul și disponibilitatea acestuia, care este mai puțin critică pentru eșecul unui singur nod și cu mai multe opțiuni de scalare orizontală. Pe măsură ce privim spre viitor, anticipăm un surplus de tendințe în continuă dezvoltare, care, sperăm, va ține pasul cu tehnologia noastră în evoluție și cu necesitatea unui suport hardware mai mare.

Despre Igor Lebedev:

Igor Lebedev este specialist în informatică, cu o experiență IT de peste 15 ani. Expertiza sa constă în arhitecturi de sisteme clasice, clase de sisteme, baze de date, computere de ceață, sisteme de tranzacționare automate, contracte inteligente și microelectronică. Igor servește în prezent ca CTO și șef al echipei de dezvoltare SONM din iulie 2017. În calitate de CTO, Igor oferă o perspectivă și o contribuție valoroasă la viziunea produsului și la procesul de dezvoltare general, în timp ce construiește continuu o echipă de dezvoltatori care creează proiectul SONM .