Quanto espaço de armazenamento os desenvolvedores realmente precisam nos sistemas de trabalho?

8

Sem contar o sistema operacional E os requisitos para executar o software de desenvolvimento. O espaço de armazenamento necessário.

Estritamente falando da perspectiva do trabalho (configuração da empresa e não freelancers) .Um desenvolvedor individual (sem considerar um sistema de compilação), a menos que em áreas de vídeo, processamento de áudio (enormes arquivos brutos) desenvolvimento 3d / gráfico. Quanto espaço de armazenamento seria necessário.

  • Mesmo se considerarmos os testes de software para baixar ou ler o material. É certo ou seguro assumir que 20 GB seria suficiente e mais alguma coisa seria um desperdício e / ou seria inadequadamente utilizada ?.
  • Qual é o espaço típico do disco rígido alocado por desenvolvedor em uma instalação de escritório? Isso pode diferir por função ou requisito específico e em que tipo de trabalho a empresa está inserida. mas, em média, para um desenvolvedor / programador, quanto espaço normalmente é alocado.

Editar:

Para esclarecer a intenção

Essas são perguntas que eu enfrentei por pessoas de negócios / gerência. Eu só quero entender mais a esse respeito para dar uma resposta (ou melhor) na próxima vez que eu as encontrar. Não estou fazendo suposições ou pretendo ofender alguém a esse respeito. Seria útil se alguns links para dados on-line fossem fornecidos a esse respeito.

Edição 2:

  • O problema que eu entendi foi restringir o espaço de armazenamento apenas para salvar os arquivos de trabalho para desencorajar o uso externo ...
  • Não se trata de economia / economia de hardware.
Aditya P
fonte
3
Ninguém nunca vai precisar de mais de 64k ...
Cameron MacFarland
ótimos já 2 votos próximos (rápido para tirar conclusões). imagine minha situação quando tive que encontrar uma resposta convincente.
Aditya P
3
Uma instalação moderna típica do Windows (totalmente corrigida) tem entre 30 e 40 GB atualmente. Adicione algum software de desenvolvimento extra a ele, espaço de armazenamento e outras coisas, você provavelmente precisará de pelo menos 100 GB de disco.
Jan_V
1
Parece-me que o uso estranho entrará em jogo na área de acesso à rede / Internet - não no disco rígido.
Xdumaine
1
@ Jan_V: Eu acho que sua ferramenta de uso do disco está contando duas vezes os arquivos DLL com vários links. Eu tenho o Windows 7 e muitos aplicativos instalados em uma unidade de 30 GB com espaço restante.
Zan Lynx 28/03

Respostas:

7

Ao falar apenas sobre o espaço de desenvolvimento (por exemplo, excluindo aplicativos e requisitos de SO), isso realmente depende do tipo de projeto com o qual você está lidando. Por exemplo, idiomas compilados criam muitos arquivos temporários que são reembalados em arquivos maiores. No meu ambiente atual, atualmente estamos executando cerca de 20 GB para o código fonte + os arquivos de objeto compilados. Isso inclui apenas a versão compilada DEBUG, seria mais para o RELEASE compilado também.

Não se esqueça dos 20% de sobrecarga que o NTFS ou outro sistema de arquivos de registro em diário (assumindo o Windows aqui) precisa ter espaço para registrar em diário e manter o disco rígido em bom estado. Você terá que dimensionar o disco rígido necessário .

Ao projetar as necessidades de disco rígido do seu projeto, você deverá considerar os seguintes aspectos:

  • Quais ativos são produtos finais? Os itens desta classe incluem materiais de arte, imagens, arquivos de som etc. que não são combinados em outro arquivo. Em um aplicativo da web, isso inclui também os arquivos CSS e JavaScript. Não esqueça seus scripts de construção e outros itens que não são compilados.
  • Quais ativos geram resultados intermediários? Os itens desta classe incluem código-fonte para idiomas compilados, arquivos de link etc. No início do projeto, você terá que projetar o tamanho que espera obter e revisar essas estimativas pelo menos duas vezes mais à medida que o projeto avança. .
  • Qual o tamanho dos produtos finais? Suas DLLs ou bibliotecas compartilhadas também ocupam espaço. O mesmo que se você empacotasse seu aplicativo da web em uma unidade facilmente implementável (semelhante a um arquivo Java WAR ou EAR).

Para uma estimativa aproximada do tamanho da sua estimativa final, use a seguinte fórmula:

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

Se você está pensando consigo mesmo, como pode ser isso? Considere o seguinte:

  • O processo de compilação copia arquivos estáticos para o diretório de compilação, bem como as classes compiladas.
  • O estágio de vinculação e empacotamento criará binários finais que serão menores que os arquivos intermediários combinados e os arquivos estáticos no diretório de construção, mas não os apagarão à medida que forem combinados.
  • O produto final é apenas um pouco menor, pois os binários não podem ser compactados muito bem - mas você pode remover a redundância.
  • Você precisa levar em consideração o espaço temporário para permitir que o compilador funcione. É para isso que serve o espaço extra alocado no produto final.
  • Por fim, você precisa garantir que o ambiente de desenvolvimento tenha espaço para respirar, para que o sistema operacional possa manter a unidade feliz. É para isso que serve o aumento de 20% no final.

Se você estiver no início de um projeto, peça aos desenvolvedores que forneçam um SWAG (Seriously Wild A ** Guess) sobre quantas classes seriam necessárias para implementar o recurso. Multiplique isso por 16 KB. Algumas classes geram arquivos de objeto muito menores e outras geram arquivos maiores. Mas isso deve ser suficiente para sua estimativa do SWAG de espaço em disco. Suponha também que seus produtos finais terão o mesmo tamanho das classes estimadas.

Presumo que seu empregador esteja querendo configurar cotas para cada perfil de usuário. Eu sinceramente espero que eles não estejam entretendo perfis de roaming com o ambiente de desenvolvimento. O problema com os perfis móveis é o volume de cisalhamento dos arquivos que precisam ser transferidos. O sistema operacional Windows (e o protocolo Samba) é notoriamente ineficiente na transferência de um grande número de arquivos. Levará uma ordem de magnitude mais longa para transferir 100 arquivos de 1k do que 1 arquivo de 100k.

Espero que isso lhe dê informações suficientes para negociar com seu empregador.

Berin Loritsch
fonte
Uma resposta muito boa. Isso é útil. Além disso, não era meu empregador.
Aditya P
Nota: os idiomas não compilados normalmente precisam de 1: 1 para todos os tipos de arquivos, não de 2: 1, conforme listado aqui. Por exemplo, um aplicativo Ruby on Rails é executado no local, sem arquivos extras de cópia, como seria necessário em um aplicativo Java ou C # comparável.
Berin Loritsch 28/03
2
Isso omite casos em que você pode querer mais de uma árvore de origem disponível, casos em que o sistema de controle de versão usa espaço de armazenamento local (como todos os modernos com os quais estou familiarizado), casos em que você precisa trabalhar temporariamente em outra coisa, casos em que pode ser necessário outra configuração e casos em que você adivinha mal. Isto é uma receita para o desastre.
David Thornley 28/03
Este é um ponto de partida e nada mais. Está garantida a ter de rever os números como os avanços do projeto. Esse é o resultado da tentativa de aumentar o uso de disco de seus desenvolvedores. Ao lidar com gerentes de TI que governam por decreto, você precisará expressar seus requisitos razoavelmente. Esta resposta fornece um mecanismo para fazer isso. Também concordo que restringir o espaço em um grau tão grande é uma receita para o desastre. NOTA: se você usar o Subversion, duplique os requisitos de espaço em disco. Ele armazena uma segunda cópia do arquivo em suas pastas.
Berin Loritsch 28/03
Esse é um bom ponto de partida, mas eu diria que, se todo mundo tiver seu próprio computador, a economia de disco rígido não economizará muito dinheiro. Todas as apostas estão desativadas para perfis móveis.
Michael K
21

O desenvolvimento precisa de muito espaço.

Usamos imagens de VM como unidades de gerenciamento de configurações nas configurações do desenvolvedor.

Depois de copiar a VM para sua máquina, inicie-a, atualize o código-fonte do VCS e você estará executando. Sem futzing nas configurações do desenvolvedor.

Cada imagem da VM tem cerca de 20 GB. 4-5 desses. ou seja, geralmente precisamos de 100 a 120Gb Gb

Lembre-se, eles não são "por usuário" nas coisas da máquina, precisam apenas de um.

Tim Williscroft
fonte
2
+1 para imagens de VM. Se a configuração do seu escritório usa isso.
Aditya P
lembre-se de um segundo disco rígido para backups ou invasões. uma falha no disco rígido pode ser catastrófico se não houver qualquer lugar redundância
WalterJ89
1
Melhor ainda, uma tonelada de espaço em disco em um local de rede, em caso de incêndio / inundação / roubo / facepalm digno de incidente
JBRWilkinson
Meus backup noturno "espelhos" as imagens de VM para o disco de rede RAID
Tim Williscroft
9

Espaço real necessário? Depende. Apesar da sua edição, ainda não tenho certeza se entendi. Você não poderia nem comprar um disco rígido de 20 GB no momento se tentasse. Você quase sempre usava qualquer tamanho de disco rígido com a melhor proporção de GB / $. (Ou uma pequena unidade rápida (SSD) e uma grande unidade de armazenamento mais lenta) Isso é cerca de 1 TB no momento (da última vez que procurei mesmo assim ...). Se você quisesse cair para 500 GB, pagaria 80% do custo por 50% do espaço.

Eu argumentaria que alguém pedindo para você colocar um número em quanto espaço "precisa", nem entende realmente o que está pedindo.

Zack
fonte
11
Você não podia nem comprar um disco rígido de 20GB agora se tentasse .. isso. Acabei de verificar a lista de peças da empresa local onde meu empregador compra PCs - o menor disco rígido SATA para desktop que eles têm à venda é de 250 GB. Custa quase 90% do preço de uma unidade semelhante de 500 GB. Não há dinheiro a ser economizado na economia de espaço no disco rígido.
Carson63000
2
@ Carson63000: Posso ver empresas usando essas informações para determinar se devem comprar SSDs ou HDDs. Se você consegue sobreviver com 128G, os SSDs são acessíveis (~ US $ 200). Se você realmente precisa de 250G ou mais, terá dificuldade em gastar 10x mais para um SSD pela mesma quantidade de espaço.
TMN
@ TMN: Há também a opção de um SSD e um disco rígido, o que é o que tenho agora. O SSD corta muito meu link vezes, e o disco rígido é ótimo para armazenar muitas coisas.
David Thornley 28/03
O espaço alocado seria por perfil de usuário e não o disco rígido real !!.
Aditya P
4

O espaço no disco rígido é incrivelmente barato . Por que você não daria a cada desenvolvedor um disco rígido de terabyte? Evita que eles precisem perder tempo limpando seus discos toda semana.

Dito isto, estou usando cerca de 150 GB desse terabyte, apenas nossa base de código é de cerca de 9 GB.

Carra
fonte
Não estou tentando argumentar sobre seu custo.
Aditya P
O espaço no disco rígido é tão barato quanto os sistemas e a mídia necessários para mantê-lo em backup e o tempo necessário para vasculhá-lo quando o desenvolvedor sair e alguém precisar entender seu trabalho.
Blrfl 28/03
@ Blrfl: Eu não vejo isso como um problema. Todos os códigos / análises estão em uma solução de controle de origem. Mesmo se meu PC queima no inferno, não perderei muitos dados.
Carra
@Blrfl: O armazenamento na minha máquina não é copiado. Eu sei disso. Eu tenho espaço na unidade de rede (onde é) onde posso armazenar coisas que seriam inconvenientes a perder. Esse espaço de rede é onde está a despesa.
David Thornley 28/03
3

Aqui está uma opinião sobre o assunto:

O problema que eu entendi foi restringir o espaço de armazenamento apenas para salvar os arquivos de trabalho para desencorajar o uso externo ...

Você deseja que os desenvolvedores se envolvam em uso estranho. Você deseja que eles baixem demos, código-fonte aberto e todos os tipos de outras coisas. É claro que você precisa tomar medidas para proteger o restante da rede de uma possível catástrofe. Talvez a pesquisa deles deva ser feita em uma imagem de VM, mas você deseja que eles façam isso. Você quer que eles tentem coisas novas, se envolvam em novas idéias. Quando você tira isso dos desenvolvedores, eles começam a estagnar e ficar ressentidos. É verdade que você não os quer jogando sudoku ou baixando demos do Duke Nukem, mas limitando seus recursos simplesmente porque você não deseja "uso estranho", apenas os fará funcionar em outro lugar.

Para colocá-lo na forma de uma citação de Star Wars:

Quanto mais você aperta, Tarkin, mais [desenvolvedores] deslizam entre seus dedos.

Joel Etherton
fonte
Não posso concordar mais com você sobre isso. Mas meu lugar era fornecer informações sobre os fatores envolvidos, espaço médio e comentar (concordo!) Sobre a estimativa fornecida.
Aditya P
3
"Você quer que eles baixem demos, código-fonte aberto e todo tipo de outras coisas." Diga isso ao "gerenciador de segurança", aos "administradores de rede", aos "administradores de sistemas" e a todos os outros que desejam que os desenvolvedores usem apenas os aplicativos permitiam aos secretários e recepcionistas e não permitiam que eles instalassem ou executassem qualquer outra coisa (como um compilador, editor etc.).
jwenting
1
Diga a eles para encontrar um emprego em outro lugar. Se a equipe de TI não puder lidar com batatas, não vá trabalhar em um restaurante e se não puder lidar com desenvolvedores, não trabalhe em uma empresa que desenvolve desenvolvimento de software. Os desenvolvedores de software existem para criar um novo software. Novo software por definição não pode ter sido aprovado. Portanto. qualquer administrador que insista em pré-aprovar software é, por definição, inadequado para trabalhar nesses ambientes.
MSalters
@jwenting, @MSalters: Reclame sobre a segurança que você gosta, mas lembre-se do que aconteceu com o código-fonte do Half-Life 2. A segurança também é importante.
Zan Lynx 28/03
@jwenting: eu fiz. Fiz um argumento bem-sucedido para permitir que minha máquina de desenvolvimento seja um Windows Server 2008 e colocada em nosso grupo de servidores. Isso permite que eles o monitorem com mais habilidade e que eu tenha um pouco mais de controle sobre meu ambiente (já que também sou administrador local).
Joel Etherton
3

A única resposta razoável para isso é " suficiente ".

Não leva muitas horas para o desenvolvedor pagar por um novo disco rígido ...


fonte
2

Minha máquina principal de trabalho possui uma unidade interna de 160 GB, uma unidade externa de 160 GB e uma unidade externa de 250 GB. Todos, com exceção da unidade de 250 GB, estão quase cheios (e foi por isso que eu adicionei (às minhas próprias custas, btw ...) a unidade de 250 GB).

Estamos usando muito as imagens do VMWare, e essas tendem a ficar grandes. 3 projetos, cada um com uma imagem de 20 GB e uma imagem de backup, tem 120 GB. Isso não inclui o espaço necessário para instalar Oracle, WebLogic, 5 instâncias JBoss, IDEs, software de escritório, sistema operacional etc. etc., que juntos ocupam mais 100 GB.

Depois, há documentos, livros eletrônicos e tudo o que você precisa. Para uma produtividade que provavelmente incluirá alguns GB de música para o iTunes (a maioria das pessoas que conheço funciona melhor com música e todo mundo prefere músicas diferentes). E sim, portanto, considero o iTunes (ou outra biblioteca / reprodutor de música) uma ferramenta de produtividade.

jwenting
fonte
1

Estas são perguntas que eu enfrentei por pessoas de negócios / gerência

Você percebe que os discos rígidos internos modernos custam algo como ¢ 3-5 / GB? Então, você está sugerindo que ¢ 60 seja suficiente para o desenvolvedor. Isso é ridículo, soa muito dilbertiano para fazer disso um problema de gerenciamento.

vartec
fonte
Como eu havia dito a @Carra, o custo não era o problema por trás dessas perguntas / afirmações.
Aditya P
A pergunta correta seria "320 GB é suficiente para o desenvolvedor?". Atualmente, esse é o menor novo HDD que você pode obter. A menos que você queira usar o SSD, mas com uma organização tão ridícula quanto a propor HDDs de 20 GB, isso provavelmente está totalmente fora de questão. Afinal, quem se importa com a produtividade dos desenvolvedores, se você pode economizar US $ 150 em seus computadores!
vartec
Sem dúvida IBM ainda pode vender-lhe um menor se você especificação deles uma estação de trabalho incluindo uma ea ordem de algumas centenas ...
jwenting
@ jwenting: sim, eles "fazem" os menores, ocultando a maior parte do disco rígido no BIOS ou firmware.
vartec 28/03
inteligentes, não são :) Embora não me surpreenda se a Lenovo e outras empresas possuírem armazéns cheios de hardware desatualizado que adorariam se livrar de clientes corporativos dispostos a pagar mais por ter apenas um "conjunto padrão" semelhante ao que eles usam há anos.
jwenting
0

Eu costumo escolher um disco muito rápido para os arquivos importantes (programas e código) e um disco grande para todo o resto.

Isso geralmente significa um pequeno SSD (128GB) nesta configuração:

80GB C: para OS, Office, Visual Studio, SQL Server etc.
30GB D: (o resto do SSD) onde coloco todo o meu código e algumas
VMs de 1.5TB E: aqui coloco todo o resto, isos, minha música , vídeos etc.

Juan Zamudio
fonte
1
"Estritamente falando da perspectiva do trabalho" Você precisa de 1,5 TB para músicas e vídeos? (Eu uso TBs em casa para economizar filmes que o Windows Media Center tem registrado do meu cartão de TV - Eu tenho centenas deles, mas este é o meu pessoal computador.)
Andreas Rejbrand
bem dito, Andreas. Algumas músicas no iTunes não devem ocupar mais de 10 a 20 GB (o que, obviamente, já é o OP total que é suficiente para um PC de desenvolvimento :)).
jwenting
Em que tipo de vídeos você está pensando? minha coleção de músicas tem cerca de 80 GB (principalmente flacs), mas quando eu estava falando sobre vídeos, estava me referindo a vídeos de treinamento, tenho vídeos das conferências PDC, MIX, Teched e outras, a maioria dos vídeos tem quase 1 GB de tamanho, você tem mentalidade de gerenciamento, eu não sei se isso é bom ou ruim
Juan Zamudio
a maioria dos vídeos que eu vejo nas telas dos povos são manga, não vídeos de treinamento ...
jwenting
Eu não estou em mangá, mas eu não posso ter esse tipo de vídeos no trabalho, inferno, às vezes eu tive que explicar para alguns gestores que eu estou aprendendo EF 4 ou PLINQ e obter olhares estranhos
Juan Zamudio
0

O disco rígido de 1 TB está abaixo de 100 $, então o que você está discutindo? Evento discutindo isso é mais caro do que apenas obter alguns discos rígidos ...

Ainda: Se você trabalha com arquivos multimídia, 20gb é uma piada. Amostras não compactadas de 1 gb e mais são bastante comuns nesse ambiente. Você precisará de muitas cópias, etc. Se você trabalha com máquinas virtuais, precisa de ainda mais.

Qualquer coisa abaixo de 500GB não é razoável.

Jaster
fonte
0

É suficiente que seus desenvolvedores não precisem se preocupar em ficar sem espaço enquanto trabalham. No meu caso, há espaço para grandes caixas, cópias (higienizadas) de bancos de dados, VMs e "outras coisas" - embora algumas das outras coisas devam estar no espaço compartilhado (do qual eu precisaria muito) para evitar duplicação em um ambiente de equipe.

O uso (abuso) de espaço em um PC de trabalho para fins estranhos deve ser uma questão de política e não de limites físicos impostos em suas principais caixas de desenvolvimento - principalmente porque os desenvolvedores são o tipo de pessoa que será capaz de encontrar maneiras criativas de contornar restrições possivelmente em detrimento da sua rede como um todo.

Observe também que essa é uma daquelas áreas em que os desenvolvedores e outros usuários realmente precisam receber tratamento diferente.

Murph
fonte