Após o levantamento dos requisitos, é necessário entender como é o uso dos componentes do sistema. São eles:
Balanceador
O balanceador precisa rotear, criptografar e descriptografar as requisições enviadas aos nós. Portanto tenha em mente que seu gargalo será cpu e rede;
Caso tenha um ativo balanceador (F5, Zeus, etc), use-o;
Caso não tenha persistido a sessão do apache, então o balanceador deve fazer sticksession (ver persistencia de sessão abaixo no Cache).
Aplicação
A quantidade mínima recomendada são duas instâncias (para redundância);
Essa quantidade deverá ser escalonada de acordo com a quantidade de usuários simultâneos operando o sistema;
O nó de aplicação precisa de muita cpu, memória e rede, o uso de disco é médio.
Cache (memcache / Redis)
O memcache de aplicação é bem pouco utilizado, mas crucial que tenha resposta rápida;
Caso deseje deixar o memcache na rede, garanta uma velocidade de rede alta, pois essa velocidade irá balizar por baixo a velocidade do SEI;
Normalmente o memcache pode ser instalado junto da aplicação, desta forma não há o overhead de rede (isso sob troca de ter q replicá-lo em cada nó);
Caso deseje, pode criar quantos servidores de cache quiser e não há regra para balanceamento;
Caso queira persistir a sessão do Apache, para deixar o balanceador livre para balancear a qualquer nó sem stick session, pode-se criar um serviço com o Redis;
Nesse caso, vale a afirmativa acima sobre a velocidade da rede. Caso use sessão compartilhada e a comunicação com o servidor de Redis seja lenta, qualquer requisição do SEI será lenta. Nesse caso da sessão, considere lento uma resposta maior que 1 segundo.
Indexação (Solr)
O serviço de indexação vai receber as buscas efetuadas pelos usuários, bem como terá q constantemente reindexar os dados, à medida que entrarem no sistema;
Banco de Dados
Gargalo de performance da solução;
É necessário configuração de tunning, de acordo com as especificações técnicas de cada hardware;
Com muitos usuários simultâneos no SEI, apresenta consumo excessivo de CPU,Memória,Disco e também do cache de disco;
Tenha em mente que sob carga, o SEI demandará leitura e escrita constante, mais de 300/segundo, portanto jamais entrar em produção sem o tunning fino de seu cluster.
Após o entendimento dos itens acima, podemos iniciar a moldagem da necessidade da Infra mínima para o SEI. Deve-se levar em consideração o seguinte:
Velocidade do processador de seus servidores ou virtualizado;
Velocidade e banda de seus links de internet;
Velocidade e banda de seus ativos de rede - intercomunicação entre os componentes acima devem ser todas com latência baixíssima. Caso a latência seja alta fatalmente afetará a performance do sistema.
Além do custo envolvendo o hardware acima, existem outros custos embutidos para uma implantação do SEI que devem ser levados em conta, não exautivamente, estão elencados abaixo: