{"id":98354,"date":"2022-12-15T09:52:30","date_gmt":"2022-12-15T08:52:30","guid":{"rendered":"https:\/\/fotc.com\/?p=98354"},"modified":"2022-12-15T10:01:21","modified_gmt":"2022-12-15T09:01:21","slug":"cloud-functions-wszystko-co-trzeba-wiedziec","status":"publish","type":"post","link":"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/","title":{"rendered":"Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107"},"content":{"rendered":"\n

Czym jest Cloud Functions? Jak rozpocz\u0105\u0107 prac\u0119 z tym \u015brodowiskiem i co jest nam w stanie zaoferowa\u0107? W dzisiejszym wpisie przybli\u017camy podstawy tego rozwi\u0105zania, dost\u0119pnego w ramach \u015brodowiska chmurowego Google Cloud.<\/p>\n\n\n\n

Czym jest Cloud Functions?<\/h2>\n\n\n\n

Cloud Functions jest bezserwerowym \u015brodowiskiem s\u0142u\u017c\u0105cym do \u0142\u0105czenia us\u0142ug w chmurze oraz wykonywania zada\u0144. Dzia\u0142a w modelu FaaS (Function as a Service) i umo\u017cliwia pisanie oraz wdra\u017canie fragment\u00f3w kodu uruchamianych w odpowiedzi na okre\u015blone zdarzenie emitowane przez Google Cloud. Mo\u017cliwe jest te\u017c uruchomienie zdarzenia spoza platformy, przy u\u017cyciu protoko\u0142u HTTP i unikalnego adresu URL. Uruchamianie kodu nast\u0119puje w \u015brodowisku wykonawczym Google, dzi\u0119ki czemu u\u017cytkownik nie musi dostarcza\u0107 ani konfigurowa\u0107 \u017cadnej us\u0142ugi.<\/p>\n\n\n\n

Czym jest \u015brodowisko bezserwerowe?<\/h2>\n\n\n\n

W tym miejscu warto powiedzie\u0107 kilka s\u0142\u00f3w o tym, czym \u015brodowisko bezserwerowe (serverless) i jaka jest jego funkcja. Jest to infrastruktura, w kt\u00f3rej uruchamiany jest Tw\u00f3j kod. Dzi\u0119ki niemu nie musisz przejmowa\u0107 si\u0119 zarz\u0105dzaniem maszyn\u0105, udost\u0119pnianiem, aktualizacj\u0105 systemu operacyjnego, zarz\u0105dzaniem sieci\u0105 czy r\u00f3wnowa\u017ceniem obci\u0105\u017cenia. To wszystko le\u017cy po stronie infrastruktury Google, natomiast zasoby skalowane s\u0105 automatycznie, zgodnie z bie\u017c\u0105cymi potrzebami.<\/p>\n\n\n\n

Je\u017celi Twoja aplikacja cieszy si\u0119 du\u017cym zainteresowaniem, wzrasta wi\u0119c ruch, Google przeskaluje infrastruktur\u0119 w g\u00f3r\u0119, a gdy obci\u0105\u017cenie spadnie, infrastruktura zostanie przeskalowana w d\u00f3\u0142. Co si\u0119 stanie w sytuacjach, w kt\u00f3rych w og\u00f3le nie ma ruchu? W takim wypadku us\u0142uga zostanie skalowana do zera, co pozwoli unikn\u0105\u0107 niepotrzebnych koszt\u00f3w, gdy\u017c w chmurze Google p\u0142acisz w modelu pay-as-you-use, czyli przy zerowym ruchu nie zap\u0142acisz nic.<\/p>\n\n\n\n

Wi\u0119ksza zwinno\u015b\u0107 dzi\u0119ki Cloud Functions<\/h2>\n\n\n\n

Wracaj\u0105c do Google Cloud Functions \u2013 us\u0142uga ta zwi\u0119ksza poziom zwinno\u015bci poprzez budowanie aplikacji sk\u0142adaj\u0105cych si\u0119 z ma\u0142ych, niezale\u017cnych jednostek funkcjonalno\u015bci, czyli modu\u0142\u00f3w. Ka\u017cdy z nich koncentruje si\u0119 na wykonaniu tylko jednej czynno\u015bci. Dzi\u0119ki Cloud Functions u\u017cytkownicy mog\u0105 tworzy\u0107 i wdra\u017ca\u0107 us\u0142ugi na poziomie pojedynczej funkcji, niekoniecznie z poziomu ca\u0142ej aplikacji, kontenera czy maszyny wirtualnej.<\/p>\n\n\n\n

Dost\u0119pne s\u0105 dwie generacje Cloud Functions. Drug\u0105 oparto na Cloud Run i Evantarc, co pozwoli\u0142o ulepszy\u0107 zestaw funkcji. Mimo \u017ce Google deklaruje wsparcie dla obu, to sugeruje si\u0119 korzystanie z drugiej generacji.<\/p>\n\n\n\n

Co zapewnia druga generacja Cloud Functions?<\/h2>\n\n\n\n

W\u015br\u00f3d zmian, kt\u00f3re pojawi\u0142y si\u0119 w drugiej generacji Cloud Functions warto zwr\u00f3ci\u0107 uwag\u0119 na:<\/p>\n\n\n\n