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!