¿Cuánto espacio de almacenamiento necesitan realmente los desarrolladores en los sistemas de trabajo?

8

Sin contar el sistema operativo y los requisitos para ejecutar el software de desarrollo. El espacio de almacenamiento requerido.

Hablando estrictamente desde la perspectiva del trabajo (configuración de la empresa y no autónomos). Un desarrollador individual (sin considerar un sistema de compilación) a menos que se encuentre en áreas de video, procesamiento de audio (archivos crudos enormes) desarrollo de gráficos en 3D. Cuánto espacio de almacenamiento se requeriría.

  • Incluso si tenemos en cuenta las pruebas de software para descargar o leer material. ¿Es correcto o seguro suponer que 20 GB sería más que suficiente y que cualquier otra cosa sería un desperdicio o se utilizaría incorrectamente?
  • ¿Cuál es el espacio típico en el disco duro asignado por desarrollador en una configuración de oficina? Esto puede diferir según el rol o el requisito específico y en qué tipo de trabajo realiza la empresa. pero en promedio para un desarrollador / programador cuánto espacio normalmente se asigna.

Editar:

Para aclarar la intención

Estas son preguntas a las que me he enfrentado la gente de negocios / gerencia. Solo deseo entender más a este respecto para dar una respuesta (o una mejor respuesta) la próxima vez que las encuentre. No estoy haciendo suposiciones ni pretendo ofender a nadie a este respecto. Sería útil que se proporcionaran algunos enlaces a datos en línea a este respecto.

Edición 2:

  • El problema, según tengo entendido, era restringir el espacio de almacenamiento solo a guardar archivos de trabajo para desalentar el uso extraño ...
  • No se trata de escatimar / ahorrar costos en hardware.
Aditya P
fuente
3
Nadie necesitará más de 64k ...
Cameron MacFarland
genial ya 2 votos cercanos (rápido para llegar a conclusiones). imagina mi situación cuando tuve que encontrar una respuesta convincente.
Aditya P
3
Una instalación típica de Windows moderna (completamente parcheada) es de aproximadamente 30 a 40 GB en la actualidad. Agregue algún software de desarrollo adicional, espacio de almacenamiento y otras cosas, probablemente necesite discos de 100GB al menos.
Jan_V
1
Me parece que el uso extraño entrará en juego en el área de acceso a la red / internet, no en el disco duro.
xdumaine
1
@ Jan_V: Creo que su herramienta de uso de disco cuenta dos veces los archivos DLL con múltiples enlaces. Tengo Windows 7 más muchas aplicaciones instaladas en una unidad de 30 GB con espacio restante.
Zan Lynx

Respuestas:

7

Cuando se habla solo del espacio de desarrollo (es decir, excluyendo las aplicaciones y los requisitos del sistema operativo), realmente depende del tipo de proyecto (s) con el que se está tratando. Por ejemplo, los lenguajes compilados crean muchos archivos temporales que a su vez se vuelven a empaquetar en archivos más grandes. En mi entorno actual, actualmente estamos ejecutando aproximadamente 20 GB para el código fuente + los archivos de objetos compilados. Eso solo incluye la versión compilada DEBUG, también sería más para RELEASE compilado.

No olvide la sobrecarga del 20% que NTFS u otro sistema de archivos de registro en diario (suponiendo que Windows aquí) necesita tener espacio para el registro en diario y mantener el disco duro en buen estado. Tendrá que dimensionar el disco duro que necesita .

Al proyectar las necesidades de disco duro de su proyecto, deberá tener en cuenta los siguientes aspectos:

  • ¿Qué activos son los productos finales? Los elementos de esta clase incluyen elementos de arte, imágenes, archivos de sonido, etc. que no se combinan en otro archivo. En una aplicación web, esto también incluye sus archivos CSS y JavaScript. No olvide sus scripts de compilación y otros elementos que no están compilados.
  • ¿Qué activos generan resultados intermedios? Los elementos de esta clase incluyen el código fuente para los idiomas compilados, los archivos de enlace, etc. Al comienzo del proyecto, tendrá que proyectar qué tan grande espera que lleguen y revisar esas estimaciones al menos dos veces más a medida que avanza el proyecto. .
  • ¿Qué tan grandes son los productos finales? Sus archivos DLL o bibliotecas compartidas también ocupan espacio. Lo mismo que si empaquetara su aplicación web en una unidad fácilmente desplegable (similar a un archivo WAR de Java o un archivo EAR).

Para una estimación aproximada de cuán grande es su estimación final, use la siguiente fórmula:

(2 * _static_) + (2 * _intermediate_) + (2 * _final_) * 1.2

Si estás pensando para ti mismo, ¿cómo puede ser eso? Considera lo siguiente:

  • El proceso de compilación copia archivos estáticos en el directorio de compilación, así como las clases compiladas.
  • La etapa de vinculación y empaquetado creará binarios finales que serán más pequeños que los archivos intermedios combinados y los archivos estáticos en el directorio de compilación, pero no borrará esos archivos a medida que se combinan.
  • El producto final es solo marginalmente más pequeño ya que los binarios no pueden comprimirse muy bien, pero puede eliminar la redundancia.
  • Debe tener en cuenta el espacio temporal para permitir que el compilador funcione. Para eso es el espacio extra asignado en el producto final.
  • Por último, debe asegurarse de que el entorno de desarrollo tenga un respiro para que el sistema operativo pueda mantener la unidad feliz. Para eso es el aumento del 20% al final.

Si está al comienzo de un proyecto, haga que sus desarrolladores proporcionen un SWAG (Seriously Wild A ** Guess) sobre cuántas clases se necesitarían para implementar la función. Multiplique eso por 16 KB. Algunas clases generarán archivos de objetos mucho más pequeños, y otras generarán archivos más grandes. Pero esto debería ser suficiente para su estimación SWAG de espacio en disco. También suponga que sus productos finales tendrán el mismo tamaño que las clases que calculó.

Supongo que su empleador desea establecer cuotas para cada perfil de usuario. Espero sinceramente que no estén entreteniendo perfiles móviles con el entorno de desarrollo. El problema con los perfiles móviles es el volumen de corte de los archivos que deben transferirse. El sistema operativo Windows (y el protocolo Samba) son notoriamente ineficientes para transferir grandes cantidades de archivos. Se necesitará un orden de magnitud más largo para transferir 100 archivos de 1k que 1 archivo de 100k.

Esperemos que esto le brinde suficiente información para negociar con su empleador.

Berin Loritsch
fuente
Una muy buena respuesta. Esto es útil. Tampoco fue mi empleador.
Aditya P
Nota: los idiomas no compilados generalmente necesitarán 1: 1 para todos los tipos de archivos, no 2: 1 como he enumerado aquí. Por ejemplo, una aplicación Ruby on Rails se ejecuta en su lugar, sin necesidad de copiar archivos adicionales, como sería necesario en una aplicación Java o C # comparable.
Berin Loritsch
2
Esto omite casos en los que es posible que desee tener disponible más de un árbol de origen, casos en los que el sistema de control de versiones usa espacio de almacenamiento local (como todos los modernos con los que estoy familiarizado), casos en los que necesita trabajar en otra cosa temporalmente, casos en los que Es posible que necesite otra configuración y casos en los que adivine mal. Esta es una receta para el desastre.
David Thornley
Este es un punto de partida, y nada más. Se garantiza que tendrá que volver a visitar los números a medida que avanza el proyecto. Ese es el resultado de intentar restringir el uso del disco de sus desarrolladores. Al tratar con gerentes de TI que gobiernan por mandato, deberá expresar sus requisitos de manera razonable. Esta respuesta proporciona un mecanismo para hacer eso. También estoy de acuerdo en que restringir el espacio en un grado tan grande es una receta para el desastre. NOTA: si usa Subversion, duplique los requisitos de espacio en disco. Almacena una segunda copia del archivo en sus carpetas.
Berin Loritsch
Este es un buen punto de partida, pero diría que si todos tienen su propia computadora, el escaneo de discos duros no ahorrará mucho dinero. Todas las apuestas están desactivadas para perfiles móviles.
Michael K
21

El desarrollo necesita MUCHO espacio.

Utilizamos imágenes de VM como unidades de gestión de configuración para configuraciones de desarrollador.

Una vez que haya copiado la VM en su máquina, la iniciará, actualice el código fuente del VCS y estará ejecutando. Sin inmutarse con configuraciones de desarrollador.

Cada imagen de VM es de aproximadamente 20 Gb. 4-5 de esos. es decir, generalmente necesitamos de 100 a 120 Gb Gb

Eso sí, no son "por usuario" en las cosas de la máquina, solo necesitan uno.

Tim Williscroft
fuente
2
+1 para imágenes de VM. Si la configuración de su oficina usa eso.
Aditya P
tenga en cuenta un segundo disco duro para copias de seguridad o incursiones. una falla en el disco duro puede ser catastrófica si no hay redundancia en ninguna parte
WalterJ89
1
Mejor aún, una tonelada de espacio en disco en una ubicación de red, en caso de incendio / inundación / robo / incidente digno de
carapalm
Mi copia de seguridad nocturna "refleja" las imágenes de VM en el disco RAID de red
Tim Williscroft
9

Espacio real necesario? Depende. A pesar de su edición, todavía no estoy seguro de entender el punto. Ni siquiera podría comprar un disco duro de 20 gb en este momento si lo intentara. Casi siempre usaría cualquier tamaño de disco duro que tenga la mejor relación GB / $. (O una unidad de disco rápida pequeña (SSD) y una unidad de almacenamiento más grande y más lenta) Eso es alrededor de 1 TB en este momento (la última vez que busqué de todos modos ...). Si quisieras bajar a 500 gb, estarías pagando el 80% del costo por el 50% del espacio.

Yo diría que alguien que le pide que ponga un número en la cantidad de espacio que "necesita", ni siquiera entiende realmente lo que está pidiendo.

Zack
fuente
11
Ni siquiera podría comprar un disco duro de 20 gb en este momento si lo intentara ... esto. Acabo de consultar la lista de piezas de la compañía local de la que mi empleador compra PC: el disco duro SATA de escritorio más pequeño que tienen a la venta es de 250 GB. Cuesta casi el 90% del precio de una unidad similar de 500 GB. No hay dinero para ahorrar ahorrando espacio en el disco duro.
Carson63000
2
@ Carson63000: Puedo ver compañías que usan esta información para determinar si comprar SSD o HDD. Si puede sobrevivir con 128G, entonces los SSD son asequibles (~ US $ 200). Si realmente necesita 250G o más, entonces tendrá dificultades para gastar 10 veces más en un SSD por la misma cantidad de espacio.
TMN
@ TMN: También existe la opción de un SSD y un disco duro, que es lo que tengo ahora. El SSD corta muchas veces mi enlace, y el disco duro es ideal para almacenar muchas cosas.
David Thornley
¡El espacio asignado sería por perfil de usuario y no el disco duro real!
Aditya P
4

El espacio en el disco duro es increíblemente barato . ¿Por qué no le darías a cada desarrollador un disco duro de terabyte? Les evita tener que perder el tiempo limpiando sus discos cada semana.

Dicho esto, estoy usando alrededor de 150 gb de ese terabyte, nuestra base de código solo es de alrededor de 9 gb.

Carra
fuente
No estoy tratando de discutir sobre su costo, y haber aumentado el factor costo fue, en el mejor de los casos, problemático en este sentido.
Aditya P
El espacio en el disco duro es tan barato como los sistemas y medios necesarios para mantener una copia de seguridad y el tiempo necesario para explorarlo todo cuando el desarrollador se ha ido y alguien necesita darle sentido a su trabajo.
Blrfl
@ Blrfl: no lo veo como un problema. Todos los códigos / análisis están en una solución de control de fuente. Incluso si mi PC se quema en el infierno, no perderé muchos datos.
Carra
@Blrfl: el almacenamiento en mi máquina no está respaldado. Yo sé eso. Tengo espacio en la unidad de red (que es) donde puedo almacenar cosas que sería inconveniente perder. Ese espacio de red es donde reside el gasto.
David Thornley
3

Aquí hay una opinión sobre el punto:

El problema, según tengo entendido, era restringir el espacio de almacenamiento solo a guardar archivos de trabajo para desalentar el uso extraño ...

Usted quiere a los desarrolladores a participar en el uso ajeno. Desea que descarguen demostraciones, código fuente abierto y todo tipo de otras cosas. Por supuesto, debe tomar medidas para proteger al resto de la red de una posible catástrofe. Tal vez su investigación debería hacerse en una imagen de VM, pero desea que lo hagan. Desea que prueben cosas nuevas, que participen en nuevas ideas. Cuando le quitas esto a los desarrolladores, comienzan a estancarse y a resentirse. Por supuesto, no quieres que jueguen sudoku o descarguen demostraciones de Duke Nukem, pero limitar sus capacidades simplemente porque no quieres un "uso extraño" solo hará que funcionen en otro lugar.

Para ponerlo en forma de una cita de Star Wars:

Cuanto más aprietes, Tarkin, más [los desarrolladores] se deslizarán entre tus dedos.

Joel Etherton
fuente
No puedo estar más de acuerdo con usted en esto, pero mi lugar fue proporcionar información sobre los factores involucrados, el espacio promedio y comentar (¡de acuerdo!) Sobre su estimación proporcionada.
Aditya P
3
"Desea que descarguen demostraciones, código fuente abierto y todo tipo de otras cosas". Dígaselo al "administrador de seguridad", los "administradores de red", los "administradores de sistemas" y todos los demás que quieran hacer que los desarrolladores usen solo las aplicaciones permitieron a las secretarias y recepcionista y no les permitieron instalar o ejecutar nada más (como un compilador, editor, etc.).
Jwent
1
Diles que encuentren un trabajo en otro lugar. Si el personal de TI no puede ocuparse de las papas, no trabaje para un restaurante, y si no puede lidiar con los desarrolladores, no trabaje en una empresa que desarrolle software. Los desarrolladores de software existen para crear un nuevo software. El nuevo software por definición no puede haber sido aprobado. Por lo tanto. cualquier administrador que insista en la aprobación previa de software es, por definición, inadecuado para trabajar en dichos entornos.
MSalters
@jwenting, @MSalters: Reclame sobre la seguridad todo lo que quiera, pero recuerde lo que sucedió con el código fuente de Half-Life 2. La seguridad también es importante.
Zan Lynx
@jwenting: lo hice. Hice un argumento exitoso para permitir que mi máquina de desarrollo sea Windows Server 2008 y se la coloque en nuestro grupo de servidores. Esto les permite monitorearlo más hábilmente y tener un poco más de control sobre mi entorno (ya que también soy administrador local).
Joel Etherton
3

La única respuesta razonable a esto es " suficiente ".

No lleva muchas horas de desarrollador pagar por un nuevo disco duro ...


fuente
2

Mi máquina de trabajo principal tiene una unidad interna de 160 GB, una unidad externa de 160 GB y una unidad externa de 250 GB. Todos menos el disco de 250GB están casi llenos (por eso agregué (a mi costa, por cierto ...) el disco de 250GB).

Estamos usando muchas imágenes de VMWare, y esas tienden a ser bastante grandes. 3 proyectos, cada uno con una imagen de 20 GB más una imagen de respaldo, es de 120 GB. Eso no incluye el espacio necesario para instalar Oracle, WebLogic, 5 instancias de JBoss, IDEs, software de oficina, sistema operativo, etc., etc. que en conjunto ocupan otros 100 GB más o menos.

Luego están los documentos, libros electrónicos y todo lo que necesite. Para una productividad que probablemente incluirá unos pocos GB de música para iTunes (la mayoría de las personas que conozco funcionan mejor que la música, y todos prefieren música diferente). Y sí, por lo tanto, considero que iTunes (u otra biblioteca / reproductor de música) es una herramienta de productividad.

jwenting
fuente
1

Estas son las preguntas que tuve que enfrentar la gente de negocios / gerencia

¿Te das cuenta de que los discos duros internos modernos cuestan algo como ¢ 3-5 / GB? Entonces, sugiere que ¢ 60 debería ser suficiente para el desarrollador. Eso es ridículo, suena muy difícil de resolver.

vartec
fuente
Como le había dicho a @Carra, el costo no era el problema detrás de esas preguntas / afirmaciones.
Aditya P
La pregunta correcta sería "¿320 GB es suficiente para el desarrollador?". Ese es actualmente el nuevo HDD más pequeño que puede obtener. A menos que desee utilizar SSD, pero con una organización tan ridícula como para proponer discos duros de 20GB, probablemente eso sea totalmente imposible. ¡Después de todo a quién le importa la productividad de los desarrolladores, si puede ahorrar como $ 150 en sus computadoras!
vartec
sin duda, IBM todavía puede venderle una más pequeña si les especifica una estación de trabajo que incluye una y pide unos cientos ...
partir del
@jwenting: sí, ellos "hacen" más pequeños al ocultar la mayor parte del HDD en el BIOS o el firmware.
vartec
inteligente, ¿no es así? Aunque no me sorprendería si Lenovo y otros tienen almacenes llenos de hardware obsoleto del que les encantaría deshacerse de los clientes corporativos dispuestos a pagar una prima por solo tener un "conjunto estándar" similar a lo que han estado usando durante años.
Jwent
0

Por lo general, busco un disco muy rápido para los archivos importantes (programas y código) y un disco grande para todo lo demás.

Eso generalmente significa un pequeño SSD (128 GB) en esta configuración:

80GB C: para el sistema operativo, Office, Visual Studio, servidor SQL, etc.
30GB D: (el resto de la SSD) donde puse todo mi código y algunas VM de
1.5TB E: aquí puse todo el resto, isos, mi música , videos, etc.

Juan Zamudio
fuente
1
"Hablando estrictamente desde la perspectiva del trabajo" ¿Necesita 1,5 TB para música y videos? (Utilizo TB en casa para guardar películas que Windows Media Center ha grabado de mi tarjeta de TV. Tengo cientos de ellas, pero esta es mi computadora personal .)
Andreas Rejbrand
bien dicho, Andreas. Parte de la música en iTunes no debería ocupar más de 10-20 GB (que por supuesto ya es el OP total que cree que es suficiente para una PC de desarrollo :)).
Jwent
¿En qué tipo de videos estás pensando? mi colección de música es de aproximadamente 80 GB (principalmente flacs) pero cuando hablaba de videos me refería a videos de entrenamiento, tengo videos de PDC, MIX, Teched y otras conferencias, la mayoría de los videos tienen casi 1 GB de tamaño, tienes mentalidad de gestión, no sé si eso es bueno o malo
Juan Zamudio
la mayoría de los videos que veo en las pantallas de las personas son manga, no videos de entrenamiento ...
comenzando el
No estoy interesado en el manga, pero no puedo tener ese tipo de videos en el trabajo, demonios, a veces tuve que explicar a algunos gerentes que estoy aprendiendo EF 4 o plinq y obtener miradas extrañas
Juan Zamudio
0

El disco duro de 1 TB está por debajo de 100 $, entonces, ¿de qué estás hablando? El evento que discute esto es más costoso, que solo obtener algunos discos duros ...

Aún así: si trabajas con archivos multimedia, 20 gb es una broma. Las muestras sin comprimir de 1 gb y más son bastante comunes en ese envío. Necesitará muchas copias, etc. Si trabaja con máquinas virtuales, necesitará aún más.

Cualquier cosa por debajo de 500 gb no es razonable.

Jaster
fuente
0

Suficiente para que sus desarrolladores no tengan que preocuparse por quedarse sin espacio mientras trabajan. En mi caso, hay espacio para grandes pagos, copias (desinfectadas) de bases de datos, máquinas virtuales y "otras cosas", aunque algunas de las otras cosas deberían estar en un espacio compartido (del cual necesitaría mucho) para evitar la duplicación en un entorno de equipo

El uso (abuso) de espacio en una PC de trabajo con fines extraños debe ser una cuestión de política y no de limitaciones físicas forzadas en sus cuadros de desarrollo principales, sobre todo porque los desarrolladores son el tipo de personas que podrán encontrar formas creativas restricciones muy posiblemente en detrimento de su red en su conjunto.

Tenga en cuenta también que esta es una de esas áreas donde los desarrolladores y otros usuarios realmente necesitan recibir un tratamiento diferente.

Murph
fuente