It’ll likely depend on your specific app but in general the 386mb one will likely yield the most value. Since you can only use 1 core, I don’t think the CPU usage would increase with the larger instances. You don’t want a 1gb instance that uses 10% CPU when the RAM is at 800mb. Ideally you’ll want to balance it out with several smaller ones. Again depending on your app.
Servos are what they call their virtual machine instance. You’ll need at least one of these to run your app.
My workflow is to setup a production ‘app’ and a staging ‘app’ that are exactly the same except the staging has a different database URL so it’s not using prod data. This is important to catch environment changes (like node versions or database differences). Setup elastic scaling on the production app so that it will scale up when you get more traffic.
When you’re ready to deploy a feature, merge the feature branch into master, tag an arbitrary release number so you can roll back if needed, and then do a modulus deploy to staging and test the app. If all is well, do another deploy but this time to production. Sit back and drink a cup of coffee
I would also highly recommend Compose.io for mongo hosting. They’re great! It also decouples you from using Modulus’s mongo database in case you want to switch app hosts.
Digital ocean is great if you’re on a budget and like devops. I tend to pay the premium for Modulus because I don’t want to waste time screwing around with load balancers, manually scaling, and patching linux boxes on mission critical things. More time building and less time tinkering with chef!
Docker! We DevOps people use Docker nowadays to tinker with until we go mad with scripts and builds and configurations… (Sorry, couldn’t resist ;))
On topic: What the Skinny Geek said! DO (Digital Ocean) is something you can use if you really are fine with taking a bunch of time to learn the basics of “DevOps” (i.e. server administration, Linux). It’s fun, if you care about it. But if not, then definitely stick with one of the more approachable, “done it for you” options like Modulus. Beyond that there’s nothing I can think of adding to the previous response!
(Except… while you could get away without a “staging” instance/environment it’s rarely a good idea. You could bring that environment up only whenever you need it to test a new release, if you’re on a tight budget, but other than that it’s a critical piece of the puzzle since you really don’t want to push releases to your users that are not very well tested, ideally by more people than just yourself.)
However DO will charge you whether it’s on or off.
You can always create a backup image of your DO instance, destroy the instance and when you need it again, you just fire it up. It takes about 30 seconds. You can even integrate it into your workflow through the DO rest api.
Tugboat is a nice little DO “remote control CLI”, available for Mac OS through homebrew, not sure if that one works on other platforms as well.
Yeah, right? Kubernetes is about to hit 1.0 in July, and Docker has been very usable and mostly stable for quite a while now. I like 'em, been playing with them since last year… Next app that hits it big is going to go on a k8s + CoreOS cluster
Thank you for the reply. I’m going to look into each of these options. I typically use meteor deploy for staging environment.
For the most part. I have one particular client, that insisted on using Meteor’s server to run his website in production to reduce cost. To me this is just not a good idea, and this is why I decided to look into Modulus and Digital Ocean. I do not mind learning Digital Ocean, and I have had a lot of friends talk to me about Docker.
Right now I run a coldfusion based website on a vps. I pay a ton of money for this, and was strongly considering re-writing my site on Meteor, and using one of these hosting options. The things is I like the control I have over my vps , coming from a shared server which was much cheaper.
Is Digital Ocean the equivalent of someone having vps like control over their environment,
and Modulus.io is the equivalent of a standard shared hosting service?
Agreed. Just the other day my client was on the meteor server (we use it as remote ‘dev’ server for quick pushes) and the service just stopped responding while I was on a call going through the UI for a design issue. On her end she saw the login/log out buttons going funny and I couldn’t even load the page. Several minutes later it was back up.
If cost is an issue compose has a ‘sandbox’ database that will work for small scale.
Here’s a tutorial on deploying to DO with MUP:
Digital Ocean is a VPS, like Linode. You basically have your own virtual linux box to SSH into and it’s up to you to do the rest. Modulus is more like a VPS that they take care of and provide easy tools to maintain it and get metrics on. You can’t SSH into it and install your own software as needed. This is much like Heroku but geared towards NodeJS. I wouldn’t really call it shared hosing (like hostgator).
Ok I believe after reading these posts , and your response I feel confident with Digital Ocean. Right now as I mentioned above I am running my current website on Hostek , with Lucee and Coldfusion. Coldfusion was my first serverside language and I am not a huge fan. I enjoy working with Meteor, so My first project and experience with Digital Ocean I will do this with my own site to understand the troubles, and benefits I will go through prior to subjecting my clients to this.
Also I really like the setup I have with Hostek, VPS solution. I believe from what you have stated here that there is a lot of control. In my VPS with Hostek, I can get in the system and configure just about anything i’d like, and I think I like this attribute for Digital Ocean. For my own personal website do you believe the $20.00 2GB RAM solution is sufficient for one site ? Also how hard is it to configure NGINX , and all the other components that will need to come along with running a website on DO.
Finally What about Domain Name Hosting is this easy to do with DO
1GB would prob. be more than enough but you can always start with 2GB and downgrade if there is a lot of overhead.
If you’re using MUP, not very hard as it sets it up for you. I think it’s still using Nginx for the load balancing… if not maybe they’re using HAProxy… either way it handles load balancing for you. You basically just add in the host IPs into an array in the config.
@seeekr I’ve never configured Ngix in my life and have no real desire to learn the in’s-and-out’s of hosting. I really wonder why doesn’t someone who’s figured all this stuff out (Docker scripts/images for DO, backups, staging, security etc.) make it available for others as a service?
Clearly many people are disappointed with Modulus, but some people want to outsource that hosting side of things so they can focus on software, business development, marketing, etc. There is clearly a marketing for such an easy-to-deploy, highly-available Meteor hosting service. Modulus is the only one that’s done it, but I think there is a market for alternatives due to dissatisfaction with Modulus. I’m really surprised no one else has done it yet.
I believe meteor hosting would be way too specific to grow into a profitable business,
Surprised to hear that. Isn’t Meteor now even more popular than ROR (at least on GitHub).
Where is the overhead? Doesn’t a service like Modulus just provision servers on-demand? They don’t have their own network of servers; they just spin them up on Joylent, AWS or Digital Ocean as-needed right?
I’d like to see someone do for Meteor hosting what WP Engine has done for WordPress hosting.
Regarding Galaxy, we have multiple cloud storage and cloud computing providers, multiple WordPress hosting specialists, multiple Magento ecommerce hosting specialists. Why should Meteor be any different? Besides @arunoda , the one-man Meteor dev group, could probably create Galaxy faster than MDG could.
It still requires a lot of work and dedication to make such a service, even with all the great tools available.
And you can’t price this thing very highly since it’s not perceived as very high-value. So you have to execute the whole design and implementation very well and scale the tech and business just as well. Otherwise that kind of business probably won’t work, or won’t take off. I’m sure there are Meteor hosting solutions in existence and in use by various companies, but at a smaller scale, tailored to more specific needs, and with (much) higher costs than justifiable for the general market. (EDIT: And thus we don’t really hear about them, they don’t and probably won’t ever become popular and widely-used.)
MDG is on point with choosing Kubernetes for their hosting service. But k8s has only become available within the last year or actually really within the last few months (1 month since 1.0 release), and even now it might not be able to scale beyond 1000 machines, which is still not a whole lot in terms of “how many Meteor apps can this hosting service handle”.
This stuff is doable, and potentially profitable, I’m just saying it’ll take a whole lot of dedication to make something worthwhile.