I am working on a new(again) project. I too will take the path of a monolith but later on i plan to add separate servers to handle chat, video(hosting and streaming), file hosting(ala cdn) and mailing(yes, i will write my own mailer). I write in Go, use protocol buffers to define the api but will handle it via http(manual routing, not grpc gateway), event sourcing for the domain entities, db will by good old mariadb(…
Technology Choices for My SaaS in Retrospect
31–40 of 74 posts
Re: Technology Choices for My SaaS in Retrospect
#32I'd say this is quite biased, which is fine I guess, we all have our biases. Seems his choice of F# is set in stone, so you either go with Bolero or you have 1+1 languages in your stack. This is also reflected in his choice of Xamarin: he "doesn't like" Dart as a language, so he's forced to choose "dotnet MAUI as a platform [which] might not be as mature and capable as Flutter even today". Flutter as well "suffers fr…
- via Fable (F# to JS Compiler)
- WebSharper (tightly integrated web frontend and backend)
- Blazor/Bolero Server Side (like phoenix live view)
- Blazor/Bolero WASM
We also start to see Avalonia running on WASM, but I wouldn’t say it’s ready yet.
Re: Technology Choices for My SaaS in Retrospect
#33Re: Technology Choices for My SaaS in Retrospect
#34I'd say this is quite biased, which is fine I guess, we all have our biases. Seems his choice of F# is set in stone, so you either go with Bolero or you have 1+1 languages in your stack. This is also reflected in his choice of Xamarin: he "doesn't like" Dart as a language, so he's forced to choose "dotnet MAUI as a platform [which] might not be as mature and capable as Flutter even today". Flutter as well "suffers fr…
I would never choose a Google specific cross platform environment. A cross platform mobile environment constantly needs updating to stay consistent with the vendor’s platform. I wouldn’t trust Google to give that much attention to Flutter especially seeing they are moving away from it internally for iOS development. https://9to5google.com/2021/10/10/google-ios-apps-native/
Re: Technology Choices for My SaaS in Retrospect
#35I'd say this is quite biased, which is fine I guess, we all have our biases. Seems his choice of F# is set in stone, so you either go with Bolero or you have 1+1 languages in your stack. This is also reflected in his choice of Xamarin: he "doesn't like" Dart as a language, so he's forced to choose "dotnet MAUI as a platform [which] might not be as mature and capable as Flutter even today". Flutter as well "suffers fr…
Actually - you have a bunch of options for building web front ends in F# - via Fable (F# to JS Compiler) - WebSharper (tightly integrated web frontend and backend) - Blazor/Bolero Server Side (like phoenix live view) - Blazor/Bolero WASM We also start to see Avalonia running on WASM, but I wouldn’t say it’s ready yet.
Re: Technology Choices for My SaaS in Retrospect
#36Earlier quoted context omitted.
Seemed like he was scared to share the idea.
I beleive he said it's a boring B2B SaaS. And it's probably a niche market such that possibly (likely?) nobody reading HN would be involved in and be interested in his product.
Re: Technology Choices for My SaaS in Retrospect
#37Earlier quoted context omitted.
Seemed like he was scared to share the idea.
Or maybe he wanted to write about the tech he used rather than write a prolonged ad for his product.
Re: Technology Choices for My SaaS in Retrospect
#38Earlier quoted context omitted.
Actually - you have a bunch of options for building web front ends in F# - via Fable (F# to JS Compiler) - WebSharper (tightly integrated web frontend and backend) - Blazor/Bolero Server Side (like phoenix live view) - Blazor/Bolero WASM We also start to see Avalonia running on WASM, but I wouldn’t say it’s ready yet.
When I googled how to create wasm apps, I got blazor. I come from a python background, so this is tempting to try our blazor for an interactive app, is it recommended? ( you don’t hear much about Microsoft tech here only Js or python)..
Re: Technology Choices for My SaaS in Retrospect
#39Author mentions that there's a single machine for the api, db and nginx; this means the machine is publicly accesible to everyone, and so is the db (although the port the db is running could be only accessible to localhost). I don't really feel comfortable doing that (so I force myself to out the db within a vpc).
How does the author provision the Hetzner machine? Manually? Terraform? Ansible? If something goes wrong with the single machine, how long does it take to rebuild everything from scratch? For me this is very important and I force myself to being able to rebuild everything with one or two commands (usually using Ansible).
Agree with the lack of usage of k8s. For a one-man project, it seems a bit overkill.
And finally, monitoring. After working for over a decade in the industry, I don't feel comfortable deploying stuff to production that is not monitored (e.g., Prometheus + grafana).
Ok, there's also: backups, security updates, and a whole bunch of stuff that still delays my first deployment.
Re: Technology Choices for My SaaS in Retrospect
#40Earlier quoted context omitted.
One advantage of using docker for everything is reproducibility. Your dev and prod environmentsncan be almost identical.
Is it really that much easier than just installing the same version of Postgres and running SQL queries to create the schema/seed the data? You’re not going to be using the same data in production and dev.
Or I can sidestep all these questions, and just use the same Docker image everywhere, which will give me the same version of Postgres and the same config. I agree it shouldn’t contain any schema/data.