Shared server with shared JVM and Application Server

It was very popular some time ago - even cPanel has it included. The approach is still used by some Java hosting companies for low price accounts. Drawbacks are undefined resource limits (you never know how much RAM you can use before admins will ask you to upgrade to private Java package), poor isolation from other clients of shared JVM, limited restarting/redeployment, no Tomcat Manager/Admin. Java applications running on shared application server can easily be crashed by other user applications. We never offered shared Java hosting.

Shared server with private JVM and Java Application Server or Servlet Container

This model gives you dedicated JVM and Tomcat or other application server so you know exactly your heap and PermGen memory limits, you can monitor it and upgrade easily when necessary. At the same time you do not need to setup other useful hosting services (FTP, DNS, web server, mail, etc.) by yourself but have them included in your package as shared services managed with cPanel. You also get Java Control Panel to ease management of your JVM and application server. You can use Tomcat Admin/Manager, JBoss Admin, Glassfish Console and also restart your Java anytime you wish.

VPS with private JVM and Application Server

Here you get pristine VPS with requested software preinstalled. It gives you very good isolation (Xen). Usually preinstalled software include JDK, appserver (mostly Tomcat), an SQL server firewall and a CVS/SVN/GIT. Application server is serving pages directly. If you need support for PHP/Perl/Python we will install a web server for you. Need any other software? We will install it too. Note that in this model you need to ensure you have enough RAM to have all required services (e.g. mail server, FTP server, DNS server, etc.) installed. Most users are aware what they exactly need and only order a VPS with amount of RAM that will be split among Java heap, Java non-heap and MySQL. To save on RAM you can use third party mail service, use SCP instead of FTP, use your registrar DNS service and so on. Upgrades are easy in this model.

Clustered Application Servers (VPSes with Private JVMs)

It is a variation of above model where 2 or more VPSes will be clustered on application server (e.g. Tomcat) and SQL server level providing high availability system. Recommended for mission critical Java hosting clients.

Java Hosting and the Cloud

When it comes to cloud - any of above can be run with or without cloud architecture. cPanel or VPS servers can run in IaaS cloud. Application servers can run in PaaS cloud. Cloud is still using the same hardware on the low level but offering you a higher level of abstarction and usually faster on demand resource allocation plus more finegrained billing periods. Our cloud (IaaS based on OpenStack) Java hosting packages are now being tested are expected to be available early Autumn 2017. Stay tuned :)