consdata.com
Blog techniczny Blog biznesowy Dział HR
EN
google cloud function

Google Cloud Functions (2nd gen) - co nowego wprowadza?

author Michał Hoja
18 sierpnia 2022

W lutym tego roku Google wprowadziło w wersji poglądowej (public preview) nową generację usługi Cloud Functions (2nd gen). Architektura Google Cloud Function (2nd gen) została oparta o Cloud Run oraz Eventarc, co wprowadza kilka ciekawych funkcjonalności względem poprzedniej generacji. W sierpniu tego roku druga generacja funkcji przeszła z wersji poglądowej do ogólnodostępnej (general availability, GA).

Cloud Functions 2nd gen Cloud Functions 2nd gen
źródło: https://cloud.google.com - dostęp: 2022-08-15

Co nowego?

Wydłużony czas działania funkcji

W przypadku funkcji wyzwalanych eventem zwiększono maksymalny czas procesowania z 9 do 10 minut, natomiast w przypadku funkcji wyzwalanych żądaniami HTTP zwiększono ten czas z 9 do aż 60 minut. Domyślny czas wynosi 1 minutę, można go zwiększyć za pomocą parametru --timeout. Dłuższy czas procesowania może przydać się np. w przypadku przetwarzania danych z Cloud Storage do BigQuery.

Więcej informacji…

Zwiększone maksymalne zasoby dla funkcji

W nowej generacji możemy utworzyć instancję z 4 vCPU / 16GB RAM (w przypadku poprzedniej generacji maksymalnie 2 vCPU / 8GB RAM). W wersji poglądowej pojawiła się również nowa opcja z 8 vCPU / 32GB RAM.

Więcej informacji…

Wersjonowanie funkcji i dzielenie ruchu

Czyli coś co daje nam architektura Cloud Run. Możemy wersjonować funkcję i kierować procentowo ruch na różne jej wersje, co pozwala przetestować nową wersję na części użytkowników (Canary Deployment, A/B Testing). Dzięki temu możemy również bardzo szybko przywrócić poprzednią wersję funkcji.

Więcej informacji…

Przetwarzanie współbieżne

W pierwszej generacji instancja funkcji przetwarzała jednocześnie tylko jedno żądanie, w nowej generacji możemy zdefiniować parametr --concurrency i ustalić liczbę jednocześnie przetwarzanych żądań. Dzięki temu możemy zmniejszyć minimalną liczbę instancji i zaoszczędzić czas przy tworzeniu nowych (cold start), co w praktyce przekłada się na niższe koszty. Maksymalna wartość parametru jest uzależniona od środowiska uruchomieniowego, a w przypadku ustawienia wartości większej niż 1 (domyślna wartość) instancja funkcji musi posiadać minimum 1 vCPU.

Więcej informacji tutaj oraz tutaj…

Minimalna liczba “rozgrzanych” instancji

Możemy zdefiniować liczbę instancji, które mają być cały czas gotowe do obsługi żądań. Pozwala to skrócić czas obsługi żądania w przypadku tworzenia nowej instancji (cold start). Warto pamiętać również o tym, że płacimy za cały czas działania funkcji, również za zimny start.

Więcej informacji…

Natywne wsparcie dla Eventarc

Nowa generacja wprowadza natywne wsparcie dla platformy Eventarc, co rozszerza listę dostępnych wyzwalaczy funkcji o ponad 125 nowych. Dla porównania, pierwsza generacja obsługuje jedynie 7 wyzwalaczy, nie licząc żądań HTTP. Możemy na przykład utworzyć funkcję wyzwalaną zapytaniem BigQuery, która wysyła powiadomienie na Slacka w przypadku zbyt długich zapytań. Eventarc jest zgodny ze standardem CloudEvents, co pozwala uniknąć tzw. vendor locka. Eventarc wspiera również CMEK (customer-managed encryption keys), co umożliwia szyfrowanie eventów za pomocą kluczy zarządzanych przez nas samych.

Więcej informacji…

Nowe regiony

Funkcje drugiej generacji są dostępne we wszystkich regionach w których dostępna jest pierwsza generacja oraz w dwóch dodatkowych: europe-north1 (Finlandia), europe-west4 (Holandia).

Więcej informacji…

Możliwość migracji funkcji

Funkcje drugiej generacji, z racji wykorzystywania architektury Cloud Run, umożliwiają łatwe przeniesienie ich do Cloud Run a nawet do Kubernetesa.

Podsumowanie

Nowa generacja wprowadza bardzo wiele ciekawych zmian, pozwalających wycisnąć z funkcji jeszcze więcej jednocześnie optymalizując koszty i czasy odpowiedzi. Warto przetestować nowe funkcje na własną rękę, zaczynając np. od Getting started with Cloud Functions (2nd gen).

Najnowsze wpisy

  • Dostępność w PDF - dokumenty bez barier
  • Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?
  • Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA

newsletter

techniczny

Zapisz się

Podobne wpisy

post-image
WCAG

Dostępność w PDF - dokumenty bez barier

author
Kacper Hoffman 28 kwi 2025
post-image
angular

Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?

author
Piotr Tatarski 7 kwi 2025
post-image
angular

Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?

author
Dorian Mejer 10 mar 2025
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA

Zapisz się na

newsletter

techniczny

consdata.com
  • Kontakt

    • sales@consdata.com
    • +48 61 41 51 000

  • Biuro

    • K9Office
      Krysiewicza 9/14
      61-825 Poznań
      Polska

  • Rozwiązania

    • Eximee
    • Kouncil
  • Blog Dołącz do nas
Copyright © 2024 Consdata. All rights reserved. Privacy Policy & Cookies
Chcemy używać plików cookie oraz skryptów podmiotów trzecich do polepszania funkcjonowania tej strony Zgadzam się