Wątek przeniesiony 2024-04-23 16:54 z Inżynieria oprogramowania przez Riddle.

Ażurowy cold start tak zimny że React zamarza

0

Postawiłem sobie API w ASP.NET Web API (.NET 8) w Azure App Service na Free tier i bazkę SQL też na Azure w jakiejś nowej free opcji, a komunikacja odbywa się z pomocą EF Core 8. Rozumiem że za darmo to nie ma co oczekiwać cudów, ale cold start trwa około minuty i jak biję do tego API z apki frontendowej to ona rezygnuje zanim dostanie odpowiedź. Ale nie chcę zmieniać timeoutu, chcę żeby ten cold start był szybszy, bo google mi nie zaindeksuje treści z takim czasem.
Apka się ubija po jakichś 15 minutach bez requestów.
W necie proponują zrobienie sobie skryptu który odpala się co 10 minut i robi request no ale bez jaj że tak ma wyglądać cloud engineering w 2024.
Inne komentarze piszą, że EF może być źle skonfigurowany, albo połączenie z bazą zamulać, ale request z localhosta trwa 5 sekund po długiej przerwie.
Jakies inne pomysły?

3

Bo cloud tak nie wygląda w 2024, wygląda jak jesteś na freetierze i oczekujesz cudów.

1

App Service na free tierze tak bedzie dzialal. Na innych planach mozesz wlaczyc Always On, ale na free jest to wylaczone.
Na azure container apps pewnie cold start bylby troche mniejszy (ale nie oczekiwalbtyym cudow ponizej <30s) i tez maja tam jakis darmowy przydzial.

Hack ze skryptem moze i by dzialal, ale pamietaj ze free tier ma przydzial procka na 60 minut dziennie (nie wiem jak dokladnie liczone) wiec jest opcja ze tym skryptem ktory na sile by utrzymywal apke przy zyciu bys to przekroczyl i juz do konca dnia by nie wstala.

1

Coś robisz źle.

Raz że free nie ucina szybkości (nie w tym sensie w którym ty używasz).

Dwa że do indeksowania przez Google nie wystawia się apek w React.

Trzy że takich krytycznych rzeczy nie robisz lambdą do tego się odnosi rozumiem cold start o którym piszesz.

1

@francuskUoncznik chyba wypisales losowe rzeczy ktore ci do glowy przyszly jak uslyszales o chmurze.

francuskUoncznik napisał(a):

Raz że free nie ucina szybkości (nie w tym sensie w którym ty używasz).

Dokladnie to robi w tym sensie, w ktorym tego uzywa. Jak apka nie dostaje requestow przez X czasu to App Service wywali apke z puli (pod spodem jest IIS) i kolejny request bedzie sie wiazal z cold startem.

Dwa że do indeksowania przez Google nie wystawia się apek w React.

To akurat prawda. Chociaz od biedy w jakims stopniu chyba dalo sie zaindeksowac nawet apki SPA?

Trzy że takich krytycznych rzeczy nie robisz lambdą do tego się odnosi rozumiem cold start o którym piszesz.

Prawda, "krytycznych" rzeczy nie robisz lambda. Przy czym on nie uzywa lambdy bo to Azure a nie AWS i wprost napisal ze ma apke na usludze App Service xD

0

Dwa że do indeksowania przez Google nie wystawia się apek w React.

To akurat prawda. Chociaz od biedy w jakims stopniu chyba dalo sie zaindeksowac nawet apki SPA?

Kiedyś pracowałem przy podobnej apce SPA i google indeksowało treści doczytywane, ale nie zawsze, pewnie też przez cold start - jak proces indeksowania trwał w trakcie działania apki to treści były indeksowane, a jak w nie to google nie czekało aż wstanie. Przynajmniej takie miałem wnioski jak widziałem te dziury w treściach wyników google.

0
bagietMajster napisał(a):

Bo cloud tak nie wygląda w 2024, wygląda jak jesteś na freetierze i oczekujesz cudów.

To jak Wy stawiacie hobbystyczne apki? Najtańszy tier kosztuje 54$ na miesiąc, trochę sporo jak na prostego bloga

4
debugariusz napisał(a):
bagietMajster napisał(a):

Bo cloud tak nie wygląda w 2024, wygląda jak jesteś na freetierze i oczekujesz cudów.

To jak Wy stawiacie hobbystyczne apki? Najtańszy tier kosztuje 54$ na miesiąc, trochę sporo jak na prostego bloga

Nie na cloudzie, weź jakiegoś mikrusa za 100zł/rok i wystarczy. Cloud jest mega drogi do małych rzeczy, do dużych to nawet droższy :P

2
debugariusz napisał(a):

To jak Wy stawiacie hobbystyczne apki? Najtańszy tier kosztuje 54$ na miesiąc, trochę sporo jak na prostego bloga

Stawianie prostego bloga na chmurze to troche przerost formy nad trescia. No chyba ze to tylko w celu nauki chmury to do tego masz wlasnie free tiery i triala.

Jak stawiam hobbystycznie apki?
Jesli chodzi o Azure, to stawiam na subskrypcji z licencji VS Pro/Enterprise ktora zapewnia moje korpo, wtedy mam 50 albo 150 euro (w zaleznosci od licencji) miesiecznie. Tylko to raczej do testow/nauki/zabawy, a nie stawiania prywatnych rzeczy ktore maja stac latami (chociaz sie zdarzalo 😀 ).
Inna opcja to tak jak powiedzial @bagietMajster, jakis prosty VPS bedzie o rzad wielkosci tanszy, a i niewykluczone ze wydajniejszy.

Poza tym, na chmurze da sie zrobic po taniosci ale trzeba sie troche rozeznac. Np. najtanszy nie-darmowy App Service kosztuje ~$12 jak wezmiesz wersje Linuxowa, a nie Windowsowa. Masz tez Container Appsy ktore maja duzo nizszy billing jak apka jest nieaktywna (nie otrzymuje requestow i nie zuzywa procka). Podejrzewam ze bedzie troche drozej niz ~$12, ale dalej w przypadku bloga na pewno taniej niz wspomniane ~$54. No i ostatnie, prostego bloga to tak na prawde mozesz postawic na czyms co generuje ci statyczne HTMLe i hostujesz to pozniej jako statyczna stronke. Tutaj juz bedzie calkiem po taniosci bo wezmie darmowa wersje Azure Static WebApp i fajrant. Nie kazdy blog potrzebuje kobyl w postaci wordpressa 😉

0

Do takich zastosowań poszukaj na backend technologii, która wstaje w kilka sekund, a nie w minutę.
Dla przykładu https://ktor.io/
Oczywiście musisz zwrócić uwagę co się dzieje podczas startu - im mniej, tym lepiej. W chmurach warto sprawdzić, czy jakieś tam serverless nie jest napisany pod konkretny język z którym działa, a z pozostałymi udaje, że działa.

0

Postanowiłem skorzystać z wspominanego w innych wątkach polskiego hostingu .NET i na razie śmiga aż milo. Dam znać za jakiś czas jak będą chętni. Przeniosłem tylko API i bazę, a front zostawiłem w Azure Storage. Zastanawiam się jak u nich z bezpieczeństwem, bo po zalogowaniu na serwer bazodanowy widzę bazy innych klientów (tylko nazwy, nie mogę w nie wejść). Testuję darmową opcję przez 14 dni, później wybiorę opcję za 130zł/rok.

0

Bo masz pewnie tego app w serverless i ten "servless" musi się odpalić :D Ale fakt, na free tierze nie ma co oczekiwać cudów. Cloud generalnie jest dla kasiastych ;>

1 użytkowników online, w tym zalogowanych: 0, gości: 1