Jeśli czytasz ten artykuł, to prawdopodobnie słyszałeś o Supabase. Wiem, że post dotyczy hostowania Supabase na AWS, ale czuję potrzebę dodania kilku wprowadzających zdań, aby wyjaśnić, dlaczego jest to niesamowite rozwiązanie dla niektórych problemów związanych z backendem.
Cel tego artykułu
Celem tego artykułu jest dostarczenie Ci wszystkich informacji potrzebnych do uruchomienia Backend as a Service ( Supabase) i zarządzania infrastrukturą, mając pełną kontrolę nad nią. Będziemy testować różne opcje wdrożenia na AWS, więc przygotuj się na praktyczne działanie.
- Wdrożenie na EC2
- Wdrożenie na Elastic Beanstalk
- Wdrożenie przy użyciu Terraform
- Wdrożenie przy użyciu Cloudformation / CDK template
Diagram architektury

Czym jest Supabase?
Supabase to platforma open-source do tworzenia aplikacji webowych i mobilnych. Oferuje kompleksowy zestaw usług backendowych i narzędzi, które upraszczają rozwój nowoczesnych, opartych na danych aplikacji. Kluczowe funkcje i komponenty Supabase obejmują:
- Baza danych PostgreSQL
- Uwierzytelnianie
- Synchronizacja danych w czasie rzeczywistym
- Generowanie API RESTful
- Funkcje serverless
- Zarządzanie bazą danych i schematem
- Przykłady zastosowań w rzeczywistych projektach
- Open Source
- Społeczność i dokumentacja

Celem Supabase jest uproszczenie procesu rozwoju backendu i umożliwienie deweloperom tworzenia aplikacji z wieloma funkcjami bez konieczności rozbudowywania skomplikowanej infrastruktury backendowej. Jest to wybór preferowany przez deweloperów i organizacje szukające elastycznego, open-source’owego i przyjaznego dla deweloperów rozwiązania do tworzenia aplikacji webowych i mobilnych z nowoczesnymi funkcjami, takimi jak aktualizacje w czasie rzeczywistym i uwierzytelnianie użytkowników.
W zależności od przypadku użycia Twojego biznesu oraz etapu rozwoju, warto rozważyć również AWS AMPLIFY. AWS Amplify oferuje szerszy zakres usług, większy ekosystem i głębszą integrację z rozbudowanymi usługami chmurowymi AWS. Wybór między tymi dwoma zależy od specyficznych wymagań projektu, znajomości AWS oraz potrzeby wdrożenia bardziej kompleksowego rozwiązania chmurowego w porównaniu do bardziej wyspecjalizowanej platformy backendowej, jaką jest Supabase.

Dlaczego Supabase zyskuje na popularności?
Supabase zyskuje popularność z kilku powodów, które odzwierciedlają ewolucję webowego i mobilnego rozwoju aplikacji oraz potrzeby nowoczesnych deweloperów:
- Open Source: Supabase opiera się na technologiach open-source, przede wszystkim PostgreSQL. To przyciąga deweloperów, którzy cenią sobie przejrzystość, elastyczność i rozwój napędzany przez społeczność.
- Przyjazny dla deweloperów: Supabase jest zaprojektowany z myślą o deweloperach. Oferuje prosty i intuicyjny interfejs, co zmniejsza złożoność rozwoju backendu, pozwalając deweloperom skupić się na budowaniu funkcji, a nie zarządzaniu infrastrukturą.
- Rozwiązanie Full-Stack: Supabase oferuje kompleksowy zestaw narzędzi i usług, w tym bazę danych PostgreSQL, uwierzytelnianie, synchronizację danych w czasie rzeczywistym, generowanie API RESTful i inne. To kompleksowe rozwiązanie na wiele powszechnych potrzeb backendowych.
- Funkcje w czasie rzeczywistym: Synchronizacja danych w czasie rzeczywistym to kluczowa funkcja Supabase. Umożliwia łatwe tworzenie aplikacji i funkcji działających w czasie rzeczywistym, takich jak aplikacje do czatów, narzędzia do współpracy czy panele na żywo.
- Baza danych SQL: Supabase wykorzystuje PostgreSQL jako bazę danych backendową, znaną z mocy, skalowalności oraz wsparcia dla skomplikowanych zapytań. Deweloperzy znający SQL mogą wykorzystać swoje istniejące umiejętności.
- Personalizacja i kontrola: Supabase pozwala deweloperom, którzy chcą większej kontroli nad backendem, na pisanie niestandardowych zapytań SQL, procedur składowanych i funkcji serverless.
- Silne uwierzytelnianie: Supabase zapewnia wbudowane uwierzytelnianie z obsługą różnych dostawców uwierzytelniania, co ułatwia implementację bezpiecznego uwierzytelniania i autoryzacji użytkowników.
- Otwarte standardy API: Supabase generuje API RESTful automatycznie z schematu bazy danych, zgodnie z otwartymi standardami. To upraszcza rozwój API i integrację z frameworkami frontendowymi.
- Społeczność i dokumentacja: Supabase ma aktywną i rosnącą społeczność deweloperów, co sprzyja współpracy, dzieleniu się wiedzą oraz rozwojowi dodatkowych zasobów i narzędzi. Dostępność rozbudowanej dokumentacji i samouczków również wspiera jego adopcję.
- Kosztowa efektywność: Supabase oferuje darmowy poziom z rozsądnie ustawionymi limitami użycia, co czyni go dostępnym dla indywidualnych deweloperów i małych projektów. Ta efektywność kosztowa jest szczególnie atrakcyjna dla startupów i organizacji o ograniczonych budżetach.
- Zastosowania w rzeczywistych projektach: Supabase jest coraz częściej wykorzystywany w aplikacjach w różnych branżach, co pokazuje jego zdolność do spełnienia wymagań projektów na poziomie produkcyjnym.
- Integracja z istniejącymi usługami: Supabase może być zintegrowany z innymi usługami i dostawcami chmurowymi, co pozwala deweloperom mieszać i dopasowywać technologie do swoich specyficznych potrzeb.
Następna część artykułu zostanie opublikowana wkrótce.