Skalowalność i elastyczność
Co to jest automatyczne skalowanie w SaaS?
Czym jest automatyczne skalowanie?
Automatyczne skalowanie to funkcja, która dostosowuje zasoby aplikacji SaaS w górę lub w dół w oparciu o bieżące wykorzystanie. Gdy użytkowników jest więcej, automatyczne skalowanie zwiększa dostępne zasoby, a gdy jest ich mniej, zmniejsza je. Kubernetes’ Horizontal Pod Autoscaler, for example, checks usage every 15 seconds by default.
Jak działa autoskalowanie 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.
Jakie są kluczowe korzyści z automatycznego skalowania dla firm SaaS i ich klientów?
Reasons Do use auto-scaling in your SaaS business include:
- Wydajność: Używaj automatycznego skalowania, aby Twoja witryna lub aplikacja działały optymalnie w okresach dużego ruchu; bez niego możesz napotkać przerwy w świadczeniu usług.
- Dostępność: Auto-scaling supports the reachability of sites, products, and services as demand fluctuates, while a load balancer manages traffic distribution among auto-scaled servers.
- Optymalizacja kosztów: Używaj automatycznego skalowania, aby skalować w górę i w dół w oparciu o wykorzystanie w czasie rzeczywistym – ryzykujesz niepotrzebnymi wydatkami, jeśli użyjesz alternatywnej metody.
Jakie metryki są zwykle używane do wyzwalania zdarzeń automatycznego skalowania?
Auto-scaling is triggered by cloud performance metrics, checked at intervals (every 15 seconds by default in Kubernetes), such as:
- Wykorzystanie procesora: Ilość procesora używana w danym momencie.
- Wykorzystanie pamięci: Ile pamięci aplikacja lub strona internetowa wykorzystuje w czasie rzeczywistym.
- Ruch sieciowy: Data received and sent over the network.
- Opóźnienie żądania: Response times to user requests; this partly depends on how many users are on the same server.
- Długość kolejki: Oczekujące żądania w kolejce; automatyczne skalowanie w górę jest uruchamiane, gdy ta wartość jest wyższa.
Jakie są różne typy zasad automatycznego skalowania i kiedy należy używać każdego z nich?
Różne zasady automatycznego skalowania działają w różnych scenariuszach. Oto lista kilku typowych zasad i informacje o tym, kiedy należy ich używać:
- Śledzenie celu: Moves resources based on a metric like average queue length; AWS strongly recommends it for EC2 Auto Scaling (AWS).
- Skalowanie krokowe: Scales within thresholds you set, in steps sized to the breach; use when target tracking is not enough.
- Skalowanie zaplanowane: Skalowanie w oparciu o zaplanowane czasy; użyj, jeśli znasz dzienne lub tygodniowe wzorce ruchu.
| Typ polityki | Kluczowe cechy | Najlepsze przypadki użycia |
|
Podejście do skalowania |
||
| Śledzenie celu | Dostosowuje zasoby na podstawie określonych wskaźników, takich jak średnia długość kolejki | Most cases, per AWS’s EC2 Auto Scaling guide |
| Skalowanie krokowe | Skaluje zasoby w ramach predefiniowanych progów ustalonych przez użytkownika | When target tracking is not enough |
| Skalowanie zaplanowane | Skalowanie zasobów w ustalonych godzinach | Gdy wzorce ruchu dziennego lub tygodniowego są stałe |
|
Wskazówki dotyczące skalowalności |
||
| Elastyczność | Śledzenie celu: Najbardziej elastyczne | Skalowanie planowane: Najmniej elastyczne |
Jakie są rzeczywiste przykłady firm SaaS, które z powodzeniem wykorzystują automatyczne skalowanie, aby sprostać zmiennym wymaganiom?
Przykłady firm SaaS, które wykorzystują automatyczne skalowanie w oparciu o zapotrzebowanie:
- 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, jako Netflix patent on predictive scaling filed in 2013 describes).
Wniosek
Firmy SaaS powinny używać automatycznego skalowania, aby zarządzać zasobami podczas wysokiej i niskiej aktywności. Amazon Web Services, Pepperdata i Google Cloud to trzy narzędzia z automatycznym skalowaniem. Zastanów się, czy potrzebujesz śledzenia celu, skalowania krokowego czy skalowania planowanego.