Hardware vs Software

O processamento de sinais digitais através de software surge como uma alternativa na redução do custo de fabricação de hardware. Um exemplo é a questão de softmodems versus hardmodems.
Quem tem ( ou teve ) uma conexão discada sabe bem o que estou falando. Modems como Lucent, motorola, etc… são dotados de software para o processamento de sinais afim de estabelecer o fluxo de dados no modem. Com isso, economizamos em hardware uma vez que todo o processamento que seria realizado pelo chipset do modem, agora é feito pelo processador da máquina.
Sendo assim, um softmodem utiliza menos hardware do que um hardmodem. E custa no geral, 10% de seu valor.
O que pode parecer uma grande vantagem no processamento simples e pontual como o exemplo acima, não pode ser encarado como uma receita de sucesso.
Essa questão pode ser observada no processamento de chamadas VoIP. De um lado temos o Asterisk que em grande parte utiliza pouquíssimo hardware para o processamento de chamadas de VoIP. Do outro lado, temos gateways digitais implementados sobre hardware, como por exemplo Audiocodes e Cisco. Mas qual solução utilizar? Essa é uma questão que envolve diversos pontos. Um deles é o custo. Assim como na questão dos modems, os custos envolvidos são extremos. Um gateway digital implementado em hardware não sai por menos de 2000 dólares.

Já um gateway Asterisk ou similar, geralmente é distribuído sob uma licença de software livre. Além do custo, outros pontos devem ser observados, como por exemplo, o volume de ligações a processar simultaneamente. Tecnicamente, esse é o principal ponto. Devido a uma simples questão: Onde é feito o processamento? No hardware todos os recursos de processamento estão disponíveis para cada canal de voz. Já no sistema baseado em software, cada chamada compartilha o mesmo recurso de processamento. Assim, a medida que o volume de chamadas cresce, os recursos disponíveis para cada chamada diminui. O que pode levar a comprometer a qualidade da chamada.
Consideração final : Os recursos de processamento devem ser alocados de acordo com o trabalho a ser efetuado. Não há uma receita certa para essa medida. Cada caso deve ser avaliado. Uma dica é criar uma planilha com prós e contras de cada opção. E principalmente quais são os requisitos do projeto.