Wofür wird eine dedizierte Linux-Box verwendet?

9

Dies ist wahrscheinlich eine sehr grundlegende und offensichtliche Frage für die meisten Menschen, aber mein Google-Fu versagt mir und es scheint nur, dass etwas über meinen Kopf geht. Ich habe gehört, dass zahlreiche Leute eine "dedizierte Linux-Box" als zentralen Bestandteil des Entwickler-Setups bezeichnen.

Ich programmiere seit ungefähr einem Jahr Web-Entwickler und verstehe die Vorteile der Programmierung auf einem Unix / Linux-System. Mir scheint jedoch zu fehlen, welche Rolle eine "dedizierte Linux-Box" im Entwicklungsprozess spielt.

Ich würde davon ausgehen, dass es als Server verwendet wird, aber ich muss noch alle Anforderungen erfüllen, um einen Computer für den Betrieb eines Linux-Servers zu haben. Bin ich nur nieve und verwechsle die Gemeinsamkeit von Programmierern, die lieber unter Linux arbeiten, mit einem Tool, das von Entwicklern verwendet wird? Wofür verwenden die meisten Entwickler ihre "dedizierte Linux-Box"?

DanLeaningphp
quelle
4
Es kommt absolut darauf an, wem es gewidmet ist. Könnte testen, könnte Datenbank sein, könnte VCS sein. Im Allgemeinen ist eine Box nicht für Linux vorgesehen.
user281377
Richtig, eine Box ist einer Funktionalität / Aufgabe / einem Zweck gewidmet. Linux darunter als Betriebssystem ist ein Opfer der gewünschten Aufgabe. Vergessen wir nicht, wenn Sie einen Linksys / Cisco-Router verwenden, haben Sie höchstwahrscheinlich eine dedizierte Linux-Box in Ihrem Haus.
Chris
Welche Rolle spielt eine dedizierte Linux-Box bei der Softwareentwicklung? Emacs ausführen.
Mike Sherrill 'Cat Recall'
Haha, Analysefehler! Ich glaube, ihre beabsichtigte Bedeutung ist "ein Computer, auf dem Linux für einen bestimmten Zweck ausgeführt wird" und nicht "ein Computer, auf dem Linux ausgeführt wird", wie Sie es anscheinend verstanden haben.
Zhehao Mao
@Catcall Wir haben also einen weiteren Emacs-Anhänger ... Vergessen Sie nicht, dass Linux über unzählige Entwicklungstools verfügt und fast alle kostenlos sind, im Gegensatz zu Windows, in dem eine Neuinstallation nichts für die Entwicklung bietet, während Sie unter Linux arbeiten habe mindestens einen C / C ++ - Compiler, eine C / C ++ - Bibliothek und einen Editor, der vim ist. Aber ja, die meisten Leute verwenden eine dedizierte Linux-Box zum Testen von Sachen, hauptsächlich Software, die plattformübergreifend sein soll. Apache und Mozilla kommen in den Sinn ...
Coyote21

Antworten:

4

Die Offenheit von Linux ermöglicht es Ihnen, eine Vielzahl von Aufgaben zu erledigen.

Es könnte wirken als:

  • Ein persönlicher Webserver / Code-Repository

  • Eine Testplattform für Beta-Code, bevor Sie ihn in die Interwebs hochladen.

  • Eine Hardware-Firewall

  • Eine Torrent-Download-Box

  • Ein verherrlichter Media Player (mit Boxee oder XBMC)

  • Eine Code-Kompilierungsstation

  • Eine Box zum Ausführen von Videospielemulatoren, während Code auf Ihrem Arbeitscomputer kompiliert wird.

  • Hier können Sie neue Codierungswerkzeuge ausprobieren, bevor Sie sie Ihrem Werkzeuggürtel hinzufügen.

Da Linux kostenlos und Open Source ist, können Sie die Box formatieren und erneut mit einem anderen Ziel beginnen, wenn einer dieser Anwendungsfälle für Ihre Anforderungen nicht mehr relevant ist. Kein Schaden, kein Foul.

Suchen Sie nach mehr Verwendungsmöglichkeiten? Schauen Sie sich das Linux Journal an , insbesondere die Artikel, die sich mit der Programmierung unter Linux befassen.

Zoot
quelle
10

Einfach gesagt, eine "dedizierte" Linux-Box ist das, wofür man sich entscheidet! :) :)

Dunkle Nacht
quelle
Ich bin damit einverstanden, dass ich eine Linux-Box für Speicherzwecke (Backups sowie Medien und Dokumente) habe, auf der Samba ausgeführt wird, damit Benutzer im LAN Zugriff haben. Ich habe auch eine Linux-Box für die Entwicklung und eine andere Linux-Box für das Routing.
Chris
6

Ich entwickle auf Hardware, auf der Linux ausgeführt wird. Daher ist eine dedizierte Linux-Box (dh keine virtuelle Maschine) für meine Arbeit unerlässlich.

Wir haben auch einen dedizierten Linux-Build-Server, der verwendet wird, um sicherzustellen, dass alle unsere Builds aus einem bekannten Systemstatus erstellt werden.

Sie können jedoch dedizierte Datenbankserver, Webserver usw. haben. Dies hängt ganz davon ab, was Sie tun möchten, ob Sie eine dedizierte Box benötigen oder ob eine VM dies tun würde.

fwgx
quelle
5

Eine dedizierte Linux-Maschine wird für die kontinuierliche Entwicklung verwendet und ermöglicht es einem oder mehreren Benutzern , die gesamte Software an ihre Bedürfnisse anzupassen.

Wenn beispielsweise eine Linux-Box für die Webentwicklung verwendet würde, würde sie mindestens einen Webserver (z. B. Apache) mit allen erforderlichen Modulen hosten, auf ein Versionskontrollsystem zugreifen und Remotezugriff bereitstellen. Dies erspart Ihnen, dass Sie alles auf Ihrem eigenen Computer ausführen müssen und nur dann entwickeln können, wenn Ihr Computer eingeschaltet ist.

Es bietet nicht nur Komfort, sondern sorgt auch für die gleiche Umgebung wie das Produktionssystem. Dies beseitigt alle unbeabsichtigten Probleme, die durch das Basteln an Ihrem Computer entstehen.

JK
quelle
2

Die dedizierte Linux-Box ist im Grunde eine Maschine, auf der Linux und nur Linux ausgeführt wird. Im Kontext der Webentwicklung bedeutet dies wahrscheinlich einen Testserver, der die Zielumgebung emuliert. Mit anderen Worten, Sie würden Ihre Arbeit auf die Linux-Box übertragen, dort testen und erst dann auf den Produktionsserver übertragen.

vartec
quelle
1

Ich habe das noch nie gehört, aber ich würde vermuten, dass eine Linux-Box immer verfügbar ist, im Gegensatz zu einem Windows-Computer mit einem Linux-VM-Image. Das macht für mich nicht wirklich Sinn, aber wo ich arbeite, haben wir eine Handvoll wirklich großer Server, die nur VMs hosten. Anstelle von vier riesigen Servern haben wir also siebzehn +/- fünf virtuelle Server für verschiedene Zwecke und Projekte. Für alle praktischen Zwecke sind die meisten "dedizierte" Boxen, da sie immer laufen.

Ich würde vermuten, was die Leute wirklich meinen, ist, dass Sie einen separaten Server (auf dem alles läuft) für die Testbereitstellung zur Verfügung haben sollten, der große Datenbanken und andere ressourcenintensive Aufgaben hostet, die Ihre Entwicklungsmaschine nicht verlangsamen sollen.

TMN
quelle
+1 für "Ich habe das noch nie gehört" - ich glaube nicht, dass dies ein Standardbegriff ist. In meiner Firma haben wir Linux-Desktops und Linux-Dateiserver usw., über die wir eine Verbindung zu Linux-VMs am Client-Standort herstellen, um die Entwicklung durchzuführen, und Code in die Quellcodeverwaltung einchecken, auf der eine Linux-Box ausgeführt wird, von der aus Jenkins sie ausführt auf einer Linux-Box zu verschiedenen Zielservern unter Linux (und die meisten von uns haben Android-Telefone!). Einige sind virtuell, andere physisch, aber im Grunde ist es Linux ganz unten. Ich habe noch nie jemanden gehört, der eine der Maschinen als "dedizierte Linux-Box" bezeichnet.
Tom Anderson
0

Eine dedizierte Linux-Box ist eine Box, auf der Linux ausgeführt wird und die einer bestimmten Aufgabe zugeordnet ist.

Im Kontext Ihrer Frage wäre dies eine Maschine (könnte eine VM sein, die physisch sein könnte), die dem Entwickler und dem Entwickler nur zum Entwickeln und Testen von Anwendungen zur Verfügung steht, von denen erwartet wird, dass sie unter Linux ausgeführt werden. Das Entscheidende ist jedoch, dass es ausschließlich für diesen Zweck verwendet wird und es keinen Streit darüber gibt, ob es von anderen Menschen oder für andere Dinge benötigt wird.

Der Grund, warum dies in einigen Situationen nützlich / notwendig ist, ist, dass Sie zur Maximierung der Entwicklerproduktivität nicht warten müssen, wenn Sie etwas unter Linux testen müssen oder sich Sorgen über Ihre Installations- oder Konfigurationsänderungen machen müssen, die Probleme für einen anderen Benutzer oder eine andere Anwendung verursachen. Grundsätzlich sollten Sie niemandem gegenüber verantwortlich sein, was auf dieser Box passiert.

Im Gegensatz dazu, dass Sie Zugriff auf eine Linux-Box haben, aber Zeit für deren Verwendung einplanen müssen, stimmen Sie Änderungen zu, die vorgenommen werden können, und so weiter. Dies ist (normalerweise) praktikabel, führt jedoch zu Zeitverschwendung, während Sie versuchen, Zeit dafür zu gewinnen, und die Einschränkungen umgehen müssen, die Ihnen von anderen auferlegt wurden.

Ist es nötig? Es kommt darauf an - entwickeln Sie etwas, das unter Linux laufen soll? Wenn nicht, dann nein, ist es völlig irrelevant, wenn ja, dann wahrscheinlich ja.

Und es sollte wirklich keine Frage der Kosten geben - Sie können Linux auf einer 500-Dollar-Box perfekt ausführen und die Lizenz kostet offensichtlich nichts, so dass dies wirklich kein Problem sein sollte.

Jon Hopkins
quelle
0

Im Zusammenhang mit der Webentwicklung bezieht sich "dedizierte Linux-Box" normalerweise auf einen Server, der jemand anderem gehört. Sie leasen die Hardware und normalerweise einige (oft minimale) Support-Services. Sie teilen die Hardware nicht mit anderen. Möglicherweise dürfen Sie das Betriebssystem und die Anwendungen auswählen oder nicht.

Ein dedizierter Server hat normalerweise mehr mit Bereitstellung als mit Entwicklung zu tun.

Im Gegensatz zu "gemeinsam genutzten Servern" oder "gemeinsam genutzten virtuellen Hosting-Umgebungen", in denen mehrere Unternehmen (üblicherweise mehrere Websites) die Hardware gemeinsam nutzen, jedoch durch Software isoliert sind. Wenn Sie Hardware gemeinsam nutzen, können andere Personen (die Sie normalerweise nicht identifizieren oder kontaktieren können) Ihnen das Leben schwer machen, indem Sie CPU, Festplatte usw. monopolisieren.

Mike Sherrill 'Cat Recall'
quelle
0

Wenn Sie verpfuschte Bereitstellungen nicht mögen, möchten Sie die bestmögliche Kopie Ihrer Produktionsumgebung. Normalerweise ist es eine VM, und das Ausführen einer solchen VM auf einem Notebook macht normalerweise keinen Spaß. (Zumindest müssen Sie das Image für alle Benutzer speichern.) Außerdem möchten Sie eine gemeinsame Integrations- / Testumgebung für alle in Ihrem Team, z. B. mit einer gemeinsamen Datenbank, einem zentralen VCS-Repository (praktisch sogar mit einem DVCS) ), speichern Sie für alle Abhängigkeiten (von genauen Versionen) usw.

Dies alles könnte eine dedizierte Box erfordern, nicht unbedingt Linux, während Linux am einfachsten ist.

9000
quelle