Spisu treści:
Wirtualizacja obejmuje różne technologie komputerowe i można ją osiągnąć zarówno na poziomie sprzętowym, jak i programowym. W przedsiębiorstwie wirtualizacja może zwiększyć możliwości usług programowych, zwłaszcza aplikacji SaaS. Jest to również najskuteczniejszy sposób dla przedsiębiorstw na obniżenie kosztów IT. Ale połącz wirtualizację i SaaS, a możesz mieć zwycięską kombinację.
Co to jest SaaS?
Oprogramowanie jako usługa (SaaS) to model licencjonowania oprogramowania, w którym oprogramowanie jest licencjonowane na zasadzie subskrypcji i jest hostowane centralnie przez dostawcę lub usługodawcę. Te rozproszone aplikacje są udostępniane klientom przez Internet.
SaaS staje się popularny wśród technologii obsługujących architekturę zorientowaną na usługi (SOA) lub usługi sieciowe. SaaS ma wiele zalet. Najczęstsze z nich to:
- Łatwa administracja
- Łatwe aktualizacje i zarządzanie poprawkami
- Kompatybilność (wszyscy użytkownicy będą mieli tę samą wersję oprogramowania)
- Globalna dostępność
- Zarządzanie technologiami informatycznymi jako usługa (ITMaaS)
Wirtualizacja i dostawa oprogramowania
Pojęcie wirtualizacji zostało słusznie przyjęte i zaakceptowane przez społeczność programistów. Ma zdolność zapewniania szybszych mechanizmów programowania i testowania poprzez szybkie tworzenie środowisk programistycznych i testowych.
VMware i VBox są najczęściej stosowaną technologią i umożliwiają wielu użytkownikom działanie w różnych systemach operacyjnych, wersjach i instancjach. Większość przedsiębiorstw tworzących oprogramowanie stosuje technikę wirtualizacji, najpierw wdrażając mechanizm wirtualizacji oprogramowania, a następnie stopniowo przechodząc do wirtualizacji sprzętowej.
Wirtualizacja i SaaS
Pomimo wielu zalet, SaaS jeszcze nie otrzymał należnego uznania. Jest za to wiele czynników. Obejmują one:- Ogromny koszt rozruchu: Przychody zainwestowane w konfigurację są odzyskiwane przez lata.
- Może naruszać zasady wolnego oprogramowania: Richard Stallman, działacz na rzecz wolności oprogramowania, nazywa SaaS „usługą jako zamiennikiem oprogramowania (SaaSS)” i uważa to za naruszenie zasad wolnego oprogramowania.
„Dzięki SaaS użytkownicy nie mają kopii pliku wykonywalnego: znajduje się on na serwerze, na którym użytkownicy nie mogą go zobaczyć ani go dotknąć. W ten sposób nie jest w stanie ustalić, co naprawdę robi, i nie można go zmienić SaaS z natury daje operatorowi serwera możliwość zmiany używanego oprogramowania lub operowania danymi użytkowników ”, napisał Stallman na stronie internetowej GNU.
Jeśli skupimy się na kosztach infrastruktury i rozruchu, po wdrożeniu platforma aplikacji SaaS powinna zajmować się tylko odtwarzalnością. Każde wystąpienie aplikacji opartej na SaaS powinno być identyczne. Powinny istnieć minimalne różnice w celu zachowania spójnego zachowania każdej instancji aplikacji dla każdego klienta i zespołu wsparcia. Odbywa się to tak, aby miały jednolitą bazę w celu rozwiązania dowolnego problemu, jeśli to konieczne. Inżynier wsparcia nie chciałby wykryć problemu spowodowanego brakującym modułem biblioteki dla pojedynczej instancji klienta. Podobnie, klient nie chciałby wiedzieć, że może występować problem w każdej zamówionej aplikacji, ponieważ firma z siedzibą w SaaS nie może odtworzyć problemu, wykonując te same czynności dla każdego zamówienia. Cały proces powinien zostać zautomatyzowany w celu zapewnienia spójności i korzyści kosztowych.
Rosnąca złożoność
Ważne jest zrozumienie złożonej natury wdrażania dzisiejszych aplikacji - czy to modelu SaaS, czy modelu tradycyjnego. Nawet najprostsza aplikacja internetowa nie jest już odpowiedzialna za zarządzanie bazową warstwą przechowywania danych. Standardową praktyką jest posiadanie bazy danych, na przykład MySQL, Oracle, DB2 lub SQL Server. Połączenie ich z typowymi stosami internetowymi, takimi jak Java, Ninja, Grails, Rails itp., Prowadzi do wielopoziomowej architektury wymagającej skalowalnego wdrożenia. Na przykład podczas konfigurowania środowiska Rails używaliśmy MySQL.
Zwinny charakter aplikacji, który pozwala na łatwą aktualizację oprogramowania poprzez wtyczki, łatki, makra i mashupy, można łatwo zintegrować z modelem SaaS. Rozszerzenie lub łatka jest opracowywana dla mniejszego problemu, przez większość czasu naprawionego błędu, który musi być dostarczony jako łatka do wychodzącego oprogramowania. Zwykle klient nie chciałby usłyszeć, że problem wystąpił z powodu ograniczenia zasobów lub innych okoliczności, lub że jest on tworzony przez innego klienta.
Zgodnie z Wikipedią oddzielenie problemów jest założeniem podziału aplikacji na odrębne funkcje, co minimalizuje nakładanie się funkcji. Po wdrożeniu wirtualizacji tę koncepcję można zastosować w infrastrukturze. Rozdzielenie można zastosować do poszczególnych aplikacji, klientów i / lub klastrów. Wciąż wykorzystując sprzęt do maksymalnej pojemności, zapewnia on możliwość skalowania w poziomie i w pionie. Jest to korzystne w przypadku aplikacji dla pojedynczych najemców, które chcą wejść na rynek SaaS. Natychmiastową wielozadaniowość na bazowym sprzęcie z prawie zerową zmianą kodu można łatwo osiągnąć.
Istnieją dwa modele wdrażania wdrożone na platformie SaaS firmy Contegix. Czynnik różnicujący zależy od sposobu opracowania aplikacji:
- Aby obsługiwać jednego klienta na wdrożenie lub
- Aby wesprzeć wielu klientów w jednym wdrożeniu
Niezależnie od modelu wdrażania bardzo ważne jest oddzielenie instalacji systemu operacyjnego i instalacji aplikacji od danych aplikacji. Prowadzi to do dyskusji na temat przetwarzania i obsługi aktualizacji. Instalacja systemu operacyjnego i aplikacji powinna uwzględniać ilość danych niestabilnych, które można w każdej chwili zastąpić odświeżoną kopią lub nową wersją.