Escalonamento refere-se a aumentar (ou diminuir) a capacidade de recursos disponíveis para o back-end a fim de melhorar o desempenho ou a disponibilidade dele. Embora o escalonamento seja inerente para a arquitetura, o design e a implementação do seu back-end, vários aspectos vitais precisam ser considerados.
O desempenho aqui se refere à rapidez com que o aplicativo da Web pode responder a uma solicitação. Isso inclui latência, velocidade, capacidade e utilização de recursos.
Escalonamento vertical
O escalonamento vertical se refere ao aumento dos recursos em um servidor. Isso pode significar a substituição de um servidor de aplicativos central por uma máquina mais potente para uma arquitetura baseada em servidor. Para arquiteturas sem servidor, microsserviços ou baseadas em nuvem, isso pode se referir ao upgrade dos recursos alocados, como aumentar a memória disponível ou selecionar uma máquina virtual de nível superior.
Escalonamento horizontal
O escalonamento horizontal se refere à adição de mais servidores e recursos paralelos. A arquitetura subjacente e o aplicativo precisam ser otimizados para processar esse tipo de escalonamento. Por exemplo, pode ser necessário um balanceamento de carga adicional para distribuir solicitações em uma arquitetura baseada em servidor. Para uma arquitetura sem servidor em um ambiente de nuvem, como o Cloud Functions, esse tipo de escalonamento pode ser processado de maneira transparente, sem a necessidade de outras configurações.
Escalonamento e distribuição regionais
Escalonamento regional se refere à distribuição de serviços entre várias regiões geográficas. Distribuir seus serviços ou aproximá-los dos usuários pode reduzir a latência e melhorar o desempenho geral do aplicativo.
Considere a distribuição e a diversidade regionais como parte da sua arquitetura, especialmente se você não estiver usando um provedor de nuvem que faça isso de maneira transparente, como em uma arquitetura sem servidor baseada na nuvem. Pense em como o armazenamento de dados no aplicativo pode ser afetado pela distribuição regional, especialmente em relação à consistência dos dados.
Ao processar e armazenar dados em escala global, esteja ciente dos requisitos ou legislações regulatórios que se aplicam ao seu sistema, especialmente com relação ao processamento e ao armazenamento de dados.