Jak wirtualizacja może wzmocnić aplikacje SaaS

Autor: Roger Morrison
Data Utworzenia: 17 Wrzesień 2021
Data Aktualizacji: 19 Czerwiec 2024
Anonim
MARKETING APLIKACJI SaaS, jak SKUTECZNIE PROMOWAĆ PRODUKT (SMW #47: Kinga Edwards)
Wideo: MARKETING APLIKACJI SaaS, jak SKUTECZNIE PROMOWAĆ PRODUKT (SMW #47: Kinga Edwards)

Zawartość



Źródło: Tashatuvango / Dreamstime.com

Na wynos:

Virtualzation i SaaS mogą być potężnym połączeniem dla firm.

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ść
SaaS jest również uważany za część nomenklatury przetwarzania w chmurze wraz z:
  • Infrastruktura jako usługa (IaaS)
  • Komputer stacjonarny jako usługa (DaaS)
  • Back-end jako usługa (BaaS)
  • Platforma jako usługa (PaaS)
  • 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 obsługiwanych danych użytkowników ”, napisał Stallman na stronie internetowej GNU.
Dobrym przykładem SaaS nad wirtualizacją jest Amazon Web Services (AWS). AWS oferuje wiele programów i platform. Oprogramowanie jest instalowane na wirtualnych hostach i może być skalowane w górę lub w dół w razie potrzeby.

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 spowodowany 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 Contegixs SaaS. Czynnik różnicujący zależy od sposobu opracowania aplikacji:
  • Aby obsługiwać jednego klienta na wdrożenie lub
  • Aby obsługiwać wielu klientów w jednym wdrożeniu
Innym powszechnym modelem wdrażania jest zapewnienie wyższego stopnia separacji. Podstawowe aplikacje infrastruktury są podzielone na maszyny wirtualne, każda skalowana na odpowiednich wymaganych poziomach. Oprócz modelu z jednym dzierżawcą model ten umożliwia skalowanie nie tylko poszczególnych składników pod względem zasobów maszyny wirtualnej, ale także liczby wystąpień. Ten model bardzo dobrze sprawdza się w przypadku dużych instancji lub aplikacji wielu klientów.

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 powinny być w każdej chwili zastąpione odświeżoną kopią lub nową wersją.