What do we need for reliable VPS?: Difference between revisions

From EnigmaGuy Wiki
Jump to navigation Jump to search
Created page with "== Comparasion of current market solutions == {| class="wikitable" |- ! Feature ! Web Hosting ! VPS Hosting ! Cloud |- | Backup | same datacenter / daily or weekly | same dat..."
 
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{under construction |placedby= |section= |nosection= |nocat= |notready= |comment= |category= |altimage= }}
== Typical VPS/Web hosting scenarios ==
* '''Blog / Web Business Card''' - Wordpress on classic web hosting (2 USD month)
* '''Small e-shop''' - Simple VPS (10 USD month)
* '''Medium e-shop''' / reliable site - Cloud VPS (Amazon AWS - 10 USD month + 5-10 USD for backup, monitoring, etc...)
== Comparasion of current market solutions ==
== Comparasion of current market solutions ==


{| class="wikitable"
{| class="wikitable"
|-
|- valign="top"
! Feature
! '''Feature'''
! Web Hosting
! Web Hosting
http://php.net/images/logos/php-med-trans.png
! VPS Hosting
! VPS Hosting
[[File:Vps.png|100px]]
! Cloud
! Cloud
http://awsmedia.s3.amazonaws.com/AWS_Logo_PoweredBy_127px.png
|-
|-
| Backup
| '''Backup'''
| same datacenter / daily or weekly
| same datacenter / daily or weekly
| same datacenter / immediately using mysql binlog
| same datacenter / immediately using mysql binlog
| different datacenter + tapes (e.g. Amazon Glacier) / immediately using mysql binlog
| {{font color|green|different datacenter + tapes (e.g. Amazon Glacier) / immediately using mysql binlog}}
|-
|-
| Custom PHP
| '''Custom PHP'''
| usually not, sometimes php logs available for fee
| usually not, sometimes php logs available for fee
| php plug-ins, increased memory limits, php logs, etc...
| {{font color|green|php plug-ins, increased memory limits, php logs, etc...}}
| same as VPS
| {{font color|green|same as VPS}}
|-
|-
| Testing / deployment
| '''Testing / deployment'''
| not possible
| not possible
| limited to home copy
| limited to home copy
| possibility to duplicate machine and test on live data
| {{font color|green|possibility to duplicate machine and test on live data}}
|-
|-
| Monitoring
| '''Monitoring'''
| limited but 24x7 in price of hosting
| {{font color|green|limited but 24x7 in price of hosting}}
| must by external services or another VPS
| must by external services or another VPS
| for small fee even in different datacenter (eg. CloudWatch, Route 53)
| for small fee even in different datacenter (eg. CloudWatch, Route 53)
|-
|-
| Load balancing / High Availability
| '''Load balancing / High Availability'''
| not supported
| not supported
| not supported
| not supported
| relatively cheap in small scenarios compare to traditional hardware
| {{font color|green|relatively cheap in small scenarios compare to traditional hardware
|-
|-
| DDos Protection
| '''DDos Protection'''
| sometimes included
| sometimes included
| almost never (CloudFlare recommended)
| almost never (CloudFlare recommended)
| very basic (CloudFlare recommended)
| {{font color|green|very basic (CloudFlare recommended)}}
|-
|-
| Price
| '''Price'''
| from 2 USD per month
| {{font color|green|from 2 USD per month}}
| 10 USD per month + support + monitoring + services (dns, backups...)
| 10 USD per month + support + monitoring + services (dns, backups...)
| may vary, 10 USD simple VPS + bandwidth + services (on Amazon usually backups, monitoring is very cheap, in cents for smaller company) + support
| may vary, 10 USD simple VPS + bandwidth + services (on Amazon usually backups, monitoring is very cheap, in cents for smaller company) + support
|-
|-
| Usage
| '''Usage'''
| WordPress / 1 product e-shop / Company presentation
| WordPress / 1 product e-shop / Company presentation
| Small e-shop, small projects
| Small e-shop, small projects
| Larger e-shop, projects where outage can cause large income drop
| Larger e-shop, projects where outage can cause large income drop
|}
|}
== What are your main issues with VPS? ==
=== Long term support ===
If you start using VPS this really does not seems to be an issue, but over time it will definetely be. Most major Linux distribution LTS (Long-term support) versions are supported 5-7 years. It looks like a pretty long time but reality is - it is not. After 5 years (Ubuntu Server LTS) will stop being supported. What does it exactly mean? Let's see:
* No more security updates - if in any product bug will be found you will not get a security update and bug fix, yes you can compile yourself application or library from source and install it manually, but guess what - it is not that easy (see below)
* glibc compatibility - most Linux applications use glibc, this library is practically impossible to replace with newer one safely if there is no package to do that. And yes, because most applications are using it, after 5 years you won't be able to compile any application without newer glibc
* very difficult to migrate - after 5 years, usually barely no one really remember what was configured on machine, what are all hacks, settings and everything you need to change when going to newer version of OS. So it is very time (or money or both) expansive to create completely new OS image with all settings and everything you need and test it. Trust me, it could take few months and yes, it needs to be done or you might get hacked.
=== E-mailing ===
Most web servers do need to send outgoing e-mails, it might be newsletter, transactional e-mail or just support e-mail when server is experiencing problems. Unfortunately sending e-mails due to a lot of SPAM barriers is not as easy as it might seems. You need to have properly configured domain signing, not be on black list (and all Amazon EC2 instances are automatically on most popular black lists) etc... So for that reason I recommend using an external provider. External providers usually take care of e-mail delivery without a lot of hassle. For example you can use [https://aws.amazon.com/ses/ Amazon SES], [https://sendgrid.com/ Sendgrid] or just simple accounts on services like [https://mail.google.com/ GMail] or [https://www.zoho.com/mail/ Zoho Mail].
Large benefit of external mail provider is usually reliability. External mail providers take care to take you off spam lists, all DKIM/SPF mail signing and whole process of delivery. For starting I usually use one Zoho Mail account with Postfix local agent which is rewritting "From" address to that specific account for purpose of sending notification mails (e.g. lost WordPress password) from all PHP scripts etc...

Latest revision as of 15:09, 7 October 2015

{{#if: |

}}{{#ifeq:|true||}}

Typical VPS/Web hosting scenarios

  • Blog / Web Business Card - Wordpress on classic web hosting (2 USD month)
  • Small e-shop - Simple VPS (10 USD month)
  • Medium e-shop / reliable site - Cloud VPS (Amazon AWS - 10 USD month + 5-10 USD for backup, monitoring, etc...)


Comparasion of current market solutions

Feature Web Hosting

php-med-trans.png

VPS Hosting

Cloud

AWS_Logo_PoweredBy_127px.png

Backup same datacenter / daily or weekly same datacenter / immediately using mysql binlog {{ safesubst:#if: {{ safesubst:#if: yes [[|]] [[|]]
     }}
   }}
{{ safesubst:#if: yes different datacenter + tapes (e.g. Amazon Glacier) / immediately using mysql binlog [[|different datacenter + tapes (e.g. Amazon Glacier) / immediately using mysql binlog]]
   }}
different datacenter + tapes (e.g. Amazon Glacier) / immediately using mysql binlog
 }}

}}

Custom PHP usually not, sometimes php logs available for fee {{ safesubst:#if: {{ safesubst:#if: yes [[|]] [[|]]
     }}
   }}
{{ safesubst:#if: yes php plug-ins, increased memory limits, php logs, etc... [[|php plug-ins, increased memory limits, php logs, etc...]]
   }}
php plug-ins, increased memory limits, php logs, etc...
 }}

}}

{{ safesubst:#if: {{ safesubst:#if: yes [[|]] [[|]]
     }}
   }}
{{ safesubst:#if: yes same as VPS [[|same as VPS]]
   }}
same as VPS
 }}

}}

Testing / deployment not possible limited to home copy {{ safesubst:#if: {{ safesubst:#if: yes [[|]] [[|]]
     }}
   }}
{{ safesubst:#if: yes possibility to duplicate machine and test on live data [[|possibility to duplicate machine and test on live data]]
   }}
possibility to duplicate machine and test on live data
 }}

}}

Monitoring {{ safesubst:#if: {{ safesubst:#if: yes [[|]] [[|]]
     }}
   }}
{{ safesubst:#if: yes limited but 24x7 in price of hosting [[|limited but 24x7 in price of hosting]]
   }}
limited but 24x7 in price of hosting
 }}

}}

must by external services or another VPS for small fee even in different datacenter (eg. CloudWatch, Route 53)
Load balancing / High Availability not supported not supported green|relatively cheap in small scenarios compare to traditional hardware
DDos Protection sometimes included almost never (CloudFlare recommended) {{ safesubst:#if: {{ safesubst:#if: yes [[|]] [[|]]
     }}
   }}
{{ safesubst:#if: yes very basic (CloudFlare recommended) [[|very basic (CloudFlare recommended)]]
   }}
very basic (CloudFlare recommended)
 }}

}}

Price {{ safesubst:#if: {{ safesubst:#if: yes [[|]] [[|]]
     }}
   }}
{{ safesubst:#if: yes from 2 USD per month [[|from 2 USD per month]]
   }}
from 2 USD per month
 }}

}}

10 USD per month + support + monitoring + services (dns, backups...) may vary, 10 USD simple VPS + bandwidth + services (on Amazon usually backups, monitoring is very cheap, in cents for smaller company) + support
Usage WordPress / 1 product e-shop / Company presentation Small e-shop, small projects Larger e-shop, projects where outage can cause large income drop

What are your main issues with VPS?

Long term support

If you start using VPS this really does not seems to be an issue, but over time it will definetely be. Most major Linux distribution LTS (Long-term support) versions are supported 5-7 years. It looks like a pretty long time but reality is - it is not. After 5 years (Ubuntu Server LTS) will stop being supported. What does it exactly mean? Let's see:

  • No more security updates - if in any product bug will be found you will not get a security update and bug fix, yes you can compile yourself application or library from source and install it manually, but guess what - it is not that easy (see below)
  • glibc compatibility - most Linux applications use glibc, this library is practically impossible to replace with newer one safely if there is no package to do that. And yes, because most applications are using it, after 5 years you won't be able to compile any application without newer glibc
  • very difficult to migrate - after 5 years, usually barely no one really remember what was configured on machine, what are all hacks, settings and everything you need to change when going to newer version of OS. So it is very time (or money or both) expansive to create completely new OS image with all settings and everything you need and test it. Trust me, it could take few months and yes, it needs to be done or you might get hacked.

E-mailing

Most web servers do need to send outgoing e-mails, it might be newsletter, transactional e-mail or just support e-mail when server is experiencing problems. Unfortunately sending e-mails due to a lot of SPAM barriers is not as easy as it might seems. You need to have properly configured domain signing, not be on black list (and all Amazon EC2 instances are automatically on most popular black lists) etc... So for that reason I recommend using an external provider. External providers usually take care of e-mail delivery without a lot of hassle. For example you can use Amazon SES, Sendgrid or just simple accounts on services like GMail or Zoho Mail.

Large benefit of external mail provider is usually reliability. External mail providers take care to take you off spam lists, all DKIM/SPF mail signing and whole process of delivery. For starting I usually use one Zoho Mail account with Postfix local agent which is rewritting "From" address to that specific account for purpose of sending notification mails (e.g. lost WordPress password) from all PHP scripts etc...