Qué tipo de servidor necesito para mi proyecto
¿Qué empresa de Hosting me recomiendan?
Hosting compartido, Servidor Privado Virtual (VPS), Servidor Dedicado o Cloud Computing son términos que todos hemos oído alguna vez. Tarde o temprano todo programador necesita poner su proyecto en producción para que pueda ver la luz, para ello deberemos colocarlo en un «lugar de internet», ya sea en un simple hosting compartido o en una plataforma cloud escalable. Y no nos equivoquemos, esta decisión es tan importante en tu proyecto como cualquier otra. Una elección equivocada puede acarrearnos la perdida de muchas horas de trabajo, por no hablar de las cuantías económicas. Deberemos dimensionar apropiadamente las necesidades presentes y futuras de nuestro proyecto para poder elegir adecuadamente el producto o servicio que necesitamos y la empresa donde lo vamos a contratar.
Gestión
Lo primero que debemos de saber es: ¿Quién se va a encargar de la gestión?. Yo, mi equipo técnico, personal externo o la empresa donde contrato los servicios.
No es lo mismo tener un hosting compartido donde toda la administración y gestión la hace la empresa donde lo contratamos y nosotros nos limitamos a subir nuestro proyecto y verlo funcionar, que tener un servidor dedicado o unos recursos en Cloud Computing donde nosotros deberemos de implantar y gestionar la seguridad, las actualizaciones, las copias de seguridad, etc.
Ubicación física
¿Vamos a almacenar datos personales de los usuarios? / ¿Qué Latencia/Retardo podemos permitirnos entre nuestros clientes y el servidor?
Si nuestra aplicación va a almacenar datos de los usuarios que acceden a ella como Nombre, Apellidos, email, DNI, Cuenta Bancaria, etc. deberemos de tener en cuenta las leyes aplicables de nuestro país, por ejemplo en España es de obligado cumplimiento el que el servidor donde se almacenen dichos datos estén en un servidor cuya ubicación física sea en países de la Unión Europea. Dato por el cual podrían quedar descartadas desde el principio muchas de las opciones existentes.
Si nuestra aplicación por ejemplo va a requerir de la descarga de gran cantidad de datos por parte de los usuarios, deberemos de premiar la velocidad ante la cercanía, pero si por otro lado se requiere de tiempos de respuesta muy rápidos, por ejemplo servicios de chat, telefonía ip, video conferencias, juegos, etc. deberemos de decantarnos por las empresas que ofrezcan Centros de Datos lo más cercanos a la ubicación física de nuestro grueso de clientes, hay que diferenciar en entre la velocidad de conexión de nuestro servidor y la latencia. Un simple ejemplo es el lanzamiento de una piedra, podemos lanzarla a mucha velocidad, pero si tiene que llegar muy lejos podría haber sido mejor el lanzarla a menor velocidad pero desde un sitio más cercano. Este asunto, no debe de preocuparnos mucho en un principio, pues debido a factores como el operador de la conexion a internet que utilicen nuestros clientes/usuarios, podrían darse casos como que queramos acceder a nuestro vecino de arriba y que la información viaje a otro país y regrese. Pero debemos de fijar nuestra vista en el tipo de servicio que vamos a ofrecer para encontrar el lugar idóneo para nuestros servidores.
Aquí podríamos añadir también como factor de decisión el idioma utilizado por el servicio técnico. Existen algunas empresas de hosting multinacionales que aun teniendo sus principales servicios en países extranjeros ofrecen soporte en varios idiomas incluso la Facturación y Cobros desde varios países.
Velocidad y transferencia
Otro de los puntos fuertes es la velocidad, si nuestro proyecto va a requerir descarga de grandes cantidades de datos como por ejemplo videos, música, imágenes, etc. deberemos de tener una gran velocidad para evitar al máximo la simultaneidad de descargas que haría bajar considerablemente el rendimiento de nuestro proyecto.
Otro gran dato de la letra pequeña que las empresas de hosting suelen utilizar es la limitación de transferencia mensual, la cual una vez superada recibiríamos penalizaciones como la bajada de velocidad o la desconexión del servidor hasta realizar una contratación o ampliación de la transferencia necesaria.
Mucho cuidado con este punto ya que es un error habitual realizar contrataciones muy económicas que a medio plazo se convierten en caras y abusivas.
Escalabilidad
Si nuestra aplicación no va a crecer mucho en cantidad de datos y la afluencia de usuarios no se espera demasiado voluminosa, podríamos decantarnos por un simple hosting compartido. Si por el contrario pensamos que la cantidad de información almacenada pueda crecer exponencialmente o que la afluencia de visitantes pueda dispararse, deberemos de pensar en soluciones escalables que nos permitan incrementar con la mayor facilidad y tiempos de respuesta cualquier recurso de nuestro proyecto, como el tamaño del almacenamiento, la cantidad de CPU dedicada al cálculo de procesos o la memoria RAM para poder dar servicio a gran cantidad de usuarios/sesiones simultáneos. Una solución de Cloud Computing nos puede dar un precio relativamente económico para iniciar un proyecto con los mínimos recursos y poder hacerlo crecer sin ningún problema.
OverSelling. (SobreVenta)
Este término viene a definir la técnica por la cual las empresas de hosting venden recursos por encima de las limitaciones físicas. Por ejemplo si tenemos un servidor con un disco duro de 100 Gb, vender 10 cuentas de 20 Gb cada una seria realizar OverSelling. Desgraciadamente es una técnica habitual y tenemos que contar con ella, el problema viene cuando empresas de poco renombre abusan de ella dando paso a bajos rendimientos de los productos en horas punta.
Este también es un factor de suerte o de mala previsión por parte de la empresa de hosting y que nos tiene que hacer decantarnos por empresas de prestigio. Recordemos que cuando nos ofrecen más por menos podemos estar cayendo en una peligrosa trampa de OverSelling.
SLA. (Service Level Agreement / Garantía de Servicio)
Aquí es donde las grandes empresas sacan pecho y las pequeñas falsean los datos.
Este dato medido en porcentaje es la cantidad de tiempo porcentual que la empresa de hosting se compromete a que todo va a funcionar correctamente. En la mayoría de los casos hay una retribución económica por parte de la empresa en caso de incumplimiento que se suele ver en abono de cuotas o compensaciones. A efectos reales es una cifra a la que no hay que hacerle mucho caso, ya que no es verificable. Solo debe de servirnos para que en caso de incumplimiento se nos realice la compensación indicada.
Hosting Compartido
Es la mínima opción para tener presencia en internet. La empresa de hosting tiene un grupo de servidores administrados en conjunto y se nos asigna un pequeño espacio en uno de dichos servidores en donde conviviremos con otros usuarios que podran afectar ,más o menos en el rendimiento general del servidor.
Pros: Económico, rápida activación, permite crecimiento de recursos básicos.
Contras: El resto de usuarios del servidor pueden afectar al rendimiento de nuestro proyecto, no permite escalar grandes recursos, como la RAM, el disco duro, etc., no hay posibilidad de migración automática a otras soluciones.
Servidor Privado Virtual. (VPS)
Gracias al uso de la Virtualización se convierte un servidor físico en varios virtuales. Aquí entra en juego el prestigio de la empresa de hosting, pues si generan demasiados VPS’s en un servidor físico podría generar inestabilidad cuando los Servidores Virtuales quieran realizar determinadas operaciones. Se requieren ciertos conocimientos sobre servidores para poder administrarlos, gestionar los backups, etc.
Pros: Es como tener un servidor completo para nosotros solos pero a un precio menor. Podemos revender Hosting Compartido a partir de un VPS
Contras: Requiere conocimientos sobre servidores, puede existir OverSelling.
Servidor Dedicado
Aquí no hay trampa ni cartón, se nos entrega el acceso a un servidor como especifican en la oferta. Solo debemos de tener cuidado con la letra pequeña en cuestiones de ancho de banda, límite de transferencia mensual o SLA
Pros: Nuestros recursos no se verán afectados por nadie. Reventa de Hosting. Posibilidad de crear infraestructuras Cloud.
Contras: Requiere conocimientos sobre servidores. Posible letra pequeña con velocidades o límite de transferencia mensual.
Cloud Computing
Y llegamos al Rolls-Royce de los productos de hosting. Se trata de una plataforma de virtualización escalable al alcance de nuestra mano. Podemos crear VPS’s a nuestra medida, hacerlos más grandes, más pequeños, duplicarlos para realizar pruebas, realizar balanceos de carga cuando tenemos mucha demanda. A diferencia de los VPS el Cloud Computing esta dimensionado para que los recursos de un cliente no afecten al resto. Básicamente este producto pone en nuestras manos el potencial de las grandes empresas.
Podríamos empezar con un pequeño servidor de 100Gb de disco duro, 4 Cores y 2 Gb de RAM, ver cómo funciona nuestro proyecto, ponerlo en producción ver la demanda de los clientes y cuando veamos que vamos justos, ampliamos la RAM, los Cores o el almacenamiento. Hay plataformas que incluso permiten activar incrementos de recursos programados automáticos bajo necesidad.
En este producto entra en juego la calidad de la empresa que lo oferta, pues la cantidad de opciones y variables en nuestra mano varían considerablemente de unas a otras. Existen las que nos cobran a final de mes solo lo que hemos utilizado o las que debemos de abonar previamente los recursos que queremos iniciar.
Pros: Nos ofrece la posibilidad de crecer en recursos casi instantáneamente. Facilidades en la facturación.
Contras: Requiere conocimientos sobre servidores. Hay que leer bien toda la letra pequeña, pues la oferta es muy diversa.
En resumen, para saber
«Qué tipo de servidor necesito para mi proyecto»
debemos de fijarnos en factores como la previsión de crecimiento, el aumento de datos de almacenamiento, la ubicación física, el ancho de banda, el coste de contratación y de mantenimiento, etc.
… y para saber
«Qué empresa de hosting me recomiendan»
os dejamos una lista de las que consideramos más fiables. Dejamos en vuestras manos la correcta elección, y estamos seguros que tomareis la eleccion correcta gracias a la información y consejos aquí reflejados.
Arsys Guebs 1and1 ovh DinaHosting Strato Acens CDmon Interdominios Nominalia |
Abansys WebEmpresa HostGator GoDaddy Heroku EngineYard AppFog CloudFoundry AmazonAWS |