Una duda que se presenta entre los desarrolladores de aplicaciones web o de quienes emprenden un proyecto en línea es que servicio contratar para almacenar y ejecutar su aplicación. ¿Servidor VPS o hosting?. Es muy común para quienes no tengan experiencia en infraestructura de telecomunicaciones no saber diferenciar apropiadamente entre ambos servicios y en mas de una oportunidad contratan el servicio incorrecto.
Voy a tratar de ayudarlos a entender mejor la diferencia entre ambos, las ventajas y desventajas de cada uno, pero para ello antes debemos dar las definiciones formales.
Un servidor web es algo que en la cultura popular parece como una máquina mágica, pero en realidad no es otra cosa que una PC que ejecuta un sistema operativo, similar a la que tiene ahora mismo sobre tu escritorio. Si, es verdad que no es cualquier PC sino una muy potente capaz de estar en funcionamiento los 365 días del año, con gran cantidad de recursos y atendiendo a miles de usuarios por minuto que acceden a sus servicios desde cualquier parte del mundo. Los servidores generalmente tienen redundancia electrónica en sus componentes, de manera de poder darles mantenimiento sin necesidad de sacarlos de servicio.
Un hosting es un servicio en línea que te permite publicar tu sitio o aplicación web en internet para que puedan acceder todas las personas conectadas a la red. Básicamente alquilas un espacio en un servidor donde puedes almacenar todos los archivos y datos necesarios para que tu sitio web funcione correctamente. Este servidor comparte sus recursos (CPU, disco rígido, Memoria, disponibilidad de ancho de banda) con otros proyectos similares al tuyo, por lo que no tienes garantizada toda «la potencia» los 365 días del año.
Por otro lado tenemos la posibilidad de contratar servidores dedicados para nuestro proyecto, donde los recursos del servidor no los compartimos con otros clientes de la empresa que nos provee el servicio, así nuestra aplicación web no estará compitiendo con otras para acceder al potencial de cómputo del servidor ni a sus recursos de red. Estos servicios son mucho mas costosos que el hosting, pero nos asegura que tendremos toda la potencia para nosotros.
Cuando hablamos de VPS, estamos hablando en realidad de la sigla en ingles para servidor privado virtual,que se trata de un paso intermedio entre un hosting y un servidor dedicado. Estos servicios se implementan sobre un potente servidor físico que mediante la tecnología de virtualización se lo «divide» en múltiples servidores VPS, cada uno de ellos con su propio sistema operativo, su espacio de disco, su memoria RAM asignada, así como su propio sistema operativo, tal como si se tratase de un servidor real. El VPS vuelve al concepto de compartir los recursos del servidor real, por lo que no siempre tendremos toda la potencia disponible para nosotros, pero si ganaremos en tener una plataforma de trabajo flexible que se ajuste a nuestras necesidades.
Administración
Cuando adquirimos un paquete de hosting, dentro del servicio se incluye la administración técnica de los servidores que ofrecen el servicio. Gestión del sistema operativo, actualizaciones de software, gestión de recursos de hardware y red, entre muchas otras tareas de las cuales se encargan los «sys admin» como se los conoce en la jerga. A los clientes se les otorga acceso mediante una interface gráfica para personalizar el servicio, pero no mas que eso (el conocido Cpanel).
En el caso de los VPS y Servidores Dedicados seremos nosotros los encargados de realizar muchas de estas tareas, por lo cual deberemos estar capacitados para ello. La empresa que nos presta el servicio será encargada generalmente de administrar el hardware, ya que no tendremos acceso físico a él, mientras recaerá sobre nosotros la responsabilidad de la administración técnica del software y lógica del servidor. Será necesario llevarse bien con la consola de comandos del sistema operativo linux, pues el prestador de servicio nos dará acceso de «root» via ssh para comenzar a armar nuestra infraestructura de software.
Seguridad
Un caso particular de la administración del sistema es lo referente a las medidas de seguridad que implementaremos para evitar que un cyber ataque afecte a nuestra aplicación web. Los proveedores de hosting tienen políticas de seguridad para resguardar su infraestructura y brindar un correcto servicio a sus clientes, mientras que en el caso de los VPS y Servidores Dedicados seremos nosotros quienes nos debemos encargar de implementar esta no trivial tarea. En mi vida profesional vi muchos descuidos en este aspecto, que llegaron a tener consecuencias negativas en el funcionamiento de sistemas, incluso con la posibilidad de fuga de datos o interferir en la privacidad de información.
Copias de Seguridad
Este es otro punto similar al anterior. Las empresas de hosting tienen políticas con la gestión de copias de seguridad de la información de sus clientes, incluso pueden expresar en su política de servicios que no se encargan de ello directamente. En el caso de los VPS y Servidores Dedicados, la tarea de resguardar la información queda bajo nuestra responsabilidad. Recomiendo tener una política de almacenamiento de información local (en el mismo VPS) y al mismo tiempo cruzada en la nube (Dropbox, Drive, etc), incluso si el proyecto lo necesita en otro VPS de un prestador de servicios diferente.
Hosting | VPS | Servidor Dedicado | |
Recursos | Compartidos | Compartidos | Dedicados |
Escalabilidad Software | Baja | Alta | Alta |
Escalabilidad Hardware | Media | Alta | Media |
Seguridad | Media | Baja(*) | Baja(*) |
Precio | Bajo | Medio | Alto |
(*) Las políticas de seguridad quedan bajo responsabilidad del desarrollador y del cliente, por lo que dependiendo de los criterios que tengan estos pueden llegar a ser Medias o Altas.