Como elegir un servidor/hosting para un negocio online

shellshock-bash-bug-affects-apache-web-server-software
Estándar

Llevo desarrollando aplicaciones y páginas web cerca de 10 años, primero como Analista-Programador, y luego siendo IT Manager en algunas empresas, actualmente ocupo esa posición en el ecommerce Portobellostreet.es, una de las tiendas online de muebles mas valoradas en España.

En el puesto de CTO o IT Manager una de las decisiones que debes de tomar y que resultan mas críticas para el negocio es el tipo de hosting en el que vas a desarrollar y poner en producción tu aplicacion y base de datos. Como primera aclaración comentar que un negocio online no tiene que ser un ecommerce, puede ser un buscador tipo Idealista, una app móvil como Parkfy o un servicio de consulta como el de Sepín Editorial Jurídica (del que forme parte hace algunos años).

Mis criterios para contratar un servidor siempre han sido estos:

  • flexibilidad de Sistema Operativo: yo trabajo casi todos los proyectos en entornos Microsoft y muchos ISP directamente solo trabajan con Linux
  • Control Remoto: Al contrario que en un simple hosting, necesito tener acceso a todas las funcionalidades del servidor, es por ello que el control remoto (ya sea para Windows o Linux) es imprescindible.
  • Caracteristicas vs Precio: Espacio en disco, RAM, Plesk, Coste de transferencia, etc.
  • Escalabilidad: Aquí esta una de las diferencias fundamentales que separan los distintos tipos de servidor.
  • Confianza en el proveedor: Cuanto mas se trabaja en este ámbito mas se conocen las empresas que prestan un buen servicio de atención al cliente y las que no.

Ahora explicare los tipos de servidor que conozco en base a la escalabilidad (se que existirán mas pero me ciño a mi propia experiencia, los comentarios están abiertos para añadir información extra)

Hosting: Un hosting no es mas que un espacio de almacenamiento web en el cual el precio varia según el espacio contratado, el tamaño de base de datos y los extras (marketing online, email, etc.). Este tipo de servicio es el más básico y personalmente solo lo contrataría si fuese una empresa que solo necesita una web corporativa y poco mas. Salvo excepciones las empresas que lo ofrecen, no disponen de la posibilidad de cambiar automáticamente las características, en caso de necesitar ampliar alguna de las especificaciones contratadas, normalmente porque ese hosting es uno mas de las decenas de compartimentos que ocupan en un servidor mas grande. Esto hace que no sea recomendable para una aplicación que pueda ir creciendo en numero de usuarios o requerimientos técnicos. La gestión se realiza desde un panel web dentro del sistema del proveedor del servicio y no se tiene acceso a la gestión del propio servidor.

VPS (del inglés virtual private server): Esto es el siguiente nivel al hosting, solo que en este caso ya tenemos acceso a un sistema operativo completo, no solo a un panel de control. Al contratarlo, al igual que el hosting, tenemos que decidir que tamaño de disco, RAM, SO, etc…queremos tener en el servidor, los proveedores suelen ofrecer “paquetes” ya configurados a un precio especifico. Este es el servidor que recomendaria a alguien que,por ejemplo, prestase servicios de desarrollo web, ya que permite configurar cuentas de usuario de hosting para pequeñas aplicaciones o ecommerce a un precio ajustado.

Además al tener acceso al propio SO, si alguna de esas aplicaciones necesita escalarse, se puede migrar de una manera mas sencilla a un servidor mas grande.

Como contrapartida tiene el mismo problema que el hosting, no es escalable, ni se pueden modificar las especificaciones contratadas, ademas de que la CPU y la RAM son compartidas con otras tantas VPS en un servidor mas grande con sistema de virtualizacion. Si necesitas ampliar, tu mismo tienes que hacer la migración.

Servidor dedicado: Como su propio nombre indica es una maquina fisica que tienes en exclusiva para tus aplicaciones y webs, con su SO, disco, RAM, etc en exclusividad para ti. Las ventajas de ese tipo de servidor son sobre todo la disponibilidad de los recursos del servidor, ya que no se comparten con ningún otro cliente de la empresa de hosting. Como desventaja tenemos que son escalables “a medias”, ya que se pueden ampliar algunos recursos (como RAM y disco duro) pero a un precio bastante prohibitivo en ocasiones.

Cloud: Los servidores cloud pueden ofrecer varios servicios, siendo el mas comunmente usado el de servidor web, aunque tambien los hay solo de almacenamiento o base de datos. Un servidor cloud es lo mismo que un VPS pero usando una tecnologia que permite hacerlo completamente escalable (CPU, RAM, disco, load balancing, VPN´s, etc). En los 2 últimos años los precios de la tecnología cloud se han estabilizado bastante, siendo bastante razonables para empresas que buscan flexibilidad y escalabilidad en su servicios web, aunque tienen el handicap de que al ser virtualizado puede sufrir los mismos problemas que un VPS, al compartir los recursos físicos de un servidor entre varios servidores virtuales.

Como IT Manager de Portobellostreet.es tome la decision hace 2 años de pasar todas las aplicaciones y servicios web públicos a Cloud, ya que necesitaba cierta flexibilidad debido al aumento de visitas y carga en la base de datos. En la oficina central el ERP tiene un servidor dedicado ya que tenemos separados los datos de la web y del ERP, de tal forma que aseguramos el funcionamiento del ERP aunque se produzca una caída de la web y viceversa. Para empresas con un negocio online potente que necesite de servicios web siempre recomendaría un servidor cloud, ya que la flexibilidad compensa el ratio de fallos que puedan ocurrir en la plataforma, ademas de permitir ciertas técnicas con el load balancing (varios servidores respondiendo a peticiones web o de base de datos)