I have some questions about VPS and web hosting.
As far as I understand, VPS is a virtual machine on which we can do anything as we can do with our local machine. Install software, change settings etc.
Web hosting is where we have only a folder in which we place our web site in.
However, most of the provider currently advertise their service as “VPS web hosting”. This confuses me, does that mean they are selling VPS service which can only host web sites?
I need a virtual machine which host one RESTful Java service using Tomcat and Jersey and MYSQL at the backend. My plan was to hire a VPS machine, install Tomcat 7 and MySQL on that machine. Is this the right way to go?
Many thanks.
2
VPS hosting
You get a virtual machine which is all your own, you run whatever software you can on the supported OS. An example is AWS, which runs heavy JVM apps just fine, provided you create instances with enough RAM.
- You are responsible for your own OS (security and all).
- A VM is just like a physical machine (it fails, etc), it just can be replaced faster.
- You have full control over your OS, and can freely tweak JVM flags.
- You can add any native components you might need.
- Usually lower tier is cheap or even free (AWS) but rather resource-constrained.
JVM-enabled hosting
Some providers don’t give you your own machine but give you enough JVM access to run whatever jars/wars you might upload.
- You don’t need to bother about maintaining the OS, the JVM, etc.
- You have less control over things beyond JVM, and even JVM flags.
- You still got only one instance of your app, but possibly with redundancy higher than on a VPS.
Google AppEngine
It further limits your contact with OS and JVM.
- It is easy to have more instances of your app.
- Your app is redundantly deployed (not on one machine).
- You are limited to Google-supported data store options (fortunately a MySQL-compatible option exists).
- The lower tier is free, but free resource access quotas may end soon unless you’re careful.
Take a look at another relevant SO thread, too.
1
I recommend you rent a VPS with root access. They’re really cheap and you can easily make changes to the systems if your requirements ever change. Most companies provide pre-configured VPS running Linux distributions (Ubuntu, Debian or CentOS are most common) or Windows Server. Just make sure there’s root access and you’re fine.