Office Grid Computing folosind medii virtuale - Partea 5
Introducere
Lucrez într-o companie unde am rula lot multe locuri de muncă prelucrarea milioane de înregistrări de date în fiecare zi şi m-am gândit recent la toate maşinile care stau în jurul fiecare zi nu face nimic pentru mai multe ore. Nu ar fi bine dacă am putea folosi aceste maşini să consolideze puterea de procesare a sistemelor noastre? În acest set de articole am de gând să se uite la beneficiile potenţiale ale angajarea unui birou grilă utilizând medii virtualizate.
În Partea 4 ne-am uitat la utilizarea instrumentelor pentru a ne asigura că rulaţi cea mai recentă versiune a datelor şi sursele de cod, astfel încât rezultatele obţinute sunt intotdeauna la curent cu cele mai recente informaţii de afaceri şi de logică.
Pre-Deployment
Înainte de implementarea sistemului de reţea dumneavoastră dacă există un lucru pe care il faci si un singur lucru este de referinţă actual sistemul dvs.! Indiferent de ceea ce spun colegii despre cât de mult de lucru suplimentar sistemul dvs. este de gând să faci dacă nu aveţi numere pentru a sprijini această garanteaza dvs. nu sunt nimic. Deci,
- câte înregistrări puteţi proces în prezent? Pe zi? Per ore?
- Cât timp durează de obicei, la rândul său, în jurul unui loc de muncă?
- Cât de mult mai mult capacitatea de ai?
Există, de asemenea întrebări suplimentare:
- Dacă serverul dvs. de prelucrare (sau unul dintre serverele de procesare a) se duce în jos cum va afecta acest lucru capacităţile dumneavoastră, vă va fi paralizat?
- Ce avantaje speraţi / asteptati pentru a obţine de la un sistem de reţea?
- Sunt maşini de birou capabil să ruleze de locuri de muncă?
- Sunt dumneavoastră (sau poate fi convertit locuri de munca) pentru a lucra în acest stil de a rula?
Ultimul punct major este de a avea nevoie de timp pe orice schimbare majoră ca aceasta. Actualizaţi codul de prelucrare pentru a lucra cu ajutorul noii metodologii, de referinţă din nou. Posibil configura server-ul dvs. de procesare pentru a rula o masina virtuala, după ce toate server de procesare va fi doar un alt muncitor (doar unul foarte puternic relativ). Permite noului proces să se stabilească.
Deployment
Sugestia mea ar fi să pop în birou un week-end efectua toate instalaţiile şi configurare. Face acest lucru doar două săptămâni înainte de vacanţă şi se lasă un alt băiat sărac ca să se ocupe cu consecinţe ... poate nu ...
De implementare pentru un sistem ca acest lucru trebuie să fie lentă. În ciuda fiind relativ simplu pentru a configura acest sistem va afecta intreaga infrastructura de birou (bine unul digital). În primul rând, pentru a lansa o pereche de maşini la un moment dat, să monitorizeze traficul de reţea, modul în care gazdele lucrător efectua pe o bază de zi cu zi. Posibil să aveţi nevoie să-şi modifice configuraţia de locuri de muncă ca răspuns la constatările dumneavoastră.
Odată ce sistemul a stabilit cu câteva maşini de (sa zicem 10% din totalul maşinilor de birou, adică 5) să ţină de monitorizare a traficului în reţea şi maşina gazdă de referinţă următoare performance. din nou, ar trebui să fie acum de prelucrare de locuri de muncă cu 33% mai mult decât prima dvs. de referinţă. Verificaţi acest lucru este atât de, sau ca esti cel puţin în acest ballpark. Dacă nu, a investiga ce se întâmplă înainte de a trece mai departe. Se repetă acest ciclu până când fericit au toate maşinile de birou care rulează fără a ucide performanţele individuale de maşină sau de rectificat de reţea într-un impas.
În orice moment să păstreze benchmarking, chiar şi după toate implementarile sunt realizate. Verifica modul în care noi actualizări cod afecta viteza sistemului dvs., verificaţi toţi lucrătorii sunt de raportare în locuri de muncă şi de prelucrare. Lent (foarte lent) increment dvs. de configurare de locuri de muncă pentru a obţine cele mai bune din partea lucrătorilor şi de reţea.
Stop!
Ce se întâmplă dacă doriţi să opriţi muncitorii de la care rulează la un moment dat? Acestea sunt toate acolo de funcţionare, regenerare, şi încearcă cele mai bune lor de a prelucra date, cum ar insecte foame. Răspunsul poate părea evident, dar merita sa adăugând doar în cazul în care sa trecut cu vederea. Pur şi simplu să editaţi script-ul dvs. de procesare cu o ieşire (0) or die () sau a unor alte declaratii de a ucide munca ta de prelucrare. Un motiv important de ce mereu am încerca să actualizeze la cea mai recentă scriptul de prelucrare înainte de a fugi!
Sistemul de demonstraţie
În scopul de a scrie acest set de articole scurte Am creat o grilă foarte mic pentru a demonstra tehnologii şi metodologii. Am citit o mulţime de articole, tutoriale, şi utilizat diverse instrumente pentru instalare şi să monitorizeze ce se întâmplă. Prin nici un mijloc am ieşit şi saturate un birou întreg cu trafic si nici nu am avut acces la un PC regulat membrii personalului pentru a vedea modul în care performanţa gazdă a fost afectată.
Sistemul meu demonstraţie a fost într-adevăr foarte umil. Am folosit meu pupitru regulate constituit ca un server de control de locuri de muncă. Pe aceasta am avut instalat MySQL server instalat configurat ca un maestru în replicare, PHP , Â şi SVN legate prin Apache (pentru acces prin lucrător VM).
Am creat apoi o maşină lucrător CentOS pe VirtualBox pe un vechi de şase ani Windows XP laptop. Am setup sarcini planificate după cum se specifică după copierea VM pe maşină şi lăsaţi-o să meargă.
Maşină virtuală a fost înfiinţat cu PHP, subversiune, si MySQL. Am verificat-o sucursală numit "lucrător" de la serverele mele de control depozit de locuri de muncă şi a făcut-vă că ar putea fi actualizată folosind 'svn update ". Apoi am mySQL ca un sclav şi verificat că datele au fost reproduce de la mySQL de pe serverul de control de locuri de muncă până la VM lucrătorului de configurare. După toată această configurare am script bash şi cron de locuri de muncă.
script-ul meu de prelucrare practic a mers de-a lungul liniilor de acest lucru (chestii foarte simple):
- Citiţi în câmpul Nume
- Numărat numărul de nume similare, într-un tabel de la sursa de date a avut loc la VM
- Numărat număr de denumiri ca mai sus, dar impartirea numele de spatii (de exemplu, prenume, mijloc, prenume)
- Repetat acest proces de 1.000 de ori
Fiecare loc de muncă a avut aproximativ 20 de minute pentru a rula. La un moment dat am deschis mai multe copii ale VM lucrător pe laptop Windows şi privit de locuri de muncă să fie verificate în afara de fiecare dintre adresele IP lucrătorului. La acest punct am confirmat, de asemenea, că replicarea repornit automat.
Lăsând laptop la ralanti a dus la un lucrător de plecare pentru procesul de locuri de muncă de la serverul de control de locuri de muncă. Când reluarea Utilizarea laptop a existat o întârziere de aproximativ 30-60 de secunde, aceasta este o sumă semnificativă de timp şi a personalului ar trebui să fie conştienţi de faptul că maşina lor se poate opri pentru o scurtă perioadă de timp atunci când se întorc la maşină. Maşini mai noi nu pot avea o pauza de atât de mult. Beneficia de suma de prelucrare efectuate de către aceste utilaje în timpul perioadelor de ralanti care ar fi mai mari decât membrii personalului a fi nevoie să aştepte o perioadă scurtă de timp (să zicem 1 minut) pe care sosesc la maşinile lor de o dimineaţă (astept mai frecvent că acest lucru pentru un Windows Defender actualizare să aibă loc), cu condiţia ca acestea s-au făcut conştienţi de acest timp (util pentru a apuca o cafea dimineata!).
În general mă simt încrezător că am demonstrat tehnologii care ar putea fi utilizate pentru a crea un astfel de sistem. Am arătat că un astfel de sistem nu funcţionează pe o scară (foarte) mici şi cu ceva mai mult experimente ar putea fi extinse până utilizeze resursele de maşini de un birou lui. Dacă eu nu ajung la punctul de a face acest lucru mi-ar fi foarte interesat să ştiu / vedea când altcineva nu.
Concluzii / evaluare
Următorul pas ar fi evident pentru a obţine de fapt, un exemplu din lumea reală şi să înceapă să implementeze un sistem, cum ar fi acest lucru într-un mediu de birou şi a vedea ce se întâmplă. Solicitarea o afacere să se angajeze la acest lucru fără o companie traseu aprins pentru a dovedi tehnologia şi eficienţa poate fi un pic dificil. Grid / Calcul distribuit este foarte popular este unele cercuri şi a unor aplicatii mari (BIONC, SETI @ Home, Folding @ Home, etc). Nu am, totuşi, găsi o scară mai mică şi sistem simplu ca acest lucru în căutările mele, care ar putea fi lansate într-un mediu de birou.
Am creat un sistem practic gratuit, folosind software-ul open source cea mai mare parte şi instrumentele disponibile în aproape orice birou. Tehnologii au fost demonstrate practic şi să arate pentru a efectua şi să lucreze cum era de aşteptat. Sperăm că am arăta că nu cu multă muncă şi cu o configurare foarte simplu se poate implementa un sistem de grid computing de birou, care este puternic, ieftin, Â şi scalabilă toate în acelaşi timp.
Odată ce un sistem este sus şi să fie difuzate nu există aproape nici un capăt la suma de personalizare şi îmbunătăţirile pe care le pot face. De exemplu, statisticile / benchmarking pot fi uşor adăugate arată în valoare de un astfel de sistem în fiecare zi. Maşini noi pot fi adăugate rapid şi uşor ca şi atunci când sosesc cu upgrade-uri la hardware-ul existent susţinerea puterea de procesare.
Sper că v-aţi bucurat de lectură această serie de articole şi sa dat hrană pentru gândire pe care rulează un sistem de reţea de birou. Soluţia prezentată aici nu va funcţiona în mod necesar în toate situaţiile, dar ar trebui să fie adaptabile pentru a vă permite pentru a obţine datele de prelucrare a face folosind soluţia ta.
Vă rugăm să nu ezitaţi să trimiteţi-mi orice comentarii, corecturi sau îmbunătăţiri şi voi face meu cel mai bun pentru a menţine acest articol actualizate pentru a se potrivi.


















































[...] Ultima parte a acestei serii, aptly numit Partea 5, vom discuta despre implementarea acestui sistem. Voi rezuma ceea ce a fost invatat si [...]
Howdy acolo, tipule Marea articol! M-am săturat de folosind RSS feed-uri şi a face tu folos stare de nervozitate, aşa că am putea să urmaţi acolo:? D.
PS: Ai considerat punerea video la blog-ul dvs. de a păstra mai mulţi cititori sa bucurat, cred ca lucreaza, Roland Gorychka?.
A se vedea stare de nervozitate pe partea dreaptă a fiecărei pagini. Multumesc!