Programación

¿Cómo elegir un buen hosting para tu proyecto?

Hoy en día, un gran porcentaje de los proyectos que se desarrollan son páginas webs. Por ello, es muy importante elegir un buen hosting o servidor web donde alojar tu proyecto web. Esto es debido a que un mal servidor hará que tu aplicación deje de funcionar, vaya lenta y multitud de efectos desagradables que querrás evitar. Sin embargo, elegir un buen servidor no es nada sencillo ya que hay que valorar:

  • Localización del servidor: por cuestiones de SEO, latencias, etc.
  • Recursos necesarios: memoria, CPU, espacio de disco, conexiones de red…
  • Escalabilidad: uso por horas, balanceamiento, ajuste de recursos según demanda, etc.
  • Tecnologías que soporten: Windows server o Linux, discos SSD, etc.
  • Versiones que soportan: PHP7 o mayor, para WordPress por ejemplo.
  • Seguridad: hosting compartido, dedicado, etc.

Como ves, muchas características a analizar y por ello, la frase: “el mejor hosting es X“, suele ser algo bastante discutible. Seguramente haya empresas de hosting muy buenas para algunos proyectos, pero que para otro tipo de proyectos se quedan cortas o simplemente no lo soportan. En mi caso, siempre prefiero contratar con una empresa de alojamiento que me permita administrar el servidor, ya que cuento con conocimientos sobre ello y así puedo afinar y ajustar la configuración que busco.

Analizando las características técnicas de un hosting

A mí lo primero que me gusta hacer, antes de empezar a instalar y desplegar nada, es ver qué ofrece la empresa de hosting sobre el papel. Como referencia para realizar este artículo, voy a utilizar clouding.io como empresa de alojamiento web. A continuación, puedes ver las características que ofrecen:

CaracterísticaDatos
FacturaciónPor horas
Sistemas operativosLinux (CentOS, Debian, Ubuntu) y Windows Desktop y Server (2019-2003)
RAMEn función de la CPU elegida
CPU/Cores0.5-16
Disco SSD25-1900GB
Posibilidad de backups automáticos
Posibilidad de red privada

Características reales de un servidor

Normalmente, es muy difícil conocer qué procesador usará tu servidor, el ancho de banda disponible, así como el rendimiento de los discos, sin contratar una instancia. Por ello, te recomiendo que si te convencen las características técnicas, levantes una instancia o contrates un servidor para hacer tus pruebas. En mi caso personal, suelo elegir un servidor pequeño, ya que no tendrá mucha carga y sólo lo voy a utilizar para pruebas.

En la siguiente imagen puedes ver la configuración que he elegido yo:

En menos de un minuto, mi servidor ya está listo:

Comprobando la IP del servidor

Lo primero que he querido comprobar es que efectivamente, me han proporcionado una IP española. Esto suele ser beneficioso para el SEO local y además, como se puede ver en la siguiente imagen extraída de la herramienta IP Location Finder, es una IP de la propia empresa.

Normalmente hay dos tipos de proveedores de hosting: aquellos que disponen de sus propias máquinas, redes, etc y los que sólo se dedican a revender un servicio de otros. Los segundos suelen implicar un coste superior y muchas veces un servicio también peor, al depender de terceros.

Analizando el ancho de banda del servidor

Lo segundo que me gusta comprobar es el ancho de banda disponible en el servidor. La razón de hacerlo, es que algunas veces me he encontrado con servidores que montan interfaces de red 10/100Mbps, lo que limita mucho el tráfico que puede gestionar tu máquina.

Para realizar esta prueba he utilizado el cliente de consola de Speedtest, el cual me ha dado los siguientes valores:

Speedtest by Ookla

     Server: Vodafone ES - Castelldefels (id = 14449)
        ISP: Cloudi Nextgen Sl
    Latency:    18.57 ms   (0.09 ms jitter)
   Download:   491.99 Mbps (data used: 632.8 MB)                               
     Upload:   319.47 Mbps (data used: 259.0 MB)                               
Packet Loss:     0.0%

Esto nos asegura que los servidores de clouding.io montan interfaces de red 1000Mbps y tienen una conexión tanto de entrada como de salida, de muy alta velocidad.

Comprobando el resto de características

El tercer paso que suelo realizar, es comprobar cuál es el desempeño global de la máquina con la que voy a trabajar. Para ello existen multitud de herramientas, pero por sencillez y velocidad, suelo utilizar el script Nench y estos son los resultados que he obtenido:

Como se puede ver en la imagen superior, las altas tasas de escritura y lectura, demuestran claramente que se está usando discos SSD. También destaca el buen comportamiento de su CPU y las correctas velocidades de conexión con servidores europeos.

Comprobaciones finales

Para finalizar, me gusta hacer alguna prueba con las tecnologías que usan el software que tengo pensado desplegar. En este caso, mi idea era desplegar un WordPress así que acabaré está sección de pruebas y análisis de las características con un benchmark de PHP.

-------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2020-01-02 17:04:37
Server : @
PHP version : 7.2.24-0ubuntu0.18.04.1
Platform : Linux
--------------------------------------
test_math                 : 0.252 sec.
test_stringmanipulation   : 0.348 sec.
test_loops                : 0.264 sec.
test_ifelse               : 0.177 sec.
--------------------------------------
Total time:               : 1.041 sec.

Panel de control

Muchas empresas te ofrecen un pequeño panel con el que gestionar algunas características básicas de tu servidor. En este caso la información que me muestran es la siguiente:

En la parte superior izquierda, mi proveedor me da datos sobre mi servidor, su precio y características técnicas. En el centro, cuento con una consola de emergencia, algo muy útil cuando tienes problemas. Luego más a la derecha tengo un pequeño panel de opciones, donde puedo hacer algunos cambios en el servidor, como apagarlo, borrarlo o reiniciarlo. Finalmente, en la parte inferior me informa de la manera de conectarme con el servidor.

Sin embargo, la parte que más me gusta de clouding.io es la relativa a la configuración de red:

Por defecto trae dos cosas muy positivas:

  • Trae bloqueado el tráfico SMTP, es decir, no podrás enviar emails y esto te ayudará a no ser un generador de SPAM con algún servicio no deseado
  • Trae un firewall configurado por defecto, con una configuración óptima para arrancar.

Redimensionado de máquinas

Uno de los aspectos principales, como comenté al inicio del artículo, es la posibilidad de escalar las máquinas. Por ello, siempre busco proveedores de hosting que me ofrezcan la capacidad de redimensionar las máquinas de manera rápida y flexible. Esta elasticidad permite incrementar la capacidad del servidor en momentos puntuales y reducirla cuando no haga falta, ahorrando dinero y no dejando a tus usuarios y/o clientes tirados. En este caso, clouding me ofrece las siguientes opciones a la hora de ajustar las capacidades del servidor:

Una vez elegida la configuración para tu máquina, tu servidor será redimensionado:

Resumen

Como recapitulación, te recomiendo que uses un proveedor como clouding que te ofrezca buenas máquinas, facturación por horas, rendimiento y un buen panel de control con el que gestionar tu servidor de una manera sencilla.

Lo más positivo:

  • Creación de instancias en menos de un minuto
  • Buen rendimiento y conexión de red
  • Posibilidad de utilizar Windows Server, lo cual ofrecen pocos proveedores
  • Firewall por defecto bien configurado

La parte negativa:

  • Al no poder elegir la cantidad de memoria RAM de manera independiente, no lo recomendaría para proyectos que necesiten mucha memoria pero un número limitado de núcleos, por ejemplo: una instancia de Redis.
The following two tabs change content below.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL
Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL

Share
Publicado por
Jorge Durán

Recent Posts

[Remix] Multitud de recursos para .NET

En los últimos tiempos no he podido escribir con toda la frecuencia que me gustaría,…

3 años hace

¿Qué es un puntero y cómo se usan?

Uno de los problemas más comunes a los que se enfrentan los usuarios que empiezan…

3 años hace

Los 10 mejores paquetes nuget que tienes que instalar

Cuando empiezas un proyecto hay una serie de aspectos comunes que suelen ser resueltos mediante…

4 años hace

Haz los mejores layouts y patrones CSS fácilmente

Si alguna vez has tenido que realizar un desarrollo de front-end seguramente te habrás dado…

4 años hace

10 lugares con retos y competiciones de programación

Una vez que una persona ya ha aprendido lo básico sobre un lenguaje de programación,…

5 años hace

Cómo crear patrones CSS fácilmente en menos de un minuto

Hoy te muestro un recurso con el que crear patrones CSS con los que conseguir…

5 años hace