Escolar Documentos
Profissional Documentos
Cultura Documentos
O assunto de hoje vai ser algo mais terico onde no vamos ver nenhuma linha de cdigo,
porm um assunto bem interessante e que sempre causa dvidas em alguns
desenvolvedores, vamos entender o que escalabilidade tanto horizontal quanto
vertical, principais conceitos e boas prticas sobre esse assunto.
O que escalabilidade?
Escalabilidade a capacidade que um sistema tem de processos para trabalhar com uma
quantidade elevada de processos ou o potencial para elevar a largura de processamento a
fim de acomodar tranquilamente o crescimento de tarefas.
Memria
Processador
Disco
Anlise de dados
Anlise biotecnolgicas
Pirmide da escalabilidade
Como podemos ver na imagem que ilustra a pirmide da escalabilidade, o hardware tuning
e o product tuning so uma pequena fatia nessa equao. A base da nossa aplicao o
design e a codificao, essa pirmide nos mostra que com um design inteligente podemos
adicionar mais escalabilidade para uma aplicao.
Existem certos momentos onde a nossa aplicao deve executar processos de forma
sncrona, por exemplo: Executamos um determinado mtodo, onde precisamos aguardar o
seu resultado para saber se a sua ao foi bem executada ou no. Assim todas as
operaes que esto relacionadas ao processo do exemplo dependem do resultado do
mesmo.
COM+
ODBC
Exigir componentes para manter o estado entre chamadas de mtodos destri toda a
permutabilidade e a escalabilidade impactada de forma negativa. Cada chamada de
mtodo deve ser autossuficiente e armazenar o estado fora do componente.
Recursos de partio e atividades (Partition
resources and activities)
Devemos particionar os recursos e as atividades, minimizando essas relaes entre esses
dois itens ns minimizamos o risco de criarmos gargalos.
Porm tome muito cuidado porque o particionamento nem sempre a melhor escolha, isso
pode tornar o sistema mais complexo, dividindo recursos que exigem dependncias pode
adicionar uma grande sobrecarga para uma operao.
Boas prticas
Essas boas prticas no seguem uma ordem, porm so recomendadas quando estamos
tentando atingir o mximo de uma aplicao escalvel.
Referncias
MSDN
High Scalability
Google Cloud Plataform