Da es in dieser Community einen großen Pool passionierter Entwickler gibt, würde ich gerne Ihre Meinung dazu hören - halten Sie es für übertrieben oder vorteilhaft, tatsächliche Server-Hardware zu Hause zu kaufen und zu betreiben, um Ihre eigenen zu würzen? Entwicklungs- und Lernanstrengungen?
Als ich 2003/04 in die Entwicklungsabteilung sprang, fühlte ich, dass Server nur zum Rechenzentrum gehörten, und ich glaubte nicht an die Preisgestaltung von Servern für den Heimgebrauch; Die Rechenkapazität der Verbraucher war schon damals ziemlich solide, und PCs mit ähnlicher Leistung waren für einen Bruchteil der Kosten erhältlich. Nachdem ich meine eigenen PCs zusammengebaut hatte, als ich ein Schulkind war, sah ich die Aufgabe, gebrauchte Komponenten zu beschaffen, um einen neuen PC als einfache Aufgabe zu bauen. Es war einfach, einen PC vorzubereiten, der als dedizierter Windows 2003-Server für meine Entwicklungstests dienen würde. Aber seit über drei Jahren bin ich auf realen Servern , wenn auch Low-End-Modelle. Ich bin aufgrund einer Reihe von Faktoren in diesem Zustand gelandet.
Alles in allem habe ich mich bei launischen DIYs mehr mit der Behebung von Hardwareproblemen beschäftigt, als mit tatsächlichen Entwicklungsproblemen. Als ich das Geld einkaufte, um echte Server zu kaufen, gab es einen sofortigen Rückgang von Hardwareproblemen in meinem Leben. Ich hätte wahrscheinlich auch eine vom Hersteller gebaute Workstation gekauft, wenn ich nur eine Konfiguration finden könnte, die meinen Entwicklungsbedürfnissen entspricht.
Nun betreiben einige meiner Tech-Freunde, die leidenschaftlich arbeiten, auch ihre eigenen Server zu Hause. Die Sache ist, die meisten anderen Leute / Kollegen werden ziemlich überrascht, dass ich tatsächlich Geld für diese Kategorie von Maschinen ausgeben würde. Manche würden mich als verrückt einstufen. Bin ich wirklich über Bord gegangen?
UPDATE - Klärung der Server-Nutzung
Der Basisserver (Windows Server 2008) bedient grundlegende IIS 7 / ASP.NET-, SQL Server 2008- und Subversion-Dienste. Aber die größte Rolle spielt das Hosting einer Vielzahl von virtuellen Maschinen in Hyper-V . Ich bin kein Entwickler, dem lediglich gesagt wird, dass er Anwendungscode gegen eine einzelne Datenbank ausspionieren und in ein Versionskontroll-Repository einchecken soll, um dann nach Hause zu gehen, ohne sich Gedanken darüber zu machen, wie die Anwendung und Implementierung in einer Produktionsumgebung funktioniert. Als Solution Integrator muss ich die Client / Kunden-Umgebung verstehen und an die Gesamtlösung denken, die Infrastruktur- und Deployment-Probleme beinhaltet . Die Entwicklung von Softwareanwendungen ist zwar meine Hauptaufgabe, aber nur ein Teil der Lösung.
Ich muss oft experimentieren und herausfinden, ob bestimmte Vorschläge oder Ansätze für eine bestimmte Umgebung funktionieren, und ich musste virtuelle Server wie eine Gesamtstruktur von Domänen (Controllern), Webservern, Datenbankservern, BizTalk-Servergruppen vorbereiten. Team Foundation Server usw., um meine Analyse durchzuführen und meine Empfehlungen zu festigen. Diese virtuellen Maschinen funktionieren wie meine persönlichen POCs. Die Szenarien, denen ich gegenüberstehe, werden immer größer und ich sehe definitiv nicht, wie ich lernen kann, mit diesen Situationen umzugehen, ohne eine Basisplattform, die es mir erlaubt, sie zu virtualisieren und zu simulieren.
Das Ausführen von Hardware auf Datencenterebene wäre übertrieben - Sie benötigen keine hot-swap-fähigen Laufwerke und dergleichen, und sie wären eine Verschwendung von Geld, aber sicherlich, wenn Sie Ihre eigene Entwicklungsarbeit ernst meinen Ein Low-End-SME-Level-Server ist ein guter Schritt für die Sicherheit und Bequemlichkeit, die es Ihnen bietet.
Ich selbst betreibe meine Beratung / Entwicklung ( die akzeptierte Antwort), und ich betreibe ein kleines Netzwerk, um das zu unterstützen. Ich betreibe einen HP SME Server mit 250 GB RAID, 4 GB RAM, Windows 2003. Er läuft rund um die Uhr und erledigt alles, was man von einem Server in einem kleinen Unternehmen erwarten kann. Das Hauptnetzwerk verbindet sich mit dem Internet über ein ADSL-Konto guter Qualität auf SME-Ebene.
Außerdem betreibe ich einen Linux-Server auf einer ähnlichen Hardware, die über ein anderes ADSL-Konto (nur ein einfaches günstiges Geschäftskonto) mit dem Internet verbunden ist. Dies gibt mir Backup im Fall von ADSL-Problemen (kommt gelegentlich vor, dass einer untergeht und der andere bleibt), aber auch, dass ich einen Low-Level-Internetserver betreiben kann, um Clients auf einer dedizierten und isolierten Leitung zu zeigen - offensichtlich keine Produktion Qualität, aber gut genug zum Testen (Ich habe ein paar dedizierte Server, die woanders client-gehostet werden, aber sie können nicht ausgiebig für Nicht-Produktionszwecke genutzt werden und die interne Hardware bedeutet, dass ich die Konfiguration mehr anpassen kann leicht)
Es ist wirklich eine Frage der Abstimmung, was Ihre Anforderungen an die Hardware sind, um dies zu unterstützen - genau wie die Bereitstellung von Hardware in einem Client. Als Entwickler werden Sie Sicherheit und Komfort genauso wie jedes kleine Unternehmen wollen, aber ebenso brauchen Sie einen guten ROI - keinen Sinn darin, 1000 $ für zusätzliche Server-Goldplattierungen auszugeben, wenn Sie zum Beispiel einen 30-Zoll-Monitor kaufen würden Sie haben einen kritischen, aber verständnisvollen Geschäftspartner (der Joel-Ebene des Coder-Fokus), den Sie auch rechtfertigen müssen, um Ihre Ausgaben zu rechtfertigen und ehrlich mit sich selbst zu sein - mit einer Prise Genuss.
BEARBEITEN Sie als Antwort auf das Lesen einiger anderer Kommentare darüber, dass Sie keine Serverhardware für Ihre eigene persönliche Entwicklung benötigen: Hinweis: Was müssen Sie tun, wenn Ihre Alternative einen Hardwarefehler erleidet? Ich schlage vor, dass es bei einem separaten Server wahrscheinlicher ist, dass Sie sich schneller von einem katastrophalen Fehler erholen können: Das passiert wahrscheinlich seltener, Ihre Wahrscheinlichkeit, dass Sicherungen vorhanden sind, und die Wiederherstellung ist wahrscheinlich einfacher.
Auch wenn Sie nur mit der persönlichen Entwicklung herumspielen und Arbeit verlieren und komplexe Konfigurationen wiederherstellen müssen, braucht beides Zeit und ist ein demoralisierender Schmerz. Sie sollten Ihre eigene Zeit zu einem vernünftigen $ / h-Preis bewerten, auch wenn es einfach Spaß macht und dies gegen die Kosten eines Basisservers und des zugehörigen Backup-Regimes einkalkuliert - mit Hardware-Preisen auf dem Niveau sind sie wirklich ein Kinderspiel.
Ich denke, dass Sie mit etwas mehr Vertrautheit mit der Server-Hardware einen viel ausgereifteren Technologen haben. Es gibt Elemente zu einem "richtigen" Server, den Sie im Allgemeinen nicht in ein selbst gebautes System einbauen, wie zum Beispiel hot-swap-fähige Laufwerke und Netzteile, Remote Access Cards (wie ein Dell DRAC ) usw.
Auch wenn der Serveradministrator nicht Ihre Hauptberufsfunktion ist, können Sie sich im Verlauf Ihrer Karriere zunehmend mit dem Kauf von Hardware und der Bewertung von Angeboten von Anbietern befassen. Das zusätzliche Wissen kann dort sicherlich nützlich sein.
Wenn Sie nur lernen wollen, und das auch als Programmierer und nicht als Netzwerk- oder Serveringenieur, stimme ich zu, dass die Ausgaben für ein professionelles Server-Setup übertrieben sind. Du wirst in den ersten Wochen mit der Neuheit fertig sein und dann wird es einfach wie ein gestrandeter Wal auf deinem Schoß sitzen.
Haben Sie spezielle Anforderungen, die von einem normalen Computer mit installierter Serversoftware nicht erfüllt werden können?
Ich denke, wenn Sie ein Programmierer sind, sollten Sie sich auf die Programmierung konzentrieren. Mit einem echten Live-Webserver ist es nicht einfach oder billig.
Denken Sie nur daran, Sie müssen eine gute Netzwerkverbindung mit einer guten Upload-Rate haben, eine gute Maschine, die nur dazu dient, als Server zu dienen. Nicht einmal über die elektrischen Kosten oder das Kühlsystem zu reden, weil Sie den Server in einen Raum stellen müssen, den Sie nicht benutzen (weil es einfach lästig ist, diese Lüftungsschlitze zu hören, wenn Sie sich ausruhen wollen) / p>
Es gibt Hunderte von Unternehmen, die diesen Service für fast nichts anbieten, als ich diese Entscheidung treffen musste, wählte ich einfach eine von ihnen und dachte nie zweimal nach.
Versteht mich nicht falsch, ich hatte einen Webserver zu Hause, nur um zu lernen, wie man eins aufbaut, es hat Spaß gemacht und es hat sich gelohnt, aber ich konnte niemals einen professionellen Server anbieten, nur weil es 24/7 Aufmerksamkeit braucht verhindern Sie Ausfallzeiten.
Ich denke, was auch immer einen ROI (Return of Investment) von mehr als 1,1 haben wird, ist in Ordnung. In Ihrer speziellen Situation denke ich, dass Sie auf kurze Sicht trotzig Geld verlieren werden, aber auf lange Sicht können Sie sich Gedanken über einen anderen Mehrwert machen. Sie könnten für etwas billiger als die durchschnittliche Hardware gehen, um die Kosten auszugleichen.
Ich habe meinen eigenen Webserver betrieben, der auf Compaq Server-Hardware aufbaute. Heute möchte ich jedoch nicht für solch ein Monster verantwortlich sein. Die Stromaufnahme von diesem Server war immens, ebenso wie der Lärm und die Hitze, die er erzeugte. Ignoriert man die finanziellen Probleme der Bereitstellung von Strom und Kühlung, ist die einfache Tatsache, dass es (für mich) die Mühe nicht wert ist. Es gibt nichts, was ich tun muss, das Serverhardware erfordert. In der Tat, es gibt nichts, was ich zu Hause tun muss, das kann nicht auf einer virtuellen Maschine auf meinem MacBook erreicht werden.
YMMV, natürlich.
Es hängt wirklich von Ihren speziellen Bedürfnissen ab.
Eine eigene Entwicklung und Lernserver können im Allgemeinen als übertrieben angesehen werden.
In der Tat, für eine typische Entwicklung glaube ich, dass Sie sogar einen virtuellen Server auf Ihre Entwicklungs-Desktop-Workstation unter VirtualBox oder was auch immer Sie setzen können bevorzugen. Keine Notwendigkeit, separate physische PCs oder Server zu haben.
Wenn Sie sie brauchen, dann würde alles, was die Arbeit erledigt, ausreichen, oder? Natürlich sind "Server" -Server normalerweise besser für den Job geeignet. Wenn Sie den Preisunterschied leisten können und es für Sie Sinn macht, warum nicht?
Ich stimme mit Gnudiff überein, warum brauchen Sie Serverhardware mit grundsolider 24x7-Verfügbarkeit für das Spielen zu Hause? Ja, es gibt einige technische Details, die vielleicht nützlich sein könnten, aber es ist vielleicht einfacher, eine alte Schachtel bei der Arbeit zu ergattern und damit herumzuspielen. Dann kann es irgendwo aus dem Weg gehalten werden und kostet Sie nichts.
Zwischen dieser Seite, Google Reader und Facebook, habe ich nicht genug Zeit für meine Frau, geschweige denn, meine eigenen Server zuhause zu verwalten!
Wenn Sie nicht in dieser Hardware erfahren werden müssen, dann ist das Overkill. Ich habe in den letzten 13 Jahren mindestens einen Server zuhause gehabt. Ich baue / verbessere meine eigenen PCs. Ich habe meine Familie (5 Arbeitsplätze und 5 Laptops) länger unterstützt. Die Server, die ich verwende, bestehen aus Teilen, die von Upgrades übrig geblieben sind. Ich habe derzeit eine 3-Server-Konfiguration. Ich habe meinen Hauptserver (AMD 3800 X2 w / 4 Gig), den ich für den Dateiserver der Familie und einen IIS-Webserver verwende. Es führt auch Ubuntu in einer VM aus. Diese Box behandelt alle unsere Backups. Ich habe eine zweite Box (AMD 2600 w / 4 Gig), die für Windows Media Center verwendet wird, und als Backup für meinen Hauptserver repliziert es den Inhalt meines Hauptservers auf seinen lokalen Speicher. Meine dritte Box (AMD 3200 w / 4 Gig) ist meine Spiel-Box und läuft derzeit Windows Server 2008.
In 13 Jahren (mit 24x7) hatte ich zwei Hardwarefehler, die ich mit der Stromversorgung (sie traten nach einem Stromausfall auf), einer Netzwerkkarte und einem Motherboard auftraten. Ich hatte einen Festplattenfehler (es hat gerade angefangen, viele Fehler / Wiederholungen zu bekommen, ich habe keine Daten verloren). Nach dem Ausfall der Hauptplatine kaufte ich eine preiswerte USV. Ich habe dann einen zweiten hinzugefügt, als ich den 3. Server hinzugefügt habe.
Meine gebrauchte Hardware ist extrem zuverlässig. Die einzigen Probleme, die ich mit Hardware-Kompatibilität hatte, ist mit Ubuntu auf einem Compaq. Nach dieser Episode begann ich nur mit generischer Hardware. Ich würde jedem empfehlen, mindestens einen Server zu haben, um Dinge, die gesichert werden müssen, zentral zu lokalisieren.
Alle meine Server sind an Verwandte weitergegeben worden, um sie als 2. oder 3. PC zu benutzen, da sie im Ruhestand sind. Ich habe einen Server für ungefähr 5 Jahre, zwei Server für ungefähr 6 Jahre und ich habe drei für die letzten 2 Jahre laufen gelassen. Meine älteste Server-Box, die AMD 2600, hat ihr Leben für 3 Jahre als PC meiner Frau gedient und ist seit 2 Jahren ein Server.
Aktualisieren
Ich habe vorher nie wirklich darüber nachgedacht, aber es dämmerte mir, dass der Grund dafür, dass ich so zuverlässige Hardware hatte, darin liegt, dass die Hardware, die ich verwende, bereits einige Jahre getestet wurde. Mit Ausnahme einiger weniger Festplatten hat sich meine gesamte Hardware als zuverlässig erwiesen, bevor sie als Server genutzt werden kann.
Meine Workstation ist ein Core 2 Quad mit 8 GB RAM und RAID 0 und RAID 1 Festplatten mit Vista x64. Es funktioniert ziemlich gut für alle meine Bedürfnisse. Ich glaube nicht, dass ich einen separaten Server brauche. Investieren Sie auf Ihren Arbeitsplatz und vergessen Sie viel Zeit für die Konfiguration!
Ich denke, zwischen den beiden Extremen gibt es ein ganzes Spektrum an Optionen:
Für die Anforderungen, die Sie beschreiben, bietet ein High-End-Lenovo-Desktop wahrscheinlich die Zuverlässigkeit und Ausfallsicherheit, die Sie benötigen, viel billiger als Serverhardware.
Ironischerweise verbringen die wirklich großen Dienstleistungsunternehmen (Google, Amazon usw.) weniger auf einzelnen Servern, kaufen mehr davon und schreiben Software, die routet um fehlerhafte Knoten.
Tags und Links server-hardware