====== Auto Scaling ====== **Auto Scaling** je metoda správy IT prostředků v rámci [[cloud_computing|cloudu]], která automaticky upravuje kapacitu běžících služeb (výpočetní výkon, paměť, počet instancí) na základě aktuální poptávky. Cílem je zajistit vysokou dostupnost aplikace při zachování minimálních nákladů. ---- ====== Vertikální vs. Horizontální škálování ====== V encyklopedii je důležité rozlišovat dva základní přístupy k růstu výkonu: ===== 1. Vertikální (Scaling Up) ===== Znamená navýšení výkonu stávajícího stroje (přidání CPU, RAM). * **Omezení:** Každý fyzický server má svůj strop. Často vyžaduje restart systému. ===== 2. Horizontální (Scaling Out) ===== Znamená přidání dalších identických strojů (instancí) do sítě. * **Výhoda:** Téměř neomezený růst. Probíhá za plného chodu aplikace. Toto je standard pro moderní webové služby. ---- ====== Jak Auto Scaling funguje? ====== Proces automatického škálování se obvykle opírá o tři základní komponenty: ===== 1. Metriky (Monitoring) ===== Systém neustále sleduje vytížení zdrojů. Mezi nejčastější metriky patří: * Procentuální vytížení **CPU**. * Využití operační paměti (**RAM**). * Počet síťových požadavků za sekundu (**Requests per Second**). ===== 2. Pravidla a politiky (Policies) ===== Definují hranice (prahové hodnoty), kdy má systém zasáhnout: * **Scale-out (Rozšíření):** "Pokud průměrné vytížení CPU překročí 70 % po dobu 5 minut, přidej 2 nové servery." * **Scale-in (Zmenšení):** "Pokud vytížení klesne pod 30 %, odeber 1 server (pro úsporu nákladů)." ===== 3. Skupina automatického škálování (ASG) ===== Kolekce instancí, se kterými systém pracuje jako s jedním celkem. Správce nastavuje: * **Minimum:** Nejmenší počet serverů, které musí běžet vždy. * **Maximum:** Horní hranice, přes kterou systém nepůjde (kontrola nákladů). * **Desired Capacity:** Ideální aktuální stav. ---- ====== Výhody Auto Scalingu ====== * **Optimalizace nákladů:** Platíte pouze za výkon, který skutečně využíváte. V noci, kdy je provoz nízký, servery "vypnete". * **Spolehlivost:** Pokud jeden server selže (crash), Auto Scaling jej rozpozná jako nezdravý, ukončí ho a automaticky spustí nový. * **Uživatelská zkušenost:** Aplikace se nezpomaluje ani v momentech nečekaných špiček (např. marketingová kampaň nebo Black Friday). ---- ====== Typy škálovacích politik ====== * **Target Tracking:** Systém se snaží udržet metriku na konkrétní hodnotě (např. "udržuj CPU na 50 %"). * **Step Scaling:** Reaguje skokově podle závažnosti (např. při 70 % přidej jeden stroj, při 90 % přidej tři). * **Scheduled Scaling:** Plánované škálování podle času (např. "každé pondělí v 8:00 ráno zdvojnásob počet serverů"). * **Predictive Scaling:** Využívá strojové učení k předpovědi zátěže na základě historických dat. ---- ====== Propojení s Load Balancerem ====== Auto Scaling úzce spolupracuje s **Load Balancerem** (rozptylovačem zátěže). Když Auto Scaling přidá nový server, Load Balancer jej automaticky zaregistruje a začne na něj posílat část uživatelského provozu. ---- //Související pojmy: Cloud Computing, Load Balancing, AWS, Azure, Microservices, High Availability.//