Starting out on SaaS

Hi everyone

I need a bit of guidance on this principle of cloud-first. Given the general warmth of this community I thought I’d ask here before braving the marshes of reddit.

I’m a hobbyist developer that has a few SaaS applications that I’d like to develop (assume that I’m just starting these projects), but I’m stuck in the noise - the barriers to entry from a knowledge perspective seem to require far more time that I have available. So I’m going to try ask one question at a time to you humans, and maybe you can point me in the right direction.

I’d like to have a containerized development environment so that I can simulate connecting to a back-end services and databases in the SaaS Applications, in a similar way as I would if they were in the cloud. I have my Linux desktop where I am developing and a small Proxmox server on the LAN that I wold like to use to deploy and test docker containers on.

I’d also like to try set thing up so that I can separate front-end and back-end development stack for each environment (Don’t have compilers, plugins and services for postgres, go, js (and its frameworks) and what ever other language/tool I may need for a particular endpoint, all the same space.

So given all of that backstory and context: How should I set up DevPod and VSCode?

Take a look at devcontainer docs for compose.

Sounds like setting up a dev environment that is multiple containers would be the best. VSCode and Devpod both support compose style dev containers.

I, too, use VS Code with Dev Containers. But do not use the Templates / Features because in my experience they tend to be too many versions behind. I use a custom built set of Docker images. I wrote an article here that should help summarize some of the things I ran into early on: Bluefin - rely on OCI layer sharing for distrobox and devcontainer

For deployment, I currently use Raspberry Pi 4’s running Open Media Vault 7.x (with docker compose integration). Deploying to a different architecture than I used for development has forced me to think a little more deeply about a couple of additional things and I feel it also has been a valuable second testing step.

Note I have (before retirement) run k3s on 3 raspberry pi’s (plus my x86_64 laptop) which is also a beneficial learning tool. Keep in mind that x86_64, amd64 and aarch64 (mac and Raspberry Pi 4,5) are the most common archs out there… hint, hint

If your software can deploy and run on a mixture of those archs locally, then your deployment options in the cloud will be more flexible - read: more choices for cost containment.

Good luck!

1 Like