Red Hat OpenShift Serverless to zestaw zarządzanych komponentów opartych na Kubernetes, ukierunkowanych na mikroserwisy, kontenery i realizacje Function-as-a-Service (FaaS).

To rozwiązanie „w pudełku” zawiera środki bezpieczeństwa i zarządzania ruchem, oraz łączy w sobie Red Hat Operators, i do uruchamiania obciążeń stateless i serverless na platformie OpenShift w środowiskach prywatnych, publicznych, hybrydowych i multi-cloud.
pozwala developerom całkowicie skupić się na tworzeniu aplikacji nowej generacji, oferując szeroki wybór języków programowania, frameworków, środowisk deweloperskich i innych narzędzi do tworzenia oraz wdrażania innowacyjnych produktów biznesowych.
Kluczowe cechy Red Hat OpenShift Serverless:
- Szeroki wybór języków programowania i komponentów runtime dla aplikacji serverless. Możesz wybrać dokładnie ten zestaw narzędzi, który odpowiada Twoim potrzebom.
- Automatyczne skalowanie poziome w zależności od intensywności zapytań lub w przypadku wystąpienia zdarzeń dla efektywnego zarządzania zasobami na podstawie rzeczywistych, a nie hipotetycznych potrzeb.
- Pełna integracja z OpenShift Pipelines, systemem ciągłej integracji i dostarczania (CI/CD) opartym na Kubernetes, bazującym na Tekton.
- Baza w postaci Red Hat Operator, umożliwiająca administratorom bezpieczne zarządzanie działającymi instancjami oraz ich aktualizację, a także organizująca cykl życia aplikacji w stylu usług chmurowych.
- Stałe śledzenie nowych wydań community, w tym Knative 0.13 Serving, Eventing i kn (oficjalne CLI dla Knative) – jak w przypadku wszystkich produktów Red Hat oznacza to skrupulatne testowanie i weryfikację na różnych platformach i konfiguracjach OpenShift.
Ponadto Red Hat ściśle współpracuje w zakresie technologii Serverless z wieloma partnerami, a także z Microsoftem w kwestiach Azure Functions oraz (więcej informacji w ). W szczególności certyfikowany operator OpenShift już istnieje u , a niedawno zaczęliśmy współpracę , aby Serverless Framework mógł działać z OpenShift Serverless i Knative. Te partnerstwa można traktować jako oznakę dojrzałości serverless i początek kształtowania się ekosystemu branżowego.
Jeśli wcześniej zainstalowałeś wersję beta Red Hat OpenShift Serverless, możesz ją zaktualizować do ogólnie dostępnej wersji GA (general availability). W tym celu należy skonfigurować kanał aktualizacji subskrypcji OLM, jak pokazano na Rys. 1.

Rys. 1. Aktualizacja kanału subskrypcji.
Kanał subskrypcji należy zaktualizować, aby odpowiadał wersji OpenShift Container Platform 4.4 lub 4.3.
Knative Services – najwyższej klasy usługi
OpenShift 4.4 znacząco upraszcza wdrażanie aplikacji z funkcjami OpenShift Serverless, umożliwiając łatwe uruchamianie usług Knative bezpośrednio z trybu dewelopera w webowym interfejsie OpenShift.
Dodając nową aplikację do projektu, wystarczy wskazać dla niej typ zasobów Knative Service, co natychmiast aktywuje funkcjonalność OpenShift Serverless oraz włącza skalowanie do zera w trybie oczekiwania, jak pokazano na Rys. 2.

Rys. 2. Wybór Knative Service jako typu zasobów.
Prosta instalacja z użyciem Kourier
Jak już pisaliśmy w , wykorzystanie umożliwiło znaczne zmniejszenie listy wymagań przy instalacji Serverless na OpenShift, a w wersji GA tych wymagań jest jeszcze mniej. Wszystko to przyczynia się do zmniejszenia zużycia zasobów, przyspieszenia zimnego uruchamiania aplikacji i eliminacji wpływu typowych, nie-serverless obciążeń działających w tej samej przestrzeni nazw.
Ogólnie rzecz biorąc, te ulepszenia oraz poprawki w OpenShift 4.3.5 przyspieszają tworzenie aplikacji z wcześniej zbudowanego kontenera o 40-50% w zależności od rozmiaru obrazu.
Jak wszystko przebiega bez użycia Kourier, można zobaczyć na Rys. 3:

Rys. 3. Czas tworzenia aplikacji, gdy Kourier nie jest używany.
Jak wszystko przebiega, gdy stosuje się Kourier, można zobaczyć na Rys. 4:

Rys. 4. Czas tworzenia aplikacji przy użyciu Kourier.
TLS/SSL w trybie automatycznym
OpenShift Serverless może teraz automatycznie tworzyć i wdrażać TLS/SSL dla trasy (OpenShift Route) Twojego Knative Service, abyś nie musiał się martwić o realizację i utrzymanie tych funkcji podczas pracy nad aplikacją. Innymi słowy, Serverless uwalnia programistów od trudności związanych z TSL, zachowując jednocześnie wysoki poziom bezpieczeństwa, którego wszyscy oczekują od Red Hat OpenShift.
Interfejs wiersza poleceń OpenShift Serverless
W OpenShift Serverless nazywa się kn i jest dostępny bezpośrednio w konsoli OpenShift na stronie Narzędzia wiersza poleceń, jak pokazano na Rys. 5:

Rys. 5. Strona pobierania narzędzia wiersza poleceń OpenShift Serverless.
Pobierając z tej strony, otrzymujesz wersję kn dla MacOS, Windows lub Linux, która została sprawdzona przez Red Hat i gwarantuje brak złośliwego oprogramowania.
Na Rys. 6 pokazano, jak w kn można w jednej komendzie wdrożyć serwis, aby w kilka chwil stworzyć instancję aplikacji na platformie OpenShift z dostępem przez URL:

Rys. 6. Użycie narzędzia wiersza poleceń kn.
To narzędzie pozwala na pełne zarządzanie zasobami Serverless Serving i Eventing bez potrzeby przeglądania lub edytowania jakichkolwiek konfiguracji YAML.
Ulepszona wizualizacja Topology w trybie dewelopera konsoli
Teraz zobaczmy, jak poprawiona wizualizacja Topology ułatwia zarządzanie usługami Knative.
Wizualizacja skoncentrowana na Knative Service
Usługi Knative na stronie wizualizacji Topology wyświetlane są w postaci prostokąta, zawierającego wszystkie rewizje, jak pokazano na Rys. 7:

Rys. 7. Usługi Knative na stronie wizualizacji Topology.
Tutaj można na pierwszy rzut oka zobaczyć bieżące procenty podziału ruchu Knative Service oraz pogrupować usługi Knative w ramach grupy aplikacji, aby łatwo wizualnie monitorować co się dzieje wewnątrz wybranej grupy.
Zwijanie list usług OpenShift Knative
Kontynuując temat grupowania, warto wspomnieć, że w OpenShift 4.4 można zwijać usługi Knative w obrębie grupy aplikacji dla bardziej wygodnego przeglądania i zarządzania usługami, gdy w projekcie wdrażane są bardziej złożone aplikacje.
Usługa Knative w szczegółach
W OpenShift 4.4 także poprawiono boczny panel dla usług Knative. Pojawiła się na nim karta Zasoby, na której wyświetlane są komponenty serwisu, takie jak Pods, Revisions i Routes. Te komponenty również umożliwiają szybkie i proste przejście do logów poszczególnych podów.
Wizualizacja Topology również pokazuje procenty podziału ruchu i nawet pozwala szybko zmienić konfigurację. Dzięki temu można szybko poznać podział ruchu dla wybranej usługi Knative w czasie rzeczywistym po liczbie podów działających dla danej rewizji, jak pokazano na Rys. 8.

Rys. 8. Podział ruchu Knative Service.
Głęboki wgląd w rewizje Serverless
Widok Topologii teraz umożliwia znacznie głębsze spojrzenie na wybraną rewizję, na przykład, można szybko zobaczyć wszystkie jej podzbiory i, jeśli to konieczne, przejrzeć ich dzienniki. Ponadto w tym widoku można łatwo uzyskać dostęp do wdrożeń i konfiguracji rewizji, a także do podścieżki, która wskazuje bezpośrednio na tę rewizję, jak pokazano na Rys. 9:

Rys. 9. Zasoby skojarzone z rewizjami.
Mamy nadzieję, że opisane powyżej nowości przydadzą się Wam przy tworzeniu i zarządzaniu aplikacjami serverless, a w kolejnych wersjach pojawi się jeszcze więcej przydatnych funkcji dla programistów, takich jak możliwość tworzenia źródeł zdarzeń i inne.
Zainteresowany?
Twoja opinia jest dla nas ważna
, co myślisz o serverless. Dołącz do naszej grupy Google aby uczestniczyć w dyskusjach i seminariach Office Hours, aby współpracować z nami i przesyłać swoje opinie oraz sugestie.
Dodatkowe informacje
o tworzeniu aplikacji OpenShift za pomocą następujących zasobów Red Hat:
Źródło: habr.com
