A primeira resposta a um velho, ativo recentemente questão ligada a um vídeo que fala sobre como repositório Google é feito.
Uma coisa interessante mencionada é o fato de que tudo é construído a partir da fonte, sem depender de binários. Isso ajuda a evitar problemas com as dependências se tornando obsoletas, mas ainda sendo usadas em outros projetos, um problema que de fato encontrei bastante.
Como é tecnicamente possível? Se eu tentar a mesma coisa na minha empresa, mesmo considerando a enorme lacuna entre a escala da base de código da minha empresa e a escala da do Google, não seria possível por dois motivos:
O IDE (Visual Studio) ficará rapidamente sem resposta, uma vez que sofre muito até em pequenas soluções contendo, por exemplo, 50 projetos.
Qualquer análise estática seria analisada pelo tamanho de toda a base de código. Por exemplo, métricas de código ou verificação estática de contratos de código dificilmente seriam possíveis (contratos de código provavelmente levariam dias ou semanas).
Com a integração contínua, a compilação também levaria muito tempo e trituraria os servidores assim que um projeto com muitas dependências fosse modificado, exigindo que uma grande árvore de projetos fosse recompilada.
Como uma pequena empresa pode contornar esses problemas e ser capaz de:
Use o IDE sem ser afetado pelo mau desempenho,
Compile o código após cada confirmação sem compactar o servidor, mesmo quando as consequências de uma alteração exigirem que uma grande quantidade da base de código seja recompilada?