Połączenie chmury z infrastrukturą on premise - dlaczego i kiedy warto
Obecnie systemy można hostować na dwa sposoby - on-premise (na własnej infrastrukturze) oraz w chmurze publicznej - np. Google Cloud. Istnieje jednak możliwość korzystania z obu rozwiązań równocześnie. W jakich sytuacjach warto jednocześnie utrzymywać systemy on-premise i w chmurze publicznej?
Hosting on-premise
Hostowanie aplikacji on-premise oznacza instalację, uruchomienie i utrzymanie jej na własnej infrastrukturze. Wiele firm nadal decyduje się na utrzymywanie swoich serwerów, często z powodów niezależnych od samej firmy. Powodami takiej sytuacji są na przykład:
- technologiczny brak możliwości hostowania danej aplikacji w chmurze (na przykład z powodu korzystania ze starszych technologii, które w ogóle nie dają takiej opcji)
- dążenie do posiadania całkowitej kontroli nad know-how zawartym w aplikacji
- regulacje zewnętrzne, na przykład konieczność dostarczania regulatorowi dokładnej informacji o lokalizacji przetwarzania danych lub ograniczenia płynące z RODO.
W przypadku on-premise jesteśmy zmuszeni wybrać konfigurację maszyn już na starcie - serwery muszą być kupione lub wynajęte od operatora data-center. Mając gotowe maszyny należy zainstalować na nich OS, skonfigurować sieć, zabezpieczenia, prowadzić cykliczne audyty i tworzyć kopie zapasowe - takie operacje wymagają oczywiście kolejnych roboczogodzin administratora systemów.
Późniejsze zmiany wiążą się z kolejnymi zakupami i czasem potrzebnym do zaaplikowania zmian. Mechanizmy high availability wymagane przez wielu klientów - np. serwerownia w zapasowej lokalizacji, dodatkowe łącze internetowe i niezależne źródło zasilania - mnożą koszty.
Raz powołane środowisko hostingowe on premise będzie generować stałe koszty co miesiąc. Większość trzeba ponieść na samym początku, później dotyczą one wyłącznie utrzymania i ewentualnej rozbudowy infrastruktury.
Hosting w chmurze publicznej
Chmura publiczna niewątpliwie ma wiele zalet. Pozwala na uruchomienie systemu praktycznie z zerowym kosztem na start - nie trzeba kupować sprzętu, zatrudniać administratorów i czekać na instalację i konfigurację systemów. Z reguły hosting chmurowy bierze te zadania na siebie.
Zasoby chmurowe można też znacznie łatwiej skalować. Dołożenie kolejnych maszyn, czy zwiększenie ich mocy obliczeniowej można przeprowadzić praktycznie od razu, wykupując większy pakiet u dostawcy.
Chmura pozwala również na dobór specjalistycznych usług takich jak zewnętrzne orkiestratory czy chociażby cały katalog usług związanych z bigdata - prawidłowa konfiguracja chmury pozwala na zachowanie kontroli nad miesięcznymi kosztami oraz takie poruszanie się po usługach, aby dobrać te najodpowiedniejsze z optymalnym kosztem dla naszej aplikacji.
Koszt utrzymania infrastruktury chmurowej będzie wyższy niż w przypadku środowiska on-premise. Dostawcy umożliwiają jednak pewną elastyczność i opłaty mogą się zmieniać, w zależności od realnie wykorzystanych zasobów.
Kiedy rozważyć połączenie własnej sieci z infrastrukturą chmurową?
Firmy najczęściej łączą dwie metody hostingu, gdy chcą przenieść do chmury tylko część swoich aplikacji. Inne mają pozostać on-premise. Jednocześnie konieczne jest zachowanie komunikacji między aplikacjami po wewnętrznych adresach IP.
Takie rozwiązanie jest szczególnie przydatne, gdy część aplikacji charakteryzuje się dużym, sezonowym obciążeniem. Narażone na duże skoki obciążenia systemy można przenieść do chmury, aby korzystać z łatwego skalowania i nie musieć płacić za niewykorzystywaną przez pewien czas infrastrukturę. Aplikacje wspierające lub nienarażone na skokowy wzrost ruchu mogą w tej sytuacji być nadal on-premise.
Inną sytuacją może być chęć wykorzystania systemów Big Data lub wykorzystujących sztuczną inteligencję. Można wtedy wykorzystać komponenty pracujące w Google Cloud, a ich wyniki - siecią wewnętrzną - przekazywać do aplikacji hostowanych on-premise.
W chmurze warto też hostować aplikacje, które muszą być odporne na awarie infrastruktury i zapewniać szybki czas odzyskiwania danych po ewentualnych awariach infrastruktury on-premise. Przeniesienie kluczowych systemów do chmury może więc pozytywnie wpłynąć na działanie całego biznesu.
Metody połączenia infrastruktury on-premise z chmurą publiczną
Google - twórca chmury GCP - udostępnia kilka metod połączenia infrastruktury on-premise z chmurą publiczną:
- Cloud VPN (w dwóch wariantach: Classic VPN oraz High-Availability VPN)
- Cloud Interconnect (które można podzielić na Dedicated Interconnect lub Partner Interconnect).
Połączenie za pomocą Cloud VPN
Cloud VPN w sposób bezpieczny łączy sieć on-premise z siecią VPC w Google Cloud. Wykorzystuje do tego połączenie IPSec VPN. Ruch odbywający się między jedną i drugą siecią jest szyfrowany przez jedną z bram VPN i następnie deszyfrowany przez bramę VPN po drugiej stronie. Warto zaznaczyć, że używając VPN, ruch - w bezpieczny sposób - przechodzi przez sieć Internet.
Cloud VPN w GCP występuje w dwóch wariantach - Classic VPN oraz High Availability VPN. Classic VPN jest starszą wersją tego sposobu połączenia chmury z infrastrukturą on-premise. Cechuje się on SLA (gwarantowanym czasem dostępności VPN) na poziomie 99,9%, podczas gdy High-Availability VPN posiada SLA 99,99%. Warto zauważyć, że Classic VPN jest aktualnie wycofywany - istniejące połączenia tego typu powinny zostać zmienione na High-Availability VPN.
Połączenie za pomocą Cloud Interconnect
Cloud Interconnect jest dużo bardziej zaawansowanym rozwiązaniem zalecanym do sieci z dużo większymi potrzebami. Co za tym idzie, jest znacznie droższe. Wyróżniamy dwa rodzaje Cloud Interconnect - Partner Interconnect oraz Dedicated Interconnect.
W obu przypadkach należy posiadać fizyczny dostęp do infrastruktury Google. W przypadku Dedicated Interconnect uzyskanie dostępu i spełnienie innych wymagań leży po stronie firmy, która chce połączyć swoją sieć z siecią Google. Takie rozwiązanie zapewnia oczywiście największą przepustowość łącza.
W przypadku Partner Interconnect należy znaleźć Partnera hostingowego, który ma już zapewniony dostęp do infrastruktury sieciowej Google i skorzystać z jego usług. W obu przypadkach ruch nie przechodzi przez publiczny Internet, lecz bezpośrednio z sieci on-premise do sieci VPC.
Połączenie infrastruktury on-premise z chmurą publiczną: wady i zalety
Dzięki zastosowaniu połączeń między infrastrukturą on-premise a Google Cloud możemy uzyskać szereg korzyści:
- zwiększenie niezawodności i dostępności aplikacji przy jednoczesnej kontroli nad kluczowymi elementami systemu
- zmniejszenie kosztów związanych z niewykorzystanymi zasobami przy jednoczesnym zapewnieniu skalowalności tam, gdzie jest ona wymagana
- możliwość skorzystania z szeregu nowoczesnych usług o ogromnej mocy obliczeniowej bez konieczności inwestycji we własną infrastrukturę.
Utrzymywanie części aplikacji on-premise a części w chmurze ma też jednak swoje wady:
- konieczność uruchomienia nowej technologii, zdobycia kompetencji związanych z jej obsługą i dbania jednocześnie o dwa środowiska hostingowe
- ryzyko związane z przesyłem danych przez Internet przy Cloud VPN lub konieczność spełnienia restrykcyjnych wymagań Google przy Cloud Interconnect
- rosnący stopień złożoności środowiska hostingowego.
Jakie rozwiązanie wybrać?
Jeżeli w firmie stwierdzono już konieczność przeniesienia części aplikacji do chmury, kluczowe będą wymagania biznesu co do przepustowości łącza. Jeżeli nie jest to kluczowy czynnik, najlepszym i najtańszym wyborem będzie Cloud High-Availability VPN. Jeżeli jednak oczekujemy najwyższej wydajności, to warto rozważyć opcję Cloud Interconnect.