WordPress en App Service

Azure Front Door
Azure Load Balancer
Azure Virtual Network
Azure App Service
Azure Database for MySQL

En este artículo se describe una solución para instalaciones de WordPress de tamaño pequeño a mediano. La solución proporciona la escalabilidad, confiabilidad y seguridad de la plataforma Azure sin necesidad de una configuración o administración complejas. Para obtener soluciones para instalaciones más grandes o intensivas en almacenamiento, consulte Opciones de hospedaje de WordPress en Azure.

Architecture

Diagrama de arquitectura de WordPress en Azure App Service. Azure Front Door dirige el tráfico a las aplicaciones web. Azure Database for MySQL almacena contenido dinámico.

Descargue un archivo Visio de esta arquitectura.

Nota

Puede ampliar esta solución si implementa sugerencias y recomendaciones que no son específicas de ningún método de hospedaje de WordPress determinado. Para obtener sugerencias generales para implementar una instalación de WordPress, consulte WordPress en Azure.

Flujo de datos

En este escenario se trata una instalación escalable de WordPress que se ejecuta en Azure App Service.

  • Los usuarios acceden al sitio web del front-end a través de Azure Front Door con Azure Web Application Firewall habilitado.
  • Azure Front Door distribuye las solicitudes en las aplicaciones web de App Service en las que se ejecuta WordPress. Azure Front Door recupera los datos que no se almacenan en caché de las aplicaciones web de WordPress.
  • La aplicación WordPress usa un punto de conexión de servicio para acceder a una instancia de servidor flexible de Azure Database for MySQL. La aplicación WordPress recupera información dinámica de la base de datos.
  • La alta disponibilidad con redundancia local está habilitada para Azure Database for MySQL a través de un servidor en espera en la misma zona de disponibilidad.
  • Todo el contenido estático se hospeda en Azure Blob Storage.

Componentes

  • La plantilla de WordPress en App Service es una solución administrada para hospedar WordPress en App Service. Además de App Service, la solución también usa los demás servicios de Azure que se describen en esta sección.
  • App Service proporciona un marco para compilar, implementar y escalar aplicaciones web.
  • Azure Front Door es una red moderna de entrega de contenido en la nube. Como red distribuida de servidores, Azure Front Door entrega eficazmente contenido web a los usuarios. Las redes CDN minimizan la latencia al guardar contenido almacenado en caché en servidores perimetrales en ubicaciones de punto de presencia cercanas a los usuarios finales.
  • Azure Content Delivery Network entrega eficazmente contenido web a los usuarios mediante el almacenamiento de blobs en ubicaciones estratégicamente colocadas. En esta solución, puede usar Content Delivery Network como alternativa a Azure Front Door.
  • Azure Virtual Network proporciona una vía para que los recursos implementados se comuniquen entre sí, con Internet y con las redes locales. Las redes virtuales proporcionan aislamiento y segmentación. También filtran y enrutan el tráfico y permiten establecer conexiones entre varias ubicaciones. En esta solución, las dos redes se conectan a través del emparejamiento de redes virtuales.
  • Azure DDoS Protection proporciona características mejoradas de mitigación de DDoS. Al combinar estas características con procedimientos recomendados de diseño de aplicaciones, ayudan a defenderse frente a ataques DDoS. Debería habilitar DDoS Protection en redes virtuales perimetrales.
  • Los grupos de seguridad de red usan una lista de reglas de seguridad para permitir o denegar el tráfico de red entrante o saliente en función de la dirección IP de origen o destino, el puerto y el protocolo. En las subredes de este escenario, las reglas del grupo de seguridad de red restringen el flujo de tráfico entre los componentes de la aplicación.
  • Azure Key Vault almacena y controla el acceso a contraseñas, certificados y claves.
  • Azure Database for MySQL: servidor flexible es un servicio de base de datos relacional que se basa en el motor de base de datos MySQL de código abierto. La opción de implementación de servidor flexible es un servicio totalmente administrado que proporciona control y flexibilidad granulares sobre las funciones de administración de bases de datos y las opciones de configuración. En este escenario, Azure Database for MySQL almacena datos de WordPress.
  • Blob Storage proporciona un almacenamiento de objetos escalable y optimizado. Blob Storage es una buena opción para cargas de trabajo nativas de la nube, archivos, lagos de datos, informática de alto rendimiento y aprendizaje automático.

Alternativas

  • Puede usar Azure Cache for Redis para hospedar una caché clave-valor para complementos de optimización del rendimiento de WordPress. La memoria caché se puede compartir entre las aplicaciones web de App Service.
  • En lugar de Azure Front Door, puede usar Content Delivery Network para entregar contenido web a los usuarios.

Detalles del escenario

Este escenario de ejemplo es adecuado para las instalaciones pequeñas y medianas de WordPress.

Posibles casos de uso

  • Eventos de medios que provocan picos de tráfico
  • Blogs que usan WordPress como su sistema de administración de contenido
  • Sitios web de empresa o de comercio electrónico que usan WordPress
  • Sitios web creados mediante otros sistemas de administración de contenido

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

Tenga en cuenta las siguientes recomendaciones al implementar esta solución:

  • App Service proporciona comprobaciones de estado y equilibrio de carga integradas. Estas características le ayudan a mantener la disponibilidad cuando se produce un error en una aplicación web de App Service.
  • Cuando se usa una red de entrega de contenido para almacenar en caché todas las respuestas, se obtiene una pequeña ventaja de disponibilidad. En concreto, cuando el origen no responde, todavía puede acceder al contenido. Pero el almacenamiento en caché no proporciona una solución de disponibilidad completa.
  • Puede replicar Blob Storage en una región emparejada para la redundancia de datos en varias regiones. Para más información, vea Redundancia de Azure Storage.
  • Para aumentar la disponibilidad de Azure Database for MySQL, habilite la alta disponibilidad de la misma zona. Esta característica crea un servidor en espera en la misma zona de disponibilidad que el servidor principal. Debe usar el nivel de proceso De uso general o Crítico para la empresa para habilitar la alta disponibilidad de la misma zona. Para más información, consulte las opciones de alta disponibilidad que se aplican a sus necesidades.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

Tenga en cuenta las siguientes recomendaciones al implementar esta solución:

  • Use Azure Web Application Firewall en Azure Front Door para ayudar a proteger el tráfico de red virtual que fluye al nivel de aplicación de front-end. Para más información, consulte Azure Web Application Firewall en Azure Front Door.
  • No permita que el tráfico saliente de Internet fluya desde el nivel de base de datos.
  • No permita el acceso público al almacenamiento privado.

Para más información sobre la seguridad de WordPress, consulte Sugerencias generales de seguridad y rendimiento de WordPress y Documentación de seguridad de Azure.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Revise las siguientes consideraciones sobre los costes al implementar esta solución:

  • Expectativas de tráfico (GB/mes). El volumen de tráfico es el factor que tiene el mayor efecto en el costo. La cantidad de tráfico que recibe determina el número de instancias de App Service que necesita y el precio de la transferencia de datos de salida. El volumen de tráfico también se correlaciona directamente con la cantidad de datos proporcionados por la red de entrega de contenido, donde los costos de transferencia de datos salientes son más baratos.
  • Cantidad de datos hospedados. Es importante tener en cuenta la cantidad de datos que hospeda en Blob Storage. Los precios de almacenamiento se basan en la capacidad usada.
  • Porcentaje de escritura. Tenga en cuenta la cantidad de datos nuevos que escribe en el sitio web y el host en Azure Storage. Determine si se necesitan los nuevos datos. En el caso de las implementaciones de varias regiones, la cantidad de datos nuevos que escriba en el sitio web se correlaciona con la cantidad de datos reflejados en las regiones.
  • Contenido estático frente a contenido dinámico. Supervise el rendimiento y la capacidad del almacenamiento de la base de datos para determinar si una SKU más barata puede admitir el sitio. La base de datos almacena contenido dinámico y la red de entrega de contenido almacena en caché el contenido estático.
  • Optimización de App Service. Para obtener sugerencias generales para optimizar los costos de App Service, consulte Azure App Service y optimización de costos.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, vea Resumen del pilar de eficiencia del rendimiento.

Este escenario hospeda el front-end de WordPress en App Service. Debería habilitar la característica de escalado automático para escalar automáticamente el número de instancias de App Service. Puede establecer un desencadenador de escalado automático para responder a la demanda del cliente. También puede establecer un desencadenador basado en una programación definida. Para más información, consulte Introducción a la escalabilidad automática en Azure y el artículo del Marco de buena arquitectura de Azure Principios de eficiencia del rendimiento.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Otros colaboradores:

  • Adrian Calinescu | Arquitecto sénior de soluciones en la nube

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes

Documentación del producto:

Módulos de formación de Microsoft: