W poprzednich artykułach omówiliśmy, czym jest chmura i jak możemy rozpocząć przygodę z cloud computing. Najwyższa pora pochylić się nad terminologią chmurową. Pod lupę weźmiemy trzech najpopularniejszych dostawców usług typu cloud, czyli Amazon Web Services (AWS), Microsoft Azure oraz Google Cloud Platform (GCP). Zacznijmy jednak od powszechnych pojęć, które są wspólne dla wszystkich dostawców.

Cloud (chmura) – infrastruktura złożona z serwerów obliczeniowych, baz danych, sieci oraz oprogramowania. Oferuje elastyczność oraz wysoką dostępność.

Więcej na temat chmury możesz przeczytać w naszym artykule Czy warto chodzić z głową w chmurach?

Cloud computing – usługa przetwarzania danych w chmurze.

Provisioning (aprowizacja) – wdrożenie usługi lub funkcjonalności za pomocą wcześniej określonych procedur, które są wykonywane automatycznie, bez konieczności interwencji człowieka.

High Availability (wysoka dostępność) – dotyczy systemów, które są wytrzymałe i mogą pracować przez bardzo długi czas bez przerw spowodowanych awariami i błędami. Określenie to zakłada, że części systemu zostały w pełni przetestowane, a nierzadko również, wyposażone w dodatkowe komponenty zastępcze uruchamiane w razie awarii.

IaaS (Infrastructure as a Service) – jest to model w którym zachowujesz najwięcej kontroli nad środowiskiem. W ramach IaaS dostajesz instancje, na których masz dowolność instalowania systemu operacyjnego, konfiguracji sieci i instalacji oprogramowania. Przykładem takiego rozwiązania są instancje AWS Elastic Compute Cloud, Google Compute Engine czy Azure Virtual Machines.

PaaS (Platform as a Service) – w tym modelu nie musisz się martwić systemem operacyjnym, kwestiami sieciowymi i aktualizacją oprogramowania, ponieważ dostawca zajmie się tym sam. Niestety przez to tracisz możliwość dostosowania środowiska do swoich potrzeb. Model idealny dla programistów, którzy dzięki niemu mogą skupić się wyłącznie na tworzeniu oprogramowania. Przykładem PaaS są Heroku i Cloud Foundry.

SaaS (Software as a Service) – to model, w którym nie masz możliwości wprowadzania modyfikacji środowiska. Oprogramowanie jest w całości dostarczane przez dostawcę i utrzymywane w chmurze. Przykładem tego rozwiązania jest G Suite, a także polski LiveChat.

Więcej o modelach IaaS, PaaS i SaaS przeczytasz w artykule Pierwsze kroki w chmurze.

Private cloud (Chmura prywatna) – infrastruktura, która jest zbudowana na własnych serwerach lub maszynach wykupionych u dostawcy, przeznaczonych tylko dla jednego klienta. Jest to najdroższe rozwiązanie, ale przy tym najbezpieczniejsze i najlepiej dopasowane do indywidualnych potrzeb. Chmury prywatne są wykorzystywane przez organizacje rządowe oraz firmy operujące na bardzo wrażliwych danych.

Public cloud (Chmura publiczna) – infrastruktura zbudowana na serwerach z których korzystają również inni klienci dostawcy. Nie oznacza to oczywiście, że inne osoby mają dostęp do Twoich instancji. Jest to najpopularniejsze rozwiązanie ze względu na cenę oraz skalowalność.

Region – jest to konkretne położenie geograficzne, w którym możesz trzymać swoje usługi. Dostawcy w celu utrzymania jak największej niezależności regionów, umieszczają je w różnych krajach, a nawet na różnych kontynentach. Region składa się z Availability Zones.

Availability Zone – Jest to najczęściej jedno lub kilka data center wewnątrz danego regionu, w którym wyznaczamy działanie naszej usługi. Dostawca oferuje możliwość włączenia aplikacji w innej Availability Zone w wypadku problemów z wybraną jako podstawowa.

IaC (Infrastructure as Code) – tym terminem określamy pisanie skryptów lub aplikacji wspomagających proces budowania infrastruktury. Najprościej, jest to napisanie kodu do zarządzania konfiguracjami i  zautomatyzowania przygotowania środowiska.

Jeżeli uważacie, że pominęliśmy jakieś podstawowe pojęcie spośród terminów chmurowych, to koniecznie dajcie znać w komentarzu!