Költségoptimalizálás

Spot instance stratégia, ami nem áll le a legrosszabb pillanatban

A Spot megtakarítás valós, de csak megszakításra tervezett workloadon és diverzifikált kapacitáson. Végigvesszük, mi az, amit sosem szabad tiszta Spotra tenni.

Röviden: A Spot megtakarítás valós, de csak megszakításra tervezett workloadon és diverzifikált kapacitáson. Végigvesszük, mi az, amit sosem szabad tiszta Spotra tenni.

A Spot kapacitás a felhő egyik legnagyobb, legkevésbé kihasznált megtakarítási lehetősége. A logika egyszerű: a szolgáltató szabad kapacitását jelentős kedvezménnyel adja, cserébe bármikor visszaveheti, rövid felmondási idővel. A legtöbb csapat vagy fél tőle és sosem használja, vagy vakon ráteszi a rossz workloadot, és aztán csalódik. A helyes út a kettő között van: tudni, mit bír el a megszakítás, és úgy tervezni, hogy az ne fájjon.

Az alapszabály: a megszakítás nem hiba, hanem üzemmód

A Spot-nál a kulcs a hozzáállás. Ha a megszakítást kivételként kezeled, ami ellen küzdesz, elbuksz. Ha alapállapotnak tekinted, amire a rendszered fel van készítve, akkor a megtakarítás kockázat nélkül a tiéd. Ez eldönti, mi kerülhet Spotra és mi nem.

Ami jól bírja

  • kötegelt (batch) feldolgozás, ami megszakítás után újraindítható,
  • állapotmentes worker-flották, ahol egy csomópont elvesztése nem veszteség,
  • CI/CD build-kapacitás,
  • rugalmas, nagy áteresztésű, de nem időkritikus feldolgozás.

Ami nem

  • állapotot tartó adatbázisok,
  • egyedi, nehezen pótolható csomópontok,
  • olyan komponens, aminek a hirtelen elvesztése láncreakciót indít.

Diverzifikáció: a legfontosabb védelem

A leggyakoribb Spot-kudarc az, hogy a csapat egyetlen instance-típusra és egyetlen zónára tesz mindent. Amikor abból a típusból elfogy a szabad kapacitás, az egész flotta egyszerre kap felmondást. A védelem a diverzifikáció: több instance-típus, több méret, több elérhetőségi zóna. Minél szélesebb a merítési kapacitás, annál kisebb az esély, hogy egyszerre mindenből kifutsz.

A vegyes stratégia

A legrobusztusabb megközelítés ritkán a tiszta Spot. Sokkal jobban alszol, ha a kapacitás egy alaprétegét stabil, on-demand vagy lekötött kapacitásra teszed — ez garantálja a minimális működést —, és a fölötte lévő, rugalmas réteget visszük Spotra.

RétegKapacitástípusSzerep
AlapOn-demand / lekötöttGarantált minimum, mindig fut
RugalmasSpot, diverzifikáltOlcsó többletkapacitás csúcsra

Így a megtakarítás nagy részét megkapod, de egy Spot-visszavonási hullám nem viszi padlóra a szolgáltatást.

A felmondás kezelése

A Spot-csomópont visszavételét rövid figyelmeztetés előzi meg. Ezt a jelzést a rendszerednek kezelnie kell: leállítani az új munka felvételét az érintett csomóponton, befejezni vagy átütemezni a folyamatban lévőt, és szabályosan kivezetni. Ha ez a kecses kivezetés (graceful drain) automatizált, akkor a megszakítás láthatatlan a felhasználónak. Ha nincs, akkor minden visszavonás egy kis incidens.

A checkpointing mint biztosíték

A Spot-workloadok robusztusságának kulcsa gyakran a checkpointing: a folyamat rendszeresen menti az állapotát, így egy megszakítás után nem nulláról, hanem a legutóbbi mentett pontról folytatható. Ez különösen a hosszú, kötegelt feldolgozásoknál és a modelltréningeknél kritikus. Checkpointing nélkül egy Spot-visszavonás az addigi munka elvesztését jelentheti; vele csak egy rövid visszalépést.

A checkpoint gyakoriságát érdemes egyensúlyba hozni: túl ritkán túl sokat veszíthetsz egy megszakításkor, túl gyakran a mentés maga lesz teher. A workload jellege dönti el a helyes ritmust.

A kapacitáspoolok diverzifikálása

A Spot-megszakítások elleni legfontosabb védelem a diverzifikáció, de ezt konkrétan kell megvalósítani. Ne egyetlen instance-típusra és zónára építs — annál nagyobb az esély, hogy egyszerre az egészet visszaveszik. Adj meg több instance-típust, több méretet, több AZ-t, és hagyd, hogy a rendszer a legjobb elérhető kapacitásból merítsen.

  1. Sorolj fel több kompatibilis instance-típust, ne csak egyet.
  2. Terjeszd ki a merítést több elérhetőségi zónára.
  3. Fogadj el több méretet is, ha a workload rugalmas.

A vegyes kapacitás finomhangolása

A legrobusztusabb felállásban a stabil alapréteget garantált kapacitás adja, a rugalmas többletet a Spot. Az arány finomhangolása workloadfüggő: minél kritikusabb a minimális működés, annál nagyobb legyen a garantált alap. Egy tétovázó szolgáltatásnál a Spot-arány óvatos legyen; egy tisztán kötegelt, megszakítás-tűrő feldolgozásnál akár a teljes kapacitás mehet Spotra. A mérleg a rendelkezésre állási igény és a megtakarítás között húzódik.

Mit jelent ez neked?

A Spot nagy megtakarítás, de csak akkor kockázatmentes, ha a workload elbírja a megszakítást, és a rendszered azt üzemmódként, nem hibaként kezeli. Diverzifikálj instance-típusra és zónára, tartsd egy stabil alaprétegen a garantált minimumot, és automatizáld a kecses kivezetést a felmondásra. Így a Spot nem a legrosszabb pillanatban álló kockázat lesz, hanem csendes, folyamatos megtakarítás.