Wpis z mikrobloga

Mam mała rozkminkę, otóż mam do realizacji mały projekt:
- appka mobilna - prawdopodobnie KMM (ios+android, może i web)
- appka webowa - zarządzanie treścią, userami
- backend - CRUD - użytkownicy, jakiś cms, wysyłanie notyfikacji/sms
- przechowywanie video/zdjęć - tutaj pewnie 3rd-party - vimeo

Założenia projektu (bardziej odnoszę się do części serwerowej):
- tani w utrzymaniu
- tani w implementacji
- aplikacja raczej nie będzie miała więcej niż 5-10k userów
- poruszamy się w ekosystemie JVM (kotlin/java)

Zastanawiam się czy zamiast budować backend w jakimś springu nie oprzeć tego na jakiś rozwiązaniach chmurowych i serverless. Kiedyś coś robiłem w backendach ale to było 10 lat temu. Świat poszedł do przodu, a stawianie małych projektów na tak "drogich" rozwiązaniach mija się z celem. Nie znam wszystkich dostępnych rozwiązań i szukam podpowiedzi.

Co można użyć?
Jakie są rozwiązania architektury?
Jakie podejścia?
Jakie wady i zalety?
Jak dane rozwiązania kosztowo i czasochłonności ma się do reszty (jakaś ocena koszulkowa S/M/L)

Na ten moment co widzę:
- napisać wszystko "po staremu" spring boot + gdzieś baza (lokalna lub w cloud)
- użyć Firebase do prostej bazy danych i autoryzacji, do cms'a np. strapi (headless cms), resztę usług posklejać

Jakby ktoś obyty w temacie mógł się wypowiedzieć w jakim kierunku warto teraz iść biorąc pod uwagę właśnie wielkość projektu i trendy na rynku.

#programowanie #programista15k #programista25k #backend #informatyka #aws #azure #gcp #android #androiddev #ios #flutter #spring
  • 7
  • Odpowiedz
Zastanawiam się czy zamiast budować backend w jakimś springu nie oprzeć tego na jakiś rozwiązaniach chmurowych i serverless.


@KwasowyProktolog10kJava: pisz w czym ci wygodnie. Jak cold start jest problemem to zobacz czy nowego zabawki od AWS nie rozwiązują problemu https://refactorfirst.com/kick-start-spring-boot-application-with-aws-lambda-snap-start . Zawsze też możesz wybrać framework/libki, który nie wstaje godzinami

Odradzałbym pójście w lambdy na pełnej k**wie, bo po co? Dobrze napisany backend monolit możesz spokojnie uruchomić w lambdzie bez
  • Odpowiedz
Jeśli nie ma być wodotrysków to zrobiłbym mobilki jako webview a backend z Pulumi serverless; w AWS to DynamoDB, Cognito i co tam chcesz w Lambdzie


@Pesio: Webview odpada, właśnie na mobilkach będą wodotryski itp.
Ten Pulumi jaki daje realny zysk względem tego że zrobię to bezpośrednio w AWS lambda?
  • Odpowiedz
@KwasowyProktolog10kJava: zrobiłem apke w flutter+firebase+cloudfunctions. Flutter troche słaby wydajnościowo na starszych urzadzeniach i nie jest SEO friendly, reszta spoko, najwiekszy koszt to cloud storage(duzo zdjęc) no i cloud function tez żrą sporo, lepiej odrazu z klienta uderzać do bazy jak się da to wtedy wychodzi jak za darmo.
  • Odpowiedz