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