Office Grid Computing hjälp Virtuella miljöer - Del 5
Inledning
Jag arbetar i ett företag där vi driver många batchjobb bearbetning miljontals skivor av data varje dag och jag har funderat nyligen om alla maskiner som sitter runt varje dag gör ingenting i flera timmar. Vore det inte bra om vi kunde använda dessa maskiner att stärka processorkraften i våra system? I denna uppsättning av artiklar jag kommer att titta på de potentiella fördelarna med att anställa ett kontor rutnät med virtualiserade miljöer.
I del 4 Vi tittade på att använda verktyg för att säkerställa att vi kör den senaste versionen av koden och datakällor så att resultaten är alltid up-to-date med de senaste affärsinformation och logik.
Pre-Deployment
Innan du distribuerar din nätet om det finns en sak du gör och en sak ensam är det riktmärke ditt nuvarande system! Oavsett vad du talar om kollegor om hur mycket extra arbete ditt system kommer att göra om du inte har siffror att backa upp detta dina garantier är ingenting. Så,
- hur många poster kan du behandla idag? Per dag? Per timme?
- Hur lång tid tar det normalt att vända sig om ett jobb?
- Hur mycket mer kapacitet har du?
Det finns också ytterligare frågor:
- Om din behandling server (eller någon av dina bearbetning servrar) går ner Hur kommer detta påverka din förmåga, kommer du att handikappade?
- Vilka fördelar hoppas du / räkna med att få från ett rutsystem?
- Är dina kontorsmaskiner som kan köra jobb?
- Är dina (eller kan du jobb omvandlas) för att arbeta i denna stil för att driva?
Den sista viktig punkt är att ta din tid på någon större förändring så här. Uppdatera din processkod att arbeta med den nya metoden, riktmärke igen. Möjligen ställa in bearbetning server att köra en virtuell maskin, efter alla dina bearbetning servern kommer bara finnas en annan arbetare (bara en mycket kraftfull relativt). Låt den nya processen att lösa.
Deployment
Mitt förslag skulle vara att titta in på kontoret en helg utföra alla installationer och inställningar. Gör detta precis innan en fjorton dagars semester och åker så andra fattiga kille att hantera följderna ... kanske inte ...
Deployment för ett system som detta måste vara långsam. Trots att det är relativt enkelt att sätta upp det här systemet kommer att påverka hela ditt kontor infrastruktur (såväl det digitala en). För det första, rulla ut till ett par maskiner åt gången, övervaka nätverkstrafik, hur arbetstagaren värdar utföra på en dag till dag. Du kan behöva ändra ditt jobb konfiguration som svar på dina slutsatser.
När systemet har fast med några maskiner (låt säga 10% av alla kontorsmaskiner, dvs 5) fortsätta att övervaka trafiken i nätverket och värddatorn performance. Nästa riktmärke igen, du bör nu vara bearbetning 33% fler arbetstillfällen än ditt första riktmärken. Kolla det är så, eller att du åtminstone i denna division. Om inte, undersöka vad som pågår innan vi går vidare. Upprepa denna cykel tills du gärna ha alla kontor maskiner som kör utan att döda enskilda maskinens prestanda eller slipning ditt nätverk till ett stillestånd.
I alla tider hålla benchmarking, även efter alla installationer är gjorda. Kontrollera hur ny kod uppdateringar påverka hastigheten på ditt system, kontrollera alla arbetstagare redovisning och bearbetning jobb. Långsamt (mycket långsamt) påslag ditt jobb konfiguration för att få det bästa ur din arbetare och nätverk.
Stopp!
Vad händer om du vill stoppa dina anställda från att köra någon gång? De är alla där ute som kör, regenerering, och försöker göra sitt bästa för att bearbeta data som hungriga insekter. Svaret kan tyckas självklart men värt att lägga utifall sin förbises. Enkelt redigera dina bearbetning manus med en exit (0) or die () eller någon annan förklaring att döda dina bearbetning jobb. Ett viktigt skäl till att vi försöker alltid att uppdatera till den senaste behandlingen manus innan någon kör!
Demonstration System
För att skriva denna rad korta artiklar jag skapat en mycket liten rutnät för att visa att teknik och metoder. Jag läser massor av artiklar, självstudier och använt olika verktyg för att installera och övervaka vad som pågick. På något sätt har jag gått ut och mättade en hel kontor med trafik och inte heller har jag haft tillgång till en fast anställda medarbetarna PC för att se hur värd resultatet påverkades.
Min demonstration systemet var mycket ödmjuk faktiskt. Jag använde min vanliga stationära inrättas som ett jobb Control Server. På detta hade jag installerat MySQL server installerad inrättas som en mästare i replikering, PHP Â och SVN kopplade genom apache (för åtkomst via arbetare VM).
Jag skapade sedan en CentOS arbetsdator på VirtualBox på en 6 år gamla Windows XP laptop. Jag setup schemalagda uppgifter som anges efter kopiering VM på maskinen och låt den gå.
Den virtuella maskinen inrättades med PHP, subversiv verksamhet, och mySQL. Jag kollade en gren som heter arbetstagare från mina servrar kontroll över arbetet förrådet och såg till att det skulle kunna uppdateras med hjälp av "svn update". Nästa jag setup MySQL som en slav och kontrollerat att uppgifterna var replikerar från MySQL på jobbet Control Server ner till arbetstagaren VM. Efter allt detta jag ställa in bash-script och cron-jobb.
Min bearbetning manus gick i stort sett i linje med detta (mycket enkla saker):
- Läs i fältet Namn
- Räknade antalet liknande namn i en tabell från datakällan hölls på VM
- Räknade antal namn som ovan men att dela namn med mellanslag (dvs förnamn, mitten, efternamn)
- Upprepade processen 1.000 gånger
Varje jobb tog ungefär 20 minuter att köra. Vid ett tillfälle öppnade jag flera kopior av arbetstagaren VM på fönstren laptop och såg de arbetstillfällen kontrolleras av genom att varje arbetstagare IP-adresser. Här vill jag också bekräftat att replikering automatiskt startas om.
Lämna den bärbara datorn till tomgång resulterade i att arbetstagaren börjar processen jobb från jobbet Control Server. När återuppta laptop användande fanns en fördröjning på cirka 30-60 sekunder är detta en hel del tid och personal skulle behöva göras medvetna om att deras maskin kan stanna upp en kort stund när de återvänder till maskinen. Nyare maskiner får inte ha en paus på detta länge. Fördelen med den mängd behandling som utförs av dessa maskiner under tomgångsperioder skulle mer än uppväga anställda att behöva vänta en kort period (säg 1 minut) när de anländer till sina maskiner på en förmiddag (jag ofta vänta längre än detta för en Windows Defender uppdatering ske) förutsatt att de fick kännedom om detta (bra tid för att ta en morgon kaffe!).
Överlag är jag känner att jag har visat den teknik som kan användas för att skapa ett sådant system. Jag har visat att ett sådant system fungerar på en (mycket) liten skala och med lite mer experimenterande kan skalas upp utnyttja resurserna i ett kontor maskiner. Om jag inte komma till den punkt att göra detta skulle jag vara mycket intresserad av att veta / se när någon annan gör det.
Slutsatser / Utvärdering
Nästa självklara steg skulle vara att faktiskt få en verklig förebild och börjar bygga ut ett system som detta i ett Office-miljö och se vad som händer. Att be ett företag att engagera sig i detta utan ett spår flammande företag att bevisa teknik och effektivitet kan vara lite svårt. Grid / Distributed computing är mycket populärt är vissa kretsar och har några större applikationer (BIONC, SETI @ Home, Folding @ Home, etc). Jag har dock inte hitta en mindre skala och enkla system som detta i mina sökningar som kan rullas ut i ett Office-miljö.
Jag har skapat en i princip gratis system med mestadels öppen källkod och verktyg som finns i nästan alla kontor. Den teknik som var i grunden har visat och visar att utföra och fungera som förväntat. Förhoppningsvis har jag visat att det inte fanns mycket arbete och med en mycket enkel installation kan du distribuera en Office-systemet grid computing som är kraftfull, billig, A och skalbar alla på samma gång.
När ett system är igång det finns nästan ingen ände på hur mycket anpassning och förbättringar du kan göra. Till exempel statistik / benchmarking kan enkelt läggas visar värdet av ett sådant system varje dag. Nya maskiner kan läggas till snabbt och enkelt och när de anländer med uppgraderingar av befintlig hårdvara stärka din processorkraft.
Jag hoppas du har njutit av att läsa denna serie av artiklar och gett dig en tankeställare om att köra ett system kontor rutnät. Lösningen som presenteras här inte nödvändigtvis fungera i alla situationer men bör kunna anpassas så att du kan få dina data behandlats med din egen lösning.
Du får gärna skicka mig några kommentarer, rättelser eller förbättringar och jag kommer göra mitt bästa för att hålla den här artikeln uppdateras för att matcha.


















































[...] Den sista delen av denna serie, passande namnet Del 5 kommer vi att diskutera utbyggnaden av detta system för. Jag ska sammanfatta vad som har lärt sig och [...]
Tjena där, Great artikeln dude! Jag är trött på att använda RSS-feeds och gör du använder Twitter så jag kan följa dig där:? D.
PS: Har du funderat på att sätta video på din blogg för att hålla läsarna mer njöt jag tycker att det fungerar, Roland Gorychka?.
Se twitter på höger sida på varje sida. Tack!