Usando Amazon S3 y CloudFront con WordPress

Llevamos tiempo pensado en como optimizar la carga de nuestros servidores dedicados de forma extrema, entre las tareas que nos hemos puesto destacan las siguientes:

  • Cambio de diseño de prácticamente todos los proyectos. Una tarea a medias que mi hermano Jaime está llevando a cabo poco a poco.
  • Virtualización de servidores dedicados en instancias más pequeñas para mayor escalabilidad y estabilidad. Aun pendiente.
  • Eliminación de Plesk en la mayoría de las instancias virtuales para usar configuraciones manuales más optimas. Aun pendiente.
  • Cambiar Apache por Nginx para mejorar la eficiencia del servidor web. Aun pendiente. Ya lo ha hecho menéame y fserer.
  • Uso de un CDN para contenidos estáticos como imágenes, javascript, … para lo cual hemos optado por la combinación de Amazon S3 y CloudFront. En pruebas en Decoración 2 .0.
  • Utilizar memcached para optimizar el uso de las bases de datos MySQL, a ver si es posible que vaya más rápido.
  • Seguro que se me olvidan muchas cosas …

Amazon Simple Storage Service o S3 es un gran servicio de almacenamiento distribuido que virtualmente ofrece capacidad de almacenamiento ilimitada. Son muchas las empresas que lo están utilizando para reducir costes de infraestructuras y almacenar con un nivel de seguridad muy aceptable. Pero como S3 no parecía suficiente la gente de Amazon lanzó CloudFront un servicio CDN (Content Delivery Network) cuya finalidad es facilitar el acceso a los datos alojados en S3 de manera distribuida como hacen por ejemplo Akamai, CacheFly, Velocix (que probamos hace unas semanas), CoralCDN (ha desaparecido), …

Lo bueno de CloudFront, es fácil de implementar y distribuirá tus contenidos de forma automática desde alguna de sus múltiples localizaciones:

  • Estados Unidos:  Ashburn, VA; Dallas/Fort Worth, TX; Los Angeles, CA; Miami, FL; Newark, NJ; Palo Alto, CA; Seattle, WA y  St. Louis, MO.
  • Europa: Amsterdam, Dublin, Frankfurt y Londrés.
  • Asia: Hong Kong y Tokyo.

Después de varios meses probando opciones de CDN para mejorar la carga y rendimiento de WordPress he optado por probar la solución de Amazon y realmente de momento me está impresionando. Para poder utilizarlo en WordPress de forma sencilla hacemos uso del Plugin W3 Total Cache que facilita toda la operativa de puesta en marcha y copia de contenidos de forma automática al Bucket S3. Posiblemente tengas problemas para crear el Bucket en S3 para esa tarea puedes recurrir a un cliente S3 que te facilitará esta tarea, yo al hacerlo desde la oficina he utilizado CloudBerry Explorer, pero hay multitud de opciones gratis. Además no tendrás que mostrar que CDN utilizas ya que puedes reescribir la URL, en nuestro caso utilizamos cdn.decoracion2.com.

No voy a ponerme a explicar mucho más el proceso de activación porque es realmente intuitivo y siempre podéis recurrir a la documentación oficial de Amazon o las referencias que os dejamos a continuación.

Más referencias de como usar Amazon S3 y CloudFront: W3 Total Cache, Paul Stamatiou, más plugins con soporte CloudFront, Kovshenin, …