Serwery małe i duże

Platforma X stanowiąca fundament dla usług Era Omnix to ''farma'' małych serwerów aplikacyjnych i dużych - obsługujących bazę danych Oracle.

Platforma X stanowiąca fundament dla usług Era Omnix to ''farma'' małych serwerów aplikacyjnych i dużych - obsługujących bazę danych Oracle.

Jaki model skalowania infrastruktury przyjąć - zadawał sobie pytanie Dariusz Kupiec, szef departamentu rozwoju aplikacji w PTC Era, rozpoczynając pracę nad projektem Era Omnix. Czy wykorzystać małe serwery pozwalające na skalowanie horyzontalne polegające na zwiększaniu mocy obliczeniowej poprzez dodawanie kolejnych urządzeń, czy też może duże serwery dające się łatwo skalować wertykalnie przez dodawanie kolejnych procesorów. Ograniczenia budżetowe z jednej strony i uwarunkowania technologiczne z drugiej sprawiły, że zdecydowano się na rozwiązanie mieszane - stworzenie farmy dwu- i czteroprocesorowych serwerów do obsługi aplikacji oraz zastosowanie dużych, ośmioprocesorowych serwerów do obsługi bazy danych.

Z warstwy do warstwy

Serwery małe i duże

Platforma Era Omnix

Omnix to wspólna marka dla usług dodanych oferowanych przez PTC Era abonentom mającym telefony z kolorowymi wyświetlaczami. Usługi są dostarczane przez operatora i współpracujących z nim partnerów. Fundament Omnix stanowi Platforma X, szkielet technologiczny oferujący standardowe ramy działania wszystkich aplikacji obsługujących usługi. "Zbudowaliśmy platformę, która umożliwia osadzanie nowych aplikacji i usług na wzór tzw. wtyczek" - mówi Dariusz Kupiec. - "Dodając kolejną usługę, opracowując kolejną aplikację, wystarczy przełożyć na kod logikę biznesową i stworzyć wygodny interfejs dla użytkownika. Nie trzeba za każdym razem pracować nad uwierzytelnianiem użytkowników czy metodami dokonywania przez nich płatności" - wyjaśnia.

Platformę X zbudowano z zastosowaniem architektury trójwarstwowej - warstwy dostępowej i wspomagania, logiki biznesowej i warstwy danych - zgodnej z J2EE. Pierwszą warstwę stworzono z wykorzystaniem technologii JSP (Java Server Pages) i elementów statycznych, drugą - technologii EJB (Enterprise Java Beans). Bazę danych zbudowano za pomocą narzędzi Oracle8i.

Wybory pod presją

To właśnie wybór technologii J2EE przesądził o modelu skalowania horyzontalnego. "Zadaliśmy sobie pytanie: jak w obu modelach będzie się zachowywać technologia J2EE i doszliśmy do wniosku, że nie jest ona dopasowana do modelu wertykalnego" - opowiada Dariusz Kupiec. "Problem wiąże się z wirtualną maszyną Java, która nie potrafi efektywnie wykorzystać wszystkich procesorów w dużych serwerach".

Z drugiej strony, zespół projektowy odpowiedzialny za opracowywanie Platformy X miał ograniczone pole działania. Przede wszystkim projekt Omnix był realizowany w specyficznym okresie, tuż po pęknięciu dotcomowej bańki. Wybory technologiczne musiały uwzględniać klimat nieufności wobec wszystkiego co "internetowe". To przekładało się także na ograniczenia budżetowe, dlatego zdecydowano się wykorzystać rozwiązania, które gwarantowałyby minimalne koszty początkowe, a jednocześnie zapewniałyby duże możliwości skalowania. Rozumowanie było następujące: jeśli przedsięwzięcie okaże się sukcesem, będzie można swobodnie rozbudowywać infrastrukturę sprzętową. "To był kolejny argument przemawiający za wyborem małych serwerów, ponieważ początkowa inwestycja w duże maszyny jest znacznie wyższa" - mówi Dariusz Kupiec. Ostatecznie zdecydowano się na dwuprocesorowe serwery Sun Microsystems działające pod kontrolą systemu operacyjnego Solaris.

Na razie wertykalnie

Na potrzeby bazy danych zdecydowano się jednak na duże, ośmioprocesorowe serwery Sun Fire V880. "Najnowsza wersja bazy Oracle została dopasowana do modelu horyzontalnego. To zupełnie nowa filozofia. Jednak dla wcześniejszych wersji, w tym wykorzystywanej przez nas Oracle 8i najlepiej sprawdza się w modelu wertykalnym. Architekturę rozproszoną można zastosować, jeśli dokona się rozproszenia funkcjonalnego, jednak ze względu na plany zastosowania Oracle Parallel Server nie chcieliśmy się na to decydować" - tłumaczy Dariusz Kupiec.

Oracle Parallel Server pozwala utworzyć dwie instancje bazy danych działające na dwóch różnych serwerach, lecz współdzielące pamięć buforową przechowującą wątki i metadane. W razie awarii jednego z nich drugi błyskawicznie przejmuje zadania uszkodzonego węzła. W takim przypadku podział funkcjonalny, czyli tworzenie odrębnych baz danych odpowiedzialnych np. za dane gromadzone w module personalizacyjnym czy module zarządzania treścią, zmuszałby do oddzielnego zabezpieczania każdego elementu funkcjonalnego, co znacznie zwiększałoby koszty przedsięwzięcia.

Zakup dużego serwera na potrzeby bazy danych zapewnia PTC skalowanie zarówno poprzez wymianę procesorów na szybsze, jak i dodawanie kolejnych. Gdy obecny serwer dotrze do granicy możliwości, nad kwestią podziału funkcjonalnego bazy trzeba będzie zastanowić się ponownie.

Alternatywy nie widać

PTC zdecydowała się na budowę infrastruktury opartej na systemach unixowych wykorzystujących procesory RISC. Jest to zgodne z przyjętymi od początku rozwoju firmy standardami zapożyczonymi od niemieckiego operatora T-Mobile. "Systemy unixowe, zwłaszcza na platformie RISC, są bardzo niezawodne. Nie brakuje przykładów maszyn, które pracowały w naszej serwerowni przez kilka lat bez przerwy. Jeśli chodzi o niezawodność, dla tandemu Unix/RISC nie widzę na razie alternatywy" - twierdzi Dariusz Kupiec.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200