Deploying Meteor App - Is Oplog Tailing required?

I did not know whether to categorize this under deployment or help…but…

I noticed people say Compose.Io supports the oplog tailing with Mongo DB. Unfortunately, the pricing is higher than I would like to pay ($31/mo just for 1 GB, plus still have to pay to host the application).

I noticed Modulus says they don’t support oplog, yet a lot of people recommend them. So my question is, does that oplog support really matter for an app? If it does, why do people recommend Modulus so much then?

I’m also considering Digital Ocean, or EC2, not sure if they support it.

I am trying to get a cost effective way to host multiple mobile apps, I am at the point of choosing between Firebase and Meteor as a realtime backend. I like Meteor because it is very easy to understand, and although I have been using Angular, I like Blaze and the template system a lot too. Firebase’s security and validation rules seem a lot more difficult to wrap my head around. However, Firebase offers a lot for $49/mo, unlimited users and a decent amount of file storage, data transfer, and data storage, as well as hosting static assets, that could cover multiple apps.

Thanks for your insight and help!

2 Likes

Using the Oplog is all about performance. If you’re app is working well without it, and your users aren’t complaining, then don’t worry about it. That being said it really does make a large performance difference when you start using it, especially as your app usage grows. For the specifics on how it works, check out the excellent MongoDB Oplog and Meteor post.

The people who recommend Modulus are the same people who recommend using any other Mongo solution than the one Modulus provides … :slight_smile:

If you’re hosting your own Mongo install with DO, EC2, etc. then you’ll be in charge of setting up and managing the Oplog yourself. It can be done but just keep in mind there is overhead with managing Mongo yourself.

Great question. I’m also interested in hearing opinions on this. Also worth noting is that Oplog tailing on Compose is an additional $5/month so you’re looking at $36 plus if you were hosting on Galaxy (Developer) another $25/m for a grand total of $71 / month even for a personal app. Here in Canada our plunging Loonie makes it $93 CAD a month. Eek!

1 Like

Thanks for the reply! I see. So how many requests (per second or simultaneously) do you think causes performance to peter out if you don’t have oplog enabled?

Ahh, I did not know that, so they recommend Modulus AND Compose? Seems like it would get pricey, quick…

I think I have seen a tutorial from Digital ocean on setting up Oplog. They seem to have good documentation. As long as it is easy as following that tutorial, I should be able to handle it.

Ahh I did not know it was extra. $36 is a lot for 1 GB, not sure how long it would realistically take to surpass 1 GB, but each gig I think is another $20/mo or so. I just want to release multiple mobile apps that may or not make any money at all, I have considered so many different backend services (Parse, Firebase, Azure, etc) but they all have good and bad things. I would rather not surpass $100/mo initially to be able to release multiple apps.

I’ve worked at both ends of the $ spectrum (with other variations in between):

  • Low $: mupx + digital ocean / linode, with self managed mongo + oplog
  • High $: galaxy + compose with oplog

Both options work really well, but I can say for sure the “perceived” more expensive option has proven to be cheaper in the long run, from a $ effort/hour point of view. If you love devops (and I do) that’s great, but there comes a time when passing this stuff off to others really does make financial sense.

Pop quiz: You have 6 hours available this week to get some work done on your app. Do you:

a) Use that time to review your Mongo replication lag only to find it’s not looking great, then spend the rest of that 6 hours trying to figure out why …
b) Code up feature X, Y and Z of your app, meteor deploy, and profit.
c) Read https://forums.meteor.com

(answer: there isn’t really a wrong answer, but if it’s c, well … I should get out more)

5 Likes

Haha, good point. Okay, so if I choose galaxy+compose…is the base server at ~$25/mo powerful enough to handle multiple applications? Just one application? To me, who has never really done devops, I have no idea what specs are required. Thanks!

As is clearly evidenced by having read the question, the answer is C

1 Like

Anyone have any good info on this question?

I will introduce you to NodeChef. Everything is taken care for you. With the Compose + Galaxy option costing you $71, it will only cost you $9 on NodeChef for a small app…

In my search, I found in the past https://scalingo.com/meteorjs-hosting but never tried it. Feedback welcome. I am not related to them (They are in France, I am in Canada). But I see Oplog and sticky sessions are included. Marc

In my experience. Oplog doesn’t matter if there’s only your meteor app will change your Mongo collection(s).

But you have to enable Oplog if there’s another service will update your MongoDB. Otherwise, you’ll get a lot delay.

I’ve always thought that oplog was enabled by default in meteor… But it seems that you have to set it up manually in your production db.

Well, you have to seperate here. If you are running multiple instances of your app, you have also to enable oplog, otherwise you’ll get a 10 seconds delay.

Yes, you are right. Thanks for clarification.