WEB AS A SERVICE EN AZURE

WEB AS A SERVICE EN AZURE

Algunos consejos prácticos

¿Sabes cómo se monta una web As a Service en Azure?

Vamos a contar la experiencia de montar un web tipo gestor de contenidos (WordPress) de modo As a Service en una plataforma Cloud como Microsoft Azure.

Para comparar podemos comentar que una opción alternativa puede ser la experiencia subiendo una web a un proveedor de hosting, normalmente a máquinas Linux con un panel de control CPANEL.  En él se suben los archivos por FTP o con el explorador de archivos que viene en el panel y con phpMyAdmin como cliente de MySQL.

Existen más paralelismos, en estos CPANEL se suele disponer de software preinstalado, que igualmente aparece en Azure en su Marketplace, y que con pocos clicks permite tener una web básica operativa con un WordPress.

Otra opción que se tiene para montar una web de este tipo es directamente disponer de una máquina física o virtual Linux en un entorno DMZ (red externa protegida) con un servidor web Apache y un servidor MySQL en la misma, o incluso en máquinas distintas con visibilidad entre ellas.

Todas estas soluciones tienen distintos pros y contras que no vamos a comentar aquí, pero hay que tener en cuenta muchas cosas:

  • Carga del servicio, es decir, número de clientes que se van a conectar a la vez
  • La disponibilidad, que la web no se caiga, o el servidor que la contiene, o el ancho de banda sea insuficiente
  • Replicación de la información para responder ante caídas, cercanía al cliente para contestar rápido con contenidos pesados
  • Otros temas: frecuencia de los backups (y ubicación) para la recuperación en caso de desastres, ubicación de los servicios según legislación aplicable, etc.

Una sencilla solución cloud consiste en crear una máquina virtual local en la nube copiando los ficheros y base de datos en ella, pero esto mantiene prácticamente los mismos problemas que otras implementaciones.

Sin embargo, una solución mucho más eficiente consiste en partir del Marketplace de Azure:

Marketplace de Azure

 

¿Montamos una #WaaS en #MicrosoftAzure? Tu web tipo gestor de contenidos en una plataforma #Cloud Clic para tuitear

Buscando en el Marketplace del nuevo portal de Azure la palabra “wordpress” aparece en la categoría “Web y móvil” esta implementación.

En los pasos para la puesta en marcha tipo asistente hay que ir viendo cómo se implementa la solución, incluyendo en qué instancia realiza la instalación (máquina física que hay debajo, acceso por ftp) y a qué base de datos.

WordPress funciona por defecto con MySQL pero esta implementación no es nativa en Azure, se utiliza la implementación del proveedor ClearDb.  Por defecto se implementa una base de datos gratuita con plan de servicio llamado “Mercury”, bastante limitada para casi todos propósitos.  La mejor opción es las versiones de pago, empezando por la versión “Titan” (3.5$/mes)

Una vez desplegada la web se dispone de un sitio wordpress totalmente limpio, al que hay que acceder después con las siguientes herramientas:

  • FTP ó sFTP (Filezilla por ejemplo).  Ojo que hay que resetar la contraseña para acceder la primera vez.
  • MySql Workbech para conectar a la base de datos.  La cadena de conexión sí que está en la plataforma Azure.
  • Los logs y backups se deben de configurar específicamente en las herramientas.

Si además migramos de un servidor local, algunas cosas a tener en cuenta:

  • El servidor es Windows, si venimos de Linux hay que añadir fichero web.config
  • Tener cuidado con el encoding, normalmente mantener todo como UTF-8, en especial la exportación e importación de las tablas.
  • Ficheros wp_config.php que apunte a la base de datos y tabla xx-options (prefijo normalemente wp-) que indique la URL de la web en los registros siteurl y home.

Otro punto a considerar es que el envío de emails se debe de configurar con servicios externos como Sendgrid, para los que existen plugins en WordPress.

En una misma instancia de implementación y base de datos se pueden conectar varias webs para ahorrar recursos, pero la configuración para conseguirlo no es trivial.

Por último la implementación en Azure incluye herramientas de Optimización como Application Insights, incluyendo revisión de errores en cliente y servidor, métricas, etc.

 

Juan Manuel Soto

Proyectos Social Media y Big Data

Leave A Reply