Escalabilidade e elasticidade
O que é autoescalonamento em SaaS?
O que é autoescalonamento?
O autoescalonamento é um recurso que ajusta os recursos de um aplicativo SaaS para cima ou para baixo com base no uso atual. Quando há mais usuários, o autoescalonamento aumenta os recursos disponíveis - por outro lado, ele os diminui durante períodos de calmaria. Kubernetes’ Horizontal Pod Autoscaler, for example, checks usage every 15 seconds by default.
Como funciona o escalonamento automático de SaaS?
SaaS companies need auto-scaling because they often don’t know when traffic is going up or down. While it’s sometimes predictable (e.g., a product launch), sudden global events and unexpected spikes are where auto-scaling should be deployed.
Quais são os principais benefícios do autoescalonamento para empresas de SaaS e seus clientes?
Reasons Para use auto-scaling in your SaaS business include:
- Desempenho: Use o autoescalonamento para que seu site ou aplicativo funcione de forma otimizada durante períodos de pico; sem ele, você pode encontrar interrupções de serviço.
- Disponibilidade: Auto-scaling supports the reachability of sites, products, and services as demand fluctuates, while a load balancer manages traffic distribution among auto-scaled servers.
- Otimização de custos: Use o autoescalonamento para aumentar e diminuir com base no uso em tempo real - você corre o risco de despesas desnecessárias se usar um método alternativo.
Quais métricas são normalmente usadas para acionar eventos de dimensionamento automático?
Auto-scaling is triggered by cloud performance metrics, checked at intervals (every 15 seconds by default in Kubernetes), such as:
- Utilização da CPU: A quantidade de CPU sendo usada em qualquer momento.
- Uso de memória: Quanta memória um aplicativo ou site está usando em tempo real.
- Tráfego de rede: Data received and sent over the network.
- Latência da solicitação: Response times to user requests; this partly depends on how many users are on the same server.
- Comprimento da fila: Solicitações de fila pendentes; o aumento automático de escala é acionado quando isso é maior.
Quais são os diferentes tipos de políticas de dimensionamento automático e quando você usaria cada uma?
Diferentes políticas de dimensionamento automático funcionam em vários cenários. Aqui está uma lista de alguns comuns e quando você deve usá-los:
- Rastreamento de Meta: Moves resources based on a metric like average queue length; AWS strongly recommends it for EC2 Auto Scaling (AWS).
- Dimensionamento por Etapa: Scales within thresholds you set, in steps sized to the breach; use when target tracking is not enough.
- Dimensionamento Agendado: Escala com base em horários agendados; use se você conhece os padrões de tráfego diários ou semanais.
| Tipo de política | Características Principais | Melhores casos de uso |
|
Abordagem de Escalonamento |
||
| Rastreamento de alvo | Ajusta recursos com base em métricas específicas, como comprimentos médios de fila | Most cases, per AWS’s EC2 Auto Scaling guide |
| Escalonamento em etapas | Dimensiona recursos dentro de limites predefinidos pelo usuário | When target tracking is not enough |
| Escalonamento agendado | Dimensiona recursos em horários predeterminados | Quando os padrões de tráfego diários ou semanais são consistentes |
|
Considerações sobre escalabilidade |
||
| Flexibilidade | Rastreamento de alvo: Mais adaptável | Escalonamento agendado: Menos flexível |
Quais são alguns exemplos do mundo real de empresas de SaaS que utilizam autoescalonamento com sucesso para atender à demanda flutuante?
Exemplos de empresas de SaaS que usam autoescala com base na demanda são:
- Shopify: Runs microservices on Google Kubernetes Engine, which Google says scales during traffic spikes such as Black Friday (Google Cloud).
- Slack: Autoscales its web app tier quickly when workers become saturated (Slack Engineering, 2020).
- Netflix: Auto-scaling parameters are set to manage traffic when more viewers are online (e.g., evenings, como um Netflix patent on predictive scaling filed in 2013 describes).
Conclusão
As empresas de SaaS devem usar o autoescalonamento para gerenciar recursos durante alta e baixa atividade. Amazon Web Services, Pepperdata e Google Cloud são três ferramentas com autoescalonamento. Considere se você precisa de rastreamento de meta, escalonamento de etapas ou escalonamento agendado.