Ha sin utvecklingsmiljö i en virtuell maskin

Trädvy Permalänk
Medlem
Plats
Uppsala
Registrerad
Okt 2004

Ha sin utvecklingsmiljö i en virtuell maskin

Hej,
Jag är en hemma/fritidsutvecklare, men använder flera datorer beroende var jag är i huset och om jag är och reser.

Idag har jag bara min utvecklingsmiljö på en dator (stationär hemma i arbetsrummet), men skulle gärna vilja koda lite när andan faller på, dvs ha denna utvecklingsmiljö på flera ställen.

En väg att gå är naturligtvis att installera den på alla maskiner, men då ska dessa uppdateras och konfas över tiden och detta tar då tid från lusten att koda.

Skulle jag istället kunna ha min utvecklingsmiljö i en virtuell maskin (Windows 10 pro) och antingen ansluta till den eller helt enkelt ta med mig den när jag vill koda på en annan maskin? Blir prestandan hemskt lidande?

Vilken är er åsikt, bör/kan jag gå denna vägen?

Tack!

Trädvy Permalänk
Medlem
Plats
Norrköping
Registrerad
Okt 2004

Prestandan kan du påverka själv, beroende på vilka resurser du delar ut. Men visst fungerar det du nämner! Jag ansluter ofta till min Windows server VM här hemma med hjälp av VMWare. Se till att köra en privat VPN bara. Dumt att öppna upp portar för att komma åt din VM. Känns lite väl sårbart.

$ grep parts /home/pwntato/thermaltake_core_v21
specs: core i7 6700k, 16GB vengeance lpx, asus maximus viii gene, asus strix 980ti, evga 850p2, samsung 850 evo 250GB, samsung 850 evo 1tb, wd green 1TB

$ echo citera gärna om du vill ha svar snabbare >> /home/pwntato/quote

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Nov 2010

På vissa arbetsplatser idag är det nästan arkebusering på plats om någon upptäcks utveckla på sin fysiska maskin. Så din ide är något väldigt många gör och det mer eller mindre är ett krav inom olika IT-områden. Orsaken är som du nämnde och om en person har satt upp en komplicerad miljö och en kollega ska jobba med det, så finns det såklart inte tid att sätta upp en ny miljö för denna utan det ska vara virtuellt så det går snabbt att kopiera.

Angående prestandaförlust så är det ej mycket idag om du ej jobbar med grafisk tunga saker, det finns sätt att få grafikprestanda in i virtuella miljöer men det är lite krångligt. Så om du utvecklare krävande 3D spel, så kör på fysisk maskin.

Kraven för att jobba virtuellt idag skulle jag säga är en i5a med 8GB ram, även om nu i5 är diffust beskrivning av krav. Windows pro kanske har Hyper-V med som standard, själv kör jag dock VMplayer som fungerar väldigt bra.

Sedan fjärrstyra så vpn plus remote Desktop is the shit såvida du ej jobbar med tung grafik, då måste man blanda in RemoteFX eller liknande. (kräver windows server) Ett alternativ är teamviewer som faktisk fungerar rätt så bra.
Jag upplever dock att VPN plus RDP (remote desktop) ger bättre flyt när det ej är mycket grafik.

Gått över till enbart Google Chromebook på klientsidan.

Trädvy Permalänk
Medlem
Plats
Järfälla
Registrerad
Jan 2004

Hur ser din utvecklingsmiljö ut?

Trädvy Permalänk
Medlem
Plats
Varberg
Registrerad
Jan 2011

Enkelheten med VMPlayer fungerar helt okej, men jag störde mig ändå på 2D prestandan. Jag sitter på 4790k med 16GB Ram.

Det slutade med att jag kör med Ansible Playbooks för att få samma konfiguratio mellan arbetsstationerna. Verkligen inte optimalt! Men fungerar snabbt att få upp ett konfigurerat system efter en utblåsning av en dator

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Nov 2010
Skrivet av skyw00lker:

Enkelheten med VMPlayer fungerar helt okej, men jag störde mig ändå på 2D prestandan. Jag sitter på 4790k med 16GB Ram.

Det slutade med att jag kör med Ansible Playbooks för att få samma konfiguratio mellan arbetsstationerna. Verkligen inte optimalt! Men fungerar snabbt att få upp ett konfigurerat system efter en utblåsning av en dator

Allt med grafik är svårt, det finns olika tekniker och man skulle ha de senaste grafikkorten och windows server 2016 om jag minns rätt. (finns garanterat linux ocskå)
Men för den stora skaran är inte grafikdelen så känslig.

Ansible Playbooks var intressant, virtuella maskiner är enklare, men behöver man grafikprestanda så..

Gått över till enbart Google Chromebook på klientsidan.

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Jan 2010

Visual Studio t.ex. sparar din konfiguration med ditt konto så att du kan ha den på multipla datorer. Med koden i git kan du snabbt synca kod från dator till dator.

Jag kör ibland utveckling med Remote Desktop mot en VM och det kan gå till nöds, men jag föredrar responsiviteten tangentbord/editor som man får om man sitter direkt på hårdvaran. Och det är inte prestandan i VM-en som ställer till det utan det är tiden det tar skicka tangentbordstryckningar och få tillbaka skärmbilden. Om du ändå vill proba så skulle jag rekommendera Remote Desktop (på Windows) istället för t.ex. Teamviewer, den verkar snabbare då den skickar windows anrop för att rita om istället för att strömma skärmbilden.

Trädvy Permalänk
Medlem
Registrerad
Sep 2015

Själv har jag kört med VMWare Workstation, men med version 12 så blev den segare än sirap doppat i tjära (funkade utmärkt i 10:an). Hyper-V är gratis, men kräver en giltig licensnyckel till gäst operativet. Fick lite bättre prestanda än med Workstation. Men haft lite små bekymmer med remote desktop som erbjuds. Blir korrupt överföring, även lokalt. Men jag tyckte om Workstation väldigt mycket och hade det på förra jobbet.

Alternativet är att sätta upp en server som man kan köra remote desktop till, t.ex. via VPN eller TeamViewer om det är tillräckligt.

Det som hände med Workstation 12, var att visual studio tog 10 minuter att starta. Lagom spännande må jag lova. Nu tar det kanske 15-25 sekunder med Hyper-V.

Om det är spelutveckling, så är det enda rätta att köra direkt i vanliga miljö. Det går att lösa med Hyper-V/Workstation självfallet, men det blir lite prestanda förlust.

Trädvy Permalänk
Medlem
Plats
Mitt i Skåne
Registrerad
Okt 2001

Jag utvecklar 100% i VM. Jag har en Macbook pro i7 4C8T och 16 GB ram. På den har jag både Windows 10 och Linux Mint i Parallels. Funkar hur bra som helst!

/Knight

Idag kom Athlon64

Trädvy Permalänk
Medlem
Plats
I molnet
Registrerad
Jul 2008

Ett annat alternativ skulle ju vara att låta en dator alltid stå på med utvecklingsmiljön i bakgrunden. Då kan man ju alltid koppla upp sig till denna via remote desktop. Så gör vi på jobbet ifall man inte tagit med sig datorn hem och behöver jobba hemifrån.

Jag föredrar det före en VM. Satt i det tidigare, men prestandan blir lidande, speciellt om man behöver köra 3 separata projekt samtidigt i Visual Studio.

Men sen är väl smaken som baken. Kan använda mig av VM när jag vill slippa gå mellan OSX och bootcamp.

I7 7700k, Asus ROG STRIX Z270i, Geforce GTX 1070 mini ITX, Lian-Li PC-Q04

Trädvy Permalänk
Medlem
Plats
Mitt i Skåne
Registrerad
Okt 2001
Skrivet av Chobi:

Jag föredrar det före en VM. Satt i det tidigare, men prestandan blir lidande, speciellt om man behöver köra 3 separata projekt samtidigt i Visual Studio.

Men sen är väl smaken som baken. Kan använda mig av VM när jag vill slippa gå mellan OSX och bootcamp.

Det beror ju såklart på vad man gör men i Parallels blir inte prestandan lidande för mig. Jag har närmast identiska kompileringstider i Linux och OSX. Även när jag kompilerar stora projekt med över 60 min kompileringstid. Min VM använder då 12 GB ram men de 4 som är kvar till host OS räcker bra. Jag har dock ingen erfarenhet av Visual Studio...

/Knight

Idag kom Athlon64