OpenShift - przegląd

OpenShift to platforma programistyczna w chmurze jako usługa (PaaS) obsługiwana przez firmę Red Hat. Jest to przyjazna dla użytkownika platforma open source oparta na chmurze, która służy do tworzenia, testowania i uruchamiania aplikacji, a następnie wdrażania ich w chmurze.

OpenShift może zarządzać aplikacjami napisanymi w różnych językach, takich jak Node.js, Ruby, Python, Perl i Java. Jedną z kluczowych cech OpenShift jest to, że jest rozszerzalny, co pomaga użytkownikom obsługiwać aplikację napisaną w innych językach.

OpenShift zawiera różne koncepcje wirtualizacji jako warstwę abstrakcji. Podstawowa koncepcja OpenShift opiera się na wirtualizacji.

Wirtualizacja

Ogólnie wirtualizację można zdefiniować jako tworzenie systemu wirtualnego, a nie fizyczną lub rzeczywistą wersję czegokolwiek, począwszy od systemu, pamięci masowej lub systemu operacyjnego. Głównym celem wirtualizacji jest zwiększenie skalowalności i niezawodności infrastruktury IT. Koncepcja wirtualizacji istnieje od dziesięcioleci, a wraz z ewolucją dzisiejszej branży IT może być stosowana do szerokiego zakresu warstw, począwszy od poziomu systemu, poziomu sprzętu, a skończywszy na wirtualizacji na poziomie serwera.

Jak to działa

Można to opisać jako technologię, w której każda aplikacja lub system operacyjny jest wyodrębniony z rzeczywistej warstwy fizycznej. Jednym z kluczowych zastosowań technologii wirtualizacji jest wirtualizacja serwera, która wykorzystuje oprogramowanie zwane hiperwizorem, aby oddzielić warstwę od podstawowego sprzętu. Wydajność systemu operacyjnego działającego w ramach wirtualizacji jest tak dobra, jak w przypadku fizycznego sprzętu. Jednak koncepcja wirtualizacji jest popularna, ponieważ większość uruchomionych systemów i aplikacji nie wymaga użycia odpowiedniego sprzętu.

Architektura fizyczna a wirtualna

Rodzaje wirtualizacji

  • Application Virtualization- W tej metodzie aplikacja jest wyodrębniona z bazowego systemu operacyjnego. Ta metoda jest bardzo przydatna, gdy aplikacja może być uruchamiana w izolacji bez uzależnienia od systemu operacyjnego.

  • Desktop Virtualization- Ta metoda służy do zmniejszenia obciążenia stacji roboczej, w której można uzyskać zdalny dostęp do pulpitu za pomocą cienkiego klienta przy biurku. W tej metodzie komputery stacjonarne są najczęściej uruchamiane w centrum danych. Klasycznym przykładem może być obraz wirtualnego pulpitu (VDI), który jest używany w większości organizacji.

  • Data Virtualization - Jest to metoda abstrakcji i odejścia od tradycyjnego sposobu zarządzania danymi i danymi.

  • Server Virtualization- W tej metodzie zwirtualizowane są zasoby związane z serwerem, w tym fizyczny serwer, proces i system operacyjny. Oprogramowanie, które umożliwia taką abstrakcję, jest często nazywane hiperwizorem.

  • Storage Virtualization - Jest to proces łączenia wielu urządzeń pamięci masowej w jedno urządzenie pamięci masowej, które jest zarządzane z jednej konsoli centralnej.

  • Network Virtualization - Jest to metoda, w której wszystkie dostępne zasoby sieciowe są łączone poprzez rozdzielenie dostępnej przepustowości i kanałów, z których każdy jest niezależny od siebie.

OpenShift

OpenShift to platforma aplikacji obsługująca chmurę jako usługa (PaaS). Jest to technologia typu open source, która pomaga organizacjom przenieść tradycyjną infrastrukturę i platformę aplikacji z fizycznych, wirtualnych nośników do chmury.

OpenShift obsługuje bardzo dużą różnorodność aplikacji, które można łatwo rozwijać i wdrażać na platformie chmurowej OpenShift. OpenShift zasadniczo obsługuje trzy rodzaje platform dla programistów i użytkowników.

Infrastruktura jako usługa (IaaS)

W tym formacie dostawca usług udostępnia maszyny wirtualne na poziomie sprzętu z pewną wstępnie zdefiniowaną wirtualną konfiguracją sprzętową. W tej przestrzeni jest wielu konkurentów, zaczynając od chmury AWS Google, Rackspace i wielu innych.

Główną wadą posiadania IaaS po długiej procedurze konfiguracji i inwestycji jest to, że nadal jest się odpowiedzialnym za instalację i utrzymanie systemu operacyjnego i pakietów serwerowych, zarządzanie siecią infrastruktury i dbanie o podstawową administrację systemem.

Oprogramowanie jako usługa (SaaS)

W przypadku SaaS najmniej zmartwień jest podstawowa infrastruktura. Jest to tak proste, jak plug and play, w którym użytkownik musi po prostu zarejestrować się w usługach i zacząć z nich korzystać. Główną wadą tej konfiguracji jest to, że można wykonać tylko minimalną ilość dostosowań, na którą zezwala usługodawca. Jednym z najczęstszych przykładów SaaS jest Gmail, w którym użytkownik musi się tylko zalogować i zacząć go używać. Użytkownik może również wprowadzić drobne modyfikacje na swoim koncie. Jednak z punktu widzenia dewelopera nie jest to zbyt przydatne.

Platforma jako usługa (PaaS)

Można go uznać za środkową warstwę między SaaS i IaaS. Podstawowym celem oceny PaaS jest programista, w którym środowisko programistyczne można uruchomić za pomocą kilku poleceń. Środowiska te są zaprojektowane w taki sposób, aby mogły zaspokoić wszystkie potrzeby programistyczne, począwszy od posiadania serwera aplikacji internetowych z bazą danych. Aby to zrobić, potrzebujesz tylko jednego polecenia, a usługodawca zrobi wszystko za Ciebie.

Dlaczego warto korzystać z OpenShift?

OpenShift zapewnia wspólną platformę dla jednostek korporacyjnych do hostowania aplikacji w chmurze bez martwienia się o podstawowy system operacyjny. To sprawia, że ​​korzystanie, tworzenie i wdrażanie aplikacji w chmurze jest bardzo łatwe. Jedną z kluczowych funkcji jest to, że zapewnia zarządzany sprzęt i zasoby sieciowe do wszelkiego rodzaju programowania i testowania. Dzięki OpenShift deweloper PaaS ma swobodę projektowania wymaganego środowiska ze specyfikacjami.

OpenShift zapewnia różnego rodzaju umowy dotyczące poziomu usług, jeśli chodzi o plany usług.

Free - Ten plan jest ograniczony do trzech lat z 1 GB miejsca na każdy.

Bronze - Ten plan obejmuje 3 lata i rozszerza się do 16 lat przy 1 GB przestrzeni rocznie.

Sliver - To 16-letni plan Bronze, jednak ma pojemność 6 GB bez dodatkowych kosztów.

Oprócz powyższych funkcji, OpenShift oferuje również wersję lokalną znaną jako OpenShift Enterprise. W OpenShift programiści mają możliwość projektowania skalowalnych i nieskalowalnych aplikacji, a projekty te są wdrażane przy użyciu serwerów HAproxy.

funkcje

Istnieje wiele funkcji obsługiwanych przez OpenShift. Niewielu z nich to -

  • Obsługa wielu języków
  • Obsługa wielu baz danych
  • System kaset rozszerzalnych
  • Zarządzanie wersjami kodu źródłowego
  • Wdrażanie jednym kliknięciem
  • Obsługa wielu środowisk
  • Standaryzowany przepływ pracy deweloperów
  • Zarządzanie zależnościami i kompilacją
  • Automatyczne skalowanie aplikacji
  • Responsywna konsola internetowa
  • Bogaty zestaw narzędzi wiersza polecenia
  • Zdalne logowanie SSH do aplikacji
  • Obsługa REST API
  • Samoobsługowy stos aplikacji na żądanie
  • Wbudowane usługi baz danych
  • Ciągła integracja i zarządzanie wersjami
  • Integracja IDE
  • Zdalne debugowanie aplikacji