Las tiendas online en particular y el ecommerce en general son un mundo tan amplio que cada experto en el tema tiene sus maneras de actuar y, por extensión, también posee cierta preferencia sobre el software en el que se apoya para desarrollar sus propias soluciones. ¿Habéis optado por utilizar Spree Commerce? En 3llideas siempre hemos apostado por él, habiéndolo adaptado a nuestros requerimientos consiguiendo que evolucione a la par que nuestra tienda online. Aunque claro, también necesita optimización para adaptarse a dicha evolución, sobre todo si el esfuerzo se transforma en un ecommerce que crece en visitas y ventas. ¿Cómo mantener el máximo rendimiento de una tienda online Spree Commerce?
El rendimiento de una tienda online influirá en el posicionamiento, en la experiencia del usuario y, como resultado final, también en las ventas y conversiones. Por ello es un factor clave al que, a medida que nuestro comercio vaya creciendo, deberemos enfrentarnos para que el rendimiento de la tienda online Spree Commerce siga siendo bueno a pesar del incremento del tráfico. ¿Cómo conseguirlo? Aquí van unos cuantos consejos.
- Activar el caché de aplicación. Spree Commerce ya viene de serie con algunas vistas cacheadas, pero se puede optimizar mucho utilizando el «fragment caching» que trae Ruby on Rails. Podéis saber más sobre esto en esta guía de Ruby on rails.
- Optimizar la velocidad de las páginas y de la aplicación. Para ello, lo recomendable es usar Google PageSpeed Insights y seguir las recomendaciones que os marque (también podéis usar otras herramientas similares). Se pueden obtener muchas mejoras, como optimización de imágenes, reglas de caché de navegador y parámetros de servidor.
- Es conveniente mover las imágenes fuera de servidor utilizando servicios de CDN como Amazon S3 o Cloudfront. Así evitaremos que nuestro servidor tenga que servir las imágenes; agilizando las peticiones del navegador al ingresar en nuestra tienda onlne gracias a que se le servirán desde servidores diferentes. Existen determinadas gemas en Spree Commerce que nos ayudarán: paperclip, fog…
- Optimizar la aplicación para que tenga que procesar menos información al servir las páginas. Spree Commerce viene muy optimizado de serie, pero siempre podemos mejorar el rendimiento rediseñando la aplicación para que tenga que hacer menos búsquedas complejas.
- Optimizar el servidor de base de datos y los queries. Aquí dependerá de la base de datos que utilicemos, pero siempre se puede mejorar en este punto ya que la base de datos puede ser un cuello de botella.
- Podéis utilizar un software de servidor web más potente. Aquí nuestra experiencia ha sido muy buena con Nginx + Phusion Passenger. Existe una versión gratuita muy potente, pero siempre tendremos la opción de incorporar Enterprise Passenger que, aunque tiene un coste, nos aportará multithreading a la tienda online además de otras mejoras interesantes. Tenéis más información sobre Phusion Passenger aquí y sobre Nginx en este otro enlace.
- Escalar verticalmente. Aumentad los recursos del servidor añadiendo más memoria, procesador o discos más rápidos en formato SSD: esto es posible en determinadas soluciones de hosting sin tener que reinstalar todo. En el caso de que no sea posible, buscar un hosting más potente y con mejores recursos también puede dar un vuelco al problema.
- Escalar también horizontalmente. Una solución para esto sería montar un cluster de servidores con un balanceador y varios servidores webs para así servir más tráfico. Éste es el camino definitivo para escalar, pudiéndose conseguir crecimientos prácticamente ilimitados si vamos añadiendo recursos. Por ejemplo, si disponéis de acceso a Amazon Web Services (AWS), podréis crear infraestructuras autoescalables.
Como apunte extra, y teniendo en cuenta que Spree Commerce está basado en el lenguaje de programación Ruby on Rails, todos los apuntes anteriores también os servirán para optimizar cualquier aplicación desarrollada en dicho Ruby on Rails.
En 3llideas tenemos mucha experiencia escalando y optimizando aplicaciones Ruby on Rails además de tiendas online con Spree Commerce. También disponemos de soluciones de hosting propias para proyectos de estos tipos, pudiendo hacernos cargo de cualquier proyecto de ecommerce o desarrollo web. ¿Estáis interesados en contactar con nosotros para que valoremos vuestro proyecto? Acceded a la página de contacto haciendo click aquí.
Una consulta , deseo aprender a usar spree para desarrollador , brindan ese tipo de servicio?