Servicios en la nube que puedes implementar fácilmente en WordPress

A la hora de montar tu propio blog, ya sea con WordPress o cualquier otro CMS, elegir el servidor en el que alojar los archivos es una tarea importante. De su potencia dependerá que la página responda rápidamente y que pueda soportar muchas visitas imprevistas. Los alojamientos en internet se venden habitualmente en paquetes cerrados que tienen poca o ninguna flexibilidad (especialmente los alojamientos compartidos) así que en esta entrada repasaremos algunos de los servicios que forman parte de la tecnología conocida como “nube” que pueden ayudar a cubrir necesidades extra o ampliar la flexibilidad de tu instalación.

Distribución y transferencia

Además del espacio para alojar los archivos, muchos proveedores tienen un límite de transferencia en sus paquetes. La transferencia es el tráfico entrante y saliente del servidor, es decir, cada vez que alguien visita tu web, resta alrededor de 2 megabytes del total. Para aliviar esta carga de tu alojamiento, puedes utilizar un CDN como Cloudfront o Azure CDN, que servirá algunos archivos de tu web directamente desde sus centros de datos. Puedes usar plugins como WP Super Cache o W3 Total Cache para servir imágenes y hojas de estilo desde cualquier CDN o incluso el blog completo (aunque necesitarás algo más de conocimiento).

Espacio

Este es otro de los recursos más preciados en internet. Tener un blog en el que escribes mayoritariamente texto no necesitará mucho espacio, pero para alojar fotografías e incluso vídeos necesitarás bastante y el precio se dispara. Puedes alojar imágenes, vídeos e incluso algunos de los archivos que WordPress necesita para funcionar en servicios de almacenamiento de objetos como Cloud Storage, Amazon S3 o Azure Blob a un precio significativamente menor que contratando más espacio en un proveedor de alojamiento. Algunos plugins que enlazan estos servicios con tu instalación son WP Stateless, ILAB Media Tools o el mismo W3 Total Cache.

Bases de datos

"database" por Sean MacEntee https://www.flickr.com/photos/smemon/5499401779
“database” por Sean MacEntee https://www.flickr.com/photos/smemon/5499401779

En WordPress la base de datos almacena el contenido de las entradas, los perfiles de usuario y algunas opciones. Cada vez que se visita la web, se escribe una nueva entrada o un usuario accede al apartado de administración se realiza una consulta a la base. En un blog estándar la base de datos no tendría por qué sufrir mucho, pero si planeas recibir muchas visitas o si vas a utilizar WordPress para montar una comunidad online o un foro, podría no ser capaz de responder con rapidez o volverse gigante. Amazon Aurora, Cloud SQL o Azure ofrecen bases de datos en la nube escalables casi al instante y con gran capacidad. Para conectar con estas bases de datos tendrás que introducir su configuración en el archivo wp-config de tu instalación.

Caché de objetos y base de datos en memoria

Cuando se accede a una página web el contenido debe ser rescatado de su ubidación original, ya sea el disco duro o una base de datos. Memcached y Redis son sistemas de código libre que posibilitan el almacenamiento de objetos y/o datos en memoria, donde son accesibles más rápidamente. Elasticache o Redis Cache de Azure ofrecen esta posibilidad. Puedes usar Elasticache en tu WordPress siguiendo este tutorial que requiere instalar el plugin W3 Total Cache.

Búsquedas

Si tienes un sitio web lleno de entradas o incluso una tienda online o un servicio de vídeo bajo demanda (es posible crear este tipo de páginas con WordPress como base) las búsquedas serán muy importantes. El motor de búsqueda prefedinido no es perfecto y, ante todo, es lento, ya que no almacena ningún índice, sino que cada vez que se solicita una búsqueda tiene que volver a examinar la página completa. Elasticsearch o Cloudsearch son servicios que te permitirán crear un índice de los contenidos para poder acceder a ellos más rápidamente. Puedes añadirlos a tu instalación con plugins como Cloud-Search o Fantastic ElasticSearch.

Copias de seguridad

Los proveedores más económicos no realizan copias de seguridad (y mucho menos diarias). Si existe algún fallo o los archivos se infectan por algún ataque, puedes perder el trabajo de muchos meses o incluso años. Además, guardar las copias en el mismo servidor no te permitirá recuperarlas si el fallo es en el hardware (si los discos del servidor se rompen). Puedes almacenar estas copias de seguridad en los servicios de almacenamiento de objetos descritos en el apartado de “espacio”. Además, el plugin BackWPup permite programar copias diarias, semanales, mensuales, etc. y subirlas automáticamente a dichos almacenes.

Correo electrónico

Si utilizas tu instalación de WordPress como comunidad online o foro necesitarás enviar decenas o cientos de correos diarios. Es posible que tu proveedor tenga limitada la cantidad de envíos diarios para evitar abusos o prevenir el envío de correo basura. Utilizando servicios como Amazon SES puedes delegar el envío de correos electrónicos a la nube. Además SES permite analizar los envíos para comprobar si están siendo recibidos o rechazados. Para integrar SES en WordPress puedes usar el plugin WP SES.

Gestión de DNS

El sistema DNS indica al explorador de internet a qué dirección IP debe ir cuando escribimos un dominio o seguimos un enlace. Route53 o Cloud DNS permiten manejar las reglas DNS con altos niveles de personalización. Entre sus funciones, por ejemplo, permiten dirigir al visitante al servidor más cercano a su posición (si decides tener tu blog replicado en varias localizaciones) o incluso a una página distinta si tu servidor no funciona en ese momento (el visitante llegaría a otra página en lugar de ver un mensaje de error). Las reglas DNS no se administran directamente desde WordPress sino a nivel del servidor.

Máquinas virtuales

Auto escalado en EC2. Fuente: http://blog.celingest.com/2013/12/19/autoscaling-consola-web-aws/
Auto escalado en EC2. Fuente: http://blog.celingest.com/2013/12/19/autoscaling-consola-web-aws/

Para dar un paso más y montar tu propio servidor, Amazon Ec2, Azure VM o Google Compute Engine son servicios donde puedes “alquilar” una o varias máquinas virtuales con Linux o Windows y montar tu servidor desde cero. Se trata de un nivel más avanzado y no es directamente implementable desde WordPress, pero es interesante terminar sabiendo que existe esta posibilidad y sus ventajas. Gracias a estos servicios puedes replicar tu web en centros de datos por todo el mundo o incluso conectar más o menos máquinas virtuales para responder a una demanda variable como hace Netflix.

Si quieres saber cómo montar tu WordPress en la nube con alta disponibilidad (aviso, requiere conocimientos avanzados) puedes leer estos dos tutoriales de Celingest:

 

Fotografía de la portada: Chris Potter – ccPixs.com – Licencia CC BY 2.0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *