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.
Tabla de contenidos
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ística | Datos |
---|---|
Facturación | Por horas |
Sistemas operativos | Linux (CentOS, Debian, Ubuntu) y Windows Desktop y Server (2019-2003) |
RAM | En función de la CPU elegida |
CPU/Cores | 0.5-16 |
Disco SSD | 25-1900GB |
Posibilidad de backups automáticos | Sí |
Posibilidad de red privada | Sí |
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.
Jorge Durán
Latest posts by Jorge Durán (see all)
- [Remix] Multitud de recursos para .NET - 18 junio, 2021
- ¿Qué es un puntero y cómo se usan? - 4 junio, 2021
- Los 10 mejores paquetes nuget que tienes que instalar - 26 abril, 2021