Partimos de un reto: cómo cambiar una web con millones de visitas, con un entorno en constante cambio, con una deuda técnica crítica y un equipo aumentando en número, en procesos para la generación de software de manera automatizada, documentada, probada y coordinada para la consecución de nuestras metas.
En esta charla se presenta el caso práctico de la implantación de Symfony como pieza fundamental del puzzle y la integración continua como camino a seguir. Pruebas, integración, bundles, bases de datos, rendimiento... Aspectos claves para la consecución de nuestros objetivos.
Historia y evolución de PcComponentes como tienda online líder de tecnología
1.
2.
3. Un poco de historia
•De tienda física a tienda online
•Posicionamiento + desarrollo rápido
•Departamentos
•Dept. Informática
•Almacén y entrega rápida
4. Nos buscan y nos encuentran
Sesiones anuales desde 2011 a 2015
Fuente: Google Analytics-PcComponentes
Pedidos anuales desde 2011 a 2015
Fuente: PcComponentes
La evolución de sesiones y pedidos en los últimos cinco años ha seguido una marcada tendencia creciente, siendo más acentuada en el caso
de los pedidos finalizados por clientes.
5. Nuestra competencia
Nuestra diferenciación reside en la especialización dentro del
sector de la tecnología e informática.
Somos líderes en precio, servicio y calidad dentro del sector.
Somos la tienda online especializada en tecnología más visitada
de España por encima de empresas como Media Markt, Fnac,
Redcoon y Worten.
6. Nuestro Black Friday 2015
PcComponentes fue la tienda online con más
visibilidad de España, por encima de la competencia y
tan sólo por debajo del agregador Cupones Mágicos y
los resultados de noticias, manteniendo una visibilidad
del 5.28%.
Posicionamiento sin precedentes como tienda
online líder de tecnología : PcComponentes junto a
Amazon.
9. Deuda técnica
Ward Cunningham• Negocio necesita nueva
funcionalidad
• Productos no acabados o con
errores conocidos en producción
• Velocidad a corto plazo, suma
complejidad
• Frustración, miedo a desplegar,
horas extras…
• Limite cuando el gasto es mayor que
el ingreso
10.
11. Vamos a cambiar (refactorización)
•Intentos CORE SLIM
•Arquitectura nueva (API RESTFULL)
• Lenguaje común
• Cache
•Códigos de error y excepciones (1xx, 2xx, 3xx, 4xx 5xx)
• Estándares de código (PSR1-PSR2-PSR4)
•IDE
•Aplicación de un framework
17. ¿Donde pongo toda mi lógica?
MANAGER
CONTROLADOR
VISTAMODELO
MANAGER
18. Nelmio
• Obtiene datos por
introspección
• Posibilidad de hablar de
swagger
• Hay que acordarse de
desactivarlo en
producción!!
• Junto con doxygen
23. Refactorizar Base de Datos
•Base de datos compleja
3500 tablas aprox
•Bases de datos
cambiantes
•Consultas muy pesadas
•Refactorizar
comportamiento y
semántica