Entwicklung über Remote Desktop [geschlossen]

8

Hat jemand irgendwelche erfolgreichen Bemerkungen darüber, dass ein Team über Remote Desktop arbeiten soll?

An vielen Arbeitsplätzen stellen wir Endanwender über Citrix und die Anwendungen auf einem zentralen, leistungsfähigen Server bereit. Manchmal befinden sich die Clients im selben Gebäude wie der Server, aber oft sind sie remote.

Es könnte einige große Vorteile für mich haben, meine Entwickler auf Windows XP- oder Vista-Instanzen zu setzen, die auf einigen Servern mit Hyper-V laufen.

Ich mache mir Sorgen, dass RDP / RDC über das Internet zu langsam wäre, um sich effizient entwickeln zu können.

Ich bin sicher, ich kann viele schlechte Dinge darüber hören ... Gibt es da draußen Leute, die Erfolg hatten?

    
Jason 01.02.2009, 18:08
quelle

15 Antworten

11

Ich habe eine Situation gesehen, wo der Versuch gemacht wurde, dies mit einem Satellitenbüro zu tun. Es wurde für ein Java-Entwicklungsteam mit verschiedenen Java-IDE-Tools gemacht. Das Ergebnis wurde nicht als Erfolg gewertet, und das Unternehmen brachte das Team mit erheblichem Aufwand zurück in ein Londoner Büro.

Für jemanden, der dies Tag für Tag auf einer interaktiven Software macht, ist das Ergebnis nicht wirklich sehr angenehm. Für etwas, das hauptsächlich textbasierte Tools wie vim und unix verwendet, funktioniert es etwas besser. An einem Punkt hatte ich XVNC über eine 128 Kbit DSL-Verbindung (von einem Typ, der zu dieser Zeit in Neuseeland vorherrschend war) und konnte ziemlich leicht auf einem Oracle-basierten Data Warehouse an einem entfernten Standort arbeiten. Die für das Tooling erforderliche Interaktivität führte dazu, dass sie für die langsame Verbindung weniger anfällig sind als eine Windows-basierte IDE.

Also werde ich das Argument "es kommt darauf an" mit einigen Qualifikationen aufrufen:

  • Ich würde es nicht für eine moderne IDE empfehlen, und schon gar nicht für etwas sehr Grafisches wie Dreamweaver, BI Development Studio oder Informatica.

  • Für eine textuelle Umgebung wie traditionelle Unix-Entwicklungswerkzeuge könnte es wahrscheinlich gut funktionieren. Diese Benutzeroberflächen sind viel weniger anfällig für Latenz als eine direkte Benutzerschnittstelle.

Ich glaube an das Prinzip der "besten Werkzeuge". Wenn Sie sich bemühen, einem Entwicklungsteam eine zweitklassige Benutzeroberfläche zu geben, werden negative Signale ausgegeben. Die damit verbundenen Kosteneinsparungen sind wahrscheinlich minimal und wird einige Ihrer Teammitglieder verärgern. Selbst wenn es vernünftig funktionieren kann, machen Sie damit trotzdem eine Wertschätzung. Wiegen Sie die Kostenersparnis gegenüber den Kosten für den Austausch eines oder mehrerer Ihrer wichtigsten Entwicklungsmitarbeiter.

    
ConcernedOfTunbridgeWells 01.02.2009, 20:46
quelle
7

Wenn Sie sich keine Gedanken über die Latenz bei Audio und schnell bewegten Bildern machen und nichts von 3D-Hardware abhängig machen, werden Sie wahrscheinlich gut zurechtkommen.

Ich habe es noch nie in einer Teamumgebung verwendet, aber ich benutze meinen Laptop den ganzen Tag in meinem Arbeitsplatz und liebe es.

    
Cody Brocious 01.02.2009 18:12
quelle
7

Wir verbinden uns mit unseren Entwicklungsumgebungen mit RDP und lokal ist die Leistung großartig. Es verlangsamt ein wenig über VPN, aber ist immer noch akzeptabel reagieren.

Schalten Sie alle Windows-Animationsfunktionen, den Desktop-Hintergrund usw. aus und das wird erheblich helfen.

    
Chris Ballance 01.02.2009 18:12
quelle
5

Ich habe in einer Umgebung gearbeitet, in der wir gelegentlich vorhandenen Code über den Remote-Desktop bearbeiten. Hier gab es keine wesentlichen Herausforderungen. Als Entwickler hasste ich es, diese Arbeit zu tun. Alles fühlte sich langsam und unempfänglich an. Wie auch immer, wir haben die Arbeit gemacht.

Zum Glück waren das oft kurze 3-4 Stunden Jobs ... meistens Korrekturen an bestehenden Systemen auf entfernten Kundenseiten. Ich glaube nicht, dass ich es als normale Art der Arbeit empfehlen kann, aber es ist sicherlich möglich.

    
Sailing Judo 01.02.2009 18:13
quelle
3

Ich habe sowohl VNC als auch RDP über eine DSL-Verbindung verwendet, die durch einen SSH-Tunnel lief, und hatte keine wirklichen Probleme.

Es gibt definitiv einige Verzögerungen, besonders wenn Sie große Teile eines Bildschirms neu zeichnen. Aber die meisten Entwicklungen sind mit kleinen Änderungen verbunden, und beide Protokolle erledigen das sehr gut.

    
kdgregory 01.02.2009 18:14
quelle
3

Ich verwende Remote Desktop, um meinen Windows-Rechner bei der Arbeit zu steuern. Ich benutze eine Parallels VM auf einem Mac und meine Verbindung ist 2.5M herunter, 256k hoch.

Das funktioniert wirklich sehr gut. Ich mache das seit 2 Jahren für 1-3 Tage pro Woche. Die langsame Geschwindigkeit ist kein Problem - ich kann nicht so schnell tippen.

Ich habe 3 Bildschirme bei der Arbeit, finde aber immer noch, dass ein 20 "-Mac-Bildschirm besser ist. Die Farben sind viel sauberer und ich kann länger am Mac als auf meinen Arbeitsbildschirmen arbeiten!

Die Sache, die ein Mörder ist, ist Flash in einem Browser. Wenn ich versehentlich einen Browser auf meinem Remote-Computer mit Flash öffne, wird die Verbindung beendet. Die Lösung ist, FlashBlock (ein Firefox Addin) zu verwenden.

Ich benutze Eclipse und Visual Studio ohne irgendwelche Probleme.

    
Fortyrunner 01.02.2009 21:01
quelle
2

Ich habe es verwendet, um von zu Hause aus zu arbeiten (Remote-Anmeldung an meinen Arbeitsplatz-PC über VPN).

Die Leistung hängt natürlich von Ihren ISPs ab.

Es ist etwas weniger zuverlässig (da es ebenso Ausfallzeiten gibt, wenn das Office-LAN heruntergefahren ist, besteht jetzt das zusätzliche Risiko einer Ausfallzeit, während eine der Internetverbindungen ausfällt).

    
ChrisW 01.02.2009 18:23
quelle
2

Ich habe einen Remote-Server auf einer 1Mbps-Upstream-Leitung, über die ich RDP (über ein VPN) und es funktioniert ganz gut. Ich benutze sogar große Bildschirmauflösungen (1600x1200) ohne Leistungsprobleme. Natürlich bin ich mir nicht sicher, wie ein solches Setup für mehrere gleichzeitige Benutzer funktionieren würde.

Ein Vorteil der Weiterentwicklung von RDP, den ich nicht erwartet hatte, ist, dass Sie Ihre Sitzungen speichern können. Nachdem Sie die Entwicklung für den Tag abgeschlossen haben, beenden Sie Ihren RDP-Client und schalten Ihren Computer aus und wenn Sie sich wieder anmelden am nächsten Tag ist deine Sitzung genau dort, wo du sie verlassen hast.

Als zusätzlichen Bonus sind RDP-Clients für linux und OS X .

    
wilsoniya 01.02.2009 18:43
quelle
2

Ich benutze RDP täglich für die Entwicklung, ich lasse meinen Laptop zu Hause mit meiner Arbeitsumgebung offen und bereit zu gehen. Wenn ich zur Arbeit komme und jeder seine Projekte auflädt und ihre Programme öffnet, dann habe ich einfach RDP und ich bin bereit zu gehen. Man muss allerdings bestimmte Tastaturkürzel beachten, die sich zwar ändern (zB STRG + ALT + ENTF), es nervt zunächst, aber man gewöhnt sich daran.

Um die Latenz auf ein Minimum zu reduzieren, empfehle ich ...

  • Drehen Sie die Farben auf 256 (Sie müssen nur Text sehen)
  • Lassen Sie das Hintergrundbild auf dem anderen Computer
  • Lassen Sie Sounds auf dem anderen Computer
  • Belassen Sie alle Themen auf dem anderen Computer
  • Wählen Sie eine niedrigere Verbindungsgeschwindigkeit, auch wenn Ihre höher ist. Windows wird die gesendeten Daten minimieren.

Einer der Vorteile, die Sie vielleicht in Betracht ziehen, ist die Verarbeitungsleistung. Wenn Ihre Maschine zu Hause viel bessere Spezifikationen als Ihre Workstation bei der Arbeit hat, wird die Kompilierungszeit ein gutes Stück verbessert. Da Ihr lokaler Computer nur das Image von dem Remote-Computer aktualisieren muss, wird Ihr lokaler Computer nicht belastet.

Mit dieser Option kann ich auch auf dem richtigen Weg bleiben. Während sich andere einloggen und im Internet surfen und Zeit verschwenden, bin ich bereit und bereit zu gehen. Produktiv zu sein, hilft Ihnen, das große Geld zu verdienen (wenn Ihr Arbeitgeber es bemerkt), während andere immer noch in ihren Junior-Programmierrollen stecken bleiben.

    
John T 01.02.2009 21:07
quelle
1

Vor 2000 Ich habe es für 3 Jahre jeden Tag mehrere Stunden pro Tag getan. Dies war, wenn die Bandbreite auch gesaugt wurde.

Heutzutage ist es viel viel besser.

Und wenn Sie NxMachine verwenden, wird das Leben noch besser:)

Ich habe die Maschine jedoch nicht mit mehreren Benutzern verwendet. Meine Sorge damit wäre, dass die Entwickler ein kniffliger Haufen sind (mich eingeschlossen) und wir neigen dazu, die Maschinen wirklich so hart zu drücken, wie es ist.

Ich kann mir nicht vorstellen, dass mehrere Leute auf einer Box kompilieren wollen:)

G-Mann

    
GeoffreyF67 01.02.2009 18:50
quelle
1

Wir machen es mit Citrix und ist sehr schnell.

    
FerranB 01.02.2009 18:54
quelle
1

Ich frage mich, was der Grund dafür sein würde. Hat der zentrale Server Zugriff auf einige Ressourcen, auf die die einzelnen Entwickler nicht zugreifen können?

Ich verwende RDP, um von Zeit zu Zeit eine Verbindung von meinem Heimcomputer zu meinem Arbeitscomputer herzustellen. Ich muss sagen - es ist möglich zu programmieren, aber es ist viel bequemer, es zu tun, wenn die IDE auf Ihrem eigenen Rechner ist. Selbst bei einem 100MBit-LAN ​​gibt es eine spürbare Verzögerung. Nicht genug, um die Arbeit zu stören, aber trotzdem nervig.

Wenn die Leute regelmäßig von entfernten Orten aus arbeiten müssen, bevorzuge ich ein Setup, bei dem die zentrale Versionskontrolle über ein sicheres Protokoll (HTTPS, VPN, etc.) verfügbar ist, aber die Entwicklung kann lokal passieren auf den Maschinen des Entwicklers. Wenn man etwas wie SVN benutzt, was auch mit Offline-Entwicklung gut funktioniert, sollte es für die Programmierer selbst viel komfortabler sein.

    
Vilx- 01.02.2009 21:12
quelle
0

Was für eine Entwicklungs-Workstation wichtig ist, ist die schiere Rechenleistung. Bei uns haben die Entwickler die meisten High-End-Workstations in Bezug auf CPU, Speicher, Festplatte usw. und nicht in Bezug auf Audio und Grafik. Letztere sind am stärksten von EPLR betroffen.

Solange der Server, auf dem Ihre Entwickler RDP-ing sind, schnell genug ist, um mehrere Kompilierungen zu verarbeiten, sollten Sie gleichzeitig arbeiten.

    
Jeroen Huinink 01.02.2009 18:49
quelle
0

Wie bei allen Dingen lautet die Antwort auf Ihre Frage "Your Milage May Vary" oder YMMV. Es hängt davon ab, was die Entwickler machen. Verbringen sie die meiste Zeit damit, Code zu schreiben, oder machen sie viele große Kompilate? Brauchen sie direkten Hardwarezugriff?

Benötigen sie Debugging-Rechte? Sobald Sie ihnen Debugging-Rechte gewähren, besitzen sie grundsätzlich die Maschine und können andere Benutzer stören.

Es ist normalerweise viel besser, den Benutzern zu erlauben, auf ihren eigenen Computern zu entwickeln und ein VPN zu benutzen, um ihnen zu erlauben, auf das Versionskontrollsystem zuzugreifen. Dann können sie die Dateien auf ihren lokalen Computern auschecken und tun, was sie wollen, und dann die Änderungen einchecken.

Aber RDP hat auch Vorteile. Sie müssen wirklich die Vor-und Nachteile abwägen und entscheiden, welche Liste länger oder "gewichtiger" ist.

    
Erik Funkenbusch 01.02.2009 19:03
quelle
0

Ich verwende NoMachine NX Client für den Remote-Desktop auf einem kopflosen Server, auf dem FreeNX ausgeführt wird. Es ist großartig, weil ich mich von überall aus in meine Sitzung einloggen kann und meine letzte Sitzung immer noch für mich da ist. Geschwindigkeit war nie ein Problem, außer wenn die DSL-Leitung ausgefallen ist. Wie auch immer, mein Punkt ist, dass wenn Sie einen Linux-Server betreiben und 'vi' verwenden, dann gibt es eine schönere Alternative als 'Bildschirm'.

    
ʍǝɥʇɐɯ 14.02.2011 13:54
quelle