Aplikacja w internecie, w chmurze czy stacjonarna?

Opublikowano Bezpieczeństwo informatyczne

Czy program w chmurze jest odpowiedni dla biura tłumaczeń?

Decydując się na wybór oprogramowania, należy przede wszystkim już na samym początku wybrać, czy ma to być system on-line, czy stacjonarny. W naszym opracowaniu bezstronnie podsumujemy zalety i wady każdego z tych rozwiązań.

Systemem on-line, czyli aplikacją internetową, możemy nazwać każdy program, który jest dostępny przez Internet, najczęściej przy pomocy przeglądarki internetowej. Funkcjonuje on zwykle w modelu serwer-klient, czyli oprogramowanie aplikacji zainstalowane jest na centralnym serwerze (lub kilku/kilkunastu serwerach), a użytkownicy łączą się z nim ze stanowisk klienckich z dowolnego miejsca. Oczywiście dostęp do niego może być ograniczany – np. wyłącznie z wewnętrznej sieci biurowej lub wirtualnej sieci prywatnej (VPN).

Szczególnym rodzajem systemów on-line są te umieszczone w chmurze obliczeniowej. Co do zasady są to dokładnie takie same aplikacje, również działające w architekturze klient-serwer, ale umieszczone w szczególnego rodzaju „serwerowni”, której komponenty (jak np. serwery aplikacji, serwery baz danych, macierze dyskowe, systemy równoważenia obciążenia, redundancja, sieci neuronowe do sztucznej inteligencji itp.) są zwykle wysoko zwirtualizowane i dostępne dla właściciela aplikacji na bardzo elastycznych warunkach według bieżącego zapotrzebowania. Zasoby chmury zwykle są udostępniane w modelu współdzielonej odpowiedzialności – np. o zabezpieczenia fizyczne (monitoring, ochrona) i infrastrukturę (prąd, sieć) dba dostawca chmury, a pozostałe kwestie leżą w rękach dostawców oprogramowania. To nieocenione wsparcie ze strony wykwalifikowanych ekspertów sieciowych, które nie jest dostępne nigdzie indziej.

Przez system desktopowy natomiast możemy rozumieć aplikację (program) działającą na komputerze użytkownika – w całości, łącznie z bazą danych (lokalną) i wszystkimi komponentami niezbędnymi do uruchomienia i działania programu. Nie jest on domyślnie osiągalny z Internetu, chyba że użytkownik uzyska zdalny dostęp do maszyny (np. poprzez usługę zdalnego pulpitu), na której go uruchomi. W rzeczywistości programy w pełni desktopowe, funkcjonujące bez użycia Internetu, praktycznie już nie występują. Nawet sztandarowe przykłady takich aplikacji, takie jak Word czy Excel, są częściowo zależne od konta w chmurze Microsoftu i pobierają wiele komponentów z Internetu podczas działania.

Warto zatem zauważyć, że już sama definicja często jest mylona przez użytkowników, a nawet sprzedawców tego typu systemów. Na przykład programy działające na lokalnym serwerze biurowym określane są jako „stacjonarne”, gdy tymczasem działają on-line, ponieważ dostępne są przez Internet. Często też wszystkie aplikacje on-line błędnie nazywane są „chmurowymi”, podczas gdy na przykład działają one w „zwykłej” serwerowni.

System operacyjny

Aplikacje komputerowe są instalowane na określonym systemie operacyjnym. Program działający pod jedną nazwą, który można uruchomić na Windowsie, MacOS lub Linuksie, jest zasadniczo trzema zupełnie różnymi programami. Jeśli wszyscy w firmie pracują na tym samym systemie (np. na Windowsie) – wystarczy znaleźć program dla tego jednego systemu. Kiedy jednak preferencje użytkowników są podzielone (np. część używa Windowsa, a część MacOS) – należy poszukiwać wersji wielosystemowej.

Aplikacji on-line nie dotyczy to ograniczenie. W rzeczywistości nie muszą być w ogóle instalowane – są już zainstalowane na serwerze. Aby uzyskać dostęp do systemu on-line, wystarczy przeglądarka i połączenie internetowe. Możesz pracować z dowolnego urządzenia, a to oznacza nie tylko komputer, lecz także tablet i smartfon.

Wsparcie techniczne jest ważnym czynnikiem przy wyborze oprogramowania

Wsparcie techniczne

Nie ma programów bez błędów. Występują one w obu typach oprogramowania i czasami wyłapują je użytkownicy. Wadą aplikacji internetowych jest to, że jeśli błąd okaże się krytyczny, to mogą go doświadczać wszyscy użytkownicy systemu. Tej wadzie odpowiada również zaleta, ponieważ jego naprawa na serwerze oznacza natychmiastowe naprawienie go dla wszystkich – bez opóźnień.

Te problemy trochę inaczej rozwiązuje chmura – większość aplikacji chmurowych zarządza całą konfiguracją systemu tak, jakby był to zwykły, kolejny program, co np. po wdrożeniu nieudanej aktualizacji pozwala na błyskawiczne wycofanie błędnego kodu i powrót do stanu aplikacji sprzed wystąpienia problemu. Dodatkowo częste i łatwe w użyciu kopie zapasowe dbają o spójność danych i plików. Znacząco zmniejsza to ryzyko wystąpienia krytycznego błędu, którego skutki dotkną wszystkich użytkowników. Dlatego tak ważne jest podkreślanie różnicy pomiędzy aplikacjami internetowymi działającymi w „zwykłej” serwerowni, a tymi w chmurze.

Proces poprawiania błędów jest bardziej skomplikowany w przypadku aplikacji desktopowych. Sposób ich działania zależy od specyfikacji danego komputera (wersja systemu operacyjnego, dostępność bibliotek, ustawienia systemowe, używane oprogramowanie antywirusowe itp). Aby naprawić błąd, serwis pomocy technicznej musi ustalić, co dokładnie jest jego przyczyną, współpracując z użytkownikiem, co oczywiście wymaga jego czasu.

Aktualizacje

Programy, które są regularnie aktualizowane i ulepszane, działają lepiej – jest to oczywista prawda, której nie trzeba uzasadniać. Każda aktualizacja eliminuje mniejsze lub większe błędy, które zostały znalezione i dodaje nowe funkcje programu.

W aplikacjach on-line aktualizacje są instalowane bez angażowania użytkowników, a nawet bez ich wiedzy. Co więcej, specyfika aplikacji działających w chmurze pozwala na aktualizację programu nawet podczas aktywnej pracy użytkowników na serwerze. Dzieje się tak dzięki rozdzieleniu serwerów na warstwy i używaniu mechanizmów rozkładania obciążenia – podczas aktualizacji podmienia się tak naprawdę całe serwery zamiast aplikacji na nich.

Natomiast uaktualnienia programów desktopowych użytkownicy muszą sami świadomie pobrać i zainstalować. W tym procesie zdarzają się oczywiście błędy wynikające np. ze specyfiki systemu operacyjnego, jakości połączenia internetowego, innego oprogramowania kolidującego z aktualizacją itp.

Integracja z systemami zewnętrznymi

Programy on-line komunikują się przez interfejs programistyczny (API), łącząc się w całe ekosystemy. Na przykład z projektu utworzonego w systemie zarządzania projektami tłumaczeniowymi on-line za pomocą jednego kliknięcia przycisku można utworzyć fakturę w internetowej aplikacji do fakturowania. Można również wysłać plik do internetowego silnika tłumaczenia maszynowego i po przetłumaczeniu przekazać go od razu wykonawcy do postedycji – bez pobierania na dysk i przesyłania niezbyt bezpiecznym kanałem e-mailowym. Dane automatycznie migrują szyfrowanym kanałem z jednego systemu do drugiego, bez konieczności ręcznego wprowadzania tych samych danych do różnych baz i bez ryzyka ich wycieku „po drodze”.

Programy desktopowe też mogą być połączone z bazami danych on-line i w praktyce coraz częściej współdziałają ze sobą, choć należy przyznać, że jest to bardziej skomplikowane z technicznego punktu widzenia. W pewien sposób ogranicza to też bezpieczeństwo sieci lokalnej, która przecież musi być otwarta na komunikację takiej aplikacji z serwerami poza biurem.

Gdybyśmy natomiast chcieli zapewnić komunikację w drugą stronę, czyli np. tak skonfigurować aplikację internetową, aby wysyłała dane do programu stacjonarnego – często może się to okazać wręcz niemożliwe. Oznacza to, że aplikacje desktopowe mają znacznie mniej perspektyw na integrację.

Można przypuszczać, że programy oparte na izolacji i braku łączności będą w przyszłości coraz rzadziej występować.

Nikt nie chce tracić czasu na manualne kopiowanie danych i ryzykować ich bezpieczeństwa podczas transportu.

Dlatego też często firmy decydują się nie tyle na konkretne oprogramowanie, co na ekosystem (np. chmurowy) i trzymają się go, mając gwarancję, że będzie on kompatybilny z innymi rozwiązaniami, które będą pojawiać się na rynku – nawet jeśli teraz jeszcze ich nie ma.

Wydajność

Jeśli system jest zainstalowany na komputerze, jego szybkość działania będzie zależała od mocy procesora, ilości pamięci, wolnego miejsca na dysku i ustawień systemu operacyjnego. W aplikacjach internetowych czynniki te również są istotne, ale po stronie serwera.

W systemach chmurowych ponadto stosowany jest mechanizm automatycznego skalowania serwerów, który polega na zwiększaniu mocy procesora i dostępnej pamięci (skalowanie wertykalne – spotykane rzadziej) oraz dostawianiu kolejnych serwerów (skalowanie horyzontalne – stosowane częściej). W praktyce działa to tak, że kiedy system-nadzorca zauważa rosnące obciążenie serwerów (czyli np. nowych logujących się użytkowników), uruchamia kolejne maszyny i dodaje je jako nowe zasoby do mechanizmu równoważenia obciążenia. Dzięki temu nowi użytkownicy trafiają na nowe, mniej obciążone serwery (w sposób zupełnie dla nich przezroczysty, bez zakłócania pracy), a dotychczasowe serwery obniżają swoje obciążenie.

Konieczność posiadania połączenia internetowego może być również uważana za wadę systemów on-line. W przeciwieństwie do korzystania z programu stacjonarnego, praca z nimi jest niemożliwa bez łączności z Internetem, co sprawia, że do systemu nie zalogujemy się np. z pokładu samolotu. Natomiast w dobie powszechnie dostępnego Internetu LTE i łączy światłowodowych doprowadzanych bezpośrednio do biur i domów problem ten wydaje się schodzić na dalszy plan.

Wydajność i bezpieczeństwo informacji w biurze tłumaczeń

Bezpieczeństwo informacji

Ludzie często boją się korzystać z aplikacji internetowych i przechowywać dane w chmurze, martwiąc się o bezpieczeństwo i poufność danych. Zakładają najczęściej, że systemy stacjonarne są pod tym względem bezpieczniejsze, ponieważ kiedy dane są fizycznie przechowywane na komputerze, oznacza to, że są pod kontrolą. Niestety to założenie jest często błędne.

Komputery w firmach najczęściej są podłączone do Internetu (choćby po to, żeby odczytywać na nich pocztę e-mail), a dostęp do sieci zapewniany jest przez router. O ile w przypadku dużych biur tłumaczeń (np. z własnym zespołem IT) jest to urządzenie z wyższej półki cenowej, o tyle w wielu miejscach to zwykły router – taki jak w domu. Oznacza to, że teoretycznie komputery użytkowników są dostępne z zewnątrz, a w praktyce poziom zabezpieczenia przed tym zależy jedynie od poziomu wiedzy administratora sieci, który zajmuje się na bieżąco jej utrzymywaniem, aktualizacją oprogramowania routera, firewalla i innych urządzeń sieciowych.

Dopóki nad zabezpieczeniem sieci biurowej nie pracuje zespół wysokiej klasy specjalistów, to napastnikowi łatwiej będzie włamać się do sieci biurowej niż do chmury, nad której bezpieczeństwem czuwa zarówno duży zespół dostawcy chmury, jak i specjaliści ze strony twórców aplikacji.

Bardzo łatwo jest także stracić kontrolę nad tym, co dzieje się na komputerach biurowych. Jesteśmy wszyscy nieustannie zalewani podejrzanymi wiadomościami e-mail, złośliwym oprogramowaniem, które coraz łatwiej zainstalować z pominięciem oprogramowania antywirusowego, np. jako ważną aktualizację dla aplikacji desktopowej. Tzw. powierzchnia ataku (czyli w uproszczeniu liczba luk w oprogramowaniu, które może wykorzystać atakujący) na komputerach stacjonarnych z zainstalowanymi wieloma programami i służącymi do wykonywania wielu różnych prac jest bardzo duża, co sprawia, że bezpieczeństwo tych maszyn jest znacznie niższe niż w przypadku serwerów internetowych i chmury. W przypadku serwerowni on-line najczęściej stosowana jest zasada pojedynczej odpowiedzialności, która oznacza, że na jednym serwerze zainstalowany jest jeden główny program (zależny od roli, którą pełni serwer).

Dziś trudno jest tak naprawdę znaleźć firmę, która nie korzysta jeszcze z aplikacji internetowych. Większość organizacji używa bowiem takich dobrodziejstw, jak serwer poczty e-mail, konto bankowe z dostępem przez Internet, czy choćby wysyła pliki JPK do urzędu skarbowego lub sprawozdania finansowe do KRS. Owszem, z różnych źródeł słyszymy o „wyciekach” danych, haseł czy adresów e-mail z systemów on-line, ale w porównaniu do ilości wszystkich danych przechowywanych w Internecie jest to nadal niewielki odsetek. Poza tym, włamania do lokalnych sieci biurowych, są po prostu mniej medialne. To sytuacja podobna do tej z samolotami – latanie jest wciąż najbezpieczniejszym sposobem przemieszczania się, mimo że często słyszymy o spektakularnych katastrofach lotniczych.

Potrzebę zwiększonego bezpieczeństwa w Internecie rozwiązuje właśnie chmura obliczeniowa. Oprócz nieosiągalnych dla małych i średnich firm poziomów zabezpieczeń samych serwerowni (jak np. ochrona dostępu, całodobowy monitoring) oraz bezpieczeństwa infrastruktury sprzętowej, chmura znacząco ułatwia stosowanie takich środków, jak: szyfrowanie połączeń, plików na dyskach, systemów bazodanowych i kopii zapasowych oraz połączeń pomiędzy serwerami, firewall (tzw. „zapory ogniowe”) zarówno na poziomie sieciowym, jak i na warstwie sprzętowej przed serwerem oraz w formie oprogramowania już na samym serwerze, zarządzanie uprawnieniami dostępu na poziomie użytkownika, całej sieci i pojedynczego serwera. Oprócz tych zabezpieczeń w aplikacjach internetowych stosowane są również zabezpieczenia na poziomie samej aplikacji i oprogramowania pomocniczego.

Kopie zapasowe

Systemy desktopowe i systemy internetowe stosują zupełnie różne podejście do wykonywania i utrzymywania kopii zapasowych, tzw. backupów. W przypadku programów stacjonarnych zagadnienie jest zwykle w całości pozostawione użytkownikowi końcowemu, który może wykonywać regularne kopie, ale nie musi tego robić. Jest to niewielki problem, kiedy firma dysponuje specjalistą, który skonfiguruje automatyczne backupy, wykonywane na redundantne dyski zewnętrzne w dwóch niezależnych lokalizacjach, zaplanuje proces okresowej wymiany tych dysków (ważne!) i co jakiś czas przetestuje wyrywkowo ostatni wykonany backup. Doświadczenie jednak uczy, że jest to zjawisko niezwykle rzadko spotykane w małych i średnich firmach.

W systemach on-line problem wykonywania regularnych kopii zapasowych jest przeniesiony na stronę dostawcy oprogramowania. Oczywiście, również oni mogą zrobić to w sposób nieprzemyślany, jednak wielu dostawców infrastruktury chmurowej wymusza używanie dobrych praktyk. Na przykład w Mantreo wszystkie pliki użytkowników, bez względu na ich rozmiar, kopiowane są zaraz po wgraniu do dwóch dodatkowych niezależnych serwerowni, oddalonych o kilka/kilkanaście kilometrów od głównej lokalizacji. Stamtąd co 4 godziny trafiają do odrębnego systemu składowania, który przechowuje zaszyfrowane kopie plików w dwóch kolejnych lokalizacjach. Co ciekawe, pliki nigdy nie są z tego systemu usuwane, a jedynie po jakimś czasie automatycznie „zamrażane”, czyli przenoszone do tzw. „zimnego backupu” – systemów bardzo wolnego zapisu i odczytu, ale o bardzo wysokiej trwałości.

Podsumowanie

Aplikacje desktopowe mają przewagę nad aplikacjami internetowymi i w chmurze wtedy, gdy pracujesz w ściśle określonych granicach i nie planujesz wychodzić poza nie, nie potrzebujesz ekosystemu i nie planujesz integracji i rozbudowy swojego środowiska.

Systemy internetowe są bardziej elastyczne i łatwiejsze w rozwoju, integracji i utrzymaniu, ale kosztem konieczności dostępu przez Internet. Mimo że programy stacjonarne mogą dawać poczucie kontroli i lepszej ochrony danych, to jednak jest to pewnego rodzaju spuścizna z końcówki ubiegłego wieku, kiedy to rzadko się zdarzało, aby komputer w ogóle był podłączony do Internetu – dziś kwestie bezpieczeństwa informatycznego wyglądają zupełnie inaczej.

Najważniejsze to nie popadać w paranoję i świadomie dokonać wyboru najlepszej dla firmy opcji pod kątem celów i planów biznesowych.


Podobne informacje

Gdzie znaleźć tłumaczy freelancerów do projektów tłumaczeniowych?
12.02.2019
Gdzie znaleźć tłumaczy freelancerów do projektów tłumaczeniowych?
Czytaj dalej »

Komentarze