WordPress de alta disponibilidad: 12 aspectos clave

Aspectos clave para conseguir un WordPress de alta disponibilidad

Esta guía sobre cómo conseguir un sitio web WordPress de alta disponibilidad (HA) aborda los principales aspectos a tener en cuenta para garantizar una alta disponibilidad, rendimiento y resiliencia en un sitio web corporativo en WordPress o un comercio electrónico basado en WooCommerce.

El tiempo de inactividad no sólo puede tener un impacto negativo en los ingresos de un negocio, sino que también puede dañar gravemente la reputación de la marca. Es un aspecto que no se debe descuidar, así que entremos en los detalles.

Elementos básicos de un sitio WordPress de alta disponibilidad

La siguiente guía recoge los elementos clave de una configuración de alta disponibilidad en WordPress, empezando de abajo arriba. Como expertos en soluciones de infraestructura de TI, tenemos claro que la alta disponibilidad comienza a nivel de infraestructura.

Infraestructura HA

Como partner tecnológico estratégico y de misión crítica, el proveedor de alojamiento en la nube es un gran aliado para alcanzar sus objetivos. Así que, es importante asegurarse de contar con un proveedor fiable que ayude a tu empresa a desplegar una infraestructura HA que pueda seguir funcionando bajo cualquier circunstancia. En Stackscale, recomendamos contar con una infraestructura de nube privada para conseguir alta disponibilidad, redundancia y seguridad. Pero existen muchas soluciones en el mercado que se adaptan a las necesidades de cada proyecto.

Almacenamiento

Como parte de la infraestructura, un clúster de HA también debe incluir los sistemas de almacenamiento necesarios. Nosotros recomendamos volúmenes de almacenamiento en red centralizados en distintas cabinas redundantes, ya que son ideales para diversos tipos de archivos. Adicionalmente, para obtener una alta disponibilidad real sobre los datos, también se pueden mantener dos volúmenes en diferentes data centers para mantener copias síncronas de los datos, así como un clúster entre dos CPDs en la base de datos.

Ancho de banda

Garantizar un ancho de banda suficiente, que se adapte a las necesidades del proyecto en todo momento, también es importante para poder absorber picos de tráfico sin interrupciones. Así como contar con una red de comunicaciones avanzada, con las medidas de seguridad necesarias para absorber una gran cantidad de tráfico e incluso ataques DDoS. Por supuesto, como mencionamos más abajo, también se puede complementar con un servicio de CDN.

Balanceo de carga

El balanceo de carga también es esencial. En este sentido, destacamos HAProxy como una solución de balanceo de código abierto que proporciona balanceadores en alta disponibilidad para servicios web normales y seguros con SSL. Esta aplicación cuenta con una amplia reputación entre las empresas y la comunidad de administración de sistemas. Es capaz de gestionar millones de peticiones para proyectos de alto tráfico y muchos grandes proyectos de Internet la utilizan, entre ellos: GitHub, Stack Overflow, Reddit, Tumblr y Twitter.

No obstante, existen otras muchas soluciones de balanceo de hardware o virtuales como F5 o similares.

Mecanismos de caché

Implementar mecanismos de caché también es recomendable para reducir la carga en los servidores web y evitar sobrecostes. En lo que se refiere a caché, Varnish Cache es posiblemente la mejor solución para cachear y acelerar páginas web. Algunos proyectos incluso lo usan como balanceador de carga.

Varnish Cache se instala delante de cualquier servidor web y se configura para almacenar una copia de las páginas solicitadas en la caché del servidor. Gracias a esto, después se puede servir el contenido de manera mucho más rápida y eficiente. Lo usan muchos sitios web de alta demanda y tráfico como The New York Times, The Guardian o Corriere della Sera; así como plataformas de contenidos y redes sociales como Wikipedia, Facebook o Vimeo.

Asimismo, Redis caché también resulta útil para mejorar la caché de sesiones, entre otros aspectos.

Red de distribución de contenidos

Una solución de CDN también se puede usar para cachear contenido y servirlo a los usuarios desde ubicaciones más cercanas. Las redes de distribución de contenidos ayudan a reducir la cantidad de datos que el servidor de origen debe proporcionar a los usuarios finales. De modo que también contribuyen a disminuir el uso y costes de ancho de banda.

Asimismo, una CDN puede ser un complemento especialmente útil si el proyecto recibe tráfico de múltiples partes del mundo.

Servidores web NGINX + PHP-FPM

NGINX es un servidor web de alto rendimiento y muy ligero. Aunque NGINX es de código abierto, bajo licencia BSD, también cuenta con una versión comercial denominada NGINX plus. Una larga lista de empresas y sitios webs utiliza este servidor —desde WordPress a otras muy conocidas como Facebook, Netflix, GitHub y SourceForge—. Este servidor web se puede complementar con el módulo PHP-FPM, que es una potente alternativa al PHP FastCGI y cuenta con características especiales pensadas para sitios webs de mucho tráfico.

Por supuesto, también existen otros servidores web aptos para soluciones de WordPress como puede ser Apache HTTP o LiteSpeed Web Server. La mejor solución dependerá de cada proyecto en concreto.

Clúster de base de datos MySQL

MySQL es la base de datos de código abierto más popular del mercado y cuenta con alternativas como MariaDB o Percona MySQL. Su rendimiento probado, fiabilidad y facilidad de uso la han hecho realmente popular. Millones de sitios web utilizan esta base de datos; entre ellos, grandes plataformas como Twitter, Youtube o Facebook.

Al desplegar un clúster de base de datos con MySQL o Percona podrás conseguir una alta disponibilidad de los datos; además de conseguir un mayor rendimiento y una disponibilidad del 99,999 %. Una arquitectura distribuida, multi-tenant y sin puntos de error con MySQL en clúster te proporcionará escalabilidad para grandes necesidades de manejo de datos. Adicionalmente, contar con una solución de distribución geográfica también permite separar un clúster entre varios data centers, con latencias inferiores a 1 ms entre ellos, para mejorar la HA y la resiliencia de la plataforma.

En este punto también es importante contar con un buen equipo de administración de sistemas y bases de datos. Este se encargará de desarrollar los procedimientos para que funcione en las situaciones más críticas y para que pueda crecer cuando sea necesario.

Infraestructura para desarrollo y despliegues

Si es posible, es recomendable adoptar despliegues con soluciones de gestión de versiones de código como GIT o similares, en lugar de FTP. Asimismo, es importante no pasar por alto la importancia de disponer de un entorno de desarrollo, que sirva de copia simplificada del entorno de producción real para desplegar y probar nuevas funcionalidades.

Backups y redundancia

Definir una completa política de copias de seguridad y snapshots es esencial para garantizar la disponibilidad y continuidad del negocio. En Stackscale, tenemos programas de backup personalizados disponibles a petición, además de los backups y snapshots incluidos por defecto en nuestros sistemas de almacenamiento en red. Además, recomendamos guardar una réplica en un centro de datos geográficamente distante para aumentar la redundancia.

La georedundancia es otro mecanismo para conseguir alta disponibilidad. Al replicar los datos y la infraestructura IT en múltiples data centers remotos, es posible reforzar la protección de los datos y minimizar el tiempo de inactividad.

Seguridad

Sobra decir que la seguridad debe ser una prioridad absoluta para cualquier proyecto hoy en día. Definir una política de seguridad y Anti-DDoS sólida es clave para estar preparado para mitigar un ataque potencial en el futuro. Esta también se puede complementar con soluciones de CDN y WAF.

En estrecha relación con la seguridad, la administración de sistemas y monitorización 24/7 también son esenciales.

Acceso seguro al panel de gestión de la infraestructura

Por último, pero no menos importante, garantizar la seguridad de acceso a la administración de tu WordPress, así como a cualquier otro panel de administración, es indispensable. Puedes renombrar o no el directorio «wp-admin» de tu WordPress, pero es importante que el acceso al mismo esté protegido mediante contraseña del servidor web. Además de su propia protección de usuario y password.

Siempre recomendamos proteger todos los elementos de gestión mediante una VPN para garantizar conexiones cifradas y seguras.

¿Qué debería incluir un clúster WordPress de HA?

En resumen, un clúster WordPress de alta disponibilidad debería incluir al menos:

  • Una infraestructura de HA bare-metal o cloud con al menos 2 nodos de computación en dos centros de datos distintos, con baja latencia.
  • Volúmenes de almacenamiento, con réplicas de datos en 2 centros de datos.
  • Suficiente ancho de banda.
  • Balanceo de carga.
  • Mecanismos de caché.
  • Servidor web.
  • Base de datos.
  • Backups y redundancia.
  • Administración de sistemas y monitorización 24/7.

WordPress HA en un entorno de nube privada

A la hora de configurar una infraestructura altamente disponible y redundante, es importante pensar en la evolución y necesidades de tu futura web. Si estimas que tu plataforma con WordPress tendrá que soportar miles e incluso millones de visitas cada día, la infraestructura es clave y debe estar preparada. A continuación compartimos un ejemplo de infraestructura de nube privada de alta disponibilidad desplegada en dos centros de datos diferentes.

Ejemplo de infraestructura de nube privada de alta disponibilidad desplegada en dos centros de datos diferentes

En el ejemplo anterior, sugerimos el despliegue de 2 nodos físicos de nube privada, en 2 centros de datos diferentes, para conseguir una alta disponibilidad real y al mismo tiempo beneficiarse de las ventajas de disponer de dos ubicaciones físicas. Este ejemplo de infraestructura ubicada en dos de nuestros centros de datos en Madrid funciona como una sola e incluye también varios sistemas de almacenamiento en red centralizados en cabinas redundantes.

No obstante, desde nuestra experiencia, es imprescindible estudiar cada proyecto para construir una infraestructura adaptada a sus necesidades reales. Trabajamos en diferentes tipos de proyectos y sectores, y sabemos que cada proyecto es diferente y único. Así que, no dudes en contactar con nosotros si necesitas ayuda para definir una infraestructura de alta disponibilidad para tu proyecto.

Si te ha gustado, compártelo en redes sociales

Cloud avanzado para WordPress

Impulsa el rendimiento y crece sin límites con una solución de hosting WordPress de alta disponibilidad a medida.

DESCUBRIR MÁS