Rozwiązania w chmurze

Cloud computing (chmura obliczeniowa) oraz cloud technologies (rozwiązania w chmurze) są pojęciami coraz częściej używanymi ze względu na szybki rozwój technologii oraz przenoszenie wielu aplikacji z tradycyjnych serwerów do chmury w Internecie. Liczba różnych możliwości oraz rodzajów rozwiązań chmurowych jest jednak ogromna – jakie zatem wybrać? Jakiego rodzaju rozwiązania w chmurze są dostępne ?

Z wieloma poniżej wymienionymi technologami można zapoznać się w dostępnym na platformie eDX kursie Introduction to Cloud Infrastructure Technologies.

Wirtualizacja (ang. virtualization)

Szybkie tempo pojawiania się nowych chmurowych technologii jest możliwe dzięki pojawieniu się już jakiś czas temu platformom wirtualizacyjnym dostępnym na rynku od dłuższego czasu takimi jak:

Praktycznie każdą z powyższych platform można uruchomić na zwykłym, domowym komputerze. Ponadto obecność w sieci od dłuższego czasu takich rozwiązań jak VirtualBox czy VMware Player pozwala znaleźć wiele materiałów i pomocy w Internecie.

IaaS (ang. infrastructure as a service)

Każde z wymienionych rozwiązań oprócz OpenStack jest płatne. Środowisko z OpenStack można uruchomić samodzielnie na własnych maszynach.

PaaS (ang. platform as a service)

Pierwsze 2 rozwiązania dla deweloperów rozpoczynających prace z PaaS są dostępne bez opłat z ograniczeniami, które są opisane na witrynach dostawców. Istnieje możliwość przejścia na płatny abonament z większą liczbą możliwości. Pozostałe 2 platformy można uruchomić na własnych serwerach.

Kontenery (ang. containerization)

O ile Docker stał się niezwykle popularny w ostatnim czasie, o tyle Rocket mimo, że mnie popularny, to nie ustępuje liczbą dostępnych możliwości.

Systemy operacyjne dla kontenerów (ang. microOS for containers)

System operacyjne przeznaczone dla kontenerów charakteryzują się przede wszystkim niewielkim rozmiarem oraz skalowalnością, a także tym, że zawierają przydatne narzędzia np. etcd. Projekt Atomic dostarcza wydajnych narzędzi dla platform opartych na stosie LDK (Linux, Docker, Kubernetes). Z kolei CoreOS jest wykorzystywany z kontenerami rkt.

Orkiestracja (ang. container orchestration)

W zależności od rodzaju wybranego kontenera (np. Docker), czy też dostawcy IaaS (np. Amazon, Google) dostępne są różne narzędzia do zarządzania, wdrażania i skalowania aplikacji np. Kubernetes można wykorzystać wspólnie z Google Container Engine, które wspólnie uruchamiałaby aplikacje w kontenerach Docker’a. Z kolei Marathon jest narzędziem dla zarządzania i orkiestracji kontenerów Docker oraz Apache Mesos.

CaaS (ang. container as a service)

Jeśli można dostarczać infrastruktury jako usługi, platformy jako usługi, to z pewnością możliwe jest podejścia dostarczania kontenerów jako usług czego przykładem mogą być nowe rozwiązania dla Docker’a oraz OpenStack’a.

SDN (ang. software defined network)

W sieciach SDN wykorzystywane jest wiele rozwiązań wymienionych powyżej. Z reguły dotyczą one aplikacji uruchamianych w kontenerach czy dedykowanych systemów operacyjnych. Oprócz takich rozwiązań konieczne są narzędzia do przechowywania danych (ang. storage), a także komunikacji sieciowej (ang. networking) między platformami.

DevOps and CI/CD (ang. continuous integration / continuous deployment)

Ciągła integracja oraz wdrażanie kolejnych rozwiązań jest konieczna, by czas dostarczania nowych wersji aplikacji skrócić, a jednocześnie zautomatyzować pewne rodzaje prac czy zadań. Jenkins jest bardzo elastycznym rozwiązaniem, które można uruchomić dla różnego rodzaju projektów. Z kolei narzędzia takie jak Travis czy Drone pozwalają na integrację z kodem umieszczonym na GitHub. W przypadku Travis można zintegrować narzędzie z platformą Heroku.

Tools for cloud infrastructure

Każda z platform czy rozwiązań dostarcza wiele narzędzi, jednak w produkcyjnych środowiskach przydatne są takie narzędzia jak do zarządzania konfiguracją wielu maszyn (np. Ansible), przechowywania par klucz-wartość (np. etcd), budowania obrazów (np. Packer) czy też zbierania i procesowania logów (np. Logstash).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.