Migre su sitio web de WordPress a la plataforma en la nube
Publicado: 2020-06-05Basado fundamentalmente en PHP y MySQL, el mundialmente famoso WordPress CMS ha impulsado todo, desde blogs personales hasta sitios web de alto tráfico durante más de dos décadas. Sin embargo, desde su inicio y primer lanzamiento en 2003, sus creadores no lo construyeron teniendo en cuenta infraestructuras modernas, elásticas y escalables, basadas en la nube. ¿Quién podría haber predicho la forma en que la tecnología ha evolucionado hasta ahora?
Afortunadamente, con la expansión de la comunidad de WordPress y el lanzamiento posterior de versiones más maduras de WordPress, sus capacidades se han ampliado significativamente. En última instancia, ahora tenemos escenarios en los que es posible crear una infraestructura de WordPress que aproveche adecuadamente los servidores y las infraestructuras en la nube.
A lo largo de este blog, exploraremos la relación entre WordPress y los servidores en la nube, y cuándo deben usarse en combinación. Para fines de contexto, nos aseguraremos de abarcar los conceptos relacionados con este tema con gran detalle. Entonces, sin más preámbulos, ¡vamos a profundizar!
¿Qué es la nube?
Como resumen rápido, y en términos sencillos, la nube es un medio ubicuo de aprovisionar servicios y recursos de TI a través de Internet, por lo que se puede acceder a pedido o mediante pago por uso. Entonces, básicamente, los servidores en la nube actúan como 'unidades de almacenamiento' convenientes en Internet, de ahí el término 'nube'. Esta podría ser la respuesta más simplista que he proporcionado con respecto a la nube, de todos modos, ¡adelante!
Dicho esto, existen numerosos proveedores de servicios en la Nube, aunque los más destacados son Amazon Web Services (con la mayor cuota de mercado) seguido de Microsoft Azure y Google Cloud. Estos tres se denominan ocasionalmente "hiperescaladores", aunque existen otros proveedores de nube pública como AlibabaCloud, DigitalOcean, IBM Cloud y Linode. Para ser justos, vale la pena mencionar que algunos proveedores de nube pública también ofrecen servicios de alojamiento estándar (por ejemplo, alojamiento compartido de WordPress), mientras que otros no. Pero profundizaremos en eso más adelante.
La belleza de la nube es que nivela el campo de juego para las pequeñas empresas de manera significativa. Esto se debe a que les permite acceder a recursos en línea de última generación que anteriormente solo estaban disponibles para jugadores más grandes. Todo sin la necesidad de una gran inversión de capital que incluye la compra de hardware, la instalación de costosos centros de datos y la contratación de un departamento de TI de mantenimiento a tiempo completo.
En su mayor parte, la mayoría de los proveedores de la nube también ofrecen un modelo de pago por uso con servicios administrados, como escalado automático y servicios de administración de bases de datos, etc. Por lo tanto, esto es muy atractivo para muchas empresas que no tienen la intención o no pueden hacerlo. darse el lujo de invertir en una infraestructura de TI completa. Esencialmente, permitirles concentrarse en su negocio principal y dejar que un proveedor de la nube se ocupe de los tecnicismos.
La nube brinda acceso a una miríada de beneficios; sin embargo, los beneficios notables son:
- Ofrece una arquitectura ubicua y orientada a servicios, disponible en cualquier parte del mundo.
- Proporciona computación conveniente y flexible.
- Dispone de diferentes niveles de servicios bajo demanda.
- Proporciona un costo total de propiedad reducido
- Ofrece gastos generales reducidos de tecnología de la información

Tipos de servicios en la nube
En general, los proveedores de nube pública ofrecen sus servicios en tres verticales, a saber: infraestructura como servicio (IaaS), plataforma como servicio (PaaS) y software como servicio (SaaS). Por el bien del contexto, resumamos las diferencias entre todos estos tipos de servicios y lo que implica cada uno de ellos, ¿de acuerdo?
- IaaS: Infraestructura como servicio ofrece diferentes infraestructuras en la nube a los usuarios, como computación virtual, sistemas operativos, colas, almacenamiento, VLAN, balanceadores de carga, entre otros. Este tipo de nube vertical exige un conocimiento técnico profundo para implementar y operar una aplicación. Por ejemplo, cada componente requiere una gestión técnica para iniciar la ampliación o reducción, o para realizar el equilibrio de carga.
- PaaS: por otro lado, el modelo Platform as a Service ofrece más servicios administrados. Básicamente, esto significa que la responsabilidad de las actualizaciones de software y los parches pertenece principalmente al proveedor de la nube. Además, con PaaS, las operaciones específicas de la infraestructura orquestadas por la propia nube, como el escalado, la copia de seguridad y la replicación de datos, se realizan de forma transparente.
- SaaS: Podría decirse que el más conocido de todos estos verticales es el modelo de software como servicio que ofrece software completamente funcional administrado en la nube. El modelo SaaS puede englobar componentes IaaS y aplicaciones PaaS, o usar cualquiera de las dos verticales por separado.

En última instancia, a pesar de todos los modelos destacados anteriormente, los límites entre las plataformas en la nube se vuelven cada vez más estrechos a medida que más proveedores emplean más servicios mixtos que pueden incluirse en IaaS o PaaS. Como ejemplo, Amazon Web Services comenzó con ofertas de IaaS (EC2, SQS y S3), luego agregó componentes de PaaS en el camino (bases de datos relacionales y bases de datos no relacionales). Comparativamente, Microsoft Azure amplía los componentes PaaS (Sitios web de Azure y base de datos SQL) e IaaS (Máquinas virtuales y almacenamiento).

¿Cuándo es el momento adecuado para migrar a la nube?
No obstante y sin duda, la mayoría de las aplicaciones de software pueden alojarse en 'hiperescaladores' de una forma u otra. Sin embargo, la pregunta siempre ha sido : ¿es justificable?, ¿será redundante?, ¿tal vez exagerado? o ¿conducirá a la infrautilización de recursos en algunos casos?
Dicho esto, vale la pena señalar que las aplicaciones específicas se adaptan perfectamente a la nube debido a su gran necesidad de ciertas capacidades de la nube. Por ejemplo, es posible que necesiten una combinación de codificadores, CDN, bases de datos relacionales o la capacidad de escalar recursos automáticamente. Sea como fuere, hay instancias en las que otras aplicaciones simplemente se transfieren a la nube por el bien y no logran aprovechar al máximo todos sus recursos. Lo cual no es un crimen, de cualquier manera.
¿Qué tipos de aplicaciones de WordPress son ideales para la migración a la nube?
Dado que hemos establecido que la nube puede manejar cualquier aplicación informática externa, en cualquier capacidad que se presente. Nuestra advertencia sigue en pie, ya que destacamos que, sin embargo, no todas las aplicaciones son adecuadas para la nube. Entonces, ¿qué tipos de aplicaciones de WordPress son suficientes para la nube?

1. Solicitudes con necesidades de procesamiento periódicas y exigentes
En términos generales, estas aplicaciones suelen realizar operaciones de computación muy intensivas, como funciones de análisis por lotes en varios formularios de datos. Dichas funciones de análisis por lotes pueden tomar diferentes formas, que incluyen: conversión de archivos de un formato a otro, análisis de texto semántico, clasificación de datos, informes, indexación de texto, agrupación de datos o incluso entrenamiento de redes neuronales para aprendizaje automático, etc.
Por lo tanto, dado que estas operaciones tienden a ser predecibles en el tiempo, terminan exigiendo una potencia informática significativa que ofrecen los proveedores de nube de hiperescala. Esto se debe a que los proveedores de nube pública siempre tienen hardware de última generación para satisfacer necesidades tan grandes. Entonces, esencialmente, para las pequeñas empresas con tales aplicaciones, la nube las ayuda a eludir inversiones de hardware tan pesadas e innecesarias (que a veces pueden ser inversiones reaccionarias)
Además, una organización puede optar por acelerar aún más sus capacidades de procesamiento por lotes con la nube , para finalizar más rápidamente, por ejemplo, en menos de una hora en lugar de 3 o 4 horas. Esto es bastante manejable en un entorno de nube, ya que los administradores pueden activar algunas unidades informáticas más. Mientras que, en el alojamiento estándar de WordPress, tal realización sería bastante desafiante debido a las limitaciones del hardware.
2. Aplicaciones que necesitan Alta Disponibilidad (HA) y escalabilidad.
Esencialmente tenemos dos categorías a considerar. La primera categoría son las aplicaciones que desean brindar un servicio HA (alta disponibilidad) a sus usuarios finales. Luego tenemos aplicaciones que anticipan un aumento en su uso o planean extender sus servicios a una base de usuarios más grande.
Una configuración de alta disponibilidad significa que la aplicación no tiene un único punto de falla (SPOF). Normalmente, esto se logra agregando una redundancia a cada extremo, componente o servicio de la aplicación. Además, esta configuración asume naturalmente que se requiere más hardware y mecanismos para lograr una alta disponibilidad, como procesos automáticos de conmutación por error, balanceo de carga y monitoreo.
La segunda categoría se refiere a las aplicaciones que pretenden aumentar su base de usuarios (y tienen una escalabilidad flexible). Por ejemplo, podrían estar planeando ampliar su oferta de productos/servicios; o esperar expandirse posteriormente a nuevos mercados. Por lo tanto, esto implica la necesidad de una actualización significativa de la nube y una capa de administración adecuada para que funcione.
3. Aplicaciones con picos de uso impredecibles
Estas aplicaciones normalmente interactúan con frecuencia con los usuarios a través de tiendas en línea, sitios de productos, blogs populares, etc. Por lo tanto, dichos servicios web suelen tener una base de usuarios predecible y constante; sin embargo, en algunos casos, pueden terminar atrayendo a una gran cantidad de usuarios al azar. . Por ejemplo, pueden ocurrir picos si se hace referencia a ellos en una página web popular o si un video relacionado con ellos se vuelve viral. O tal vez después de que una campaña de marketing tenga más éxito de lo previsto inicialmente debido a los cupones y códigos de promoción.

Entonces, esencialmente, una migración a la nube puede ser ideal cuando no puede predecir su volumen potencial de tráfico entrante o el marco de tiempo exacto en que ocurrirá. Dichos propietarios de sitios web tienden a anticipar con precisión un aumento en el tráfico, pero no saben cuánto será ni cómo se distribuirá.
Leer más: 11 formas efectivas de ampliar su sitio web de WordPress para un alto tráfico
Por lo tanto, para tales escenarios, la adquisición de hardware reaccionario o de emergencia no vale la pena debido al uso fragmentado que puede hacer que una gran cantidad de hardware quede sin usar estacionalmente. En tales escenarios, cualquier otra cosa que no sea una implementación en la nube sería temeraria.
4. Aplicaciones con la necesidad de varios entornos de prueba
No muy conocido por muchos, los usuarios pueden aprovechar la nube para ejecutar un entorno de prueba. Dichos entornos de prueba pueden ser permanentes o temporales cuando se necesita realizar un conjunto específico de pruebas, como pruebas de seguridad o pruebas de carga.
Entonces, básicamente, será necesario hardware de alta gama para lograr tales entornos de prueba y la implicación del costo para la adquisición de hardware para realizar pruebas de seguridad y pruebas de carga puede ser bastante alta. Esto se debe principalmente a que estas pruebas deben realizarse varias veces al año y requieren una configuración de producción completa para lograr su objetivo. Esta es la razón por la cual la compra de hardware nuevo para tales pruebas puede terminar como una acción ineficiente o redundante desde una perspectiva de costos. Ahí es donde la nube se convierte en una opción.
Entonces, para resumir nuestros puntos, los principales factores que afectan la adopción de la nube son: la base de usuarios, el patrón de uso, las demandas de tolerancia a fallas y los requisitos de prueba. Por supuesto, hay más factores que justifican la candidatura de la aplicación para la Nube, pero estos cuatro factores normalmente se destacan.
Uso de plataformas en la nube con WordPress
La mayoría de las aplicaciones de WordPress utilizan alojamiento estándar, sin embargo, hay un aumento en los usuarios de WordPress que optan por ejecutar sus sitios web en plataformas como la nube de AWS y Google Cloud.
Esto muestra que más propietarios de sitios web están preocupados por cómo construir un sitio web que se escale adecuadamente. Por ejemplo, debería ser capaz de atender a un número fluctuante de visitantes y ser lo suficientemente flexible como para permitir una actualización de contenido rápida y sencilla sin dejar de ser tolerante a errores. Este último punto es importante ya que les da a los propietarios la tranquilidad de saber que cuando algo se rompe, el sitio web aún podrá realizar sus funciones adecuadamente.
Entonces, para agregar contexto, el alojamiento típico de WordPress es un servicio administrado, esencialmente, un software como servicio (SaaS). Mientras que la migración a la nube pública constituye efectuar una instalación de Plataforma como Servicio (PaaS). En esencia, una instalación de WordPress que utiliza PaaS descarga el mantenimiento de la infraestructura, las copias de seguridad, las replicaciones y la disponibilidad al proveedor de la nube.
Administrar un servidor en la nube puede ser difícil
La configuración o el aprovisionamiento de su entorno de servidor no se puede deducir fácilmente, a menos que sea un experto o un experto. Implica saber cómo administrar sus instancias en la nube al mismo tiempo que instituye una capa de protocolos de seguridad que garantiza la protección de sus instancias en la nube.
Desde una perspectiva, tales instalaciones pueden requerir que tenga competencias con los comandos de Linux, ya que los servidores de AWS predeterminados no vienen con ninguna interfaz gráfica de usuario para trabajar. Por lo tanto, la capacidad de usar CLI es imperativa, lo que puede ser un desafío para quienes tienen un conocimiento limitado del lado del servidor.
Sin embargo, algunos proveedores de la nube brindan recursos para ayudar a aliviar las molestias de la administración del servidor y permitirle concentrarse en sus sitios web de WordPress. Estas mismas herramientas vigilan atentamente la seguridad de su servidor para proteger su sitio de ataques cibernéticos. Estas soluciones pueden ofrecer a los usuarios la capacidad de integrar SSL, crear sitios de prueba, clonar sitios web y administrar trabajos cron con solo unos pocos clics.
Planificación de una migración a la nube de WordPress
Después de optar por migrar su aplicación de WordPress a la nube, es importante determinar un modelo de arquitectura aplicable, elegir un proveedor de nube confiable, refinar la arquitectura de su aplicación, probar su configuración y luego lanzarla.
Determinar su modelo de arquitectura le permite identificar principalmente las partes independientes y escalables de su aplicación de WordPress. En segundo lugar, al elegir un proveedor de nube, asegúrese de elegir el que mejor se adapte teniendo en cuenta factores como las capacidades de la base de datos. Por ejemplo, una base de datos de SQL Server puede ser una buena opción para Azure SQL Database o AWS RDS, mientras que una base de datos MySQL también podría ser adecuada para AWS RDS.
Además, un proveedor de la nube puede afectar la arquitectura final de su aplicación. Además, al probar una configuración, siempre considere los datos de tamaño real, por lo tanto, trate de instituir un clon completo de los datos de producción, que incluye principalmente datos de la base de datos y contenido generado por el usuario.
Costo
El costo total inicial para cada proveedor de la nube también debe calcularse cuidadosamente. Dado que la mayoría de los proveedores de la nube tienen calculadoras de precios en línea, puede utilizarlas. Además, preste atención a aspectos como las horas de cómputo, el ancho de banda y el almacenamiento, así como a métricas como la cantidad de solicitudes GET para acceder a cierto almacenamiento de objetos y las horas del balanceador de carga, etc.
Mejores prácticas para instalaciones de WordPress en servidores en la nube
1. Asegúrese de aprovechar una red de entrega de contenido (CDN)
Recuerde que la mayoría de las aplicaciones de WordPress ofrecen una combinación de contenido estático y dinámico. El contenido estático son imágenes, archivos JavaScript u hojas de estilo. Mientras que el contenido dinámico es cualquier cosa generada en el lado del servidor que aprovecha el código PHP de WordPress. Por ejemplo, elementos generados a partir de la base de datos, o que se personalicen para cada espectador.
Dado que la latencia de la red es importante para la experiencia del usuario final, es imperativo utilizar CDN, ya que ayudan a abordar la latencia de la red al permitirle entregar contenido de manera constante a los usuarios de todo el mundo.
Por lo tanto, dado que los usuarios suelen estar distribuidos geográficamente en todo el mundo, las CDN esencialmente ayudan a acelerar la distribución de contenido con baja latencia y altas velocidades de transferencia de datos en todo el mundo.
Leer más: Consejos para mejorar la velocidad del sitio web de WordPress
2. Almacenamiento en caché de la base de datos
El almacenamiento en caché de la base de datos puede reducir drásticamente la latencia y aumentar el rendimiento de aplicaciones como WordPress. Lo logra almacenando en la memoria piezas de datos a las que se accede con frecuencia para un acceso de baja latencia, como los resultados de consultas de bases de datos con uso intensivo de E/S. Entonces, esto significa que cuando un gran porcentaje de las consultas se atienden desde el caché, se reduce la cantidad de consultas que deben llegar a la base de datos. Por lo tanto, resulta en un menor costo asociado con el funcionamiento de la base de datos.
3. Nivel web sin estado
Fundamentalmente, una aplicación sin estado no tiene en cuenta las interacciones anteriores y no almacena información de la sesión. Y para WordPress, esto implica que todos los usuarios finales reciben la misma respuesta, independientemente del servidor web que haya procesado su solicitud.
Por lo tanto, para aprovechar varios servidores web en una configuración de escalado automático, su nivel web debe ser sin estado. Además, las aplicaciones sin estado pueden escalar horizontalmente ya que cualquier solicitud puede ser atendida por cualquiera de los recursos informáticos disponibles (lo que llamamos "instancias de servidor web").
Sin embargo, de forma predeterminada, WordPress almacena las cargas de los usuarios en el sistema de archivos local y, por lo tanto, no es apátrida. Por lo tanto, es importante mover su instalación de WordPress y toda la configuración del usuario, complementos, temas y cargas generadas por el usuario a una plataforma de nube de datos compartidos para ayudar a reducir la carga en los servidores web y hacer que el nivel web no tenga estado.
Leer más: ¿Son seguros los complementos de WordPress?
Para lograr esto, puede usar almacenamiento de terceros para almacenar las sesiones de PHP. Esto podría ser un simple almacén de clave-valor o la propia base de datos. Todos los principales proveedores de la nube ofrecen almacenes de clave-valor, como Azure Tables o AWS DynamoDB, y deben estar altamente disponibles y accesibles para todos los componentes de la aplicación que interactúan con los datos de la sesión.
Pensamientos finales.
En conclusión, la computación en la nube se ha convertido en la forma más frecuente de gestión de datos con su capacidad inigualable para ofrecer economías de escala mejoradas, seguridad de datos, interoperabilidad, fácil accesibilidad y eficiencia energética. Esencialmente, está alterando las formas en que administramos, asignamos y consumimos recursos informáticos, de almacenamiento y de redes a nivel mundial.
Por lo tanto, los servidores de WordPress y la nube se pueden combinar principalmente de manera eficaz si anticipa grandes aumentos de tráfico, si necesita alta disponibilidad, si tiene requisitos de escalabilidad inesperados, tiene necesidades de procesamiento dinámico y si necesita un entorno de prueba único.