Jiří Hradil blog

o software


Levná hardwarová infrastruktura

Pro jednoho z našich klientů navrhujeme HW infrastrukturu a vzhledem k přemrštěným cenám za značkové servery známých výrobců (IBM, Sun, HP…) padnul návrh na vybudování clusteru pro aplikační kontejnery z “neznačkových” desktopů, které bychom použili jako servery.  Myšlenka má původ v Google (zdroj: David A. Vise, Mark Malseed: Google Story, Pragma 2007, ISBN: 978-80-7349-034-8), kde je nestabilita desktopů vyvážena jejich množstvím. Pokud některý z  desktopů-nodů vypadne,  zafunguje fail-over a load balancer na něj přestane posílat požadavky. Klient v nejhorším případě zaznamená výpadek v řádu vteřin.

Klady řešení:

  • cena, pokud bychom desktop=nod poskládali ze značkových komponent, pak je cena jednoho tohoto nodu v řádech tisíců
  • jednoduchý upgrade - nod by mohl být při výpadku či upgrade nahrazen rychlejším, poskládaným z aktuálních “best of breed” komponent
  • dostupnost - nod lze poskládat z komponent, nakoupených v jakémkoli supermarketu společně s rohlíky
  • nezávislost na dodavateli - sbohem obchodníkům, prodávajícím řešení, kterým nerozumí nebo na kterých se chtějí napakovat ;)

Zápory řešení:

  • možná nekompatibilita komponent - paměť od výrobce ABC  si nerozumí s deskou výrobce XYZ, což nemusíme poznat okamžitě, nod může vykazovat nestabilitu náhodně, lze řešit intenzivním testováním
  • poskytování SLA - infrastrukturu musíme podporovat sami, ideálně mít nakoupeno několik desktopů do zásoby a při výpadku nod rovnou vyměnit za jiný
  • požadavky na prostor - pokud by nod byl umístěn v běžném mini či miditoweru, zabírá více prostoru, než hezké 1U či 2U skříně “značkových” výrobců. Nicméně desktopy lze do skříní montovat taky.

Co je třeba dále zvážit:

  • pozor na SPOF (single point of failure), pokud např. máme relační databázi, která fail-over na jiný server neumí, potencionálně nestabilní desktop tady nelze použít
  • disky použité v nodu, protože na nod bude deploynutý jen .war aplikace a relační databáze je umístěna v jiné vrstvě, stačí nám levné disky, zapojené do prostého RAID 1 (mirror), abychom při výpadku jednoho disku neohrozili stabilitu aplikace

Použité technologie:

Použil jste někdo podobnou infrastrukturu v ostrém provozu?

Publikoval Jiří Hradil • 21.04.2009 v 23:04 • pod kategorií hardware1 komentář