Registered users
Linkedin Twitter Facebook Google+
Close

Con el fin de mejorar la experiencia del usuario y de habilitar ciertas funciones, este website utiliza cookies propias y de terceros, como las de Google Analytics y otras aplicaciones de seguimiento de actividad similares.
33HOPS, IT Consultants
33HOPS ::: Proveedores de Soluciones Informáticas :: Madrid :+34 91 663 6085Avda. Castilla la Mancha, 95 - local posterior - 28700 S.S. de los Reyes - MADRID33HOPS, Sistemas de Informacion y Redes, S.L.Info

<< Return to blog list

Dimensionando un sistema © Magento

Magento es sin duda el sistema/ framework más completo que existe para el desarrollo de una tienda online, si a ello le añadimos la característica de disponer de una versión gratuita CE (Comunity Edition) se convierte de inmediato en la solución escogida por miles de empresas dedicadas al comercio electrónico en todo el mundo.

Magento es un sistema famoso, está bien concebido y es bonito, esto es un buen punto de partida, pero puede llegar a tener serios inconvenientes en algunos casos, vamos a analizarlos. Lo primero que me preguntaría como empresario es: "¿como es posible que una empresa que fabrica una edicion empresarial de su software con un precio muy elevado proporcione una versión gratuita como Magento CE con las mismas características principales?". Después de unos años trabajando con Magento me di cuenta de que al menos la versión Magento CE suele contener bugs que naturalmente (como buen gallego) he de suponer "calculados" y que naturalmente están puestos en lugares estratégicos de la aplicación, obviamente accediendo al soporte de pago tenemos acceso a consultoría y soluciones. Dicho así parece que Magento CE no interesa ya que tarde o temprano se convertirá en una trampa que nos "sacará todo el dinero", en realidad aunque el modelo de negocio Freemium sea una contradicción en si mismo existen áreas de decisión en las que Magento puede ser nuestra mejor opción, vamos a ver cuales.

Lo primero que tenemos que tener claro de Magento es que es un sistema diseñado para ser modular y flexible basado en el paradigma MVC Modelo, Vista, Controlador http://es.wikipedia.org/wiki/Modelo-vista-controlador , a los creadores de Magento les interesaba que este fuera un sistema que cualquier empresa de comercio electrónico pudiera usar, independientemente de sus necesidades concretas, por lo tanto el grado de abstracción y el número de capas lógicas que componen el sistema es elevado. En realidad Magento a su vez se basa en el conocido sistema Zend Framework 2.0 que naturalmente está basado en el mismo modelo MVC. Hasta aqui todo bien, ¿cual es el problema?. Bueno, como decía aquella canción de Los Secretos (versionada también por Luz Casal) "Siempre hay un Precio", y el precio de la modularidad, la versatilidad y la abstracción es la eficiencia. Esto quiere decir que si en un programa PHP nativo con llamada a BBDD MySQL donde seleccionamos unos productos de una tabla para mostrarlos en un listado necesitamos unos recursos X de CPU y memoria, con Magento estos recursos es muy probable que puedan suponer 100X, y no estoy exagerando. En un sistema MVC, un parámetro pasado a un URL puede pasar por varias decenas de funciones intermedias, con busquedas en BBDD incluidas antes de que el servidor web nos devuelva los datos solicitados. Si el precio de los servidores fuera diez veces menor y estos fueran 10 veces más potentes esto no sería un problema, el precio de la modularidad sería barato y yo no estaría escribiendo este artículo. Para ofrecer una referencia absoluta, un sistema Magento montado en un servidor dedicado con 8 núcleos y 32 gb. de RAM, con el servidor de BBDD en la misma máquina no puede aspirar a soportar 30-40 visitas simultáneas sin reducir su rendimiento drásticamente. Para solucionar esto la mayoría de sistemas Magento en producción se montan con un sistema de proxy caché inverso como © Varnish. En 33HOPS realizamos habitualmente integracionintegraciones de Magento y Varnish con grandes resultados, normalmente es fácil multiplicar por un factor de 30 ó 40 la capacidad de un sistema Magento típico.

1 - Magento es muy poco eficiente.

Tomamos nota de lo anterior y continuamos con nuestra mayéutica: ¿en que casos me interesará Magento como base de mi sistema de venta online?. Antes de responder a esta pregunta tenemos que comprender un concepto básico del e-commerce que es el coste estructural. No es lo mismo vender calcetines a tres euros que bisutería fina a cien, ¿porque?... Para vender un par de calcetines en nuestra tienda tendremos normalmente que recibir a 100 usuarios (una tasa de conversión del 1% es algo habitual) que visitarán una media de 3 ó 4 páginas, esto hace que nuestro servidor tenga que servir 400 páginas para vender un par de calcetines que dejarán un margen de 1 euro (suponiendo un margen del 33%). Supongamos por el contrario que vendemos bisutería de diseño a una media de 100 eur. el artículo, suponiendo que nuestra tasa de conversión sea igualmente del 1% tendremos un margen de 33 euros por cada 400 páginas vistas. Todos sabemos que vender un par de calcetines es más fácil que vender un collar de perlas de Manacor, esto se traduce en que naturalmente la tienda online de bisutería tendrá menos visitas dado que se venden muchos más calcetines que collares de perlas de Manacor cada día en España (y en el resto del mundo). Cada día nuestra tienda de venta de calcetines necesitará servir 400.000 páginas para obtener 1000 euros de margen, mientras que la tienda de bisutería obtendrá ese mismo margen con 12.000 páginas servidas. Conclusión: Magento interesa para vender collares de perlas a 100 euros pero no interesa para vender calcetines a 3 euros ya que para vender 1000 euros en calcetines necesitaremos una infraestructura y soporte con varios servidores de doble procesador y al menos 16 núcleos mientras que en el caso de la bisutería nos bastará con un servidor dedicado con 8 núcleos. En el primer caso el coste de la infraestructura se come el beneficio, en el segundo no. Tomamos nota de nuestra segunda premisa y continuamos nuestro análisis.

2 - Magento interesa en entornos con precio medio de venta elevado.

Lo siguiente que tenemos que valorar es que funcionalidades vamos a necesitar para nuestra tienda online. Magento viene con un buen número de opciones y características incluidas en el corazón del programa como: comparador de productos, productos destacados, novedades, etc... Existe tambien la posibilidad de adquirir extensiones y plantillas prediseñadas Magento a precios muy razonables o encargar extensiones a la medida a alguna empresa de programación. Este es un análisis fundamental y mucho más importante de lo que pueda parecer a priori. Si la eficiencia de Magento es baja, normalmente la de las extensiones creadas por terceras partes para Magento es todavía más baja, esto es así por varios motivos:

- Al ser lento el núcleo del sistema las extensiones dependen de las llamadas al mismo para funcionar.
- Desgraciadamente encontrar buenos programadores senior es complicado y las empresas que fabrican las extensiones intentan maximizar sus beneficios. No hay más que leer código de algunas extensiones Magento disponibles en el mercado para darse cuenta de que las soluciones programáticas son de bajo perfil y por lo tanto no soportan ni siquiera en muchos casos situaciones de producción típicas con unos cientos de conexiones simultáneas, ni hablamos ya de picos de tráfico o entornos de producción grandes con miles de vistas simultáneas.

Otra opción es programar nuestras propias extensiones o encargarlas a empresas especializadas. Una empresa de programación con buenos profesionales que ofrezca unas mínimas garantías nos va a cobrar a partir de 52 euros/hora, esto implica que una extensión de complejidad media que suponga unas 60 horas de trabajo se irá por encima de los 3000 euros. Es un precio asumible para una extensión clave que vaya a producir ese retorno en una empresa de e-commerce que venda suficiente, pero en el caso de empresas más pequeñas el retorno de la inversión es dudoso para desarrollos a la medida.

3 - Las extensiones Magento son poco fiables por lo general, encargarlas a la medida es muy caro.

Vamos a recapitular sobre la base de las tres conclusiones que hemos sacado hasta ahora en nuestro analisis y vamos a ser positivos, Magento tambien tiene cosas buenas y hay que ponerlas de relieve:

"Magento interesará a empresas de e-commerce que tengan un precio medio de venta más bien alto y que puedan hacer funcionar su negocio con las funcionalidades básicas de Magento, en el caso de instalar extensiones deberemos de ser muy selectivos, recurriendo a fabricantes de prestigio y examinando el código de las extensiones a ser posible antes de ponerlas en producción. La programación de extensiones a la medida solo será viable económicamente hablando para empresas de comercio electrónico con un cierto nivel de facturación."

Daniel J. García Fidalgo
33HOPS



Mapa del Website
La Empresa
Sobre 33HOPS
Opiniones
Recursos y ayuda
Foro 33HOPS

Fill in to download
The download link will be sent to your e-mail.
Name
Lastname
E-mail


            Read our Privacy Policy