VPS hosting comparison

What is VPS?

VPS is a virtual machine sold as a service by an Internet hosting service. A VPS runs its own copy of an operating system, and customers have superuser-level access to that operating system instance, so they can install almost any software that runs on that OS. For many purposes they are functionally equivalent to a dedicated physical server, and being software defined are able to be much more easily created and configured. They are priced much lower than an equivalent physical server, but as they share the underlying physical hardware with other VPSs, performance may be lower, and may depend on the workload of other instances on the same hardware node.


For Java hosting, why VPS is better than shared hosting?

Shared Private (VPS)
Private JVM Heap No - JVM Heap is shared among other java web apps residing on the same shared tomcat instance. Yes - you get a your very own dedicated JVM Heap which equates reliability, security, and availability of your web app.
Ability to Start/Stop Application Server Yes - With scripts which you can execute and the Shared Tomcat will be restarted within 60 minutes or send email to support. Yes - you can restart tomcat at anytime either via SSH or via our online web console.
Access to Application Server Admin / Manager No Yes
Easy deployment of WAR files No - you will have to upload your WAR and manually unpack it yourself. Tomcat's automatic detection and unpacking of WAR files is disabled due because this is a Shared Tomcat environment. Yes - you can deploy your WAR files via Tomcat Manager, SSH or simply upload it and Tomcat automatically detects and unpacks it.
Ability to install different software versions of JDK, Tomcat, JBoss, etc. No - Yes. You can select from different JDK versions and when your account is set up select different Tomcat versions 5.5 and 6.x since it's a shared tomcat environment, you're bound by the shared tomcat version available which is version 5.5.x and JDK 1.5 Yes - you can have custom versions installed for you.
Interference with other application Yes, you are affected by other application No, you don't have to worry about other's application.
Memory/Heap Size Increase No - with shared tomcat you cannot increase your JVM heap size since you're on a shared JVM heap Yes - you can request additional JVM heap increase.

VPS vs Managed VPS

VPS: is just a virtual machine with root access and you do everything on your own.
Managed VPS: As VPS and you have root access as well but you get extra functionality with extra cost, such extra functionality is different between hosting providers. Sample of services are:
      1. GUI web control panel.
      2. Fast script installation.
      3. Operating System updates.
      4. Server hardening.
      5. Backup.
      6. Monitoring.
Managed hosting is for people who are uncertain what their doing with a VPS and can't manage it themselves or don't have the time to.

VPS Comparison

The following providers were selected as constantly repeating in all comparisons on the Internet.

# Factor Linode DigitalOcean RoseHosting
1 Bandwidth limitation (min - max) 2 - 20 TB 1 - 9 TB 2 - unlimited TB
2 SSD (Solid State Drive) Yes, all Yes, all Yes, all
3 Processor series Intel Ivy Bridge E5-2680 Intel Hexcore Quad core or Dual Quad core Intel Xeon CPUs
4 Processor speed 2.8 GHZ 2.0 - 3.0 GHZ Didn't reply
5 Processor range (min-max) 1 - 20 cores 1 - 20 cores 2 - 10 cores
6 Vertical scaling RAM range (min -max) 1 - 96 GB 0.5 - 64 GB 1 - 32 GB
7 Load balancing support documented and well defined on level of application server Yes No, being built, you can have node balance as droplet. No, you need to build it using Nginx, HAproxy or similar
8 MySQL support clustering or not Load balancing supported for MySQL Support Master/Master, Master/Slave, Load balancing Help you setup MySQL clustering
9 Redundancy level No details provided by their support. Offered in different layers. Yes, details in comment.
Managed VPS Linode DigitalOcean RoseHosting
10 CLI (Command Line Interface) Yes, free Yes, & alternative, but seems community based. Root access
11 API (Programmatic interface for automating tasks) Yes, free (In Python, Perl, PHP, Ruby, Java, Node.js) V1 stable, V2 Public Beta No
12 GUI web control panel. Yes but included in high price Managed requires 100 $ / month Yes Yes within their managed hosting service free
13 Fast script installation. Yes Yes, but few Yes, by request
14 Operating System updates. No, have a look at support question in comments section. No, after looking to support answer link, they help by diving details, or user from community, and you have to do it yourself. No, your responsibility, but they can help.
15 Automated Backup. Yes Yes Weekly free
16 User initiated Backup. Yes Yes Not sure
17 Monitoring. Yes Yes but you need to built as droplet Basic monitoring included
18 Mobile application monitoring on the go Yes management & monitoring iOS, Android Yes by contributors: iOS, Android but seems for management only not monitoring which is much important. Yes by deployed to another server for monitoring.
19 Scheduling Yes, through cron Yes, through cron Not mentioned in knowledgebase but I think will be through cron as well
20 Professional service for support & installation Yes but included with estimation & costing Yes try for help as per the comments section Yes try for help as per the comments section
Application Server Supported Linode DigitalOcean RoseHosting
21 Tomcat No, have a look at support question in comments section. No specialty rather than try to help as per the comments section They can help install them if we are not sure how to do it.
22 JBoss No, have a look at support question in comments section. No specialty rather than try to help as per the comments section They can help install them if we are not sure how to do it.
23 Glassfish No, have a look at support question in comments section. No specialty rather than try to help as per the comments section They can help install them if we are not sure how to do it.
Support Linode DigitalOcean RoseHosting
24 SLA* 99.9% 99.99%
99.9% Network
100% for server with refund policy
25 Support model Web tickets 24 x 7 Web tickets 24 x 7 Web tickets 24 x 7
26 RPO (Recovery Point Objective) No, have a look at support question in comments section. No clear answer from email received No clear answer in email
27 RTO (Recovery Time Objective) No, have a look at support question in comments section. No clear answer from email received No clear answer in email
Pricing Linode DigitalOcean RoseHosting
28 Price for initial launch** 40 - 80 $ / month 40 - 160 $ / month 60 - 80 $ / month
29 Free plan No No No
30 Price for development server 40 $ / month 40 $ / month 60 $ / month
31 Support cost 0 0 0
32 Backup cost 10 - 20 $ / month
Snapshot is supported within the backup service without extra cost, it allows a single snapshot to be kept for every linode, i.e. when you take another snapshot it will ask you to override existing (Details).
Backup: 20 % of virtual cost = 8 - 32 $ / month
Snapshot: 0.02 / GB / month
Backup: 0 for weekly
33 Monitoring cost 0 - 20 $ / month 10 $ / month As new droplet 0 they seem partner with SolidAlert for web site monitoring
34 Load balancing cost 20 $ / month 10 $ / month As new droplet 20 $ / month as new server
35 Total cost for initial load (development, production server, Support, Backup, Monitoring) 90 $ / month 98 $ / month 120 $ / month
Documentation Linode DigitalOcean RoseHosting
36 Video No dedicated channel, but there are lots of videos as tutorials and setup from people using it. Official Channel, but there are lots of videos for tutorials & setup especially OceanCasts None
37 Blog Yes Yes No
38 Forum Yes Question & Answers No
39 Documentation site Yes, comprehensive Tutorials, comprehensive Very limited compared to Linode or DigitalOcean
40 Extra They pay 250$ to the community when submitting articles to encourage sharing information. They pay 200$ to the community when submitting articles to encourage sharing information.

SLA*:
          99% SLA means your cloud access could be disrupted by 7.3 hours a month
          99.9% SLA translates to about 44 minutes of downtime over a month
          99.95% SLA translates to about 22 minutes of downtime over a month
          99.99% SLA translates to about 4 minutes 23 seconds of downtime over a month

Price for initial launch**: For normalization assumption for application is composed of 1 VPS with following configuration:
    1. RAM: 6 GB
    2. Processor: 2 Core
    3. Storage: 100 GB
Price for Development server: For normalization assumption for application is composed of 1 VPS with following configuration:
    1. RAM: 4 GB
    2. Processor: 1 Core
    3. Storage: 50 GB

Conclusion

I think Linode is best option & more production ready than the other VPS provider. It is all based on your needs, and your criteria of selection.

I hope this evaluation helps someone there who might take it as basis and add to it what other relevant factors that is best suited for his/her needs.

Conclusion After 4 months of Linode trial

The server availability is great. Support is quite responsive, and I'm happy customer :)
I have submitted article (Java Development with WildFly on CentOS 7) in their documentation & have been granted 250$ chosen to be credited to my linode account to support my servers ;)

Dropped providers



References

4 comments:

  1. This was a support email to Linode, and their answer after 30 mins :)
    --------------------------------------------------------------------------------------------------------
    1. What is the core speed? or its MHZ range?

    Details on the exact CPU cores that are allocated to our new Linode plans can be found in our blog post, detailing the hardware upgrades.

    https://blog.linode.com/2014/04/17/linode-cloud-ssds-double-ram-much-more/

    As noted, the new plans are allocated Intel Ivy Bridge E5-2680 cores clocked at 2.8Ghz apiece.

    2. What is the redundancy level supported? I know you have multiple
    regions but is it by default or need special setup?

    Unfortunately I am unable to provide the details about our infrastructure but please note that we do have redundant systems in place. That being said, I would highly recommend our Backup Service to add another layer of redundancy for your Linode.

    https://www.linode.com/docs/platform/backup-service

    3. How you handle OS upgrades or batches? I need more details or if it
    is required from my side to subscribe to specific extra service than
    hosting price.

    4. Do you provide any special service for Java technologies (Tomcat,
    JBoss, GlassFish, ...) through your support?

    We simply provide the server infrastructure where you can select a Linux distribution. Everything else, including upgrades and other services, will have to be performed and installed by our customers.

    5. For backup: what are RPO (Recovery Point Objective) & RTO (Recovery
    Time Objective)?

    We would not be able to provide this information because this is completely dependent on the size of the server you select and the amount/size of the files you store on your server.

    ReplyDelete
  2. This was a support email to DigitalOcean, and their answer after 9hr 30mins :((
    -----------------------------------------------

    1- What is processor series & core speed? or its MHZ range?

    We use server-grade Intel Hexcore processors between 2.0 GHz and 3.0 GHz. To view the clock speed and other details of the CPU on the hypervisor you are assigned, run this command on the command line: cat /proc/cpuinfo

    2- Do you handle operating system updates after initial creation?

    Certainly! As an example, here's a guide on updating Ubuntu 12.04 to 14.04: https://www.digitalocean.com/community/tutorials/how-to-upgrade-ubuntu-12-04-lts-to-ubuntu-14-04-lts

    3- Do you provide professional services support for applications or packages not mentioned in your website?

    Our support is available 24/7 through our in-account ticketing interface. As an unmanaged provider, we do not have access to users' droplets to perform actions on their behalf, but do work with our customers to try to help them resolve any problems they might be encountering.

    4- Do you provide any special service for Java technologies (Tomcat, JBoss, GlassFish, ...) through your support?

    See above.

    5- For backup or snapshots: what are RPO (Recovery Point Objective) & RTO (Recovery Time Objective)?

    Our backups and snapshots are essentially copies of the entire droplet at that point in time. Deploying from a backup or snapshot effectively puts you in the same place you were at when the image was created. (it's not a file-level service, it's an image-level service)

    ReplyDelete
  3. This was a support email to RoseHosting, and their answer after 55mins :)
    ----------------------------------------------------------------------------------------

    1- What is the core series & speed? or its MHZ range?
    All virtual servers are running on powerful enterprise grade servers featuring Quad core or Dual Quad core Intel Xeon CPUs, with a minimum of 32GB DDR3 ECC memory and enterprise hard disk drives or SSD drives in mirrored RAID1 or RAID5 arrays for superior performance.

    2- Do you support load balancing between application server?
    All our VPS hosting plans provide full root access. This means that you can easily setup your own load balancing using Nginx, HAproxy or similar.

    3- So you support MySQL clustering?
    Yes, we can help you setup MySQL clustering.

    4- What is the redundancy level supported?
    We have multiple redundant OC-3 (155 Mbps) and Gigabit connections through Savvis, Cogent and Broadwing. You can ping 206.196.110.254 for a quick latency test. We also have a couple of backup loops to Qwest and Sprint, but those are used only in case of an emergency. Our data center infrastructure is monitored 24 hours a day, 365 days a year by the industry's leading engineers and is fully redundant to provide the highest level of system and network availability and reliability.

    5- Do you support CLI interface to manage servers?
    Yes, you will have full root CLI access to your server(s).

    6- Do you support fast script installation?
    Yes, we can help you install any software you like that can be installed on any other Linux OS.

    7- How you handle OS upgrades or batches? I need more details or if it is required from my side to subscribe to specific extra service than hosting price.
    OS and service upgrades are your responsibility. You have to keep all your services, scripts, applications etc... by upgrading whenever a new version is available. We can also help you with your OS/applications upgrades if you don't know how.

    8- Do you provide any special service for Java technologies (Tomcat, JBoss, GlassFish, ...) through your support?
    All our virtual servers support running Tomcat, JBoss, Glassfish and we can help you install them if you are not sure how to do it.

    9- For backup: what are RPO (Recovery Point Objective) & RTO (Recovery Time Objective)?
    You will have your server weekly backup mounted to the '/dc-backup' directory on your server, allowing you to access it if you need to restore some files/directories at any time. Please note that all our virtual servers are backed up once weekly. Each weekly backup overwrites the previous week's backup, i.e. we will have one backup copy of your server.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete