?Termin SaaS pochodzi z języka angielskiego i jest skrótem wyrażenia ?Software as a Service?. W języku polskim jego odpowiednikiem jest termin ?Oprogramowanie jako usługa?. SaaS polega na zdalnym udostępnieniu oprogramowania poprzez Internet. W modelu SaaS udostępniana jest nie tyle sama aplikacja (nie następuje uruchomienie pełnej aplikacji na komputerze użytkownika), lecz umożliwia się interakcję z nią poprzez interfejs przeglądarki internetowej. Sama aplikacja znajduje się na serwerach dostawcy SaaS.?
Jednak w prasie i nie tylko pojawiają się pewne mity o zaletach tej architektury. Jakie?
Model aplikacji w architekturze SaaS
Zanim wgłębimy się w niuanse zalet i demagogii SaaS powiemy sobie co nieco o modelu architektury oprogramowania i integracji.
Praktycznie każde oprogramowanie można zaprezentować w postaci jak na powyższym diagramie, od najniższej warstwy kolejno mamy:
Dane ? składowane informacje o przetwarzanych przez oprogramowanie faktach (np. nazwa firmy, adres, telefon, …)
Model dziedziny ? model informacyjny reprezentujący pojęcia i związki pomiędzy pojęciami, którymi operuje firma korzystająca z oprogramowania, pojęcia wymagająca zachowania (np. rejestrujemy to, że kontrahenci składają zamówienia)
Logika oprogramowania ? to komplet reguł i procesów biznesowych, które cechują daną firmę a także reguły przetwarzania danych i współpracy pojęć w modelu dziedziny (np. sposoby naliczania rabatów)
Interfejs użytkownika ? to część oprogramowania, z która bezpośrednio ma do czynienia użytkownik, ostatnio najczęściej jest to przeglądarka internetowa.
Powyższy diagram przedstawia dwa pakiety oprogramowania, jeden poza firmą oznaczony SaaS. Interfejs użytkownika to przeglądarka internetowa użytkownika więc umieszczony został na diagramie został poza obszarem SaaS.
Dwie czerwone linie z grotami pokazują dwie kluczowe relacje podczas ewentualnej integracji.
Modele dziedziny opisują naszą firmę dlatego powinny być takie same w każdej używanej wewnątrz jednej firmy aplikacji. W przeciwnym wypadku wymiana danych (integracja różnych systemów) będzie utrudniona lub wręcz niemożliwa. W wielu przypadkach integrację oprogramowania nadal realizuje się poprzez sięganie jednej aplikacji do danych drugiej (tam gdzie nie ma innej możliwości i jest to legalne!, prawidłową formą integracji jest jednak stosowanie standardowych interfejsów np. udostępnionych przez producenta danego oprogramowania interfejsów komunikacyjnych).
Tyle na wstępie. Pozostałe pokazane relacje pokazują ogólnie komunikowanie się warstw oprogramowania o czym w dalszej części.
Mity SaaS
W sieci ukazało się pewne opracowanie, nie przytaczam tego źródła gdyż nie jest moim celem krytyka tej konkretnej pracy a polemika z tego rodzaju opisami. Ale po kolei
Mit 1
?Główną zaletą SaaS jest możliwość natychmiastowego rozpoczęcia korzystania z aplikacji bez konieczności zakupu serwerów, oprogramowania i żmudnego procesu jej wdrożenia?
Prawdą jest, że nie ma potrzeby zakupu serwerów i oprogramowania ale stwierdzenie, że nie potrzebny jest proces wdrożenia jest już fałszywe gdyż każdy program należy sparametryzować wprowadzając dane związane z kontami użytkowników i ich uprawnień oraz, na ile to możliwe, dopasować model danych (dziedziny).
Często słyszę, że ?nasze oprogramowanie ma już wbudowany referencyjny model danych Państwa branży powstały na podstawie naszych wieloletnich doświadczeń?. Co nie zmienia faktu, że mało znam wdrożeń, w których nie korygowano i nie dodawano lub modyfikowano by pól w bazach danych. Do tego dochodzi integracja nowego oprogramowania z już wykorzystywanym w firmie co rzadko kiedy jest trywialnym zajęciem.
Mit 2
?Prostota pracy z aplikacją i zarządzania nią; aplikacje SaaS są dobrze zaprojektowane pod względem użyteczności, co pozwala skoncentrować się na wykonaniu zadania, a nie na ?walce z aplikacją?
Te aplikacje niczym się nie różnią od tych, które mamy już wewnątrz firmy (zakładając, że nie są to rozwiązania z przed wielu lat). Ok kilku już lat nowoczesne oprogramowanie coraz częściej tworzone jest do pracy przez przeglądarkę i jest dobrze zaprojektowane. Sugerowanie, że inne niż SaaS jest złe to demagogia.
Mit 3
?Oszczędność na kosztach wsparcia i serwisu ? firma korzystająca z SaaS nie musi utrzymywać rozbudowanego działu IT czy korzystać z zewnętrznych usług tego typu.?
Jeżeli mamy już jakiekolwiek oprogramowanie w firmie to mamy także dział IT (nie ważne czy własny czy w postaci umowy z firma zewnętrzną), tak więc to stwierdzenie dotyczy wyłącznie przypadku gdy całe oprogramowanie mamy w modelu SaaS. Nie zmienia to faktu, że prosty tak zwany help-desk i tak firma powinna posiadać.
Mit 4
?Dostęp do zawsze aktualnej wersji oprogramowania ? brak konieczności dokonywania aktualizacji aplikacji na komputerach użytkowników?
Każde oprogramowanie wymaga od czasu do czasu wymiany na nowsze, nawet to od dostawcy SaaS. Tu co najwyżej proces ten może przebiegać sprawniej ale występuje.
Mit 5
?Możliwość korzystania z aplikacji z dowolnego komputera i z dowolnego miejsca?
Jeżeli posiadane na własność oprogramowanie wymaga do pracy tylko przeglądarki WWW to także możemy je udostępnić poza siedzibą firmy przez Internet.
Mit 6
?Gwarancja bezpieczeństwa ? usługi SaaS świadczone są przez systemy informatyczne zabezpieczone fizycznie i logicznie tak, by sprostać najbardziej wymagającym klientom (z czego korzystają także mniej wymagający klienci).?
Tu podobnie jak mit 5, nie ma żadnych przesłanek by twierdzić, że tylko zewnętrzna firma może zapewnić bezpieczeństwo. Po drugie zgodnie z zasadą ?to czego używamy w firmie powinno być wystarczająco dobre a nie najlepsze? dotyczy także oprogramowania, nie ma potrzeby przepłacania dla idei.
Mit 7
?Bezpieczeństwo danych ? dostawca SaaS tworzy kopie bezpieczeństwa danych klientów?.
A my nie tworzymy (jeśli tylko chcemy)?.
Mit 8
?Skalowalność ? rozwiązania SaaS łatwo skalują się wraz ze wzrostem zapotrzebowania ze strony klienta, ponieważ działają na platformie zaprojektowanej do obsługi tysięcy użytkowników?.
Mało która firma tak urośnie w ciągu okresu użytkowania jednej wersji oprogramowania. Ten argument także jest troszkę na wyrost.
Mit 9
?Duża dostępność ? SaaS to usługi, które muszą być dostępne bez przerwy.?
Usługodawca faktycznie musi mieć taka niezawodność ale czy każdy jego także klient musi? Bo na pewno tu za to zapłaci.
Mit 10
?Dostawcy zapewniają najwyższy poziom niezawodności łącznie z systemami zapewnienia ciągłości pracy na wypadek klęsk żywiołowych lub poważnych awarii (systemy typu disaster recovery).?
To prawda ale czy każda firma tego wymaga? Swego czasu ten argument podnoszono przy promowaniu outsourcingu i oprogramowania w modelu ASP (w zasadzie ten sam model nie licząc technologii).
Mit 11
?SaaS sprawdza się także dlatego, że oferuje dużą moc obliczeniową ? moc, na której budowę i utrzymanie firmy MSP nie mogą sobie często pozwolić.?
To stwierdzenie mnie najbardziej zastanawia gdyż SaaS na rynku daleko ma do ?sprawdzenia się?.
No więc co z tym SaaS?
Przytoczmy dla ułatwienia model:
Nieomówiona wcześniej zielona linia pomiędzy blokami Logika aplikacji to zalecana metoda (komunikować się powinny ze sobą warstwy logiki integrowanych aplikacji) integracji oprogramowania np. w postaci webservisów czy tak zwanego API. Nie wgłębiając się w szczegóły pojęć webservice czy API co do zasady poprawna integracja oprogramowania polega na komunikowaniu się logiki oprogramowania a nie ?zaglądaniu do cudzych danych? (to temat na osobny esej).
Popatrzmy na nasze, posiadane już oprogramowanie. Niewątpliwie ma sens rozważanie nabycia (używania) kolejnego w trybie SaaS w przypadku gdy mamy pewność, że:
integracja nowego SaaS i już posiadanego oprogramowania będzie przebiegała na linii oznaczonej zielono czyli za pośrednictwem mechanizmów wbudowanych w oprogramowanie
modele dziedziny (bazy danych) będą na tyle zbliżone (bo na identyczność bym nie liczył), że możliwa będzie wymiana danych bez utraty informacji (np. jedna aplikacja przechowuje dane miasto i kod w jednym polu a druga w osobnych polach).
Trudno tu opisać wszystkie niuanse techniczne w korzystaniu z oprogramowania w modelu SaaS jednak po pierwsze korzyści nie są oczywiste po drugie te korzyści mogą być prawdziwe ale należy to sprawdzić.
Powyższy model wskazuje na kluczowe problemy do rozwiązania, mam nadzieję każe się zastanowić i krytycznie podejść do ofert. Nie jestem przeciwnikiem SaaS jestem przeciwnikiem kategorycznych stwierdzeń, że ?SaaS jest dobre? a po drugie jako analityk zastanawiam się dlaczego to ?jedynie słuszne rozwiązanie? nadal nie zawojowało rynku.
Podsumowując wydaje mi się, że w przyszłości SaaS zaistnieje równolegle z oprogramowaniem średniej klasy sprzedawanym masowo, czyli oprogramowaniem z pudełka. Skoro można kupić i używać oprogramowanie za kilkaset złotych bez żadnego ?wdrożenia? to znaczy, że można to oprogramowanie także wydzierżawić. Jednak nie liczył bym na to, że liderzy w swoich segmentach rynku, budujący swoją przewagę na różnicach w stosunku do konkurentów skorzystają takich gotowców.
Jest oczywiście pewna sfera zastosowań nie kluczowych, takich jak np. serwery poczty elektronicznej, która doskonale nadaje się do oferowania w ten sposób ale tak to jest już od lat robione od lat. Korzystanie z konta pocztowego u providera internetowego to nic innego jak SaaS, w szczególności gdy z poczty korzystamy przez WWW. Podobnie jak z Google docs.
Kończąc, moim zdaniem SaaS to znacząca alternatywa dla zakupu oprogramowywania in-house (do zainstalowania ?u siebie?) ale warto takie wdrożenie przeanalizować dokładnie tak samo jak każde inne czyli wykonać analizę wymagań na oprogramowanie i dopuścić także dostawców SaaS koniecznie jednak należy przeprowadzić analizę dziedziny systemu i upewnić się, że oferowane oprogramowanie pozwala na integrację a już posiadanymi rozwiązaniami gdyż tu możliwości dopasowania są z reguły znacznie mniejsze.
Notatka: Minąl miesiąc od czasu gdy napisałem ten artykuł i widze nie ja jeden mam podobne watpliwości, (treśc j.ang.): SaaS challenge – Who’s data is it anyway?