SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
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
¿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
¡EMPEZAMOS!
Alto rendimiento
4
¿respecto a qué o quién?
1. Red
2. Hardware
3. Infraestructura
4. Código Fuente
5. Económico
5
Alto rendimiento según:
6
Actores
ProgramadorUsuarios SysAdmin
Empresa /
Empresario
7
La RedPor dónde circulan la información
Programador
1. Red
Beneficiarios del alto rendimiento:
8
Usuarios SysAdmin
Empresa /
Empresario
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
10
El HardwareDonde viven la información
2. Hardware
Beneficiarios del alto rendimiento:
11
ProgramadorUsuarios SysAdmin
Empresa /
Empresario
2. Hardware
A tener en cuenta
Hardware
○ RAM
○ Procesador
○ HDD SDD
Throughput de la tarjeta de red.
Sistemas operativo y su configuración.
12
13
La InfraestructuraCómo gestionamos la información
Programador
3. Infraestructura
Beneficiarios del alto rendimiento:
14
Usuarios SysAdmin
Empresa /
Empresario
3. Infraestructura
Protocolo web
○ HTTP 1.1
○ Spdy / HTTP 2.0
15
3. Infraestructura
Servidor web
○ Apache 2
○ Nginx
○ ReactPHP
16
3. Infraestructura
Versión del lenguaje de programación
○ PHP 5.3
○ PHP 5.4
○ PHP 5.5
○ PHP 5.6
17
○ PHP 7.0
○ Hack (fork de Facebook)
3. Infraestructura
Bases de datos
○ SQLite
○ MySQL
○ Postgresql
○ Sphinx
18
○ MongoDB
○ CouchDB
○ Riak
○ Hadoop
3. Infraestructura
Motores de búsqueda
○ Sphinx
○ Elasticsearch / Solr
19
3. Infraestructura
Sistemas de cache
○ Redis
○ Memcached
20
3. Infraestructura
Procesado de datos en background
○ Sistema de colas
○ Back-ups
21
22
Código FuenteModelado de la información
Programador
4. Código Fuente: Lado servidor
Beneficiarios del alto rendimiento:
23
Usuarios SysAdmin
Empresa /
Empresario
24
4. Código Fuente: Lado servidor
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
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
27
¿Clean code?
Robert Cecil Martin (Uncle Bob)
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.
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
30
DRY: Don’t repeat yourself
Mantenibilidad de tu código
○ TDD / Unit testing a nivel de clase.
○ BDD / Unit testing a nivel de integración.
31
4. Código Fuente: Lado servidor
4. Código Fuente: Lado cliente
32
Programador
4. Código Fuente: Lado cliente
Beneficiarios del alto rendimiento:
33
Usuarios SysAdmin
Empresa /
Empresario
Multimedia
○ PNG, JPG ,GIF, WEBP, MP4, SVG
○ Optimización de imágenes
○ Domain Sharding
34
4. Código Fuente: Lado cliente
CSS
○ Critical Rendering Path Performance
○ Responsive Web
○ Frameworks CSS
35
4. Código Fuente: Lado cliente
Javascript
○ Sync, Async, Deferred
○ Librerias Javascript
36
4. Código Fuente: Lado cliente
HTML
○ W3C Compliant
○ Semantic HTML
○ Schema.org
○ SEO
37
4. Código Fuente: Lado cliente
38
EconómicoCuán rentable es nuestra información
Programador
5. Económico
Beneficiarios del alto rendimiento:
39
Usuarios SysAdmin
Empresa /
Empresario
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
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
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
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
Métricas
○ Justificar el tiempo invertido o razones de una decisión.
○ ¿Mejora de rendimiento respecto a que indicadores?
45
5. Económico
Métricas día a día y contra el año anterior
46
5. Económico
47
Nil Portugués Calderó
contact@nilportugues.com
@niluspc
48
Gracias

Contenu connexe

Similaire à Alto rendimiento en la web

Refactorizando Pccomponentes.com con Symfony
Refactorizando Pccomponentes.com con SymfonyRefactorizando Pccomponentes.com con Symfony
Refactorizando Pccomponentes.com con SymfonyMario Marín
 
Presentación de TYPO3 por ICTI Internet Passion
Presentación de TYPO3 por ICTI Internet PassionPresentación de TYPO3 por ICTI Internet Passion
Presentación de TYPO3 por ICTI Internet PassionICTI Internet Passion
 
Tienda Virtual.- Gygacom
Tienda Virtual.- GygacomTienda Virtual.- Gygacom
Tienda Virtual.- GygacomHikaiwaba
 
¿Se puede vivir del open source? T3chfest
¿Se puede vivir del open source? T3chfest¿Se puede vivir del open source? T3chfest
¿Se puede vivir del open source? T3chfestjavier ramirez
 
APCSIS - Escuela de Código.pptx
APCSIS - Escuela de Código.pptxAPCSIS - Escuela de Código.pptx
APCSIS - Escuela de Código.pptxSuri Sorby RS
 
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...Denodo
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
Drupal vs Wordpress
Drupal vs WordpressDrupal vs Wordpress
Drupal vs WordpressLa Drupalera
 
TIC en el Entorno Laboral
TIC en el Entorno LaboralTIC en el Entorno Laboral
TIC en el Entorno LaboralAngel Samaniego
 
Saregune Técnica
Saregune TécnicaSaregune Técnica
Saregune TécnicaSaregune
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020Ieva Navickaite
 
como realmente_trabaja_internet
 como realmente_trabaja_internet como realmente_trabaja_internet
como realmente_trabaja_internetJhoni Guerrero
 
18º Betabeers Granada: Cómo hacer un BOT para Facebook y Battever
18º Betabeers Granada:  Cómo hacer un BOT para Facebook y Battever18º Betabeers Granada:  Cómo hacer un BOT para Facebook y Battever
18º Betabeers Granada: Cómo hacer un BOT para Facebook y BatteverJM Robles
 

Similaire à Alto rendimiento en la web (20)

Refactorizando Pccomponentes.com con Symfony
Refactorizando Pccomponentes.com con SymfonyRefactorizando Pccomponentes.com con Symfony
Refactorizando Pccomponentes.com con Symfony
 
Presentación de TYPO3 por ICTI Internet Passion
Presentación de TYPO3 por ICTI Internet PassionPresentación de TYPO3 por ICTI Internet Passion
Presentación de TYPO3 por ICTI Internet Passion
 
Tienda Virtual.- Gygacom
Tienda Virtual.- GygacomTienda Virtual.- Gygacom
Tienda Virtual.- Gygacom
 
¿Se puede vivir del open source? T3chfest
¿Se puede vivir del open source? T3chfest¿Se puede vivir del open source? T3chfest
¿Se puede vivir del open source? T3chfest
 
APCSIS - Escuela de Código.pptx
APCSIS - Escuela de Código.pptxAPCSIS - Escuela de Código.pptx
APCSIS - Escuela de Código.pptx
 
Modelo entidad realción
Modelo entidad realciónModelo entidad realción
Modelo entidad realción
 
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
 
Presentacion pb y dl rev b
Presentacion pb y dl rev bPresentacion pb y dl rev b
Presentacion pb y dl rev b
 
Alternativas de hosting para WordPress
Alternativas de hosting para WordPressAlternativas de hosting para WordPress
Alternativas de hosting para WordPress
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Presentación 1 AESS.pptx
Presentación 1 AESS.pptxPresentación 1 AESS.pptx
Presentación 1 AESS.pptx
 
Drupal vs Wordpress
Drupal vs WordpressDrupal vs Wordpress
Drupal vs Wordpress
 
TIC en el Entorno Laboral
TIC en el Entorno LaboralTIC en el Entorno Laboral
TIC en el Entorno Laboral
 
Saregune Técnica
Saregune TécnicaSaregune Técnica
Saregune Técnica
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
 
Iswmovil
IswmovilIswmovil
Iswmovil
 
Creación de proyectos web con Drupal
Creación de proyectos web con DrupalCreación de proyectos web con Drupal
Creación de proyectos web con Drupal
 
Pract campo
Pract campoPract campo
Pract campo
 
como realmente_trabaja_internet
 como realmente_trabaja_internet como realmente_trabaja_internet
como realmente_trabaja_internet
 
18º Betabeers Granada: Cómo hacer un BOT para Facebook y Battever
18º Betabeers Granada:  Cómo hacer un BOT para Facebook y Battever18º Betabeers Granada:  Cómo hacer un BOT para Facebook y Battever
18º Betabeers Granada: Cómo hacer un BOT para Facebook y Battever
 

Dernier

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Dernier (20)

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Alto rendimiento en la web