Oracle Application Server 10g – Grid Computing

Jadwiga Gnybek
Jadwiga_Gnybek@nofer.lodz.pl

Wszyscy piszą dezyderaty na temat Oracle 10g to i ja
spróbuję.

Przede wszystkim postawmy sobie pytanie: Po co nam właściwie
to „g” przy dziesiątce?

Otóż, to „g” ma być panaceum na olbrzymie
koszty jakie ponoszą firmy na rozbudowę i utrzymanie swojej coraz to większej
infrastruktury informatycznej.

Czemu tak się dzieje?

Bo tradycyjne technologie przetwarzania zmuszają nas do
kupowania mocy obliczeniowej, którą potrzebujemy
i wykorzystujemy tylko w nielicznych momentach spiętrzenia prac systemu. Co za
tym idzie, pieniądze zmagazynowane w sprzęcie nie są w 100% wykorzystywane
przez resztę czasu pracy systemu. Każdy dobrze zna szczyt przetwarzania związany
z generowaniem listy płac, zamykaniem miesiąca, tworzeniem bilansów i
okresowych zestawień. Po których następuje miły okres ulgi, gdy wskaźniki
wykorzystania zasobów serwera znów wskazują przyzwoite 25-30% .

W takich chwilach każdy Szef Informatyki marzy o wypożyczeniu
na kilka kluczowych dni dodatkowej mocy obliczeniowej, dodatkowej powierzchni
dyskowej lub kilku nowych kości pamięci. Niestety, takie dynamiczne
rozszerzanie zasobów infrastruktury informatycznej nie jest proste i szybkie w
realizacji. W praktyce więc, musimy mieć wszystko zgromadzone wcześniej,
skonfigurowane i oczekujące na chwilowe wzrosty zainteresowania ze strony użytkowników.

Lekarstwem na tę nieoptymalną gospodarkę zasobami
informatycznymi ma być „grid computing”, czyli przetwarzanie
rozproszone. Dostajemy więc oprogramowanie napisane w taki sposób, aby
zapotrzebowanie na moc obliczeniową i powierzchnię dyskowa można było złożyć
z kilku mniejszych maszyn. Zbieramy zatem to co mamy, stare serwery i co lepsze
stacje robocze, konfigurujemy w jedną wirtualną super maszynę, a owa super
maszyna sama martwi się już o wewnętrzną dystrybucję pracy i danych.

W ten sposób możemy zebrać dużą moc obliczeniową, angażując
małe środki finansowe.

Co wchodzi w skład takiej wirtualnej maszyny? Prawie
wszystko: powierzchnia dyskowa, moc obliczeniowa serwerów, oprogramowanie
serwerów baz danych, serwerów aplikacji
i samych aplikacji. Taka uniwersalna wirtualna maszyna może zatem zaoferować
nam w dowolnej chwili moc obliczeniową, jakiej aktualnie potrzebujemy, nie
absorbując naszej uwagi problemem, gdzie to tak naprawdę będzie się
„przeliczać”.

Czyli idylla administratora: Potrzebujesz? To masz!

Idea przetwarzania rozproszonego nie jest (chyba na szczęście)
wymyślona przez Oracle. Z powodzeniem patent ten wykorzystywany był dotychczas
w przetwarzaniu danych naukowych. Jak widać, nie tylko nasza nauka jest nie
dofinansowana ;-).
W obliczu konieczności przeliczenia olbrzymiej ilości danych, sprytni naukowcy
postanowili wykorzystać moc obliczeniową milionów prywatnych komputerów. Jak
pomyśleli, tak i zrobili. I tak, jak niewinny pomysł stworzenia sieci
Internet, spowodował rewolucję w sposobie patrzenia na to, jak można
wykorzystać sieć komputerową, tak ten pomysł powinien zrujnować producentów
super komputerów ;-).

Ale czy to, co sprawdziło się w przeliczaniu danych
naukowych, zda egzamin w zastosowaniach przemysłowych?

Podobno tak.

Gwarancją tego mają być: modularna struktura
oprogramowania serwerów i specjalnie do tego przystosowana struktura zarządzania
powierzchnią dyskową; mechanizmy konsolidujące i budujące wirtualną
przestrzeń dyskową i obliczeniową; zaawansowane oprogramowanie zarządzające
tą wirtualną infrastrukturą, pozwalające na dzielenie jej zasobów pomiędzy
wiele zadań z wykorzystaniem technologii Web services.

Co znajdziemy wewnątrz nowego produktu?

Wszystko, do czego można było dołożyć przymiotnik grid
czyli:

  • database grids
  • application server grids

oraz

  • Oracle Enterprise Manager 10g Grid Control

W ramach beneficjów korporacja Oracle obiecuje nam:

  • Zmniejszenie zasobożerności systemów poprzez automatyczne, dynamiczne i optymalne zarządzanie przetwarzaniem.
  • Umożliwienie szybkiego i bezkolizyjnego wprowadzania kolejnych małych elementów, rozszerzających możliwości wirtualnej maszyny.
  • Znaczące zmniejszenie kosztów zarządzania
    systemem, realizowane poprzez wprowadzenie mechanizmów samozarządzania,
    redukujących do niezbędnego minimum niezbędne interwencje administratora. To
    brzmi niebezpiecznie, panowie administratorzy!

Co nowego w Oracle Application Server 10g?

Oracle Application Server 10g, to według zapowiedzi
korporacji nowa generacja produktów Oracla służących integracji
infrastruktury aplikacyjnej, specjalnie zaprojektowana w celu umożliwienia
przetwarzania rozproszonego w środowisku aplikacji produkcyjnych. Innymi słowy,
silna zwarta i gotowa grupa „małych komputerów” tworzących tanie,
wydajne, skalowalne i właściwie samo się administrujące środowisko. Co ważne
(niestety w niewielkim stopniu dla użytkowników polskich) aplikacje stworzone
pod Oracle9iAS mają się bez większego nakładu sił dać przebudować
do uruchomienia w Application Server 10g.

OracleAS 10g zarządzany jest przez Oracle
Enterprise Manager 10g Grid Control, będący konsolą zarządzania bazującą
na technologii Web. Umożliwia ona administratorowi zarządzanie z jednego
miejsca wieloma serwerami aplikacji widzianymi jako jedna wirtualna maszyna.
Konsola ta umożliwiać ma również automatyzację wielu zadań, a co za tym
idzie, zmniejszenie kosztów zarządzania środowiskiem. Z drugiej jednak
strony, Grid Control umożliwia również wspólną pracę wielu administratorów
– choć to chyba nie jest to, co tygrysy lubią najbardziej.
Administrator, to wszakże samotny despota, jak ognia unikający pracy zespołowej.

Na koniec oczywiście OracleAS 10g zintegrowany jest
ściśle z Oracle Database 10g tak, aby optymalnie wykorzystać możliwości
każdego z tych serwerów.

Zanim zaczniemy wchodzić w szczegóły rozwiązań OracleAS
10g przypomnijmy dla porządku podstawowe zasady przetwarzania
rozproszonego, jakie legły u podstaw tego produktu. Otóż przetwarzanie
rozproszone charakteryzuje się trzema „D”:

  • Dywersyfikacją
  • Decentralizacją
  • Dynamiką

Dywersyfikacja – czyli dzielenie zapotrzebowania na
moc obliczeniową pomiędzy wiele maszyn. Zarządzanie takim wielkim i różnorodnym
środowiskiem, to naprawdę wielkie wyzwanie.

Decentralizacja – zarówno przetwarzania jak i
administrowania, dotycząca nie tylko rozłożenia pracy na wiele komputerów,
ale dopuszczająca lokalizację tych komputerów w odległych geograficznie
miejscach na Ziemi.

Dynamika – komponenty standardowych aplikacji
uruchamiane są zwykle w statycznych warunkach środowiska. Przetwarzanie
rozproszone wymaga od uruchamianych w tym środowisku aplikacji większej
elastyczności. Aplikacje takie muszą jako normę przyjmować stan ciągłych
zmian. Fragmenty takich aplikacji mogą być rozrzucone po różnych maszynach
sieci przetwarzania rozproszonego
i co ważne, ich lokalizacja może się zmieniać w czasie. Zarządzanie
aplikacjami w takim dynamicznym środowisku nie jest zadaniem łatwym.

Oracle Application Server 10g w detalach

Uruchamianie oprogramowania

Zwykle środowisko przetwarzania rozproszonego stworzyć można
już na kilku komputerach, a następnie sukcesywnie rozszerzać, nawet do
kilkuset maszyn. Ręczna instalacja i utrzymanie takiej liczby komputerów jest
zadaniem bardzo pracochłonnym. Trudno również uchronić się przed popełnieniem
dużej ilości błędów, toteż Application Server 10g wyposażony został
w szereg narzędzi wspomagających administratorów w tej pracy.

Oracle Application Server 10g automatyzuje proces
instalacji i konfiguracji oprogramowania, co obniża znacznie pracochłonność
tego procesu i skraca czas niezbędny do uruchomienia kolejnych funkcjonalności.

Instalacja

W celu upraszczania procesu instalacji, Application Server 10g
umożliwia uruchomienie procedury 100% „cichej instalacji”.
Wszystkie jego komponenty mogą być instalowane na wielu komputerach zupełnie
bez ingerencji administratora. Proces taki może zostać uruchomiony dla jednego
bądź kilku serwerów jednocześnie. Można również od razu zdefiniować
zadania sprawdzające poprawność konfiguracji przed i po instalacji.

Konfiguracja

Szybkość i dokładność tworzenia konfiguracji kolejnych
maszyn środowiska rozproszonego stanowi ważny element sprawnego zarządzania.
Automatyzacja tych procesów w serwerze aplikacji eliminuje znaczną cześć
ludzkich błędów. Wymaga to oczywiście stworzenia narzędzi umożliwiających
automatyczną archiwizację kolejnych wersji konfiguracji. Rozwiązaniem
wszystkich tych kłopotów ma być Configuration Management przyspieszający
czynności administracyjne o ok. 25% i skracający czas uruchamiania nowego
serwera o 80%.

Klonowanie

W serwer aplikacji wbudowane zostało również narzędzie służące
klonowaniu instalacji wraz z zapisanymi tam konfiguracjami. Przyspiesza to
znacznie czas rozszerzania środowiska o kolejne serwery.

Patchowanie

W ślad za wynalazkami Microsoftu,
w oprogramowaniu Oracle pojawiły się automaty do wgrywania poprawek, czyli
patchy. Konieczność utrzymania spójności kilkudziesięciu lub kilkuset
serwerów nie jest zadaniem banalnym. Wbudowany w serwer aplikacji mechanizm,
automatycznie sprawdza na Oracle Metalink dostępne patche
i może je automatycznie zainstalować na wszystkich maszynach

Upgrade

Podobnie jak w przypadku patchy, nowa wersja OracleAS wyposażona
jest w graficzny interface zarządzania upgrade’ami. Między innymi
pozwala on na automatyczne przejście od 9iAS do 10g bez konieczności
wykonywania jakichkolwiek ręcznych czynności administracyjnych. Proces taki
trwa około 2-3 godzin. Narzędzie to automatycznie wykrywa, jakie komponenty
serwera powinny być upgradowane i dokonuje odpowiednich czynności takich, jak
instalacja i konfiguracja linii bazowej na podstawie ustawień zawartych w
starej wersji oprogramowania.

Automatyzacja zadań

Nowy Enterprise Manager dostarcza wielu użytecznych narzędzi
takich jak zintegrowany Job Scheduler oraz Cluster and Group Management Services.
Ich zadaniem jest automatyzacja powtarzanych każdego dnia czynności
administracyjnych, koniecznych do wykonania na dużej liczbie serwerów
aplikacyjnych. Wzajemna współpraca Oracle Application Server i Oracle
Enterprise Manager zapewnić ma automatyzację konfigurowania oprogramowania,
zarządzania zmianami oraz procesu patchowania aplikacji, redukując koszty związane
z utrzymaniem „żywej” obsługi administratorskiej i eliminując
generowane przez nią błędy.

Konfiguracja środowiska użytkownika

W ślad za instalacją i konfiguracją oprogramowania, niezbędne
jest przeprowadzenie szeregu czynności, mających na celu umożliwienie wejścia
do systemu jego użytkownikom. Wymaga to szeregu narzędzi przydzielających
przywileje i prawa dostępu do zasobów i ich aplikacji.

Zarządzanie zabezpieczeniami i identyfikacja użytkowników

Podstawą poprawnej pracy środowiska przetwarzania
rozproszonego jest poprawne zdefiniowanie zasad bezpieczeństwa i dostępu dla użytkowników
systemu. Jak łatwo sobie wyobrazić, środowisko to w znaczny sposób
komplikuje procedury bezpieczeństwa. Znaczący wpływ na zakres niezbędnych
prac ma wprowadzenie pojęć Dynamic Resources i Complexity of Resources.

Dynamic Resources to jeden z fundamentów przetwarzania
rozproszonego. Zasoby nie są już na stałe przydzielone do aplikacji.
Ich udostępnianie następuje w trybie „na żądanie”, wymaga to
więc dynamicznego zarządzania dostępem do zasobów, realizowanego również w
trybie „na żądanie”.

Complexity of Resources to kolejna specyfika
przetwarzania rozproszonego, której cechą jest dynamicznie zmieniająca się
(zwykle rosnąca) liczba użytkowników, zasobów i ich wzajemnych powiązań. Użytkownicy
takiego systemu nie mogą być zmuszani do pamiętania niezliczonej ilości,
haseł a administratorzy nie są w stanie w czasie rzeczywistym dokonywać niezbędnych
korekt, dlatego też OracleAS 10g wyposażony został w ogarniające cały
ten chaos narzędzie OracleAS 10g Single Sign-On Server oraz OracleAS
Certificate Authority.

Bezpieczeństwo serwera aplikacji

Bezpieczeństwo aplikacji uruchamianych na OracleAS
10g oparte jest na wykorzystaniu mechanizmów bezpieczeństwa, w jakie
wyposażone są Java2, SSL dla protokołów RMI, RMI-over-IIOP, SOAP, JMS, LDAP
oraz infrastruktura zabezpieczeń oparta
o PKI.

Zarządzanie użytkownikami systemu

Do zarządzania użytkownikami systemu wraz z przysługującymi
im zbiorami praw i przywilejów, OracleAS 10g wyposażony został w
Security Management Console. Narzędzie to służy do tworzenia i usuwania użytkowników
systemu wraz i ich strukturą praw oraz do zarządzania systemem Certificate
Authority. Konsola ta w części Delegate Administration Service, umożliwia również
delegowanie uprawnień do zarządzania systemem bezpieczeństwa.

Usługi katalogowe i repozytorium zabezpieczeń

Wszystkie definicje dotyczące użytkowników i przypisanych
im ról OracleAS 10g przechowuje w Oracle Internet Directory
– usłudze katalogowej bazującej na LDAPv3. Oracle Internet Directory
wykorzystywany jest tu jako repozytorium wiedzy o użytkownikach systemu.
Dodatkowo repozytorium to wyposażone jest w algorytmy pozwalające na zarządzanie
dużą liczbą kont i uprawnień.

Integracja z innymi systemami zabezpieczeń

Aby umożliwić oraclowemu serwerowi aplikacji współpracę
z innymi dostawcami rozwiązań dla środowisk rozproszonych, korporacja wyposażyła
go w szereg mechanizmów umożliwiających integrację z systemami bezpieczeństwa
środowiska heterogenicznego, zawierającego rozwiązania takie jak: serwis
Windows Native Authentication, Active Directory, iPlanet, OpenLDAP i inne usługi
katalogowe. To nowe okno na świat o nazwie Directory Integration Service jest
częścią Oracle Internet Directory
i umożliwia korzystanie z nieoraclowych repozytoriów użytkowników.

Single Sign On (SSO)

Autoryzacją użytkowników w składającym się z wielu
aplikacji i serwisów rozproszonym środowisku przetwarzania zarządza
Enterprise Single Sign-On Service. Są dwa sposoby umożliwiające
„centralną” autoryzacje użytkownika w takim środowisku. Można do
tego celu zbudować specjalną aplikację sprawdzającą w serwerze SSO hasło
podane przez użytkownika systemu. Aplikacje takie nazywane są Partner
Applications.
Drugim sposobem jest wykorzystanie aplikacji zwanych External
Applications
, które implementują własny system bezpieczeństwa.

Jeśli dostępu do portalu strzeże aplikacja typu
„Partner Application” użytkownik jednokrotnie wpisując hasło jest
automatycznie autoryzowany przez portal i wszystkie aplikacje do których
przydzielono mu dostęp. Użycie aplikacji typu „External Application”
powoduje, że przy pierwszym odwołaniu się do linku portalu, użytkownik jest
odpytany o swoją nazwę
i hasło. Przy każdym następnym odwołaniu się do tego linku hasło dostępu
jest już dla tego użytkownika pamiętane.

Zarządzanie pracą środowiska

Zarządzanie i monitorowanie aplikacji

Narzędziem niezbędnym do zarządzania przetwarzaniem
rozproszonym jest monitor i optymalizator wydajności aplikacji. Środowisko
rozproszone charakteryzuje się dużą liczbą współdzielonych obszarów
infrastruktury, dużą liczba użytkowników i aplikacji. Jakość obsługi
zdarzeń takich, jak niedostateczna wydajność, decyduje więc o odporności
systemu na zmieniającą się (rosnącą) liczbę użytkowników. Właśnie
dlatego centralny aktywny system monitoringu i zarządzania aplikacjami jest
jednym
z najważniejszych elementów środowiska przetwarzania rozproszonego. W
OracleAS 10g rolę tę spełnia Application Monitoring and Management.
Oto elementy składowe tego narzędzia:

Konfiguracja i deployment

Dzięki nowym możliwościom, Oracle Enterprise Manager w
OracleAS 10g umożliwia konfigurację i „hot-deployment”
aplikacji J2EE, Web Services, Portali, elementów Forms & Reports oraz
Business Intelligence Applications.

Debagowanie i strojenie wydajności

Dynamic Monitoring Service (DMS) odpowiada w OracleAS 10g
za zbieranie informacji o zużyciu zasobów takich jak CPU, pamięć, czas
oczekiwania na operacje I/O.

Monitorowanie wydajności aplikacji

Application Performance Monitoring (APM) będący częścią
Oracle Enterprise Manager’a, umożliwia administratorowi środowiska
rozproszonego monitorowanie rzeczywistej wydajności poszczególnych aplikacji,
czasu oczekiwania użytkownika na odpowiedź systemu oraz czasu niezbędnego
systemowi do wykonania wyselekcjonowanych transakcji w komponentach takich jak
serwery Web, serwery aplikacji czy serwery baz danych. Po raz pierwszy
administrator ma możliwość tak szerokiego monitorowania systemów
e-businessowych, które opierają się na obserwacji aktywności końcowych użytkowników
systemu, ich aktywności i sposobu nawigowania po środowisku aplikacji
rozproszonych. Dzięki zastosowaniu metody analizy „root-cause”, możliwe
jest szybkie i skuteczne diagnozowanie problemów występujących w systemie, a
co za tym idzie, znajdowanie szybkich i skutecznych dla tych problemów rozwiązań.
Raporty typu „In-depth” dostarczają administratorowi komplet
informacji na temat wydajności uruchomionych w systemie aplikacji. Jednym słowem:
żyć, nie umierać.

Monitoring integralności systemu i aplikacji

Oracle Enterprise Manager 10g Grid Control pozwala
administratorowi systemu na definiowanie indywidualnych parametrów wydajności,
które optymalnie charakteryzują różnorodne komponenty środowiska
rozproszonego.

Mechanizmy Grid Control pozwalają na kontekstowe
penetrowanie parametrów wydajnościowych, poczynając od poziomu metryk
infrastruktury Web Application. Umożliwia to
w konsekwencji zdiagnozowanie wąskich gardeł systemu. Sumując funkcjonalność
serwera aplikacji i Grid Control, administrator otrzymuje kompleksowy,
integralny i spójny obraz systemu oraz aplikacji, pozwalający na szybką i
celną diagnozę zagrożeń dla wydajności. To znów ukłon
w kierunku zmniejszenia pracy potrzebnej do utrzymania systemu,
a więc zmniejszenia kosztów.

Zarządzanie obciążeniem

Zarządzanie wydajnością i rozkładem obciążenia środowiska
rozproszonego ma być jednym z podstawowych atutów OracleAS 10g, toteż
posiada on zintegrowany i wysoce zautomatyzowany zbiór narzędzi, służących
optymalizacji wykorzystania posiadanych zasobów, bądź rozszerzeniu zasobów
do niezbędnego poziomu wydajności wymaganego przez użytkowników.

Skalowalność i wydajność

OracleAS 10g wyposażony jest w szereg narzędzi
monitorujących, czy system i aplikacje efektywnie wykorzystują dostępne
zasoby. Mechanizmy te czuwają również nad osiąganiem przez system
maksymalnej wydajności możliwie najniższym kosztem. Aby osiągnąć ten cel
wykorzystywane są następujące elementy:

Application Server Optimizations: obejmujący zarządzanie
połączeniami, zarządzanie transakcjami, sieciowe operacie I/O, optymalizację
czynności schedulera oraz skalowania aplikacji.

Workload Monitoring: opierający się o preinstalowany z
OracleAS 10g Dynamic Monitoring Service (DMS), monitorujący zasoby CPU i
pamięci używane przez wiele instancji. Zasoby te mogą być przydzielane
zgodnie z założoną linią bazową i monitorowane przy pomocy Oracle Grid
Control. Wszelkie odstępstwa od zaplanowanych parametrów monitowane są przez
system alertowy.

Policy-Based Workload Management: to automat egzekwujący
zbiór ustanowionych przez administratora zasad. Do ustanawiania obowiązujących
reguł może zostać użytych wiele równoważących obciążenie
predefiniowanych algorytmów. OracleAS 10g umie automatycznie włączać
te reguły, używając odpowiednich algorytmów i generując rekomendacje
optymalnego zastosowania dostępnych narzędzi dla administratora systemu.

Service Provisioning and Dynamic Resource Allocation: to
najprzyjemniejsza z punktu widzenia administratora funkcjonalność, umożliwiająca
dynamiczną rekonfigurację systemu. Bez przerywania pracy możliwe jest włączanie
i wyłączanie wybranych komponentów, zatrzymywanie i startowanie serwisów w
zależności od bieżących wymagań użytkowników. Zasoby te mogą znajdować
się na jednym lub wielu serwerach, a serwer aplikacji automatycznie dokonywać
może odpowiednich przełączeń, mających na celu zoptymalizowanie obciążenia
środowiska. Wszystkie te wynalazki mają na celu jedno: zwiększenie skalowalności
poprzez maksymalne wykorzystanie dostępnych zasobów. Jednocześnie mają one ułatwić
i przyspieszyć proces rozszerzania systemu o nowe elementy, jeśli wydajność
spadnie poniżej akceptowalnej przez użytkownika granicy.

Zapewnianie wysokiej dostępności systemu

Zaraz po zapewnieniu najwyższej wydajności OracleAS
dokłada wszelkich starań, aby system był jak najbardziej dostępny, oczywiście
również przy założeniu minimalnych kosztów realizacji tego celu. Pieczę
nad tym zagadnieniem powierzono mechanizmom takim jak:

Zero Planned Downtime: funkcjonalność eliminująca przerwy
w pracy systemu. Realizacja tego założenia możliwa jest poprzez
staranne planowanie niezbędnych serwisowych wyłączeń maszyn wchodzących w
skład środowiska rozproszonego. Jednym
z elementów jest mechanizm upgradu z Oracle9iAS do OracleAS 10g bez
konieczności przerywania pracy systemu.

Zero Unplanned Downtime: mechanizm mający na celu
minimalizowanie skutków awarii maszyn oraz przerw w ich pracy,
wynikających
z błędów systemu i błędów obsługi. Narzędzia jakie służą uzyskaniu
zamierzonych efektów, to Integrated Process and Fault Monitoring wykonujący
analize wpływu, ułatwiającą automatyczne delektowanie uszkodzeń oraz Cold
Failover and Active Failover Cluster
, zapewniający automatyczne znajdowanie
obejść uszkodzonych elementów systemu, zarówno tych z warstwy softwaru jak i
hardwaru. Komponenty uznane przez system za uszkodzone są automatycznie wyłączane
z systemu. Jednocześnie użytkownicy systemu są automatycznie przenoszeni do
innej działającej instancji. Wszytkie następne odwołania do odłączonej
instancji są automatycznie i niezauważalnie dla użytkowników końcowych
przekierowywane do instancji działających poprawnie. Automated Backup and
Recovery o
dpowiada za automatyczne wykonywanie inkrementalnych kopii
zapasowych serwerów aplikacji. Disaster Recovery realizuje automatyczne
tworzenie Standby Application Servers
i Standby Databases w celu zabezpieczenia systemu przed awarią.

Failover Notification (FaN) – zintegrowanie Fault
Monitoring i Notification Services w Application Server z Oracle Real
Application Clusters (RAC). Gdy maszyna RAC przestaje działać, Oracle
Application Server odbiera informacje o błędzie Failure Notification (FaN), na
skutek którego następuje automatyczne przełączenie użytkowników serwera
aplikacji do innego działającego poprawnie klastra. Przełączenia te mają na
celu zmniejszenie całkowitego czasu awarii systemu (Application Failover Time)
z ponad 15 minut do kilku sekund.

Zarządzanie i monitorowanie systemem

Najwyższym szczeblem zarządzania OracleAS 10g jest
Oracle Grid Control. Jest to kompleksowy system zarządzania i monitorowania urządzeń
środowiska rozproszonego. Tak jak
i poprzednio, głównym założeniem systemu jest minimalizacja kosztów obsługi
i maksymalne wykorzystanie zasobów. Temu celowi służy Systems Monitoring and
Management – narzędzie wprowadzone przez Oracle wraz z wprowadzeniem
mechanizmów przetwarzania rozproszonego. W obszarze jego zainteresowań znajdują
się następujące zagadnienia:

Monitorowanie zasobów i realokacji – obejmujące
problemy zużycia pamięci i CPU, dające możliwość
eliminacji nadmiarów przydzielonych zasobów, które być może w danej chwili
mogą być bardziej użyteczne w innej części systemu.

Administracja zasobami – nakierowana na efektywne
zarządzanie, charakteryzujące się dużym stopniem automatyzacji procedur i
niskim kosztem obsługi. Zarządzanie środowiskiem rozproszonym staje się
coraz to bardziej skomplikowane w ślad
za zwiększaniem się liczby tworzących go elementów. Skalę problemu powiększa
różnorodność elementów systemu i geograficzne rozproszenie
oraz dynamizm zmian. Dlatego też środowisko przetwarzania rozproszonego
OracleAS 10g dąży do maksymalnej automatyzacji procedur zarządzania.
Oczywiście działań administratora – człowieka nie da się do końca
wyeliminować, ale można wyręczyć go w wykonywaniu czasochłonnych operacji
na systemie typu low-level, które łatwo zdefiniować jako okresowo
powtarzalne. Dzięki Oracle Enterprise Manager 10g Grid Control
otrzymujemy centrum monitoringu i zarządzania godne XXI wieku.

Monitorowanie statusów – czyli sprawowanie
kontroli nad wszystkimi serwisami zaimplementowanymi w systemie. Operacje
uruchamiania, zatrzymywania i zarządzania serwisami sprawuje Oracle Process
Management and Notification Service (OPMN). OPMN umożliwia automatyczną
detekcję serwisów nieaktywnych z powodu awarii i szybkie uruchomienie
ekwiwalentnych serwisów w innym miejscu systemu. Narzędzie to dostarcza również
szeregu danych statystycznych, dotyczących wydajności przetwarzania
rozproszonego. Gromadzone dane historyczne mogą być źródłem informacji na
temat dostępności i wydajności systemu.

Monitorowanie wydajności i zasobów – wciąż
powtarzające się zadania monitorowania wszystkiego, co tworzy system,
świadczą o powadze tego zagadnienia. Wszystkie serwisy i zasoby
zaimplementowane w systemie tworzą i tworzyć mają w oczach użytkownika jedną
wielką czarną skrzynkę. W rzeczywistości jednak jest to duży skomplikowany
organizm, żyjący własnym życiem. Życie to kontrolowane jest przez Dynamic
Monitoring Service (DMS). Statystyki generowane przez to narzędzie, a
interpretowane przez Grid Control, stanowią nieocenione źródło wiedzy o tym,
jak system pracuje w chwili obecnej i jak stopień optymalizacji wydajności
kształtował się na podstawie analizy danych historycznych. Dane te pozwalają
administratorowi na identyfikację komponentów, które być może wymagają dokładniejszej
diagnostyki i bardziej szczegółowej analizy parametrów wydajnościowych. Dla
przykładu Java Application Server Home Page przygotowuje statystyki statusów i
wydajności dla kontenera i znajdujących się w nim aplikacji. Wyczytać można
z nich, jak długo dany kontener był uruchomiony oraz które jego aplikacje były
aktywne. Mamy również przygotowane dane statystyczne dotyczące związanego z
tą aktywnością zużycia zasobów systemu oraz średni czas oczekiwania na
odpowiedź aplikacji i czas wykonywania transakcji. Na podstawie takich danych
administrator jednym rzutem oka może ocenić, która z aplikacji obsługuje
największą liczbę żądań użytkowników lub która z aplikacji ma najdłuższe
czasy odpowiedzi. W celu uzyskania informacji przydatnych do ewentualnego
strojenia aplikacji, poziom szczegółowości danych można obniżyć nawet do
pojedynczych obiektów takich, jak serwety czy EJB.

Administracja regułami i zapisami linii bazowych – opiera
się o zasadę minimalizacji kosztów, a więc oparcie procedur
administracyjnych
o sztywne reguły, pozwalające z wyprzedzeniem przewidywać potencjalne zagrożenia
i podejmować działania mające na celu redukcję skutków ewentualnych awarii.
Współdziałanie OracleAS 10g i Grid Control umożliwia definiowanie
szeregu reguł prewencyjnych oraz zapisywanie ustawień linii bazowych, które
definiują poziom odniesienia dla mechanizmów monitorujących pracę systemu.
Na przykład, administrator może zdefiniować linię bazową wydajności, po
przekroczeniu której powinny zostać uruchomione procedury powiadamiania o
potencjalnym zagrożeniu dla systemu. W podobny sposób system może zapamiętywać
ustawienia optymalne, które wykorzystywane będą do konfigurowania nowych składników
środowiska rozproszonego. Oczywiście standardowa instalacja zaopatrzona jest w
zbiór predefiniowanych reguł, które mogą być używane w początkowym
okresie pracy systemu. Wszystkie te udogodnienia mają na celu skrócenie czasu,
jaki administrator spędza na diagnozowaniu stanu systemu i jego ewentualnych
potrzeb.

System powiadamiania – czyli dzwonek alarmowy włączany
w przypadku przekroczenia parametrów linii bazowej. Alerty takie przekazane na
czas do Grid Control, w konsekwencji spowodować mogą wysłanie alarmowych
powiadomień do administratorów systemu (za pośrednictwem mechanizmów SMTP)
lub uruchomienie odpowiednich, przygotowanych wcześniej skryptów naprawczych.
Grid Control obsługuje te powiadomienia za pośrednictwem wbudowanego
mechanizmu Notification Methods. Słuzy on do dobierania odpowiednich akcji do
zdarzeń, jakie wywołały wysłanie alertu. Mechanizm ten decyduje na przykład,
który gateway SMTP użyć do wysłania powiadomienia pocztą elektroniczną, który
skrypt uruchomić na poziomie systemu operacyjnego w celu naprawienia zaistniałych
nieprawidłowości itd. Jest to więc taki administratorski automatyczny pilot,
który pilnuje pracy systemu podczas nieobecności „żywego
personelu” i niepokoi administratora tylko w sytuacjach naprawdę poważnych.

Zarządzanie zmianami – czyli dziennik zmian w
systemie, pozwalający odpowiedzieć na pytanie często zadawane sobie samym
przez administratorów: Co ja ostatnio zmieniłem, co mogło popsuć tak dobrze
funkcjonujący system. Zarządzanie zmianami to nie tylko logowanie zmian
parametrów, to także odnotowywanie wprowadzanych patchy, zmian w konfiguracji
sprzętowej itd. Ogarnięcie tego zagadnienia jest tym bardziej skomplikowane,
im większa jest liczba komputerów tworzących środowisko rozproszonego
przetwarzania. Tu już
z całą pewnością nie można polegać jedynie na pamięci administratora.
Automatycznemu logowaniu powinny podlegać wszystkie zmiany, zarówno sprzętowe
jak i softwarowe oraz
z następnej kolejności wszystkie zmiany w konfiguracji środowiska. Takie
zapisy oczywiście pozwalają na automatyczny powrót do wybranej wersji
konfiguracji.

Kolejkowanie zadań – kolejna część
automatycznego pilota, znana już
z wcześniejszych wersji OEM. Tym razem wyposażona w nieco szerszy wachlarz możliwości,
takich jak restartowanie Web Servers lub Web Caches, czy defragmentacja dysku.

Tytułem podsumowania

Wszystkie firmy na całym świecie narzekają na wysokie
koszty budowy
i eksploatacji infrastruktury informatycznej. Co gorsza, raz poniesione koszty
generują zaraz następne, gdyż zapotrzebowanie na moc obliczeniową rośnie z
roku na rok (podobnie jak apetyt w miarę jedzenia).
Za wysokie koszty informatyzacji odpowiadają z jednej strony wysokie koszty
budowy i rozbudowy infrastruktury informatycznej, a z drugiej strony (będące
tego konsekwencją) rosnące koszty utrzymania i eksploatacji systemu.

Oracle Application Server 10g będąc kolejną
generacją zbioru narzędzi Oracle, mających na celu budowę
i eksploatację infrastruktury aplikacyjnej, jest produktem zaprojektowanym
specjalnie do przemysłowych zastosowań technologii Grid. Rozwiązanie to
niesie za sobą jednak pewne niebezpieczeństwo skomplikowania procedur
administracji i utrzymania, toteż olbrzymią część oprogramowania narzędziowego
poświęcono maksymalnej automatyzacji prac administracyjnych, co owocuje obniżeniem
kosztów osobowych.

Na ile produkt ten zrewolucjonizuje budowę nowych systemów i eksploatację
tych już istniejących – zobaczymy.