Payara Micro

Autoskalowalny klaster Payara Micro dla aplikacji Java

 

Zapewnienie optymalnej wydajności aplikacjom Java EE

Mikrousługi tylko z nazwy są niewielkie. Czas na przetestowanie, w jaki sposób przygotować klaster Payara Micro na zapewnienie bezpiecznego i w pełni automatycznego zarządzania dynamicznie zmieniającą się liczbą serwerów. Dla zaoszczędzenia czasu i zoptymalizowania ilości zamawianych zasobów, wykorzystamy platformę UniCloud.

Mały, prosty, a jednocześnie gotów na podjęcie poważnych zadań. Implementacja gładka i szybka, możliwości szerokie, dostosowywanie się do zmiennego otoczenia błyskawiczne. Czy pojęcia mikro i skalowanie są możliwe do pogodzenia, czy też stoją w opozycji do siebie?

Odpowiedzi jest zapewne wiele, w artykule przedstawiona zostanie jedna z nich. Odpowiedź ta brzmi: Payara Micro w chmurze UniCloud.

Payara Micro[1] jest lekkim serwerem aplikacji, stworzonym w oparciu o GlassFish 4.1 ze wsparciem Java EE 7. Zajmując zaledwie 70 MB, serwer wyposażony został w mechanizmy automatycznego klastrowania Hazelcast, dystrybucję pamięci podręcznej Payara JCache, proste zarządzanie umożliwiające uruchamianie aplikacji .war bezpośrednio z linii komend (bez instalacji serwera aplikacji)[2], wyposażonym we wbudowane API Java. Payara Micro został zoptymalizowany pod kątem nowoczesnej infrastruktury opartej o kontenery. W prosty sposób może zostać zaimplementowany w chmurze, dostarczając zautomatyzowane klastrowanie aplikacji opartych o Java EE.

Implementacja Payara Micro w UniCloud

Pakiet Payara Micro został przygotowany z wykorzystaniem minimalnej ilości węzłów (kontenerów), zawiera jednak wszystkie wymagane narzędzia pozwalające na skalowanie horyzontalne, pozwalające na elastyczne przyjęcie zwiększonego ruchu. Możemy w ten sposób wydajnie obsłużyć ruch przychodzący nawet w przypadku gwałtownego zwiększenia zainteresowania usługą, jak ma to często miejsce podczas emisji materiału reklamowego w mediach.

Implementacja rozwiązania została przygotowana przez firmę Jelastic[3], która umieściła w GitHub repozytoria[4] przygotowane i zoptymalizowane pod kątem UniCloud.

Przetestowanie prezentowanego rozwiązania możliwe jest po założeniu konta trial na platformie UniCloud (www.unicloud.pl)

Rozwiązanie zostało zbudowane z wykorzystaniem kontenerów Docker, z następujących obrazów:

  • jelastic/payara-micro-cluster – serwer aplikacji Payara Micro (domyślnie zainstalowana zostaje jedna instancja, automatycznie skalowalna poziomo w przypadku wzrostu obciążenia)
  • jelastic/haproxy-managed-lb – równoważenie obciążenia za pomocą HAProxy, który automatycznie dodaje/usuwa serwery aplikacyjne w plikach konfiguracyjnych load balancera, gdy ich ilość się zmienia
  • jelastic/storage – dedykowany kontener typu data storage, domyślnie zawiera prostą aplikację do symulacji obciążeń, pozwalającą na przetestowanie możliwości skalowania klastra

Instalacja jest procesem szybkim i zautomatyzowanym, sprowadza się do importu odpowiedniego projektu z GitHub poprzez panel UniCloud:

W oknie, które się pojawi, należy wprowadzić podstawowe parametry tworzonego środowiska, nacisnąć Zainstaluj, i… to właściwie wszystko!

Po chwili pakiety zostaną dostarczone:

Operacje tworzenia i konfigurowania klastra przebiegają w sposób zautomatyzowany i kończą się utworzeniem kompletnego, skonfigurowanego, gotowego do pracy środowiska, z uruchomionym klastrem Payara Micro, przygotowanym do automatycznego dodawania i usuwania węzłów:

W bazie wiedzy UniCloud[5] przedstawiamy pełną procedurę testów, według której możemy przekonać się, że węzły są dodawane i usuwane automatycznie, bez konieczności monitorowania obciążenia, zapewniając nam jednocześnie odpowiednią wydajność i optymalizację kosztów infrastruktury. Procedura obrazuje automatyczne dodawanie i usuwanie węzłów zależnie od zmieniającego się obciążenia.

Mikrousługi, przygotowane z wykorzystaniem minimalnej ilości zasobów, pozwalają na maksymalne zaoszczędzenie opłat za dzierżawę zasobów, jednocześnie dzięki automatycznemu skalowaniu w obu kierunkach, ograniczają ryzyko braku dostępności. W rezultacie uzyskujemy nasz cel: optymalizację wydajności. Czy to rozwiązanie jest ciekawe? Mamy nadzieję, że tak, zarówno dla świata inżynierów jak i ekonomistów. Zachęcamy do samodzielnego przetestowania rozwiązania.

Info:

[1] Payara, Payara Micro:
http://www.payara.fish/payara_micro

[2] Steve Millidge, Introducing Payara Micro:
http://blog.payara.fish/introducing-payara-micro

[3] Jelastic, Blog:
http://blog.jelastic.com/2017/02/21/payara-micro-auto-scalable-cluster-for-javaee-microservices

[4] GitHub, Jelastic JPS Collection:
https://github.com/jelastic-jps/payara

[5] Baza Wiedzy UniCloud:
http://pomoc.unicloud.pl/unicloud/srodowiska-serwery/payara-micro-automatycznie-skalowalny-klaster-mikrouslug

Partnerzy technologiczni

Dell
Cisco
vmware
Emc2
Certum
Microsoft
IBM

 

Szanowna Użytkowniczko/Szanowny Użytkowniku

Zgodnie z art. 13 ust. 1 i 2 ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r (zwanego dalej „Rozporządzenie”) informuję, iż:

  • Administratorem Pani/Pana danych osobowych jest Asseco Data Systems S.A. z siedzibą w Gdyni, ul. Podolska 21, 81-321 Gdynia.
  • Kontakt do Inspektora ochrony danych w Asseco Data Systems S.A. można uzyskać pod adresem e – mail: IOD@assecods.pl, tel.+48 42 675 63 60.
  • Pani/Pana dane osobowe przetwarzane będą w celu:
    1. przygotowania odpowiedzi na zapytanie na podstawie art. 6 ust. 1 lit. b Rozporządzenia.
    2. przesyłania informacji marketingowych za pomocą środków komunikacji elektronicznej i programów automatyzujących na podstawie ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną i w zw. z art. 172 ust. 1 ustawy z dnia 16 lipca 2004 r. prawa telekomunikacyjnego (zgoda alternatywna) na podstawie art. 6 ust. 1 lit. a Rozporządzenia.
  • Pani/Pana dane osobowe będą przechowywane przez okres niezbędny do przygotowania i przedstawienia odpowiedzi na zapytanie oraz do czasu cofnięcia przez Panią/Pana wyrażonej zgody na otrzymywanie informacji marketingowych.
  • Posiada Pani/Pan prawo dostępu do treści swoich danych oraz prawo ich sprostowania, usunięcia/zapomnienia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo wniesienia sprzeciwu, prawo do cofnięcia zgody w dowolnym momencie bez wpływu na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej cofnięciem. Realizację wszystkich powyższych praw można zrealizować poprzez wniosek złożony na stronie https://www.daneosobowe.assecods.pl
  • Ma Pani/Pan prawo wniesienia skargi do Regulatora, gdy uzna Pani/Pan, iż przetwarzanie danych osobowych Pani/Pana dotyczących narusza przepisy Rozporządzenia.
  • Podanie przez Pana/Panią danych osobowych jest niezbędne do realizacji wniosku z zapytaniem. Jest Pan/Pani zobowiązana do ich podania, a konsekwencją niepodania danych osobowych będzie brak możliwości uzyskania odpowiedzi na wysłane zapytanie.
  • Pani/Pana dane będą przetwarzane w sposób zautomatyzowany w tym również w formie profilowania. Zautomatyzowane podejmowanie decyzji będzie odbywało się na zasadach przetwarzania danych osobowych podanych przy utworzeniu Konta i uzupełnianiu danych w nim zawartych oraz danych dotyczących aktywności w Serwisach (zgodnie z Polityką prywatności serwisu internetowego Asseco Data Systems S.A. Polityka prywatności)
    i aktywności związanej z naszą komunikacją mailową z Panią/Panem, a efektem takiego przetwarzania będzie dopasowanie informacji marketingowych dotyczących naszych produktów i usług, które mogą Panią/Pana zainteresować.
Polityka prywatności