Magento (e-Commerce) on AWS

Magento (e-Commerce) on AWS

Magento es uno de los CMS más utilizados, junto a Prestashop, para montar un negocio e-Commerce. Existen otras posibilidades como WooCommerce (Plugin para Wordpres). Aunque sin duda alguna, Magento y Prestashop ya están pensados más profesionalmente.

Montar un entorno de Magento en AWS no es sencillo, ya que tiene muchas dependencias y tenemos que conocer bien cuales son nuestras principales necesidades y cuellos de botella, si es que ya los tenemos.

Magento on AWS

En la anterior imagen se presenta una arquitectura muy básica ya que realmente se pueden hacer cosas mucho más interesantes, por ejemplo la gente de MagenX nos dan una completa optimización (a coste) de un entorno de Magento pero, para empezar, podemos mirar de utilizar la infraestructura propuesta en la imagen.

Alta Disponibilidad

Uno de nuestros principales focos debería ser y será la Alta Disponibilidad, no olvidemos que el principal reto de un e-Commerce es vender, ¡siempre!. Aunque estemos despiertos o no. Para ello presentaremos una infraestructura en dos, repartida en dos subnet dentro de una misma VPC. Podemos crear un mismo ASG (Autoscaling group) pero las istancias EC2, en este caso, se crearan repartidas en cada subnet.

La base de datos tendrá dos modos: write y read. Por ejemplo podemos llevar a la base de datos de read aquellos procesos que solo consultan y a la write aquellos que, como dice su nombre, escriben pero también pueden leer previamente.

Redis cache & sesions

Redis es una de las mejores soluciones que se han creado para poder guardar la cache, al más puro estilo de Memcached pero más optimizado, a la vez, podemos relacionarlo con estados, si tenemos un completo funnel de compra, por ejemplo, podemos determinar, a partir de un ID, los estados de compra de aquellos clientes que tengamos navegando en realtime y guardarlos durante un tiempo para poder recuperar el “carrito de la compra” en cualquier momento. Mandar un push de retargeting, etc… Redis nos permitiará esto y mucho más.


Sin duda podemos utilizar muchas otras soluciones, por ejemplo ya sea un filesystem EFS o S3 para salvaguardar las imágenes estáticas. Cloudfront para los certificados SSL, etc… pero para empezar podemos testear nuestra infrestructura de una forma mínima es irla puliendo conforme veamos claras nuestras necesidades, nunca esperando a que la infraestructura ya esté obsoleta, eso si.

Autor: Joakim Vivas

comments powered by Disqus