Frage

Es ist Budgetierung Zeit und Corporate ist auf Kosten balking einen Kollegen Maschine zu ersetzen, die für sie fällig sind, braucht es, und es verdient.

Unsere Gruppe ist ein kleines ISV / SAAS, die als Abteilung einer größeren Mediengruppe existiert. Wir sind keine Kostenstelle, wir Geld verdienen, auch in diesem Jahr. Wir werden von einem mittelgroßen Mediengruppe Modell, dessen Unternehmen im Besitz ist ganz anders, und nur Kosten durch Reduzierung angetrieben zu sein scheint.

Unser Software-Stack ist Visual Studio 2008, SQL 2008 auf Windows Server 2008 (so dass mehrere Root-Websites können auf jedem dev Maschine gehostet und getestet werden). Unsere Ziel-Hardware ist 3GHz Quad-Core-Workstation, 4 GB RAM und RAID 1 gespiegelten Festplatten, so dass wir gegen den Produktivitätsverlust geschützt sind, eine Entwickler-Festplatte zu verlieren.

Corporate will, dass uns ein paar mächtig geben, aber Hand-me-down, außer Dienst gestellt Server, und dann würde jeder Entwickler auf diesem Server eine virtuelle Workstation hat. Die Computer, auf unseren Desktops sitzen würden dumme Terminals bei $ 400-500 je.

Ich versuche, neutral zu sein, aber ich bezweifle es ist schwer, meine Vorurteile zu erkennen. Ich mag echte Entwickler Reaktionen darauf sehen, und ich finde, dies der beste Ort ist, dass zu erhalten.

Bitte geben Sie Argumente für oder gegen, Beweise, wenn Sie dies versucht und wie gut gesehen haben (oder auch nicht) es gegangen ist.

War es hilfreich?

Lösung

Das klingt wie eine gut gemeinte Idee, aber:

Nach meiner Erfahrung müssen Sie mehrere Kerne, viel Speicher und eine schnelle Festplatten in der heutigen modernen IDE, produktiv zu sein. Ich sehe nicht, dass passiert in einer virtuellen Umgebung mit jeder Volkswirtschaft. Einzelboxen sind noch besser.

Es ist auch eine Frage der Kontrolle. In einer virtuellen Umgebung kann ich alle Arten von Einschränkungen vorstellen. Werden Sie noch in der Lage sein, Ihre eigenen Tools zu installieren, zum Beispiel?

Letztlich ist es verfehlt. Wenn diese Idee erhöht sich mal durch eine erhebliche Menge bauen, werden alle Einsparungen bei der Hardware schnell durch verlorene Produktivität gelöscht werden. Im Gegensatz dazu Geld, das sich schnell bezahlt werden auf anständige einzelnen Maschinen für Entwickler ausgegeben wird, immer und immer wieder in reduziert Bauzeiten.

Gute Qualität einzelne Maschinen sind eine Investitionen , nicht mit Kosten verbunden.

Andere Tipps

Entwicklung ist scheiben gebunden, das heißt verbringen Sie Ihre Zeit mit Warten auf Builds, die ein scheiben gebunden Prozess der meiste Zeit ist. Wenn Sie alle eine Maschine teilen Bauzeiten viel schlimmer werden wird.

Abgesehen von all der Givens (perfomance, Speicherplatz, etc ...):

würde ich damit so lange in Ordnung sein, wie ich noch Unterstützung für mehr Monitore hatte.

Ohne dass, es ist ein No-Go.

Grund Scheitern zu verstehen, was eine Entwickler-Box tatsächlich viel von der Zeit tut:

Wenn sein Kauens durch Prozessor und Festplatte Aufbau - insbesondere Platte. Beim Testen Sie sprechen eine oder mehr Instanzen von Visual Studio ausgeführt wird (wenn man einmal zwei Dinge beginnen, interessant zu werden), Datenbank-Server, Website / Dienste und all die anderen Dinge (Browser mit einem Los Tabs geöffnet, Notebook-Software, und der Himmel weiß nur, was sonst noch) alle Ausbreitung über mehr Monitore (mindestens zwei). Viele Kerne, viele Speicher bitte!

Ich kann ganz glücklich akzeptieren, dass es ein Argument für die Virtualisierung - eine gute dev Box sollte mehrere, gleichzeitiger VMs, um Host die Lage, einige der oben genannten und zur Verfügung zu stellen „saubere“ Umgebungen zum Testen zu isolieren. Beachten Sie, dass das ist die Box für einen Entwickler-Hosting mehrere VMs nur zum Nutzen des einen Entwickler ...

Unser Team entwickelt auf Remote-Server (ohne GUI stuff, plain old vim ) seit geraumer Zeit ohne Probleme. Zugegeben, es erfordert ziemlich leistungsfähigen Server und manchmal beginnt Bit auf einer langsamen Seite zu sein, wenn alle zur gleichen Zeit kompilieren, starten.

Aber als Bonus sind Sie sehr mobil in Bezug auf, wo Sie entwickeln können (wir alle Laptops haben) sei es im Büro, zu Hause, sonnigen Strand (letzte war wahrscheinlich Übertreibung).

Bute ja, die möglicherweise alle für Grafiken nicht gut funktionieren schwere Anwendungen natürlich.

Es klingt wie Ihre Gruppe ist nicht die Lösungen, die Sie in einem gut dokumentierten Format betrachtet haben, sonst Corporate keine Entscheidungen in den Hals werden schubsen. Wenn Sie einen dokumentierten Prozess für die Entwicklung haben, könnten Corporate wollen gemeinsam mit Ihnen den Prozess diskutieren ändern, aber sobald Sie sagen: „Diese Änderung würde unser Prozess brechen und wir müssten unsere Entwicklung Workflow umrüsten“, werden sie den Schmerz sehen der $$ in den Prozess Nacharbeiten und höchstwahrscheinlich wieder aus. Das heißt, sobald Ihr Prozess dokumentiert ist, können Sie intern rücksichtslos sein sollte, zu versuchen, es effizienter und kostengünstiger zu machen, und haben einen offenen Geist über Corporate Vorschläge.

Ich nehme an, Sie Maschinen, die bereits für SVN / TRAC haben, Ihr Continuous Integration Server, Produktdemos, Tests, usw., und dass die nur möglich nutzen Ihr Team dieser Server ist für die persönliche VMs machen könnte.

Ich mache viele Dinge, die meinen Prozessor bei 100% peg. Compiliert sicherlich dies zu erreichen. Nun stell dir vor, dass der Prozessor mit 10 anderen Entwicklern teilen zu müssen. Der Produktivitätsverlust wird sich ganz offensichtlich. Wenn Sie einen Multi-Core-PC haben, wird dies nicht als schmerzhaft sein. Holen Sie sich einen Intel i7 und Sie werden wahrscheinlich nicht einmal bemerken, dass es, wenn 8 Personen angemeldet sind. Die meisten Programme (einschließlich meiner Compiler) kann sowieso nicht mehr als 1 Prozessor verwenden.

Das heißt, es ist eine praktikable Lösung die Kosten zu senken. Früher habe ich bei einer Firma arbeiten, die da auf diese dummen Terminals umgeschaltet hat. Es funktioniert gut. Meine Universität hatte HP UNIX-Maschinen, die dummen Terminals waren. Sie angemeldet in einen Server, der den Prozessor Besitz der jedoch viele Menschen in aufgeteilt wurden angemeldet. Was die Menschen tun würden, log ist in einen Server und überprüfen Sie die Anzahl der Personen angemeldet. Wenn es zu viele waren, sie suchen würde für die nächste ein, weil Build-Zeiten deutlich langsamer. Ich würde nie in die einfachen Log-Server-Namen zu erinnern. =)

Es funktioniert auf jeden Fall, sondern reduziert auch die Produktivität durch längere Zeiten zu bauen, vor allem, wenn mehrere Personen zur gleichen Zeit bauen. Da die Produktivität eine so schwierige Sache ist, zu quantifizieren, könnte es schwierig sein, Ihren Punkt zu diskutieren.

Grafik-Beschleunigung kann auch ein Problem sein, wenn Sie etwas mit Animation, Video oder Bildbearbeitung zu tun. Sie können nicht wirklich Video-Wiedergabe über eine RDP-Sitzung testen, da die Framerate und / oder die Farbtiefe nicht hoch genug ist.

Unabhängig von Leistung, in meinem Unternehmen bewegen wir uns auf Laptops als Entwickler Maschinen. Der Hauptvorteil ist, dass Entwickler ihre Computer Treffen zu bringen, Konferenzen usw. Auch neben einen Kollegen zu sitzen in der Lage, wenn man ihn mit einem Problem zu helfen ist, und Ihre eigene Entwicklungsumgebung zur Verfügung zu haben, sehr wertvoll ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top