JBoss EAP 6 - nowa szybkość i łatwiejsze zarządzanie
Agenda Czym jest EAP 6? Co nowego w EAP 6? Tryby pracy serwera Interface zarządzający Klastrowanie
Linux Polska Sp. z o.o. Potwierdzone kompetencje: - Premier JBoss Red Hat Partner - specjalizacja - Middleware - największy zespół specjalistów w Polsce, m. in.: - 3 certyfikowanych JBCAA (na razie jedyni w kraju ;-) ) Pełny zakres usług: - presales - konsulting - wdrożenia - wsparcie - szkolenia
Czym jest EAP 6? JBoss Enterprise Application Platform stabilny, innowacyjny i w pełni wspierany zbudowany w oparciu o JBoss AS7.1.x W pełni implementuje specyfikację Java EE 6, zawiera dwa profile dla konkretnych przypadków użycia: Web profile dla web-based technologies takich jak: Servlets, JavaSever Pages, JavaSever Faces, CDI, JPA and EJB Lite (podzbiór specyfikacji EJB 3.1 bez: remote invocations, message-driven beans i bez Web-Services) Full profile zawiera wszystkie technologie Java EE
Co nowego w EAP 6? Nowa koncepcja serwera i nowa architektura Znacznie więcej zmian niż w EAP 4 / EAP 5 Przyspieszenie serwisy startują on-demand (na żądanie) i jednocześnie wszystkie non-critical services pozostają uśpione/bierne modularna budowa serwisów & Module Service Container (MSC) Model Domenowy(domain) i Autonomiczny(standalone) cała konfiguracja przeniesiona do pojedynczego pliku (standalone.xml dla wersji samodzielnej oraz domain.xml i host.xml dla modelu domenowego)
Modele pracy EAP 6 EAP 6 potrafi pracować w dwóch modelach: Domain mode Zapewnia możliwość uruchomienia i zarządzania wielo-serwerową topologią Standalone mode Podobnie jak w EAP 4/5 uruchomione na pojedynczej maszynie Java'y - JVM
Architektura EAP 6
EAP 6 - Roadmap EAP 5.x / 6.x EAP 4.x
EAP 6 Roadmap EAP 6.0 Q2 CY12 EAP 6.1 Q4 CY12 Java EE 6 Common Criteria (EAL 4+) Hibernate 4 Lokalne patchowanie Infinispan 5 cache i klastrowanie OSGi (Tech Preview) Zarządzanie domenami Web Socket (element spec. HTML5) Wydajność i skalowalność Wsparcie urządzeń mobilnych Mniejsza zapotrzebowanie na pamięć EAP 6.2 H1 CY13 Poprawa pracy developerów Admin RBAC (Role-Based Access Control) Domenowe patchowanie
Zarządzanie modelem Domenowym Wiele instancji JVM tworzy domenę Daje to możliwość zarządzania wieloma instancjami EAP 6 z poziomu pojedynczego punktu kontroli Dwa procesy kreują domenę w rozumieniu EAP Domain Controller działa jako centralny punkt zarządzania Host Controller Pojedynczy Host Controller pełni rolę centralnego Domain Controller Na hoście współpracującym z Domain Controller'em działa proces zarządzający JVM instancjami EAP 6 (jvm4/5/6...)
Topologia Domeny
Zarządzanie modelem Autonomicznym Samodzielna instancja serwera to niezależny proces, podobnie jak to było w EAP 4 i EAP 5 Jeśli nie jest wymagane centralne zarządzanie należy wybrać model samodzielny Zarządzanie wieloma serwerami typu Standalone leży po stronie użytkownika np: indywidualny deployment tej samej aplikacji na wszystkie nody typu standalone Możliwość zarządzania jest tylko rozróżnieniem pomiędzy autonomicznym a domenowym typem pracy Wiele serwerów typu standalone może utworzyć klaster HA
Topologia Autonomiczna
Natywne API i HTTP API do zarządzania Jest punktem wyjścia do zarządzania klientami w EAP6, oraz stanowi warstwę integracyjną z innymi elementami zarządzania (np: webconsole). Korzysta z otwartego binarnego protokołu opartego o JBoss Remoting lub JSON w HTTP API. Używa API w technologii RPC, do opisania i wykonania operacji na zarządzanej domenie lub serwerze autonomicznym. EAP 6 CLI używa go do zarządzania instancjami. API ułatwia tworzenie wtyczek EAP6 do JON i innych.
HTTP API do zarządzania
Interfejsy zarządzające
Architektura Klastra Cluster repl.obj. WEB repl.sesji SfSB replikacja Hibernate 2nd level cache
Klastrowanie w modelu Autonomicznym Model Autonomiczny wspiera tylko jeden profil domyślny standalone.xml dla środowiska nieklastrowego specyfikowany standalone-ha.xml dla środowiska klastrowego Uruchom serwer na odpowiednim IP i użyj zgodnego z klastrem pliku konfiguracyjnego $EAP6_HOME/standalone/configuration/standalone-ha.xml FARM DEPLOYMENT EAP 6 nigdy więcej nie będzie wspierał farm deployment należ użyć skryptów CLI by osadzić aplikacje na wszystkich nodach
Klastrowanie w modelu Domenowym Model domenowy wspiera wiele profili Obecnie część profili istnieje w pliku konfiguracyjnym domain.xml default Java EE Web profile ++ nie klastrowe środowisko ha Java EE Web profile ++ klastrowe środowisko full Full Java EE profile nie klastrowe środowisko full-ha Full Java EE profile klastrowe środowisko Klastrowanie oznacza wyznaczenie grup serwerów pracujących w profilu full-ha / ha
Topologie Klastra Topologia drzewiasta dla klastra jest możliwa i w pełni wspierana Horizontal scaling nody są uruchamiana na różnych maszynach Vertical scaling nody są uruchamiane na tej samej maszynie Mixed scaling to połączenie [mix] skalowania poziomego i pionowego
Skalowanie poziome - standalone
Skalowanie pionowe - standalone
Skalowanie mieszane - domain
Load-balancing dla aplikacji webowych mod_cluster Wspierany w JBoss Enterprise Web Server (EWS) Zimplementowany jako core module w EAP 6.x Intelligentny load balancer w oparciu o HTTP Współpracuje z dwukierunkowymi kanałami: Communication channel do przekazywania żądań (requests) z HTTPD do jednego z nodów Feedback channel do równoważenia obciążenia transmisji i zdarzeń systemowych do HTTPD przez metody HTTP
Load-balancing - mod_cluster
Dziękuję / Pytania Przemysław Kuźnicki RHC{SA,E,VA} JBCAA Linux Polska Sp. z o.o. Tel. 519 130 140
JBoss Middleware Zadbaj o jego zdrowie (Statystyk, trendy, performance tuning i JON)
Linux Polska Sp. z o.o. Potwierdzone kompetencje: - Advanced JBoss Red Hat Partner - specjalizacja - Middleware - największy zespół specjalistów w Polsce, m. in.: - 3 certyfikowanych JBCAA (na razie jedyni w kraju ;-) ) Pełny zakres usług: - presales - konsulting - wdrożenia - wsparcie - szkolenia
Wyzwania zarządzania aplikacjami. Usprawnienie i standaryzacja osadzania (deploy) aplikacji i uaktualnień Zarządzanie konfiguracją aplikacji w różnych środowiskach Zapewnienie poziomu usług aplikacji / serwisu i zmniejszenie przestojów aplikacji Bilansowanie potrzeb IT oraz deweloperów / testerów Kontrolowanie middleware i kosztów zarządzania aplikacjami
Jak drzewiej bywało... ;-)
Jakiej pomocy oczekujemy w zarządzaniu JBoss i infrastrukturą?
Co nowego w JBoss Operations Network 3.0? Improved Usability - Nowy interfejs użytkownika w SmartGWT zapewnia bardziej uproszczony i spójny układ, znacznie ulepszone możliwości dostosowywania Dashboard'u oraz lepszy UI Drift Management zarządzanie zmianą konfiguracji (wersje, historia,...) i zmniejszenie problemów aplikacji spowodowanych nieplanowanymi zmianami Responsive Provisioning & Configuration automatycznie wykonywany po stronie serwera provisioning i skrypty konfiguracyjne w odpowiedzi na błędy z monitoringu Provisioning Enhancements - Deploy aplikacji do jednego lub grupy serwerów JBoss Apache mod_cluster Plugin dodano wsparcie modułu mod_cluster dla JBoss EAP 4.2.x, 5.1.x i 6.0 PostgreSQL 9.0 Database Support - dodano PostgreSQL 9.0 jako wspieraną bazę danych dla repozytoriów JBoss ON Additional Updates & Bug Fixes
JBoss Operations Network 3.0 User Interface
Provisioning & Deployment z JBoss Operations Network Wyzwania po stronie klienta: Jak JON może pomóc: Usprawnienie i standaryzacja middleware oraz osadzanie i aktualizacja aplikacji Pozwala szybko i konsekwentnie wdrożyć JBoss middleware, osadzać aplikacje oraz wdrażać poprawki do grupy serwerów lub na platformę Oceny wpływu osadzania i aktualizacji na wydajność aplikacji Skorelować wdrożenia i aktualizacje z historią wydajność aplikacji Zarządzanie zmianami i szybkie adresowanie Utrzymywanie historii wszystkich wdrożeń app. i rollback do poprzednich wersji, jeśli będzie problemów do konkretnych osób jeśli one konieczny wystąpią Utrzymanie JBoss w najnowszych wersjach, Utrzymywanie up-to-data JBoss middleware i powiązanie serwerów do Red Hat Customer aktualizacje i poprawki w różnych Portal, by mieć dostęp do łatek i otrzymywać środowiskach powiadomienia o poprawkach
Zarządzanie konfiguracją z JBoss Operations Network Wyzwania po stronie klienta: Jak JON może pomóc: Prowadzenie wglądu w to, co jest uruchomione na różnych środowiskach Posiadanie up-to-date spisu JBoss middleware, aplikacji i usług we wszystkich środowiskach Przechowywanie, zarządzanie i łatwość Aktualizacja konfiguracji serwerów aktualizacji konfiguracji serwerów JBoss, jego JBoss na dużej liczbie serwerów, w wielu zasobów i aplikacji domenach i w różnych wersjach Utrzymanie ścieżki audytu zmian w konfiguracji i zarządzanie zmianą konfiguracji plików [DRIFT] Korelowanie wpływu zmian konfiguracji na wydajności aplikacji Śledzenie ścieżki zmian konfiguracji historia zmian, możliwość wycofania się w razie potrzeby Monitorowanie i powiadamianie o zmianach konfiguracji (serwera/aplikacji) i o zmianach plików konfiguracyjnych [DRIFT] Widok wpływu zmiany konfiguracji na wydajność aplikacji Wykonywanie automatycznych operacji na zdalnych serwerach i usługach
Monitorowanie wydajności i dostępności z JBoss Operations Network Wyzwania po stronie klienta: Jak JON może pomóc: Określanie, czy aplikacja pracuje na odpowiednim poziomie wydajności i dostępności Zbieranie kluczowych wskaźników/statystyk dotyczących wydajności i dostępności aplikacji Terminowe otrzymywanie powiadomień Sprawdza, czy poziom usługi jest właściwy (SLA) i pozwala analizować historyczne trendy wydajności o wystąpieniach niesprawności Otrzymanie odpowiedniej informacji o problemie i zmniejszenie średniego czasu naprawy Generowanie alertów, gdy wystąpi problem i powiadomienie użytkowników lub ich grup Wykonywanie operacji lub skrypty w odpowiedź na konkretny problem (różne alerty, różne reakcje) Rozwiązywanie problemów z aplikacjami Integracja alertów o błędach i wydarzeniach z konsolą zarządzania lub zewnętrznym systemem zanim uderzą one w końcowego istniejącym już u klienta (SNMP) użytkownika
Podsumowując ;-) Wszechstronna możliwość kontrolowania zdrowia naszej aplikacji, serwera i infrastruktury Redukcja kosztów zarządzania infrastrukturą Dostęp do danych historycznych i trendów Potężne i rozbudowane: CLI i API, umożliwiające pracę bez GIU Integracja z zewnętrznymi narzędziami dzięki SNMP Uproszczone zarządzanie, deployment i performance Łatwość konfigurowania komponentów Middleware i innych Automatyzacja zadań w reakcji na problemy
Dziękuję / Pytania Przemysław Kuźnicki RHC{SA,E,VA} JBCAA Linux Polska Sp. z o.o. Tel. 519 130 140