BLOG

    Configuración de magento en AWS: Overview general

    Magento es una plataforma de código abierto diseñada para llevar a cabo cualquier tipo de proyecto de venta en línea. Su ventaja es que se puede construir un sitio totalmente a la medida, ya sea por esquema modular o que, por medio de programación se hagan las configuraciones deseadas conforme al objetivo de negocio.

     

    Ha sido por muchos años una de las plataformas preferidas especialmente para la construcción de grandes tiendas en línea por sus ventajas y por lo mismo el considerar una infraestructura en Amazon Web Services asegura el desempeño del sitio que espera tener miles de visitantes mensuales y que todos por supuesto tengan una experiencia inigualable. 

     

    Por lo que a continuación, presentaremos puntos muy importantes para su configuración y buen uso dentro de la nube Amazon Web Services. 

    Magento AWS

    Los componentes básicos para considerar una arquitectura de Magento, y dentro de los servicios más importantes se encuentran:

    • Ec2
    • VPC 
    • Autoscalling 
    • ELB 
    • Elastic Caché 
    • EFS 
    • RDS 
    • IAM 

     Cabe mencionar que estos servicios son para la operación pero falta considerar los de seguridad siendo esto variable conforme a la estructura del sitio web y su interacción con otros elementos como aplicaciones, firewalls y el ambiente donde se encuentren. 

    Para más información consulta el artículo de blog sobre los elementos de una arquitectura para E- Commerce.

     

    Una vez que se han definido los servicios se procede a realizar la arquitectura para tener visibilidad sobre qué puntos deben de ir en una VPC, que otros en una subnet, elementos de seguridad, monitoreo, interacción y estructurar las condiciones de la solución. 

     

    Beneficios de Magento

     

    Consideraciones para la Arquitectura 

    Existen dos formas de manejar la Base de datos con Magento en AWS, uno es a través de MYSQL que es la tradicional para esta plataforma y otra es mediante RDS, con MYSQL o Aurora. La diferencia estará en el desempeño y administración de la misma,  ya que RDS cuenta con las bondades de autoescalamiento, administración y parcheo automatizado. 

    • Lo ideal es que el Magento, que está expuesto a internet, se encuentre en una Subnet separada de la base de datos; sea cual sea su estructura y delimitar los puertos de acceso a la BD para que solo sea el 89.
    • La base de datos recomendada es un RDS MySQL, donde además se construirá una Read replica para así controlar el tráfico y hacerlo Multi AZ para que en caso de caída se pueda usar esta réplica para continuar la operación. Si se utiliza MYSQL debería de considerarse una replica de igual manera para canalizar las peticiones.

     

    • También es necesario añadir el servicio de ElastiCache, ya que esto hará que inclusive algunas consultas no se vayan directamente a la base de datos, sino a este servicio donde se colocan datos de uso frecuente.

     

    • Configurar 2 end points ayuda a controlar la agilidad de la base de datos colocando uno de lectura y otro de escritura, precisamente para ordenar el tráfico de cada uno y balancear las peticiones a la base de datos. 
    No olvidemos además, considerar en la arquitectura los Buckets de S3 para colocar ahí los archivos más pesados, guardar expedientes de clientes, imágenes y todo aquel contenido digital que se vaya a utilizar dentro de S3; ya que estableceremos una política para que pasado el tiempo, el contenido se vaya a Glacier (almacenamiento de uso infrecuente) para que el costo se reduzca. 

     

    • Y además, ahí se colocarán todos los respaldos que deberemos automatizar con AWS Backup para que se realice diario en la medida que sea posible durante exista el menor trafico posible (madrugada) con la misma política de uso frecuente- infrecuente que las imágenes.  
    • Para el tamaño de la instancia podemos utilizar una T3 pero considerando la cantidad de visitantes que se tendrán de manera mensual y que tanta interacción va a tener con otros sistemas. Puede ser mediana o  xlarge para –posteriormente y como se vea el desempeño– optimizarla.

    • La instancia tendrá 1 volumen EBS donde se encontrará el aplicativo y es posible tener la BD en la misma instancia si es MYSQL, pero con un EBS separado, considerando que esto no sigue la practica recomendada de tener la base de datos aislada, la sugerencia sería aprovisionar una instancia para el aplicativo como ya se mencionó anteriormente en una subnet y otra instancia para el MYSQL y así mitigar riesgos en cuanto a seguridad de la información se refiere.

    • Si se prefiere un RDS hay considerar siempre como una instancia adicional en la misma VPC.

    • AWS WAF es una herramienta de seguridad especializada para sitios web por lo que sería importante considerarlo dentro de la solución con políticas ya definidas para mitigar riesgos de seguridad y en conjunto un ELB para distribuir el tráfico. 

     

    AWS Magento

    Inicio Rápido

    En AWS existe una manera de hacer una configuración rápida que consiste en un Cloud Formation es decir una plantilla que ya incluye las especificaciones de arquitectura para un Magento con las siguientes características: 

     

    • Sistema operativo: Amazon Linux x86-64
    • Servidor web: NGINX
    • Base de datos: Amazon RDS for MySQL 5.6 o Amazon Aurora
    • Lenguaje de programación: PHP 7, incluidas las extensiones necesarias 

    Para ello únicamente es necesario abrir una cuenta en AWS, descargar la versión y es posible hacerlo en una VPC existente o en una nueva solo como recordatorio es importante considerar las implicaciones de seguridad de implementarlo en una existente. 

     

    Si deseas saber cómo instalar Magento en AWS con el inicio rápido, hazlo en este enlace

     

    Magento Cloud Hosting

     

    Ventajas de Magento en la nube 

     

    • Magento es ideal como comentamos en un inicio para E-commerce de grandes estructuras, al ser de Open Source y no cobrar comisión por el uso de la plataforma, adicional a esto al estar en la nube podríamos hacer: 

     

    • Escalar los recursos a demanda sin tener que preocuparse por llegar al limite de peticiones, logrando que en temporadas de alta trafico como lanzamientos, ventas especiales se cuente con recursos suficientes para transaccionar a los usuarios. 

     

    • Existen herramientas en AWS que robustecen la seguridad no solo para la infraestructura sino de anti fraude, prueba de vida con A.I para detectar posibles usuarios que intenten hacer transacciones delictuosas. 

     

    • En Amazon hay toda una gama de soluciones para experiencia de usuario que puedes consultar en este artículo de blog; como personalización de sitio, envío de correos, business analytics y machine learning impulsando la atención al cliente. 

     

    • Al estar en la nube podemos controlar mucho mejor la seguridad no solamente del sitio sino del resto de los aplicativos ya que al estar expuesto a internes es la entrada para ataques de ciberseguridad que pueden comprometer las aplicaciones y datos por lo que en AWS todas las herramientas de este tipo son de bajo coste e inclusive muchas cuentan con una capa de seguridad gratuita bastante amplia para cualquier sitio web. 

    • La probabilidad de caída en un sitio web en la nube de Amazon Web Services es muy muy baja ya que con esquemas multi AZ y de recuperación es posible garantizar su disponibilidad con hasta 10 nueves (99.999999999%)

     

    Conclusión...

     

    Un e-commerce se está convirtiendo en la herramienta principal para las empresas de todos los giros, por eso es imprescindible considerar esquemas en la nube para  que la conversión sea un triunfo para tu empresa. 
     

    ¡Permítenos acompañarte en la transformación digital de tu negocio! 

    Contáctanos.

    Nuevo llamado a la acción


    ¡Lee más artículos en nuestro blog! 

    Alondra Castro
    Escrito por Alondra Castro

    Gerente de mercadotecnia, amante de las estrategias digitales, generación de contenido y tendencias.