Qual tipo de Storage devo usar?
Foi-se o tempo em que as CPUs eram lentas e também impactavam no tempo de resposta de uma aplicação.
Nos dias de hoje, as CPUs, de um modo geral são extremamente rápidas. Posso dizer, sem muito susto, que meu celular tem mais poder de processamento e memória do que meu primeiro PC de 1989.
Com o passar dos anos, resolvemos os problemas de CPU e transferimos a culpa do atraso no tempo de resposta das aplicações para os discos e é sobre eles que falaremos hoje.
Duas questões devem ser analisadas quando falamos de acesso aos discos. A primeira é qual o modelo do disco em si e a outra é como ele está sendo acessado (Storages SAN, NAS, disco interno etc.) pela aplicação.
Todos já estamos mais do que habituados com os discos de estado sólido (SSDs) e já sabemos das vantagens de tempo de resposta e quantidade de dados que podem ser escritos ou lidos em tempos bem menores do que os antigos HDs, então fica a questão de como a sua aplicação vai acessá-los.
Para colocarmos em perspectiva, o tempo de resposta de uma CPU é de 100 ns (nano-segundos) e os demais componentes internos utilizados em servidores como memória RAM (101 ns), SSDs (104 ns) e HDs (106 ns). Para ficar mais fácil a nossa compreensão, podemos transformar esses tempos de acesso em algo perceptível para nós. Dessa forma, o tempo de resposta de uma CPU seria na casa de segundos, relativamente próximo aparecem as memórias RAM. Os discos SSD já estaríamos falando em horas e os HDs tradicionais em semanas. Agora, imagina somar a esse tempo a latência de acesso a uma rede SAN ou NAS que é na casa dos ms (mili-segundos).
Com isso posto, voltamos a nossa reflexão de qual o melhor método para acesso a discos para nossa aplicação? Atualmente, além dos sistemas de Storage, possuímos sistema hiperconvergentes (que são aqueles que virtualizamos os discos internos dos servidores) e até Storages que “rodam” as aplicações (processamento, memória e disco) internamente.
Acho que já tenha ficado claro que, por melhor que seja o disco usado em um Storage externo, essa é a pior opção em termos de tempo de resposta para as aplicações. Já nos sistemas de hiperconvergência, o storage fica distribuído em cada um dos servidores do cluster, o que já ajuda a melhorar o tempo de acesso a disco, uma vez que os discos virtuais das VMs, de um modo geral, ficam colocados no próprio nó do cluster que a VM está rodando.
Mais recentemente, alguns sistemas de armazenamento estão sendo disponibilizados com funcionalidades de rodarem VMware e, dessa forma as VMs, no próprio Storage, fazendo com que a latência para acesso a disco tenda a zero. Essa opção, na opinião do que vos escreve, é a melhor opção para rodar aplicações que necessitem de baixa latência.
Quer conversar mais? Entra em contato com a gente! Será um prazer poder estender um pouco mais a conversa sobre esse assunto.