Google Cloud Functions wydaje się bardzo interesujący, ponieważ jest to rozwiązanie bezserwerowe i bezobsługowe. Ale kiedy właściwe jest korzystanie z Google Cloud Functions przez Google App Engine?Jak wybrać funkcje Google Cloud i Google App Engine?
Odpowiedz
Krótka odpowiedź: To zależy od potrzeb.
Długa odpowiedź: Oto lista kontrolna
Runtime
Chmura funkcje obsługuje tylko node.js w tej chwili i nie ma żadnych planów o ile wiem, wprowadzenie tam nowych czasy pracy. Jeśli jesteś z tym dobry, możesz umieścić funkcje chmurowe w swoich opcjach.
Aparat App obsługuje plik Node.js, mimo że jest dostępny tylko w środowisku elastycznym. App Engine Standard Environment obsługuje Python 2.7, Java 8, Java 7, PHP 5.5, Go 1.8 i 1.6, a App Engine Flexible Environment obsługuje Python, Java, Node.js, Go, Ruby, PHP lub .NET. Można również udostępnić własne środowisko wykonawcze za pomocą pliku docker w środowisku elastycznym. Jeśli więc chcesz rozwijać swoją aplikację w czymkolwiek innym niż Node.js, lepszym rozwiązaniem jest App Engine.
Architektura bezserwerowa
Poszukujesz architektury bez serwera? Czy jesteś sfrustrowany zarządzaniem instancjami i skalowaniem ich w górę lub w dół? Czy chcesz nie poświęcać czasu na zarządzanie swoim serwerem? Przejdź do funkcji Cloud, jeśli odpowiesz "tak" na wszystkie te pytania.
Szukasz kontroli drobnego ziarna na nr.instancji i fakturowania tych. Czy chcesz mieć oddzielne wersje i chcesz mieć lepszą kontrolę nad nimi? Poszukaj w tym przypadku App Engine.
Microservice
Czy możesz złamać swój kod na mniejsze niezależne funkcje? Przejdź do Cloud Functions.
App Engine obsługuje architekturę Microservice przy użyciu tej samej bazy kodowej, ale różne pliki yaml, aby podzielić usługi, ale to do ciebie, jeśli chcesz podzielić je na usługi, czy nie. Cały nasz kod uruchamiamy w jednej monolitycznej aplikacji od kilku lat i nadal działa dobrze na App Engine.
Baza danych
Czy dane Twojej aplikacji są przechowywane w Firebase? Wtedy można w nich łatwo korzystać z funkcji Cloud. Jeśli nie, App Engine to lepsza alternatywa. Aplikacja App Engine może też łączyć się z Firebase, na wypadek gdybyś się zastanawiał.
Są też inne rzeczy do rozważenia, takie jak wycena i jeśli chcesz przenieść istniejącą aplikację lub piszesz coś od podstaw. Możesz w rzeczywistości korzystać z obu opcji. Korzystamy ze standardowego środowiska App Engine (Python) dla naszej aplikacji, ale niedawno przenieśliśmy kilka z naszych długich uruchomionych zadań na funkcje Cloud i pracują zadziwiająco.
Moim zdaniem App Engine to odpowiedź na większość rzeczy, w których funkcje chmury są tworzone dla konkretnych wymagań.
Gdy chcesz tylko wykonać jakąś funkcję (trochę jakiejś logiki) w odpowiedzi na zdarzenie pochodzące z chmury, a nie chcesz budować (i za to trzeba zapłacić) pełnej aplikacji internetowej za to właśnie .
Od Product Overview:
chmurze umożliwił w pełni Serverless modele komputerów gdzie logika można rozkręcać na żądanie w odpowiedzi na zdarzenia pochodzące z dowolnego miejsca. Skonstruuj aplikacje z logiki biznesowej o małym rozmiarze rozliczane z dokładnością do 100 milisekund, tylko podczas pracy z kodem . Obsługuj użytkowników od zera do skali planety, a wszystko to bez zarządzania infrastrukturą.
Od What are Google Cloud Functions?
funkcji Google Cloud jest wykonanie środowisko Serverless dla budynku i łączenia usług w chmurze. Dzięki funkcjom Cloud piszemy proste, jednofunkcyjne funkcje, które są dołączane do zdarzeń emitowanych z infrastruktury i usług w chmurze. Twoja funkcja chmury jest wyzwalana podczas oglądania oglądanego zdarzenia. Twój kod wykonuje się w w pełni zarządzanym środowisku. Nie ma potrzeby dostarczania infrastruktury ani martwić się zarządzaniem serwerami.
Jeśli masz już aplikację GAE związanych z kawałka logiki chcesz go wdrożyć chyba prościej po prostu to zrobić wewnątrz aplikacji :)
Nadal brzmi myląco. Czy masz jakiś konkretny przykład? –