Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Alto rendimiento en la web
1. Nil Portugués Calderó
Senior PHP Developer @ Atrapalo.com
OpenDay La Salle Campus Barcelona | Sábado 18 de Abril 2015
1
Alto Rendimiento
en la web
2. ¿Quién soy yo?
- Ingeniero Técnico en Informática de Sistemas
- Más de 15 años haciendo desarrollo web
- Empecé con Perl, SSI y PHP3 en 1999
- Me muevo entre el Backend y sistemas.
- Proyecto más duradero que he llevado: 14 años.
- Contribuyo en proyectos open source y libero propios
- Charlas: como asistente y ponente o colaborador
9. 1. Red
A tener en cuenta...
● Routing.
● Latencia según punto de acceso (CDNs)
● Optimización de saltos entre servidores.
● Bandwidth (ancho de banda)
9
25. Lenguaje de programación
○ Documentación + Grado de madurez
○ Throughput/velocidad first byte.
○ Frameworks maduros disponibles.
○ Librerías disponibles.
4. Código Fuente: Lado servidor
25
26. Patrones de diseño
○ Cómo aplicarlos en el lenguaje de programación.
○ Conocer sus ventajas y limitaciones.
○ Estándares de estilo: PSR-2, Symfony…
○ Escribir “Clean Code” y eliminar los “Code Smells”.
26
4. Código Fuente: Lado servidor
28. 28
¿Clean code?
Ejemplos de “code smells”:
○ Hay código que nadie sabe como modificar o entiende.
○ Código que al modificarlo, rompe otras funcionalidades
(...y no lo sabes hasta que lo reporta un cliente)
○ Errores que “a veces pasan”. Desconocimiento del problema.
○ Añadir una funcionalidad simple requiere muchas horas.
29. Reusabilidad de tu código.
○ DRY: Don’t repeat yourself.
○ Bug fixing en paquetes open source (a ser posible).
29
4. Código Fuente: Lado servidor
40. Time to market
○ Cada día que pasa en subir una funcionalidad resulta más
cara, aporte o no beneficios.
○ Cada día que pasa y no se ha subido una funcionalidad
el departamento de marketing pierde competitividad.
5. Económico
40
41. Tolerancia a los fallos humanos
○ ¿Cuánto tardamos en detectar un fallo de código?
○ ¿Cuánto tardamos en resolver un fallo de código?
41
5. Económico
42.
43. Integración contínua: detectar un fallo de código
○ Detección inmediata de errores.
○ No se sube a producción si hay errores.
43
5. Económico
44. Tolerancia a lo inesperado
○ ¿Cómo reaccionamos a una avalancha de usuarios
inesperada?
○ Mejor aún, ¿sabemos predecir si se avecina una avalancha
de usuarios?
44
5. Económico
45. Métricas
○ Justificar el tiempo invertido o razones de una decisión.
○ ¿Mejora de rendimiento respecto a que indicadores?
45
5. Económico
46. Métricas día a día y contra el año anterior
46
5. Económico