2011. november 12., szombat

Virtualizáció határok

Mindenki virtualizál és szerverkonszolidál ésatöbbi ésatöbbi... Pár ötlet arra, hogy mit ne virtualizálj :-)


  1. Olyan szolgáltatásokat, amikre a hostjaid építenek, azt elég rossz ötletnek tűnik virtualizálni. Igazából marha fontos, hogy a virtuális és a fizikai gépeken futó cuccaidat elkülönítsd egymástól és a fizikai gépek közül azok, amik a virtuális gépeket hajtják (hostok) sehogy se függjenek azoktól a szolgáltatásoktól, amiket a virtuális gépek adnak. Ez remélem logikusan hangzik.
    Példák: DHCP, TFTP, DNS, Proxy, satöbbi.
  2. Többnyire az IO-intentzív appok, adatbázisszerverek tipikusan, ftp, nfs szervereketet nincs nagyon sok értelme virtualizálni, mert az IO sebesség a virtuális szervereken nem különösebben jó. Amennyiben pl valami teszt instance a MS SQL Server leges-legújabb verziójának, akkor persze oké, csak hogy kipróbáld hogy műxik-e.
    Ha nem nagyon számít, hogy milyen szoftver van azon a szerveren (ftp, nfs) vagy a kliens akármit tolerál (pl hibernate vagy más JPA esetében az adatbázisok is ilyesmik lesznek) akkor értelmesebb a fizikai vason futó akármit használni a virtuális szerveren futó űberspeciális verzió helyett.
    Amennyiben van fizikai vason futó szolgáltatás persze.
  3. A virtualizáció egy apró kamuról szól. Több memóriát, CPU-időt és merevlemez területet adunk el, mint amennyi tényleg van. Ez nem egészen új az informatika történetében, a virtuális memória is ilyen. Ez többnyire oké és senki sem jön rá, még boldog is hogy ilyen olcsón megkapta. Addig tart a boldogság, amíg egyszerre nem akarják kihasználni a nem létező részt is.
    Emiatt olyan dolgokat, amik nagyon határidősek, nem hajthatunk veszély nélkül virtuális szervereken, mert a szomszédaink terheltségétől függünk. Ha éppen beakadt egy végtelenciklus a szomszédos virtuális gépben, akkor emiatt nekünk pl nem jut annyi, amennyit szeretnénk. A teljesítménytesztek meg összevissza mutatnak mindenfélét.
  4. Ha kifejezetten olyan rendszered van, amivel totál lefoglalod előre láthatólag sokáig a szervereidet, a terhelés folyamatos és előre kiszámítható, vagy esetleg a rendszered maga generálja a terhelést (pl crawlerek vagy akár valami JMS sorból jövő feladatok, satöbbi), az app hibatűrő, akár több szervered kiesését is jól viseli, akkor nem tudom a virtualizáció milyen előnyökkel járna. Pl hadoop, cassandra szerverek, egyebek.

Szóval nekem ezek tünnek a virtualizáció jelenlegi határainak és ezek nem igazán múlandóak. De persze egy technológia akkor jó, ha a határait is ismeri az ember és nem csinál vele valami ökörséget.