#37 – Zalety i wady rozwiązań chmurowych – część pierwsza

W tym odcinku omawiam rozmaite pojęcia ze świata technologii chmurowych, a także rozpoczynam analizę zalet i wad wdrożenia chmury w organizacji.

💡
Spodobał Ci się ten odcinek? Zasubskrybuj mój podcast na swojej ulubionej platformie i podziel się nim ze znajomymi!

Transkrypcja odcinka

Cześć, nazywam się Krzysztof Rychlicki-Kicior i witam cię serdecznie w podcaście „Software z każdej strony”, w którym dowiesz się, jak łączą się ze sobą świat biznesu i IT.

To jest odcinek 37 – Zalety i wady rozwiązań chmurowych, część pierwsza. Temat rozwiązań chmurowych przewija się w tym podcaście regularnie. Śmiem twierdzić, że do czasu eksplozji popularności AI był to chyba jeden z popularniejszych base word’ów. Nie da się ukryć, że zwłaszcza migracje do chmury, to taki trochę magiczny temat, z którym mierzą się firmy małe i duże. I często spotykamy się właśnie z takim pytaniem, czy na przykład moglibyśmy pomóc komuś z migracją do chmury, czy to przyniesie korzyści, jak wygląda taki proces. No jednym słowem, chmura chmurze chmurą pogania, jest odmieniana przez wszystkie przypadki.

Technologie chmurowe niewątpliwie są już na takim poziomie rozwoju, że ewidentnie możemy mówić o wielu przypadkach, o wielu scenariuszach, w których pomogą one w rozwoju firmy, natomiast jak zawsze, nie jest to jeden prosty, uniwersalny przepis, taki „złoty klucz” do sukcesu. I na pewno w gąszczu, zarówno dostawców usług chmurowych, jak i samych technologii oferowanych właśnie przez przeróżne firmy trzeba znaleźć ten właściwy zbiór, ten właściwy zestaw, które faktycznie organizacji pomogą.

Temat jest stosunkowo długi, może nie jakiś bardzo długi, ale jednocześnie jest też to czas wakacji. W momencie, gdy nagrywam te słowa i chyba, jeżeli dobrze pamiętam, to również w takim okresie wakacyjnym jeszcze te odcinki będą publikowane, tak więc założyłem, że podzielę sobie ten temat na dwa odcinki. I początkowo myślałem, że w jednym przedstawię zalety, a w drugim wady, natomiast z drugiej strony uznałem, że zalety i wady troszkę się wiążą ze sobą. Często jest tak, że po prostu mamy raczej pewien argument i warto na niego spojrzeć z dwóch stron, dlatego w tym odcinku dokonuję pewnego wprowadzenia i rozpoczęcia przedstawienia tych rozmaitych zalet i wad, a w kolejnym po prostu temat dokończę.

Natomiast no właśnie, zanim zaczniemy, zanim przejdziemy do takiego spojrzenia z obu stron, powracamy do starej tradycji i omawiania definicji. Często bywa bowiem właśnie z base word’ami, że tak naprawdę wszyscy mówią o jakimś pojęciu, o jakimś trendzie, ale kiedy przychodzi co do czego, mało kto omawia konkretnie, o co właściwie chodzi. Ja akurat tutaj nie robię tego często. Natomiast akurat w przypadku tego tematu tak się składa, że ze studentami u siebie tam na uczelni prowadziłem zajęcia z technologii chmurowych, więc musiałem porządnie, akademicko pochylić się nad tym tematem i zdefiniować sobie, co to właściwie jest ta chmura, czym są technologie chmurowe, czy też często zwane chmurą obliczeniową (cloud computing), jak to zdefiniować.

I w sumie to tak naprawdę nie dziwi mnie, że jest to temat problematyczny, bo środowiska chmurowe jednak mocno wyszły wprost z biznesu. Wiadomo, że takim dość dużym graczem, od którego w zasadzie tutaj się na szerszą skalę wszystko zaczęło, był Amazon, potem pojawiły się inne chmury, Azure, chmura Google’owa. Natomiast przez to, że tutaj od samego początku było spore wsparcie, czy wręcz promowanie tego trendu przez korporacje, to takie precyzyjne definicje gdzieś tam umykają, bo liczy się marketing, liczy się biznes, liczy się to, żeby te usługi sprzedać. Także przez chmurę, chmurę obliczeniową będziemy rozumieć przede wszystkim usługę, tak? Oczywiście za chwilę sobie powiemy, co to jest ta usługa, natomiast przede wszystkim jest to usługa, a nie produkt. Bo produkt to na przykład serwer. Idziemy do sklepu, kupujemy komputer. Ten komputer będzie naszą własnością, będziemy z niego korzystać tak długo, aż się nie zepsuje. Ewentualnie kupujemy, idziemy do tego samego sklepu, kupujemy licencję na używanie na przykład Windowsa w jakiejś tam określonej wersji. Też mamy licencję, ona nam na pewne rzeczy pozwala, ale jednak z założenia raczej mamy tutaj do czynienia z licencją bezterminową. Możemy, krótko mówiąc, korzystać z tego oprogramowania, aż nam się nie znudzi.

W przypadku usług ewidentnie mamy tutaj do czynienia ze świadczeniem usługi na naszą rzecz. Czyli ktoś udostępnia nam serwer, albo udostępnia nam oprogramowanie, co oczywiście siłą rzeczy jest czymś, nie chcę powiedzieć gorszym, ale czymś bardziej ograniczonym, ale z drugiej strony niesie to też ze sobą zupełnie inną skalę kosztów. Drugim aspektem jest to, że mówimy oczywiście o usłudze cyfrowej, o dostępie do zasobów cyfrowych. To jest chyba oczywiste. Natomiast w przypadku chmur obliczeniowych skupiamy się na sferze IT, na dostępie bądź to do zasobów cyfrowych, sprzętowych, bądź do różnego rodzaju usług aplikacyjnych.

Kolejną ważną składową tej definicji jest dostęp na żądanie. To jest ważne, bo tak naprawdę jak ktoś sięga pamięcią, można powiedzieć dalej, niż te 15 lat wstecz, to nawet na początku tego stulecia i wcześniej był możliwy dostęp na przykład do serwera u hostingodawcy, czy w ogóle możliwość wykupienia sobie hostingu, żeby sobie na przykład umieścić stronę www. I tutaj trudno się nie zgodzić, że takie usługi miały i mają zresztą dalej, bo dalej takie usługi występują, znamiona jakby definicji usług chmurowych, tak? One nie są gdzieś tam przechowywane, nie trzymamy sobie strony internetowej na swoim serwerze w firmie, tylko płacimy komuś, żeby móc umieścić stronę właśnie u kogoś. Natomiast dość ważnym aspektem takich jednak typowych usług chmurowych jest to, że mamy ten dostęp dość swobodny. To znaczy, jeżeli potrzebujemy w danej chwili serwera, jakiejś maszyny, jakiejś usługi, to za nią płacimy. Ale jeżeli w pewnym momencie stwierdzimy, że w sumie już tej usługi nie potrzebujemy, wyłączamy, i jesteśmy rozliczani w sposób dość granularny, czyli często co do sekundy. Czasem jest to troszkę, można powiedzieć, mniej podzielna wartość, natomiast w przypadku takich tradycyjnych hostingów to jednak płaciło się z reguły za miesiąc, czasem za rok. I tutaj nie chodzi tylko o ten powiedzmy przedział czasowy, ale chodzi o to, że w przypadku zwłaszcza dużych dostawców chmurowych, no mówimy tutaj o sporej automatyce możliwości właśnie wyliczenia potem automatycznie, ile kosztowała nas konkretna usługa, ile czasu działała. Jest to bardzo dobre, zwłaszcza w przypadku jakichś drogich dosyć takich, można powiedzieć, wyrafinowanych zasobów.

Kolejnym argumentem, kolejną cechą usług chmurowych, chmury jest to, że nie mamy tak naprawdę dostępu do infrastruktury. To nie jest sprzęt, do którego mamy dostęp. Często w przypadku takich usług, które wykraczają poza poziom infrastruktury, tak jak na przykład usługodawcy [niezrozumiałe 00:08:39], gdzie sobie wynajmujemy bazę danych, albo kupujemy sobie możliwość uruchomienia aplikacji, nie mamy dostępu do systemu operacyjnego, gdzie jest to uruchomione. Mamy jakiś panel dostępny przez przeglądarkę i w zasadzie tyle możemy zrobić. I tutaj to ma oczywiście właśnie już na tym poziomie zalety i wady, bo nie wiem, chcemy sobie uruchomić bazę danych na AWS-ie w Amazonie, nie musimy się zastanowić, jaki konkretnie komputer chcemy kupić, jaki system operacyjny zainstalować, potem jak wgrać na ten system operacyjny jakąś bazę danych, czy Oracle, czy na SQL, czy MS SQL. Oczywiście rodzaj bazy danych musimy w AWS-ie wybrać z tych dostępnych, natomiast jakby nie schodzimy na taki poziom, w którym w zasadzie musimy krok po kroku wszystko zestawić sami. Wprowadzamy tylko kluczowe parametry, związane oczywiście też z tym, ile chcemy płacić, no i to po prostu działa samo, działa w tle można powiedzieć.

I wreszcie ostatni aspekt tej definicji, związany trochę z tą elastycznością, jeśli chodzi o dostępność, czyli właśnie to, że ten dostęp jest bardzo wygodny, granularny i automatyczny, to to że na tej podstawie jesteśmy w stanie też bardzo dokładnie płacić za te zasoby cyfrowe, chmurowe, które faktycznie zużyliśmy. Płacimy za na przykład czas działania serwera, płacimy za liczbę żądań, czy liczbę powiedzmy operacji wykonanych na, nie wiem, systemie mapowym Google’a, płacimy za moc obliczeniową. Krótko mówiąc, płacimy za to, czego faktycznie używamy. I chyba trudno powiedzieć, że jest to nieuczciwe. Z drugiej strony krążą historie, może jakieś takie dosyć insiderskie memy, jak trudno jest przewidzieć dokładne wydatki, bo z zużyciem oczywiście wiążą się wydatki. I to jest duży problem, bo o ile można posługiwać się pewnymi powiedzmy rzędami wielkości, o tyle gdy klient na etapie ofertowania, na przykład stworzenia systemu i  później utrzymania takiego systemu pyta: „no dobrze, to ile ja zapłacę za tą chmurę”, to pytamy najczęściej, czy możemy podać kwotę z przybliżeniem, w przybliżeniu, bo dokładna odpowiedź na to pytanie jest z reguły, staram się unikać stwierdzenia, że niemożliwa, ale naprawdę, naprawdę jest to bardzo trudne.

No i na tym kończymy definicję . Już jak widać, sporo czasu ona zajęła. Jednocześnie pamiętajmy proszę, że ta definicja dotyczy takich klasycznych dostawców chmurowych. Właśnie przez to, że chmura jest pojęciem bardzo pojemnym, to o chmurze też możemy mówić, czy o aplikacji działającej w chmurze, jako aplikacji typu SaaS, Software as a Service, tak? Czyli moja firma działa w chmurze, bo korzystam z oprogramowania SaaS-owego. I to trudno się z tym jakoś kłócić. Natomiast na potrzeby tego odcinka w dużej mierze koncentrujemy się jednak na tych dostawcach właśnie większych, mniejszych, ale jednak mocno też opartych o zarówno usługi gotowe, ale też infrastrukturę, którą można sobie po prostu wynająć. Natomiast punktem odniesienia, czy też porównania będą środowiska typu on-premises, czyli krótko mówiąc, to wszystko co mamy lokalnie, na miejscu, w siedzibie firmy, organizacji. W dużym, naprawdę dużym uproszczeniu ot po prostu taka serwerownia mniejsza, większa. W większych firmach oczywiście możemy już mówić o jakichś centrach danych, dedykowanych przestrzeniach właśnie na potrzeby przechowywania infrastruktury IT, ale jest to jakaś taka właśnie przestrzeń sprzętowa.

I nie da się ukryć, że zaczniemy tą naszą dyskusję i ona się przeciągnie jeszcze na pewno na kolejny odcinek, czyli właśnie dylemat, kiedy stosować tę infrastrukturę typu on-premises, czyli właśnie w siedzibie, a kiedy koncentrować się na chmurze. I od razu dodam, że jakby po prostu skupimy się na pewnych wadach i zaletach właśnie tych rozwiązań. Tutaj jednocześnie też warto pamiętać, że nikt nie broni stosować jakiejś opcji pośredniej, tak? Mieć niektóre usługi w chmurze, a niektóre u siebie, natomiast po prostu przeanalizujemy sobie, co właściwie daje nam chmura, a co te środowiska on-premises.

I takim pierwszym argumentem jest oczywiście koszt sprzętu. Jeżeli na przykład chcę wyuczyć i przetestować jakiś model sztucznej inteligencji, głębokiego nauczania zwłaszcza na naprawdę dobrej maszynie dostępnej w Amazonie, w AWS-ie muszę zapłacić za taką sesję testowania kilkanaście, kilkadziesiąt dolarów. Tu też zależy, jak szybko chcę mieć wyniki. Natomiast gdybym chciał to uzyskać od podstaw, musiałbym kupić komputer. Komputer te takie podstawowe komponenty, to oczywiście kwestia tam jakichś paru tysięcy złotych, ale żeby dopełnić tego obrazu, trzeba kupić też odpowiednią kartę graficzną przystosowaną do obliczeń używanych w procesie uczenia, maszynowego uczenia głębokiego. A te karty, to są karty, które przerastają możliwości nawet najbardziej wyrafinowanych graczy, bo tu mówimy o rzędach wielkości kilkudziesięciu tysięcy złotych. Więc taki komputer ot po prostu, żeby nam szybko liczył sieci neuronowe, uczył te sieci, to jest wydatek ogromny. I tu już jest taki pierwszy dylemat. Z pozoru wydaje się, że ta dysproporcja kosztu, pojedyncze nauczenie versus zakup takiego komputera jest po prostu ogromna. Ale jeżeli sobie to wszystko przemnożymy przez pewną dużą liczbę godzin, bo na przykład się okaże, że my te sieci neuronowe chcemy uczyć z grubsza cały czas, cały czas przyuczać, cały czas douczać, to może się okazać, że koszt maszyn Amazonowych w dłuższym terminie po prostu przestanie być opłacalne. Ale z drugiej strony myślimy tutaj o koszcie sprzętu, ale sprzęt przecież nie chodzi na energię z kosmosu, mówiąc wprost. Pozostaje jeszcze kwestia eksploatacji takiego sprzętu, kwestia prądu, kwestia Internetu, czy też kwestia klimatyzacji. Tutaj ostatnio działy się pewne w przestrzeni publicznej dyskusje na temat wydatków na czajniki, czy też raczej na gotowanie wody na komisariatach. I tutaj warto zauważyć, że w tych jakichś informacjach, które dało się znaleźć na temat funkcjonowania polskiej policji, klimatyzatory były, jeżeli dobrze pamiętam, w gabinetach komendantów, na dyżurce i właśnie w serwerowniach. Bo serwery w gorącej temperaturze, w wysokiej temperaturze sobie radzić dobrze nie będą. I to też jest koszt, który trzeba uwzględnić. Więc jeżeli będziemy na przykład sobie porównywać wydatek na serwer versus wydatek na chmurę, to też musimy pamiętać o doliczeniu tych nieszczęsnych rachunków.

Idąc dalej, OK, mamy sprzęt, mamy pokryte koszty jego funkcjonowania, takie pod kątem rachunków, ale komputer wymaga jeszcze pewnego utrzymania i opieki od strony ludzkiej, można powiedzieć, czyli jakiejś administracji. Krótko mówiąc musimy mieć kogoś, albo zatrudnionego w firmie, trochę drogo, albo skorzystać z jakiegoś outsourcingu usług IT na poziomie właśnie takim sprzętowym, czy też wsparcia bezpośrednio IT, kto będzie w razie potrzeby pomagał nam z problemami związanymi z obsługą tego sprzętu, czy też będzie dbał na przykład o jego aktualizację. Krótko mówiąc, kolejny koszt, który musi być poniesiony, jeżeli chcemy mieć pewną ciągłość działania usługi.

I wreszcie chyba już czwarty argument, kwestia jakby zużycia samego sprzętu. Czyli to, że nawet jak mamy sprzęt zadbany, opłacony i wspierany, aktualizowany, to po pewnym czasie po prostu ten sprzęt przestanie być możliwy do realnego użycia, zacznie być przestarzały. Mówimy tu oczywiście z reguły nie o latach, nawet może to być kwestia dekady, ale jednak trzeba pamiętać o tym, że nawet dobre, mocne serwery, czy jakieś inne maszyny, które sobie zakupimy na rzecz działania jakichś systemów przestaną być sprawne. Ja tu oczywiście się tak skupiłem na sprzęcie, ale pamiętajmy też, że nie wiem, systemy operacyjne, których licencje kupimy, też w pewnym momencie przestaną być obsługiwane i trzeba będzie wydać pewną kwotę na aktualizację. To mogą być kwoty małe, to mogą być kwoty duże, natomiast przy obliczaniu opłacalności trzeba tę zmienną w równaniu uwzględnić.

Chmura oczywiście w naturalny sposób rozwiązuje większość omówionych problemów związanych właśnie ze środowiskami on-premises, ale do szczegółów przejdę już w kolejnym odcinku. Ustosunkuję się też do trochę innych kwestii, które warto rozważyć przed podejmowaniem decyzji w sprawie środowiska chmurowego, migracji do tego środowiska zwłaszcza, bo jakby jedną rzeczą jest podejmowanie decyzji, w jaki sposób ułożyć infrastrukturę produktów, usług IT używanych w firmie, w nowej organizacji, czy też w organizacji, która ucyfrawia się, tak? Od zera, a inaczej, gdy już mamy jakieś systemy. To są może nie kompletnie inne tematy, ale jednak trzeba wziąć pod uwagę różne, a raczej dodatkowe kryteria, zwłaszcza w przypadku migracji. Także to wszystko na dzisiaj. Zapraszam zwłaszcza właśnie tutaj za dwa tygodnie na kontynuację. Dziękuję za uwagę, kłaniam się nisko i do usłyszenia.

KONIEC