7 sposobów wykorzystania chmur obliczeniowych

Lista najczęściej spotykanych funkcjonalności i przypadków zastosowania chmur obliczeniowych. Dowiesz się, jak możesz wykorzystać chmurę obliczeniową w codziennych zastosowaniach i jak uprościć swoją infrastrukturę IT.

W ostatnim czasie osoby intensywniej korzystające z rozwiązań IT coraz częściej stawiają sobie pytanie – „a może chmura?”. W biznesie to pytanie stawiane jest jeszcze częściej. Zwłaszcza w takim, który w choć niewielkiej części ociera się o informatykę…

Jak mogę wykorzystać chmurę?

Chmura jako dodatkowy dysk

Chmura, to też przestrzeń dyskowa – po prostu dodatkowy dysk, na który możesz wrzucić prawie wszystko. Począwszy od prywatnych dokumentów, plików, czy nawet zdjęć z wakacji – skończywszy na dokumentach firmowych etc.

Jeśli Twoje pliki nie ważą zbyt wiele, to możesz z powodzeniem skorzystać z darmowych dysków w chmurze. W zależności od ilości potrzebnego miejsca, na rynku można znaleźć oferty do 1TB przestrzeni zupełnie za darmo.

Jednak do profesjonalnego zastosowania powyższe, darmowe dyski mogą nie być wystarczające. Konieczne może być skorzystanie z komercyjnych rozwiązań przestrzeni dyskowej, które zapewnią nie tylko niezbędną przestrzeń, ale też szereg dodatkowych możliwości. 

Serwer WWW w chmurze

Chmura może być także wykorzystana do dzierżawy serwerów o konkretnych parametrach sprzętowych z wybranym systemem operacyjnym (zgodnie z IaaS). To w zasadzie nic innego, jak po prostu serwer wirtualny o parametrach, które możemy w dowolnym momencie zmodyfikować ukierunkowując się na większą moc obliczeniową, lub większą przestrzeń do przechowywania danych czy większą ilość pamięci.  

Taki serwer w chmurze, to jednak zazwyczaj czysty system operacyjny, który trzeba odpowiednio skonfigurować i zainstalować na nim chociażby serwer WWW do prawidłowego obsługiwania naszej strony. Dobrym pomysłem, do takiego serwera WWW, jest profesjonalna opieka administracyjna – to w końcu serwer z w pełni funkcjonalnym, a więc i tak samo w pełni narażonym na problemy systemem operacyjnym. 

Baza danych w chmurze

Chmura jako baza danych? Nie ma problemu. Konkretniej rzecz ujmując – skonfigurowany wstępnie serwer o wybranych parametrach z preinstalowaną bazą danych, którą możemy konfigurować za pomocą interfejsu dostarczonego przez usługodawcę. 

Jakie silniki bazodanowe są obsługiwane przez chmurę? Są to między innymi:

  • Relacyjne – MySQL – z jej różnymi odmianami (MariaDB / Aurora / Percona), PostgreSQL, MS SQL Server
  • Nie relacyjne – NoSQL, DynamoDB, MongoDB

Taka baza może być wykorzystana z dowolnego miejsca, przez dowolne systemy… ale praktyka pokazuje, że najwydajniej działa z poziomu serwerów od tego samego dostawcy. 

Przestrzeń dyskowa w chmurze

To szeroki temat zasługujący chyba na osobny artykuł… ale w skrócie:

Do dyspozycji mamy rozwiązania typu:

  • cold/hot storage – gdzie głównym wyznacznikiem jest czas dostępu do danych, ich bezpieczeństwo (kopie), oraz geolokalizacja
  • Plikowe, blokowe, tabelowe czy obiektowe – gdzie znaczenie ma sposób przechowywania danych, a więc i dostęp do nich

Istnieją różne mieszanki powyższych typów, wzbogacone o mechanizmy pozwalające efektywnie zarządzać danymi (np. API), oraz pozwalające na wykorzystanie przestrzeni jako serwera plików statycznych. 

Przy wyborze najbardziej odpowiedniego rozwiązania najważniejszymi kryteriami, jakimi należy się kierować są:

  • przestrzeń (rozmiar) jaką chcemy wykorzystać
  • ich bezpieczeństwo (kopie bezpieczeństwa, nadmiarowość, geolokalizacja)
  • czas dostępu do danych
  • sposób dostępu i zarządzania danymi
  • fakt korzystania z innych rozwiązań usługodawcy – scentralizowane zarządzanie przynosi sporo korzyści
  • i ostatnia – ale nie najmniej ważna – cena
  •  

Rozwiązania filtrujące, zabezpieczające i cache’ujące żądania WWW

Odpowiednie zabezpieczenie aplikacji internetowej, filtrowanie ruchu i cache to zagadnienia, które nie powinny być obce nikomu, kto poważnie podchodzi do tematu hostingu.

Na rynku chmur dostępne są oferty, które pozwalają zamknąć te trzy ważne funkcje w ramach jednej usługi – niestety zawsze drogiej, zawsze związanej z limitami i zależnej od ilości żądań / transferu. Przy wyborze dostawcy takiej usługi należy zwrócić uwagę na limity ustawień (np. do minimum 2000 żądań z jednego IP / 5 minut przy ustawianiu progu „flood detection”) – zdarza się, że ta wartość dla naszego serwisu/potrzeb może okazać się dużo za duża.

Serwery równoważące obciążenie – loadbalancer

Rozwiązania te mają za zadanie takie zarządzanie naszą infrastrukturą serwerową, by użytkownicy nie odczuli chwilowych pików obciążenia, czy ataku, a my – mamy odczuć oszczędności w momencie, gdy odwiedziny spadają i nie ma potrzeby utrzymywania takiej ilości serwerów – np. w godzinach nocnych.

Podczas wyboru loadbalancera ważne jest aby zwrócić uwagę na możliwość ustawiania autoscalingu (automatycznego dopasowywania infrastruktury do obciążenia) oraz szybkości reakcji. Konfiguracja może być trudna – nie ma to większego znaczenia, bo i tak nie zmienia się jej zbyt często.

Loadbalancer jest często pierwszym ogniwem łączącym użytkownika (np. odwiedzającego serwis WWW) z naszymi serwerami. Ważne więc jest by był bezpieczny oraz miał odpowiednią przepustowść. Często stosowaną praktyką jest umieszczenie WAF’a (Web Application Firewall) przed loadbalancerem w celu filtrowania ruchu i wprowadzenia dodatkowego stopnia zabezpieczeń.

Serverless computing – uruchamianie kodu bez własnego serwera

Funkcjonalność ta jest bardzo pomocna w przypadku, gdy nasza aplikacja opiera się o mikroserwisy lub zbudowana jest z niezależnych elementów, które mogą być uruchamiane oddzielnie – lub na podstawie konkretnych wydarzeń.

Do wykorzystana mamy szereg języków programowania z pre-instalowanymi bibliotekami. Możemy je jednak niemal dowolnie modyfikować i rozszerzać powiększając możliwości naszych funkcji. Pozostaje jeszcze ustawienie odpowiedniego przydziału pamięci i maksymalnego czasu wykonywania skryptów. Te dwa parametry, a także ilość wywołań funkcji są kluczowe dla późniejszych rozliczeń.

Przykładowo – jeśli mamy sklep, w którym aktualizujemy stany magazynowe po przesłaniu przez partnera pliku z danymi – możemy stworzyć funkcje, która będzie uruchamiana gdy pojawi się plik w odpowiedniej lokalizacji i wykona niezbędne operacje dotyczące wspomnianej aktualizacji cen. Będzie to lepsze rozwiązanie niż cron, który co minutę uruchamia plik, który to sprawdza pliki w katalogu i uruchamia funkcjonalność importu stanów magazynowych.

Niejednokrotnie rozwiązania serverless możemy zintegrować z innymi mechanizmami dostępnymi u danego operatora. Przykładowo – uruchamiać funkcję powiadamiającą administratora, gdy WAF wykryje atak na nasz portal.

Podsumowanie

Przy wykorzystaniu chmury obliczeniowej ogranicza nas jedynie wyobraźnia… i cena. Duża część operatorów udostępnia swoje odpowiedniki większości standardowych usług – a już na pewno tych, dostępnych u największej konkurencji.

Jeśli potrzebujesz pomocy przy wybraniu odpowiedniego operatora chmury obliczeniowej lub po prostu chcesz skorzystać z chmury – ale nie wiesz od czego zacząć – napisz do nas. Z pewnością pomożemy.