Virtualizarea serverelor poate ajuta la combaterea extinderii serverului, la o utilizare mai buna a puterii de calcul, la reducerea facturilor la energie si la imbunatatirea agilitatii si flexibilitatii centrului de date.
Aceasta este una dintre acele tehnologii care sunt simple in concept si profunde in impactul lor asupra centrelor de date pentru intreprinderi.
Ce se intampla daca, in loc sa executati o instanta a sistemului de operare si o aplicatie per server, puteti adauga un strat de software, cunoscut sub numele de hypervisor, care va permite sa executati mai multe instante ale sistemului de operare si munca asociate pe un singur server fizic?
Ideea din spatele virtualizarii serverului, a avut ca model mainframe-ul IBM din anii 1960 si a fost popularizata de VMware, care a introdus software de virtualizare pentru serverele x86 la inceputul anilor 2000. De atunci, alti furnizori si-au dezvoltat propriile platforme de virtualizare a serverului, iar industria a creat instrumente avansate de gestiune si automatizare, cu rolul de a usura munca de implementarea, mutarea si gestionarea a volumului de lucru al masinii virtuale (VM).
Inainte de virtualizarea serverului, intreprinderile au avut au avut de-a face cu extinderea serverelor, cu o putere redusa de calcul, cu facturi de energie in crestere, cu procese manual, cu ineficienta si cu o inflexibilitate generala in centrele lor de date.
Virtualizarea serverelor a schimbat toate acestea si a fost adoptata pe scara larga. De fapt, este greu sa gasesti o intreprindere care nu mai executa majoritatea volumului de lucru intr-un mediu VM.
Dar, dupa cum stim, nici o tehnologie nu este permanenta si nu poate fi schimbata de o tehnologie mai noua.
Virtualizarea serverelor a luat un dispozitiv fizic si l-a despartit in doua, permitand mai multor sisteme de operare si mai multor aplicatii sa foloseasca puterea de calcul a unui singur dispozitiv.
Dezvoltatorii au inceput sa desparta aplicatiile in mai multe microservicii, care ruleaza simultan si, de asemenea, au inceput sa experimenteze calculul fara server (cunoscut si ca function-as-a-service (FaaS).
In ambele scenarii, VM este complet ocolit.
Beneficiile pentru virtualizarea serverelor
Beneficiile virtualizarii serverului sunt multe. Puteti combina mai multe aplicatii pe un singur dispozitiv hardware, reducand astfel numarul total de servere necesare in centrul de date. Mai putine servere, mai putine rack-uri, mai putin echipamente de retea; totul se traduce in economie; de la spatiul fizic pana la costurile de intretinere pentru aerul conditionat.
Aceasta metoda reduce nevoia de cheltuieli de capital pe hardware nou si va permite sa refolositi serverele eliberate.
Progresele in automatizare datorate virtualizarii serverului va permit sa creati un VM nou in cateva secunde si sa mutati o buna parte din volumul de lucru cu o simpla atingere a unui buton.
Aceasta tehnologie permite furnizorilor de cloud computing sa isi ofere serviciile. Atunci cand un client comanda IaaS de la un furnizor de servicii de cloud, acesta ofera mai intai VM-uri si apoi adauga caracteristicile de stocare, management si securitate necesare pentru a indeplini sarcina.
Tipuri diferite
In lumea de virtualizare a serverului, serverul fizic este denumit gazda si ruleaza un sistem de operare gazda. Fiecare VM este un invitat si ruleaza un sistem de operare de tip guest. “Oaspetii” sunt separati unul de celalalt.
• Cu ajutorul virtualizarii bazate pe hypervisor, monitorul hypervisor sau monitorul masinii virtuale (VMM) se afla intre sistemul de operare gazda si stratul hardware care la baza, furnizand resursele necesare pentru OS-urile oaspete
• Virtualizarea partiala si virtualizarea completa modifica sistemul de operare gazda inainte de instalarea in masina virtuala. Acest lucru imbunatateste performanta.
• Asistenta hardware incearca sa reduca cheltuielile legate de hipervizoare prin extensii hardware, mai degraba decat prin modificari ale software-ului.
• Cu ajutorul virtualizarii la nivel de nucleu, in loc sa utilizati un hypervisor, executati o versiune separata de Linux. Acest lucru faciliteaza rularea mai multor masini virtuale intr-o singura gazda cu ajutorul unui driver de dispozitiv folosit pentru comunicarea dintre OS-ul Linux si masinile virtuale.
• In cele din urma, cu virtualizare la nivel de sistem sau sistem de operare, puteti rula medii multiple, dar logic distincte, pe o singura instanta sistemului de operare principal. Cu virtualizarea la nivel de sistem, toate VM-urile trebuie sa imparta aceeasi copie a sistemului de operare, in timp ce virtualizarea serverului permite VM-urilor sa aiba copii diferite de sisteme de operare.
Masini virtuale vs. containere
Containerele pot sa ocoleasca OS-urile redundante ale gazdelor si operatiunile de pornire asociate
. Dezvoltatorii pot rula pe un singur dispozitiv de pana la 8 ori mai multe containere decat VM-uri.
Containerele au si ele dezavantajele lor. Deoarece sunt o tehnologie relativ noua, ele nu dispun de prea multe instrumente de management (instrumente pe care o tehnologie matura le-ar avea), deci trebuie efectuata multa munca intretinere. Exista si preocupari legate de securitate.
Cu cu ajutorul VM-urilor, puteti muta cu usurinta sarcini de lucru intre gazde.
Masini virtuale vs. serverless
Intr-un mediu de cloud IaaS, clientii obtin VM-ul, spatial de depozitare, baza de date si instrumente de securitate si gestionare asociate, iar apoi sa incarce aplicatiile pe VM-uri.
Cu ajutorul calculului fara server, dezvoltatorii scriu codul, iar furnizorul de servicii cloud se ocupa de toate celelalte. Dezvoltatorul nu trebuie sa se gandeasca niciodata la servere, sisteme de operare, furnizare sau gestionare. Desigur, exista un server fizic care executa codul, dar acesta este responsabilitatea furnizorului de servicii de cloud.
In locul unei aplicatii monolitice, codul este impartit in functii specifice. Atunci cand se intampla un eveniment care declanseaza aceasta functie, serviciul serverless – de exemplu, Amazon Lambda – o executa. Furnizorii de servicii sunt platiti de client in functie de aceasta operatie.
Ca si in cazul scenariului microservice / container, computerele fara server elimina nivelul de masina virtuala. In acest moment, calculul serverless este relativ nou si cazurile de utilizare sunt limitate.
Viitorul pentru virtualizarea serverelor
In timp ce interesul pentru calculatoarele serverless este in crestere, realitatea este ca virtualizarea serverului este o tehnologie solida care stapaneste marea majoritate a aplicatiilor pentru intreprinderi – unele estimari au pus saturatia VM la 90%.
Este dificil sa va imaginati ca o intreprindere care deplaseaza aplicatii critice de misiune care ruleaza fara probleme pe VM-uri fie la containere, fie la o platforma fara server. Utilizatorii cu medii eterogene vor folosi probabil VM, deoarece containerele trebuie sa ruleze toate pe acelasi sistem de operare si nu pot fi amestecate intre Linux si Windows.
Totusi, pentru noile aplicatii care sunt construite cu cele mai recente tehnologii DevOp, dezvoltatorii au acum optiuni. In continuare, dezvoltatorii vor lua decizii de la caz la caz daca vor rula aplicatiile intr-un mediu VM traditional, un container sau un mediu fara server .