Entonces, esta es probablemente una pregunta muy básica y obvia para la mayoría de las personas, pero mi google-fu me está fallando y parece que algo está pasando por mi cabeza. He escuchado que muchas personas se refieren a tener una 'caja de Linux dedicada' como parte central de la configuración de un desarrollador.
He estado haciendo programación de desarrollo web durante aproximadamente un año y entiendo los beneficios de programar en un sistema Unix / Linux. Pero parece que me falta el papel que desempeña una 'caja de Linux dedicada' en el proceso de desarrollo.
Supongo que se usa como un servidor de algún tipo, pero todavía tengo que encontrar cualquier necesidad de tener una computadora dedicada a ejecutar un servidor Linux. ¿Estoy siendo nieve y confundiendo la comunidad de programadores que prefieren trabajar en Linux para una herramienta utilizada por los desarrolladores? ¿Para qué utilizan la mayoría de los desarrolladores su 'caja de Linux dedicada'?
fuente
Respuestas:
La naturaleza abierta de Linux le permite realizar una variedad de tareas.
Podría actuar como:
Un servidor web personal / repositorio de código
Una plataforma de prueba para el código beta antes de subirlo a las interwebs.
Un cortafuegos de hardware
Un cuadro de descarga de torrents
Un reproductor multimedia glorificado (con Boxee o XBMC)
Una estación de compilación de código
Una caja para ejecutar emuladores de videojuegos mientras se compila el código en su máquina de 'trabajo'
Un lugar para probar nuevas herramientas de codificación antes de agregarlas a su cinturón de herramientas.
Debido a que Linux es gratuito y de código abierto, si uno de estos casos de uso ya no es relevante para sus necesidades, puede formatear el cuadro y comenzar de nuevo con un objetivo diferente en mente. Sin daño, sin falta.
¿Buscas más usos? Intente revisar Linux Journal , particularmente sus artículos enfocados en la programación en Linux.
fuente
En pocas palabras, una caja de Linux "dedicada" es a lo que uno decide dedicarla. :)
fuente
Realizo un desarrollo dirigido al hardware que ejecuta Linux, por lo que una caja de Linux dedicada (es decir, no una máquina virtual) es esencial para mi trabajo.
También tenemos un servidor de compilación de Linux dedicado que se utiliza para garantizar que todas nuestras compilaciones se construyan a partir de un estado del sistema conocido.
Pero puede tener servidores de bases de datos dedicados, servidores web, etc. Depende completamente de lo que esté tratando de hacer en cuanto a si necesita una caja dedicada o si una VM lo haría.
fuente
Se utiliza una máquina Linux dedicada para el desarrollo continuo y es una máquina que permite a uno o más usuarios personalizar todo el software de acuerdo con sus necesidades.
Por ejemplo, si se utilizara una caja de Linux para el desarrollo web, como mínimo, alojaría un servidor web (por ejemplo, Apache) con todos los módulos necesarios, accedería a un sistema de control de versiones y proporcionaría acceso remoto. Esto le ahorra tener que ejecutar todo en su propia computadora y solo poder desarrollar cuando su computadora está encendida.
Además de ofrecer comodidad, también garantiza el mismo entorno que el sistema de producción. Esto elimina cualquier problema involuntario que surja de retoques con su computadora.
fuente
La caja de Linux dedicada es básicamente una máquina que ejecuta Linux y solo Linux. En el contexto del desarrollo web, probablemente significa un servidor de prueba, que emula el entorno de destino. En otras palabras, empujaría su trabajo a la caja de Linux, lo probaría allí y solo luego lo empujaría al servidor de producción.
fuente
Nunca he escuchado esto, pero supongo que significa tener una caja Linux siempre disponible, en lugar de tener una máquina Windows con una imagen VM de Linux. Esto realmente no tiene sentido para mí, pero luego, donde trabajo, tenemos un puñado de servidores realmente grandes que solo alojan máquinas virtuales, por lo que en lugar de cuatro servidores enormes, tenemos diecisiete +/- cinco virtuales para varios propósitos y proyectos. Para todos los fines prácticos, la mayoría son cajas "dedicadas", porque siempre están en ejecución.
Supongo que lo que la gente realmente quiere decir es que debe tener un servidor separado (que ejecute lo que sea) disponible para la implementación de prueba, hospedar grandes bases de datos y otras tareas intensivas en recursos que no desea ralentizar su máquina de desarrollo.
fuente
Un cuadro de Linux dedicado es un cuadro que ejecuta Linux y está dedicado a una tarea específica.
En el contexto de su pregunta, esta sería una máquina (podría ser una máquina virtual podría ser física) que está disponible para el desarrollador y el desarrollador solo para desarrollar y probar aplicaciones que se espera que se ejecuten en Linux. Sin embargo, lo fundamental es que se usa únicamente para este propósito y no habrá disputas en términos de que otras personas o para otras cosas lo necesiten.
La razón por la que esto es útil / necesario en algunas situaciones es que para maximizar la productividad de los desarrolladores no debería tener que esperar si necesita probar algo en Linux, o preocuparse porque su instalación o cambios de configuración causen problemas a algún otro usuario o aplicación. Básicamente, usted no debe responder ante nadie por lo que sucede en ese cuadro.
Entonces, en contraste con tener acceso a un cuadro de Linux pero tener que organizar el tiempo para usarlo, acuerde los cambios que se pueden hacer, etc. Esto es factible (por lo general), pero dará como resultado una pérdida de tiempo mientras intenta obtener tiempo y tiene que sortear las restricciones que otros le imponen.
¿Es necesario? Depende: ¿desarrolla algo que se espera que se ejecute en Linux? Si no, entonces no, es completamente irrelevante, si es así, probablemente sí.
Y realmente no debería haber una cuestión de costo: puede ejecutar Linux perfectamente bien en una caja de $ 500 y la licencia obviamente no cuesta nada, por lo que realmente no debería ser un problema.
fuente
En el contexto del desarrollo web, "caja de Linux dedicada" generalmente se refiere a un servidor propiedad de otra persona. Usted arrienda el hardware y, por lo general, algunos servicios de soporte (a menudo mínimos). No compartes el hardware con nadie más. Es posible que se le permita o no elegir el sistema operativo y las aplicaciones.
Un servidor dedicado generalmente tiene más que ver con la implementación que con el desarrollo.
Opuesto al "servidor compartido" o al "entorno de alojamiento virtual compartido", donde varias compañías (que comúnmente significan múltiples sitios web) comparten el hardware, pero están aisladas por el software. Compartir hardware significa que otras personas (a las que normalmente no puede identificar o contactar) realmente pueden dificultarle la vida al monopolizar la CPU, el disco, etc.
fuente
Si no le gustan las implementaciones fallidas, quiere la copia más cercana posible de su entorno de producción. Por lo general, es una máquina virtual, y ejecutar una máquina virtual de este tipo en una computadora portátil, por ejemplo, no es divertido. (Al menos, debe almacenar la imagen para que todos la usen.) Además, desea un entorno de integración / prueba común para todos en su equipo, por ejemplo, con una base de datos común, un repositorio central de VCS (conveniente incluso con un DVCS ), almacenar para todas las dependencias (de versiones exactas), etc.
Todo esto podría tomar una caja dedicada, no necesariamente Linux, mientras que Linux es el más fácil de todos.
fuente