DigitalOcean jest dostawcą usług w chmurze, bardziej dostawcą IaaS (infrastruktura jako usługa), który jest bardziej odpowiedni dla małych i średnich firm. Możesz dowiedzieć się więcej o DigitalOcean tutaj. To, co robi, różni się nieco od innych dostawców chmury, takich jak AWS lub Azure i nie jest jeszcze mocno globalne, spójrz na ten film, który porównuje DigitalOcean z AWS.
Dostarczają rozproszoną geograficznie platformę obliczeniową w postaci maszyn wirtualnych, na której firmy mogą wdrażać swoje aplikacje w infrastrukturze chmury w łatwy, szybki i elastyczny sposób. Ich głównym celem jest zapewnienie środowisk chmurowych, które są wysoce elastyczne, łatwe w konfiguracji i można je skalować pod kątem różnych rodzajów obciążeń.
To, co przyciągnęło mnie w DigitalOcean, to usługa „kropelek”. Droplety to maszyny wirtualne oparte na Linuksie, które mogą być tworzone jako samodzielne lub mogą być częścią dużej infrastruktury chmurowej z wybranymi systemami operacyjnymi o smaku Linuksa, takimi jak CentOS, Ubuntu itp.
PostgreSQL na DigitalOcean
Dzięki DigitalOcean budowanie środowisk PostgreSQL można wykonać na dwa sposoby, jednym sposobem jest ręczne budowanie od podstaw za pomocą dropletów (tylko maszyny wirtualne oparte na Linuksie), a drugim sposobem jest użycie usług zarządzanych.
DigitalOcean uruchomił usługi zarządzane dla PostgreSQL z zamiarem przyspieszenia udostępniania serwerów baz danych w postaci maszyn wirtualnych w dużej infrastrukturze chmury. W przeciwnym razie jedynym sposobem jest budowanie środowisk PostgreSQL ręcznie za pomocą dropletów. Obsługiwane funkcje usług zarządzanych to wysoka dostępność, automatyczne przełączanie awaryjne, rejestrowanie i monitorowanie. Możliwość ostrzegania jeszcze nie istnieje.
Usługi zarządzane są mniej więcej podobne do AWS RDS. Dostęp do instancji PostgreSQL można uzyskać tylko za pomocą interfejsu użytkownika, nie ma dostępu do hosta, na którym działa instancja bazy danych. Zarządzanie, monitorowanie, konfiguracja parametrów, wszystko musi być zrobione z interfejsu użytkownika.
Kompatybilność PostgreSQL z DigitalOcean
Możesz budować środowiska PostgreSQL na Digital Ocean za pomocą dropletów lub korzystać z usług zarządzanych (podobnych do AWS RDS), co może naprawdę zaoszczędzić Twój czas. Jedyne obsługiwane wersje usług zarządzanych to 10 i 11. Oznacza to, że firmy, które chcą korzystać z usług zarządzanych PostgreSQL firmy DigitalOcean, będą musiały użyć/uaktualnić do wersji 10 lub 11. Należy również pamiętać, że nie ma obsługi systemu operacyjnego Windows.
Ten blog będzie poświęcony usługom zarządzanym.
Zarządzane usługi PostgreSQL
DigitalOcean rozpoczął świadczenie usług zarządzanych baz danych PostgreSQL od lutego 2019 r. Celem było wprowadzenie szybszego sposobu dostarczania infrastruktury za pomocą instancji PostgreSQL, co może zaoszczędzić cenny czas dla specjalistów ds. infrastruktury baz danych. Udostępnianie instancji PostgreSQL jest dość proste.
Można to zrobić logując się na konto DO → przejdź do strony tworzenia klastra bazy danych → wybierz wersję PostgreSQL → wybierz specyfikację na podstawie ceny → wybierz lokalizację → kliknij utwórz. Wszyscy jesteście dobrzy. Obejrzyj ten film tutaj, aby lepiej zrozumieć.
Wysoka dostępność
Wysoka dostępność jest jednym z krytycznych wymagań dla baz danych w celu zapewnienia ciągłości biznesowej. Konieczne jest zapewnienie, aby wysoka dostępność spełniała umowy SLA zdefiniowane dla RTO i RPO. DigitalOcean zapewnia usługi o wysokiej dostępności w szybszy i niezawodny sposób.
Ceny
Model cen w DigitalOcean nie jest skomplikowany. Cena instancji jest wprost proporcjonalna do pojemności i architektury instancji. Poniżej znajduje się przykład wyceny samodzielnej instancji -
Pojemność i ceny odpowiadające wymaganiom można wybrać spośród dostępnych opcji . Minimum to 15 USD miesięcznie za 10 GB dysku i 1 vCPU. Jeśli wymagana jest wysoka dostępność, można również skonfigurować węzeł gotowości. Ograniczeniem jest to, że węzeł rezerwowy można dodać tylko wtedy, gdy rozmiar podstawowej bazy danych wynosi co najmniej 25 GB. Ponadto można dodać maksymalnie 5 węzłów gotowości. Poniżej znajdują się dostępne opcje czuwania
Jak widać powyżej, ceny czuwania są dość proste i nie zależą na pojemności. Dodanie jednego węzła rezerwowego będzie kosztować 20 USD niezależnie od rozmiaru.
Dostęp
Dostęp do instancji PostgreSQL zbudowanych przy użyciu usług zarządzanych można uzyskać za pomocą GUI i zdalnie przez CLI tylko w trybie SSL. Jednak dostęp do instancji PostgreSQL zainstalowanych ręcznie na dropletach można uzyskać przez ssh.
Centra danych
DigitalOcean nie jest jeszcze mocno globalny. Centra danych znajdują się w kilku krajach, jak pokazano poniżej. Oznacza to, że nie można wdrażać/uruchamiać usług dla firm prowadzących swoje usługi w krajach innych niż te pokazane poniżej.
Zalety usług zarządzanych PostgreSQL
Usługi zarządzane dla PostgreSQL są korzystne z różnych powodów. Z mojego doświadczenia jako DBA, często pojawia się wymóg budowania środowisk dla programistów w szybszy sposób, aby przeprowadzić testy funkcjonalne, regresyjne i wydajnościowe dla wydań. Ogólnie rzecz biorąc, podejście polegałoby na wykorzystaniu narzędzi takich jak chef lub puppet do budowania modułów automatyzacji dla aplikacji i środowisk baz danych, a następnie wykorzystanie tych szablonów do budowania maszyn wirtualnych w chmurze. Usługi zarządzane DigitalOcean mogą być świetną, wydajną i opłacalną opcją dla takich wymagań, ponieważ z pewnością zaoszczędzą czas. Przyjrzyjmy się szczegółowo zaletom -
- Wybranie usług zarządzanych może zaoszczędzić dużo czasu administratorom baz danych i programistom w budowaniu od podstaw środowisk PostgreSQL. Oznacza to, że nie ma kosztów związanych z administracją i konserwacją bazy danych.
- Środowiska PostgreSQL mogą być wyposażone w funkcję High-availability z możliwością automatycznego przełączania awaryjnego.
- Instancje zarządzane są zaprojektowane tak, aby przetrwać katastrofy. Codzienne kopie zapasowe można skonfigurować za pomocą funkcji PITR (odzyskiwanie do punktu w czasie). Co ważne, kopie zapasowe są bezpłatne.
- Zarządzane instancje PostgreSQL są zaprojektowane tak, aby były wysoce skalowalne. Klienci DigitalOcean byli w stanie osiągnąć wyższą skalowalność dzięki instancjom PostgreSQL i rozszerzeniom TimescaleDB.
- Panel można skonfigurować do monitorowania plików dziennika i wydajności zapytań.
- Model kosztów DigitalOcean jest dość prosty.
- Ponieważ jest to infrastruktura chmury, skalowanie pionowe może być płynne.
- Instancje zarządzanej bazy danych są wysoce zabezpieczone i zoptymalizowane. Duża część pobierania danych jest możliwa tylko za pośrednictwem połączeń opartych na protokole SSL.
- Dokumentacja jest dostępna szczegółowo.
Ograniczenia uruchamiania PostgreSQL na DigitalOcean
- Obsługiwane są wersje PostgreSQL 10 i 11, nie można używać innych wersji.
- Centra danych DigitalOcean są dostępne tylko w ograniczonych lokalizacjach geograficznych.
- Liczba węzłów gotowości nie może przekraczać 5.
- PITR nie może przekraczać 7 dni.
- Nie wszystkie rozszerzenia PostgreSQL są obsługiwane, można używać tylko wybranych rozszerzeń.
- Instancje można tylko powiększać. Nie można ich zmniejszyć.
- Dostęp superużytkownika jest niedozwolony.
- Ostrzeganie o pewnych progach nie jest jeszcze dostępne.
- Instancje zarządzanej bazy danych można przywrócić tylko do nowego węzła podczas przywracania z kopii zapasowych.
Wnioski
Zarządzane usługi PostgreSQL oferowane przez DigitalOcean to świetna opcja dla firm poszukujących rozwiązań typu devops dla środowisk PostgreSQL, które mogą naprawdę pomóc skrócić czas, planowanie, administrację i koszty utrzymania związane z budowaniem wysokiej skali i bezpiecznych środowisk PostgreSQL dla różnych obciążeń. Ich model cenowy jest bardzo prosty i może być opłacalną opcją. Nie można go jednak tak naprawdę porównać z ogromnymi dostawcami usług w chmurze, takimi jak AWS czy Azure. DigitalOcean z pewnością może przynieść korzyści firmom dzięki innowacyjnym rozwiązaniom w chmurze.