Was ist die bessere Programmierunggebung? Thinclients + Server oder Einzelplatzworkstations?



  • Ich habe schon zwei Terminalserverlösungen für je 30 und 45 Personen geplant und umgesetzt. Allerdings sind das Firmen welche wirklich nur Office und ihren ERP-Client auf den Terminalservern laufen lassen. Sonst habe sie keine Software.

    In einem solchen Fall funktioniert das ganze hervorragend und mit extrem wenig administrativem Aufwand. In einer solchen Umgebung ist man sowieso vom DB-Server abhängig und mit dem TS führt man keinen vorher nichtvorhandenen Single-Point-of-Error ein.

    Der Kunde mit der neueren Installation hat auch alle Daten und virtuellen Maschinen auf einem NAS welches vollständig redundant ist. Das heisst jede Festplatte hat zwei SAS-Anschlüsse welche an zwei unabhängige Systeme angebunden sind. Wenn jetzt ein Server ausfällt wird die VM einfach auf einem anderen Server wieder gestartet. Die Festplaten selbst sind natürlich per RAID redundant.

    Ein Kunde hat eine relativ schlechte Stromversorgung. Nach einem Stromausfall können die Mitarbeiter sofort wieder genau dort weiterarbeiten wo sie aufgehört haben. Alle Clients mit USVs abzusichern wäre viel teurer.

    Das ganze funktioniert aber nicht so gut wenn man Programmierer unter Windows beschäftigt. Einige Gründe wurden schon genannt. Zwei möchte ich noch hinzufügen:

    1. Windows Terminalserver skalieren extrem schlecht mit der CPU Anzahl. Ich kann nicht einfach 8 CPUs einem Windows 2003 TS zuordnen. Das lagt wie die Sau. Vielleicht haben sie das unter Windows 2008 jetzt behoben. Wenn man also auf dem TS CPU intensive Aufgaben hat, braucht man mehr Instanzen also Loadbalancing, mehr Lizenzen und mehr RAM. Das alles Kostet und macht die Lösung unattraktiver.

    2. Eine TS-Umgebung funktioniert nur dann wirklich gut, wenn alle Mitarbeiter dieselbe Umgebung haben. Bei Programmieren wird es wohl so sein, dass jeder viele eigene Tools und Programme hat die er gerne benutzt. Alle diese Tools dann auf dem TS zu installieren bekommt diesem unter Umständen nicht so gut.

    Linux und UNIX habe wieder andere Vorzüge und Nachteile, aber dort habe ich keine praktische Erfahrung im TS-Einsatz.

    Arbeiten die Programmierer hier eigentlich mit Admin-Rechten unter Windows?



  • Arbeiten die Programmierer hier eigentlich mit Admin-Rechten unter Windows?

    Oft genug wohl: ja. Nötig wäre es meist wohl nicht. Manchmal ist es praktisch Debug-Rechte zu haben, obwohl es meist reicht, wenn man ein Programm aus Visual-Studio raus starten und debuggen kann (wozu man keine Debug-Rechte braucht). Natürlich kann man auch Debug-Rechte haben ohne in der "Administrators" Gruppe zu sein, aber effektiv hat man so verdammt viele Rechte (und kann sich mit einigen Tricks AFAIK auch zum Admin hochstufen) -- wohl *zu* viele Rechte für einen Terminal-Server Betrieb.

    Andrerseits könnte man den (vermutlich wenigen) Entwicklern, die wirklich Debug-Rechte brauchen, bzw. die Treiber oder ähnliches entwickeln, ja auch eigene Workstations geben -- müssen ja deswegen nicht gleich alle eigene PCs haben.

    Eins sollte man aber IMO wirklich nicht unterschätzen (hab ich zwar schon erwähnt, aber möchte ich hier wiederholen): Kombinationen wie TortoiseSVN + Visual Studio + VisualSVN + Visual Assist X fressen die die Performance von jedem RAID Array weg. So dick kann das Array garnicht sein.
    Wer dagegen weniger so schwergewichtige Plugins laufen hat, wird mit einer Terminal Server Lösung vermutlich auch weniger Probleme haben.



  • hustbaer schrieb:

    Sagen wir mal eine Workstation kostet ~500€, das sollte IMO hinkommen. Ein Thin-Client kostet ~200€ (zumindest kenne ich keine wesentlich billigeren). D.h. der Server dürfte die Differenz, also 300€*50 = 15000€ kosten. Bzw. die wenigstens 2 Server. Wie gesagt ich kenne die Preise von solcher Hardware nicht so gut, aber es würde mich wundern, wenn man um das Geld überhaupt redundante Plattenstapel bekommen würde (sagen wir mal 2 Stück RAID 5 oder RAID 6 Arrays, über Fiber/iSCSI gespiegelt).

    Einen Server um die Daten zentral abzulegen braucht man aber sowieso. Ich bin kein Profiprogrammierer, aber ich kann mir nicht vorstellen, dass eine Entwicklungsfirma hunderte Gigabyte Daten hat. Da habe Grafikstudios und ähnliches grössere Probleme.

    Ob man einen zweiten Server braucht bezweifle ich. Dann müste man diese auch irgendwie Clustern was schwierig und teuer wird. Ein Server ist in 2-4 Stunden ersetzt. Dann einfach die Platten vom alten Server reinschieben und wieder starten, ESXi und co sei dank. Wenn die Platten abgeraucht sind, muss man halt die Daten von Band oder Sicherungs-NAS wieder zurückspielen.

    hustbaer schrieb:

    Eins sollte man aber IMO wirklich nicht unterschätzen (hab ich zwar schon erwähnt, aber möchte ich hier wiederholen): Kombinationen wie TortoiseSVN + Visual Studio + VisualSVN + Visual Assist X fressen die die Performance von jedem RAID Array weg. So dick kann das Array garnicht sein.

    Das verstehe ich nicht. Wenn der Server genug RAM hat ist das doch kein Problem. Und die Hardware-RAID-Kontroller haben auch kein Problem mit dem schreiben vieler kleiner Dateien.



  • hustbaer schrieb:

    Arbeiten die Programmierer hier eigentlich mit Admin-Rechten unter Windows?

    Oft genug wohl: ja. Nötig wäre es meist wohl nicht.

    woher kommt eigentlich dieses hartnäckige gerücht, dass man unter windows ohne admin-rechte vernünftig arbeiten kann?
    🙂



  • loks schrieb:

    Desktop-Hardware ist mittlerweile eher billig und wenn man nicht gerade triple-sli Grafikkarten einsetzt ist der Stromverbrauch einer Workstation auch erträglich. Serverhardware dagegen ist nach wie vor teuer. Ich könnte mir shcon vorstellen das die Kosten von 50 Desktop-Systemen niedriger sind als die Kosten eines Server-Systems/Netzwerks das 50 Entwickler hosten soll.

    So kann man aber nicht rechnen.

    Auf Dauer dürfte die Serverlösung billiger sein, weil man die Thinclients nur ein einziges mal anschaffen kann.

    Nebenbei. Die teuerste Einzelkomponente meines Arbeitsplatzes ist immer noch der Bildschirm...

    Ja und nein.
    Vor nicht all zu langer Zeit war das noch so.
    Aber heutzutage kriegt man 22" TFT Widescreen Monitore für unter 200 € nachgeschmissen. 24" kosten auch nur unter 300 € und ein 24" ist eigentlich schon mehr als gut genug.
    Ich programmiere jedenfalls auf einem 22" 16:10 TFT bei 1680*1050 und mir reicht der Platz vollkommen.
    Gut eine mögen sagen, mit FullHD hat man noch mehr platz, das stimmt schon, aber da reicht dann auch schon ein 24" Monitor.



  • hustbaer schrieb:

    Andrerseits könnte man den (vermutlich wenigen) Entwicklern, die wirklich Debug-Rechte brauchen, bzw. die Treiber oder ähnliches entwickeln, ja auch eigene Workstations geben -- müssen ja deswegen nicht gleich alle eigene PCs haben.

    Welcher Entwickler braucht denn keine Debug Rechte??



  • Shade Of Mine schrieb:

    hustbaer schrieb:

    Andrerseits könnte man den (vermutlich wenigen) Entwicklern, die wirklich Debug-Rechte brauchen, bzw. die Treiber oder ähnliches entwickeln, ja auch eigene Workstations geben -- müssen ja deswegen nicht gleich alle eigene PCs haben.

    Welcher Entwickler braucht denn keine Debug Rechte??

    Der Webentwickler



  • Gnarf, der Weise schrieb:

    Der Webentwickler

    stimmt, der braucht die rechte am server und nicht am client...



  • Kombinationen wie TortoiseSVN + Visual Studio + VisualSVN + Visual Assist X fressen die die Performance von jedem RAID Array weg. So dick kann das Array garnicht sein.

    Denk mal das windows an sich noch nicht mal ne Guenstige Umgebung fuer Thinclients ist. Andere BS tun sich da leichter. Also in grossen Firmen mit klassischer Neigung der Admins zu windows systemen wird die thinclient geschichte sicher eher auf ablehnugn stossen.
    Bei linux und anwendungen, die von haus eher auf server optimiert sind, wird auch die entwicklung ueber thinclients sicher eher in erwaegung gezogen werden.

    Weiterhin, ich kenn bissi die preise die unsere Firma fuer rechner und BS inklusive der Rabatte und das was die einkaufsabteilung noch raushandelt.
    Wenn ich dann die Preise von den so ner fetten clustermaschine sehe ... glaub ich ist die wartung der einzelnen workstations durch ne beauftragte Firma locker im Preis mit drin ^^
    Rein preislich vermut ich, ist Rechenleistung hier billiger zu erzielen, wenn man 100000 "lenovo workstations" clustert, als einen fetten server hinzustellen ^^ Glaub das teuerste an den lenovo teilen, ist die dinger in 2 Jahren zu entsorgen ^^

    Ciao ....



  • Shade Of Mine schrieb:

    10h downtime im jahr pro client?
    nie und nimmer.

    vorallem da du ersatzgeräte hast. also bei uns ist die downtime im schnitt pro client sicher unter 2h stunden und da sind downtime wegen updates dabei. und updates werden ja nicht eingespielt wenn die downtime weh tut.

    insofern sehr fragwürdige rechnung...

    Das war nur so als Beispielrechung gedacht. Ich wollte einfach darauf hinaus, dass ein Server robustere und zuverlässigere Hardware hat, als preiswerte (nicht redundante) client-Rechner. Daher wird der Server in der Regel weniger Downtime haben als der Fat-Client.

    Und 50 Rechner zu Pflegen macht in der Regel mehr Arbeit, als einen. So gehe ich davon aus, dass in der Regel eine geringere TCO heraus kommt. Ersatzgeräte müssen ja auch in ausreichender Stückzahl vorgehalten und bei Bedarf neu eingerichtet werden.

    Und ich schreibe bewusst "in der Regel". Wenn jemand der Meinung ist, dass das bei ihm nicht so ist, mag das so sein und steht nicht im Wiederspruch zu meiner Aussage.



  • tntnet schrieb:

    Das war nur so als Beispielrechung gedacht.

    Und ich sage nur dass deine Zahlen falsch sind. Nicht mehr und nicht weniger.



  • Shade Of Mine schrieb:

    Gnarf, der Weise schrieb:

    Der Webentwickler

    stimmt, der braucht die rechte am server und nicht am client...

    Auch Code auf dem Server lässt sich problemlos debuggen.



  • byto schrieb:

    Shade Of Mine schrieb:

    Gnarf, der Weise schrieb:

    Der Webentwickler

    stimmt, der braucht die rechte am server und nicht am client...

    Auch Code auf dem Server lässt sich problemlos debuggen.

    Hier geht es um die notwendigen rechte, nicht ob es möglich ist... 😕

    und jeder entwickler muss debuggen können. sonst kann ich nen affen hinsetzen...



  • Shade Of Mine schrieb:

    hustbaer schrieb:

    Andrerseits könnte man den (vermutlich wenigen) Entwicklern, die wirklich Debug-Rechte brauchen, bzw. die Treiber oder ähnliches entwickeln, ja auch eigene Workstations geben -- müssen ja deswegen nicht gleich alle eigene PCs haben.

    Welcher Entwickler braucht denn keine Debug Rechte??

    Kaum ein Programmierer braucht Debug-Rechte. Dafür dass ich im Studio eine Debug-Session starten kann brauche ich nämlich keine Debug-Rechte. Der neue Prozess "gehört" dann nämlich dem Studio, und daher darf es sich auch draufhängen.

    Debug-Rechte (vom OS aus) brauchst du nur, wenn du dich auf einen bereits laufenden Prozess draufhängen willst (z.B. weil der grad gecrasht ist, oder weil du dein Service welches du grad entwickelst vom Service Control Manager starten lassen möchtest, aber trotzdem debuggen, ...).



  • hustbaer schrieb:

    Debug-Rechte (vom OS aus) brauchst du nur, wenn du dich auf einen bereits laufenden Prozess draufhängen willst (z.B. weil der grad gecrasht ist, oder weil du dein Service welches du grad entwickelst vom Service Control Manager starten lassen möchtest, aber trotzdem debuggen, ...).

    dh, du testest programme immer mit deinem lokalen user und nicht mit einem sauberen? VS 05 muss zB als Admin laufen. Auch sind elevated Rechte in vielen Debug Situationen recht praktisch.

    aber gut, mit VS08 unter Vista kann ich mir vorstellen dass man ohne erweiterte rechte auskommt. aber unter xp? du kannst dann ja zB nichteinmal ein com control registrieren...

    und wie gesagt, ich bin fan davon die programme unter einem sauberen user zu testen und diesen user regelmaessig zu wipen - das kann eine menge arbeit sparen.


Anmelden zum Antworten