Usługi bezserwerowe, takie jak Firebase App Hosting, umożliwiają szybkie wdrażanie aplikacji bez konieczności samodzielnego zarządzania infrastrukturą. Spośród rozwiązań Google App Hosting jest najlepszym wyborem dla programistów tworzących nowoczesne aplikacje internetowe w popularnych frameworkach, ponieważ zarządza całym stosem technologicznym – od CDN po renderowanie po stronie serwera.
App Hosting to jednak tylko jedna z kilku usług bezserwerowych Google. W zależności od charakteru aplikacji lub potrzeb w zakresie skalowania możesz wybrać App Hosting albo jedną z tych usług:
- Cloud Run: najlepsza do uruchamiania usług backendowych w kontenerach z maksymalną możliwością konfiguracji.
- Cloud Run funkcje: Najlepsze do szybkiego tworzenia jednozadaniowych funkcji opartych na zdarzeniach. Więcej informacji.
- Cloud Functions dla Firebase: podobne do Cloud Run funkcji, ale z uproszczonym modelem ułatwiającym integrację z innymi funkcjami Firebase, takimi jak Realtime Database czy Cloud Firestore.
- Firebase App Hosting: idealne do hostowania nowoczesnych aplikacji internetowych opartych na frameworkach z renderowaniem po stronie serwera (SSR) lub funkcjami generatywnej AI.
- Firebase Hosting : doskonałe do hostowania zasobów statycznych, takich jak strony internetowe i obrazy.
Jeśli chodzi o koszty, Cloud Run, funkcje Cloud Run, Cloud Functions for Firebase, i Firebase App Hosting wymagają konta rozliczeniowego, aby można było zacząć z nich korzystać. Obejmują one bezpłatny poziom dla małych wdrożeń, i są rozliczane na podstawie wykorzystania. Firebase Hosting oferuje bezpłatny poziom, który nie wymaga konta rozliczeniowego w przypadku małych wdrożeń, a także możliwość rozszerzenia w miarę skalowania aplikacji.
App Hosting i Firebase Hosting
App Hosting nie jest bezpośrednim zamiennikiem Firebase Hosting – wypełnia konkretną lukę. Jeśli tworzysz dynamiczną aplikację internetową renderowaną po stronie serwera za pomocą SSR, App Hosting jest dla Ciebie. Jeśli chcesz hostować statyczną stronę internetową lub aplikację jednostronicową, warto użyć oryginalnego Hosting, aby zoptymalizować koszty i wydajność.
Ponieważ App Hosting i Firebase Hosting mają pewien stopień pokrywania się w obsługiwanych funkcjach, warto przyjrzeć się im bliżej.
| Funkcja | Hosting | App Hosting |
|---|---|---|
| Automatyczne wdrażanie aplikacji internetowych renderowanych po stronie serwera | Wersja eksperymentalna | Tak |
| Przekroczenie limitu czasu żądania | 1m | 5 min |
| Przekroczenie limitu czasu pamięci podręcznej | 1 godz. | 1 godz. |
| Informacje o pamięci podręcznej Stale-While-Revalidate | Nie | Tak |
| Warunki korzystania z usługi | Firebase | Cloud |
| Repliki źródła treści statycznych | 3 | Nie dotyczy |
| Regiony treści dynamicznych | 3 | 6 |
| Ciągłe wdrażanie | Ograniczone | Wbudowane |
| Proces kompilacji | Środowisko lokalne | Środowisko odtwarzalne |
| Treść nieopublikowana | Tak | Nie |
| Odporność na awarie | Globalna przerwa w działaniu usługi | Regionalna przerwa w działaniu usługi |
| Emulator | Tak | Tak |
Funkcje cyklu tworzenia usługi w App Hosting i Hosting
Firebase App Hosting jest ściśle zintegrowane z GitHubem i umożliwia wydajne wdrażanie aplikacji w środowisku produkcyjnym. Gdy wprowadzisz zmianę w gałęzi produkcyjnej, App Hosting skompiluje ją w odtwarzalnym środowisku Cloud Build. Następnie w interfejsie panelu App Hosting możesz śledzić każdą wersję aplikacji internetowej aż do dokładnego zatwierdzenia, z którego została skompilowana, dzięki czemu wiesz, które zmiany były aktywne w danym momencie.
Firebase Hosting zapewnia też pewien stopień integracji za pomocą działań GitHub które umożliwiają tworzenie kanałów podglądu i wdrażanie w kanale produkcyjnym w odpowiedzi na działania w repozytorium.
Aplikacje wdrożone za pomocą eksperymentu z frameworkami w wierszu poleceń Firebase
W przypadku nowoczesnych aplikacji internetowych wdrożonych w Firebase Hosting za pomocą eksperymentu z frameworkami w wierszu poleceń Firebase zalecamy "przejście" na App Hosting. Dzięki App Hosting będziesz mieć ujednolicone rozwiązanie do zarządzania wszystkim – od CDN po renderowanie po stronie serwera – oraz lepszą integrację z GitHubem.