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.)
Ah good point! Modulus lets you shut down a âmodulus appâ (aka staging) so that youâre not charged. This way you can turn it on and test, then shut if off, costing a few cents.
However DO will charge you whether itâs on or off. I have a make file setup so I can run make shutdown_staging and make staging will deploy it and turn it on if itâs off.
[quote="seeekr, post:3, topic:5902"]
Docker! We DevOps people use Docker nowadays to tinker with until we go mad with scripts and builds and configurations... (Sorry, couldn't resist )
[/quote]
Hah, very true! I just started playing with Docker and Kupernetes⌠pretty slick!
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.
Very nice , feeling more confident about DO now. Was thinking about using DO for my own site and Modulus for my clientâs, but it seems DO will work for both .
@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 guess with galaxy around the corner, it is just not a viable business move to start a meteor hosting service until some detail on galaxy, such as features & pricing, gets revealed.
Also, I believe meteor hosting would be way too specific to grow into a profitable business, unless you go the enterprise route.
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.
And you canât price this thing very highly since itâs not perceived as very high-value.
I pay $99 monthly for WP Engine and I think itâs a very good value.
Anyway I just wish there were some better options. Iâve been a bit frustrated with Modulus. There is definitely a market. I canât be the only person who doesnât want to do it myself.
Iâve been accepted into the Galaxy Early Access Program so Iâm going to give that a try. Signed an NDA so I canât say anything about it until they decide to come out of stealth mode.
Iâm doing all the hosting stuff for most of my clients, so I could definitely offer managed Meteor hosting. If 10 people sign up for $99/mo Iâll commit some time to build something along these lines:
shared environment
âunlimitedâ number of apps (fair use)
deploy and update with: git push production master
basic monitoring: health checks and alerts
includes MongoDB hosting (no compose.io etc necessary; one-stop hosting)
fronted by nginx*
enough compute/memory/disk for average Meteor apps*
*: this is more of a technical detail, should not matter to users of this hosting service.
Would that suffice as a first step? Anything else thatâd be absolutely required for average Meteor hosting needs?
EDIT: Something like this could be up within a monthâs worth of work, give or take. Early versions much sooner, too.