Meteor SaaS Hosting

If all you need to host is a Meteor app, then Docker containers are a much better choice. My case is a bit different, as e.g. in one of our productive VMs we also host

  • nginx
  • an Apache Kafka + zookeeper instance
  • redis
  • the MongoDB primary
  • various microservices implemented in Node.js, some of which started in multiple instances
  • another microservice in a Java Spring Boot container
  • a prerendering service along with a headless Chrome

…and the Meteor app comes on top of all that, optionally also in multiple instances. Doing all that in individual Docker containers would be possible, and maybe even desirable, I’m not sure – but it doesn’t feel like a natural choice.

1 Like

I like your idea to put MongoDB Primary in a VM. Do you use secondaries in containers ?

I don’t have secondaries quite yet, but I plan to put them into containers as soon as I set them up. But since I rent bare metal, it makes only sense to host the MongoDB secondaries on separate root servers, even though I have plenty of resources left on the first host. Obviously is makes little sense to co-deploy them on the same host, because if it goes down in flames, everything else goes down with it.

That’s a major drawback when using bare metal.

1 Like

Exactly - it is just too expensive to run small applications on when compared to DO.

Hey @raragao, this is slightly delayed but I’ve only just started researching the use of a proxy for performance improvements.

What is the benefit of using a proxy? What is the difference between a proxy and a reverse proxy? Would I host the proxy on a different, smaller server than the application / database? (I assume so, but I would rather ask a stupid question to confirm it!)

For me, proxy (or forward proxy) is used to out of a private network to internet, like Squid Proxy for example.

A reverse proxy can be a one only point entry to many applications, then you can use one only IP to expose many applications. Usually Apache and Nginx are used as Reverse Proxy (there are many).

I started to use Traefik for now. It is very easy to use with Docker Containers.

You can see this explanation: https://www.cloudflare.com/learning/cdn/glossary/reverse-proxy/

2 Likes

Somewhat off-topic: with a strikingly similar setup as yours, we decided one day that Docker is too blunt (or actually too simplistic) a tool for what we need. So we’re investigating the system containers concept instead. Seems much better suited for automating migrations or load balancing servers containing multiple services.

1 Like

Thanks for the tip – that sounds very promising, I’ll be definitely looking into that. Maybe we could share experiences too.

1 Like