{"id":31326,"date":"2021-03-29T14:18:39","date_gmt":"2021-03-29T12:18:39","guid":{"rendered":"https:\/\/fotc.com\/?p=31326"},"modified":"2026-09-04T11:43:14","modified_gmt":"2026-09-04T09:43:14","slug":"app-engine","status":"publish","type":"post","link":"https:\/\/fotc.com\/pl\/blog\/app-engine\/","title":{"rendered":"Szybszy development aplikacji z App Engine w Google Cloud Platform"},"content":{"rendered":"\n
G\u0142owa pe\u0142na pomys\u0142\u00f3w, a doba za kr\u00f3tka? Niezale\u017cnie od tego, czy hobbystycznie programujesz po godzinach, tworzysz sw\u00f3j <\/span>startup<\/span><\/a>, czy prze\u0142o\u017cony poprosi\u0142 Ci\u0119 o szybkie stworzenie Proof of Concept, powiniene\u015b pozna\u0107 App Engine. To us\u0142uga chmurowa, kt\u00f3ra pozwoli Ci skupi\u0107 si\u0119 na tworzeniu kodu, automatyzuj\u0105c wi\u0119kszo\u015b\u0107 obowi\u0105zk\u00f3w zwi\u0105zanych z obs\u0142ug\u0105 infrastruktury.<\/span><\/p>\n\n\n\n App Engine jest jedn\u0105 z najpopularniejszych us\u0142ug chmury <\/span>Google Cloud Platform<\/span><\/a>. To bezserwerowa, w pe\u0142ni zarz\u0105dzana platforma developerska do wdra\u017cania i hostowania aplikacji webowych oraz backend\u00f3w aplikacji mobilnych stworzonych w niemal dowolnej technologii<\/strong>.<\/span><\/p>\n\n\n\n Roz\u0142\u00f3\u017cmy t\u0119 rozbudowan\u0105 definicj\u0119 na cz\u0119\u015bci pierwsze:<\/span><\/p>\n\n\n\n Us\u0142uga <\/span>skaluje si\u0119 automatycznie<\/b> w g\u00f3r\u0119, by obs\u0142u\u017cy\u0107 wi\u0119ksze obci\u0105\u017cenie, oraz w d\u00f3\u0142, gdy sko\u0144cz\u0105 si\u0119 skomplikowane obliczenia lub go\u015bcie opuszcz\u0105 aplikacj\u0119. Idzie te\u017c za tym <\/span>elastyczno\u015b\u0107 koszt\u00f3w<\/b>, poniewa\u017c te naliczaj\u0105 si\u0119 w zale\u017cno\u015bci od bie\u017c\u0105cego zu\u017cycia. Ma\u0142y ruch oznacza ma\u0142y rachunek, wi\u0119kszy ruch \u0142\u0105czy si\u0119 z proporcjonalnie wi\u0119ksz\u0105 suma na fakturze. Koszty us\u0142ugi mo\u017cna \u0142atwo \u015bledzi\u0107 w <\/span>panelu Billing<\/span><\/a>, a wydajno\u015b\u0107 monitorowa\u0107 dzi\u0119ki integracji z pakietem narz\u0119dzi Operations (wcze\u015bniej pod nazw\u0105 Stackdriver).<\/span><\/p>\n\n\n\n Platforma jest przystosowana zar\u00f3wno do aplikacji monolitycznych, jak i aplikacji w architekturze mikroserwis\u00f3w. Udost\u0119pnia dwa \u015brodowiska \u2013 <\/span>standard <\/span><\/i>i <\/span>flexible.<\/span><\/i> Tw\u00f3rca mo\u017ce deployowa\u0107 i rozwija\u0107 aplikacj\u0119 w jednym \u015brodowisku lub \u0142\u0105czy\u0107 zalety obu \u015brodowisk App Engine.<\/span><\/p>\n\n\n\n \u015arodowisko <\/span>standard <\/span><\/i>obs\u0142uguje kod \u017ar\u00f3d\u0142owy aplikacji utworzony w nast\u0119puj\u0105cych wersjach j\u0119zyk\u00f3w programowania:<\/span><\/p>\n\n\n\n \u015arodowisko <\/span>standard <\/span><\/i>jest polecane aplikacjom, kt\u00f3re mog\u0105 odnotowywa\u0107 <\/span>du\u017ce, nag\u0142e wzrosty obci\u0105\u017cenia i musz\u0105 zachowa\u0107 wysoki poziom skalowania<\/b>. Skalowanie mo\u017ce odbywa\u0107 si\u0119 manualnie lub automatycznie; w przypadku skalowania automatycznego uruchomienie instancji zajmuje sekundy. W d\u00f3\u0142 mo\u017cna skalowa\u0107 liczb\u0119 instancji do zera, dzi\u0119ki czemu nie ponosi si\u0119 op\u0142at za zu\u017cycie, gdy z aplikacji nikt nie korzysta.<\/span><\/p>\n\n\n\n Standard<\/em> wspiera te\u017c szybki deployment, poniewa\u017c wdro\u017cenie nowej wersji odbywa si\u0119 w ci\u0105gu kilku sekund.<\/span><\/p>\n\n\n\n App Engine posiada bezp\u0142atne limity u\u017cycia<\/a>. Po ich przekroczeniu ponosi si\u0119 koszt za ka\u017cd\u0105 rozpocz\u0119t\u0105 godzin\u0119 pracy instancji oraz za wychodz\u0105cy ruch sieciowy. Ceny s\u0105 uzale\u017cnione m.in. od typu maszyny oraz jej lokalizacji.<\/span><\/p>\n\n\n\n \u015arodowisko flexible<\/em> obs\u0142u\u017cy kod aplikacji, kt\u00f3ry:<\/span><\/p>\n\n\n\n \u015arodowisko <\/span>flexible <\/span><\/i>sprawdzi si\u0119 w przypadku aplikacji, kt\u00f3re posiadaj\u0105 raczej<\/span> jednostajne obci\u0105\u017cenie, bez nag\u0142ych waha\u0144<\/b>. Aplikacja mo\u017ce si\u0119 skalowa\u0107, ale odbywa si\u0119 to bardziej stopniowo ni\u017c w przypadku \u015brodowiska <\/span>standard<\/span><\/i>. Skalowanie mo\u017ce odbywa\u0107 si\u0119 manualnie lub automatycznie, a uruchomienie instancji zajmuje kilka minut (w <\/span>flexible <\/span><\/i>s\u0105 to sekundy). Minimalna liczba aktywnych instancji to 1.<\/span><\/p>\n\n\n\n Deployment w \u015brodowisku <\/span>flexible <\/span><\/i>zajmuje d\u0142u\u017cej ni\u017c w <\/span>standard <\/span><\/i>\u2013 kilka minut zamiast sekund.<\/span><\/p>\n\n\n\n W tym \u015brodowisku rozliczenie odbywa si\u0119 na podstawie u\u017cycia vCPU i pami\u0119ci RAM w uj\u0119ciu godzinowym oraz przestrzeni dyskowej i wychodz\u0105cego ruchu sieciowego.<\/span><\/p>\n\n\n\n Jako \u017ce App Engine jest zarz\u0105dzan\u0105 us\u0142ug\u0105 w modelu PaaS, mo\u017cna oszcz\u0119dzi\u0107 du\u017co czasu dzi\u0119ki automatyzacjom w obszarze obs\u0142ugi infrastruktury. To sprawia, \u017ce platforma jest popularna m.in. w\u015br\u00f3d:<\/span><\/p>\n\n\n\n Z u\u017cyciem us\u0142ugi mo\u017cna tworzy\u0107 i rozwija\u0107 aplikacje webowe oraz aplikacje mobilne. Dalej znajduj\u0105 si\u0119 przyk\u0142ady ekosystem\u00f3w Google Cloud z u\u017cyciem platformy App Engine.<\/span><\/p>\n\n\n\n Poni\u017cej zosta\u0142 przedstawiony schemat przyk\u0142adowej architektury aplikacji webowej, korzystaj\u0105cej z ekosystemu Google Cloud Platform z App Engine jako us\u0142ug\u0105 hostuj\u0105c\u0105:<\/span><\/p>\n\n\n\n Do serwowania statycznych tre\u015bci mo\u017cna u\u017cy\u0107:<\/span><\/p>\n\n\n\n Dynamiczne tre\u015bci mo\u017cna serwowa\u0107 z u\u017cyciem:<\/span><\/p>\n\n\n\n Do procesowania log\u00f3w i monitorowania aplikacji mo\u017cemy u\u017cy\u0107:<\/span><\/p>\n\n\n\n W App Engine mo\u017cna wdro\u017cy\u0107 backend aplikacji mobilnej w kontenerach Dockera (dla \u015brodowiska <\/span>Co to jest Google App Engine?<\/span><\/h2>\n\n\n\n
\n
Dwa \u015brodowiska w App Engine \u2013 <\/span>standard <\/span><\/i>oraz <\/span>flexible<\/span><\/i><\/h2>\n\n\n\n
Standard <\/span><\/i>dla technologii Python, Java, Node.js, PHP, Ruby i Go<\/span><\/h3>\n\n\n\n
\n
Flexible <\/span><\/i>dla kontener\u00f3w<\/span><\/h3>\n\n\n\n
\n
Przyk\u0142ady u\u017cycia Google App Engine<\/span><\/h2>\n\n\n\n
\n
Aplikacja webowa<\/span><\/h3>\n\n\n\n
<\/figure>\n\n\n\n\n
\n
\n
Backend aplikacji mobilnej<\/span><\/h3>\n\n\n\n