SlideShare una empresa de Scribd logo
1 de 31
Arquitecturas Escalables para
Aplicaciones en el Web




         Egdares   Futch H.
          Junio      2009
   Pensemos en un supermercado, con
    múltiples filas y múltiples cajeros.

                               Frustraciones
                               Filas “lentas”
                               Throughput impredecible

                               ¿Y la “Caja Rápida”?
   Ahora pensemos en un banco, donde hay
    una sola fila y varios cajeros

                            Mayor satisfacción
                            Una transacción “lenta” no
                            detiene otras
                            Mayor throughput

                            ¿Cuál es la diferencia?

                            ARQUITECTURA
Un gran banco local tiene:

200 sucursales
5 cajeros en cada sucursal
80 ATMs
0.3 transacción/min por cajero/ATM

De 9AM a 7PM procesa:
324 transacciones por minuto
5.4 transacciones/segundo

¿De 7PM a 9AM ?
Una universidad pública local tiene:

8 campus
5,000 estudiantes en cada campus
5 cursos trimestrales / estudiante
2,000 cursos en oferta académica
50 estudiantes por curso

Durante el período de registro
trimestral, que dura 7 días, se procesan:

50 estudiantes/segundo
2.5 segundos de tiempo de
procesamiento/estudiante
Cola de 12 transacciones => Espera de 30
segundos
Para ir a:
•Mi banco
•Mi universidad
•Mi periódico
•Sitios de un país vecino

¡Tengo que pasar por Miami!

Pocos acuerdo de “peering” entre ISP locales
¿Conectividad local más cara que la internacional?
   Caso TuBabel
     2,993 visitas/día equivale a 1 visita cada 28
      segundos
     8,987 consultas/día


   Caso Flickr
     40,000 fotos/segundo!
     130,000 consultas/segundo!
   No hablaremos de especificaciones
    técnicas, como memoria, procesador, etc.

   Nos referimos al conjunto de elementos de
    red, computadoras, aplicaciones y sistemas
    operativos que soportan una aplicación Web.
¡A veces, tendemos a no
                  separar en capas
                  nuestras aplicaciones!    Almacenamiento



Usuarios vienen                             Cache
de la “nube”

                   Servidor de    Base de    AJAX
                   aplicaciones   datos
   La existencia de picos de trabajo (peak
    workloads) hace que determinar un diseño
    óptimo de arquitectura para aplicaciones
    Web sea difícil.
     Día de pago
     Semana de matrícula
     Después de que ganó la Selección Nacional
     Cuando pasa el temblor (8)
 Un servidor web, con scripting del lado del
  servidor, conectado a Internet por un canal E1.
 Mediciones muestran lo siguiente:
     5 mseg para procesar el HTTP request (240 bytes)
     40 mseg para correr el script
     5 mseg para responder (5,120 bytes)
   Demanda de servicio CPU = 5 + 40 +5 = 0.050 seg
   Demanda del canal inbound = 240*8 / 2,097,152 = 0.00091
    seg
   Demanda del canal de salida = 5,120*8 / 2,097,152 = 0.019
    seg
   Atendemos un máximo de 20 transacciones/seg
   En un servidor de $10,000, nos cuesta $8.33 cada transacción
   ¿Qué tal si ahora le hacemos un lindo menú
    en Flash, o agregamos botones animados en
    DHTML, o usamos AJAX para una mejor
    interacción?

   Blipea.com necesita 272.5K la primera vez
    (cache miss) ó 150K al refrescar (cache hit)
   Demanda de servicio CPU = 5 + 40 +5 = 0.050 seg
   Demanda del canal inbound = 240*8 / 2,097,152
    = 0.00091 seg
   Demanda del canal de salida = 150,000*8 /
    2,097,152 = 0.57 seg
   Es decir que, ahora podemos atender
    únicamente dos transacciones por segundo (al
    refrescar)
   El CPU está muerto de risa
   El canal está muerto de capacidad
   Twitter = 200 tweets / segundo

   NASDAQ = 35,000 mensajes /segundo

   Google = 46,000 API calls / segundo
OK, lo entiendo. ¿Ahora qué?
Escalabilidad
   Si
     Soportar incremento en tráfico
     Soportar incremento en la data
     Henderson dice: “que además sea fácil de
     mantener”

   No
     Velocidad pura
     Una tecnología particular
   Escalabilidad vertical
     Crecimiento de cajas
     Un servidor pequeño, luego un servidor quad
      core, luego un servidor multicore, luego ….
     Fácil! Pero limitada en cierta medida

   Escalabilidad Horizontal
     Más cajas
     Balanceo de cargas
     Difícil! Pero crecimiento ilimitado
   Recordemos nuestra arquitectura inicial


                                       Almacenamiento



                                       Cache


              Servidor de    Base de    AJAX
              aplicaciones   datos
   Manejo de sesiones
     Stateless, similar a NFS, cookies “pesadas”


   Balanceo de cargas
     Simple: DNS round-robin
     Hardware: Múltiples *.* de red
     Software: Perlbal, Pound
     Más allá: Balanceo Geográfico de Cargas (Global)
   Bases de datos
     En general, el tema de mejora de base de datos en una
      aplicación Web escala verticalmente
     Sin embargo, las aplicaciones Web tienen una proporción
      80-90% de lecturas vs. escrituras
     En ese caso, podemos usar replicación y distribución de
      datos
     Y un tabú: denormalización
   Caching
     Mantener copias de objetos frecuentemente
      usados hace la escalabilidad menos necesaria o
      por lo menos más barata
     Redes de Distribución de contenido


   Alta disponibilidad
     Identificar Puntos Únicos de Falla
     Eliminarlos
   Una aplicación Web es más que
    presentación, usabilidad , genialidad, o
    aplicabilidad.

   Se suma la arquitectura con la que haya sido
    diseñada.

   Actualmente es un arte, aprendido de los
    sitios más exitosos del Internet.
   Tratar de diseñar para escalar linealmente
    añadiendo hardware
   Balancear cargas entre grupos de
    componentes
   Diseñar pensando en redundancia y
    tolerancia a fallas

   Algo importante: métricas y estadísticas
    proveen visión de qué sucede en nuestra
    aplicación
Scaling for E-Business
Menasce y Almeida




              Building Scalable Web Sites
              Henderson




                               High Performance Web Sites
                               Souders
efutch@gmail.com
www.blipea.com/perfil/efutch
www.twitter.com/efutch
http://efutch.blogspot.com
http://maestros.unitec.edu/~efutch

Más contenido relacionado

La actualidad más candente

Industria 4.0 Cloud computing
Industria 4.0 Cloud computingIndustria 4.0 Cloud computing
Industria 4.0 Cloud computingAula Cloud
 
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)Leandro Guerra
 
Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020Maximiliano Firtman
 
eShow Barcelona - WordPress Hiperescala
eShow Barcelona - WordPress HiperescalaeShow Barcelona - WordPress Hiperescala
eShow Barcelona - WordPress HiperescalaEfraim Martinez
 
Buenas prácticas para la optimización web
Buenas prácticas para la optimización webBuenas prácticas para la optimización web
Buenas prácticas para la optimización webbetabeers
 
Computacion en nube
Computacion en nubeComputacion en nube
Computacion en nubeLuis Lopez
 
Servidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. PresentaciónServidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. Presentaciónpacvslideshare
 
Presentacion descubre como puedes migrar de servidor sin complicaciones
Presentacion descubre como puedes migrar de servidor sin complicacionesPresentacion descubre como puedes migrar de servidor sin complicaciones
Presentacion descubre como puedes migrar de servidor sin complicacionesservidoresdedic
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computingykro
 
Desarrollo en la nube
Desarrollo en la nubeDesarrollo en la nube
Desarrollo en la nubePideCurso
 
BI real time analytics
BI real time analyticsBI real time analytics
BI real time analyticsSolidQ
 
la nube de Internet
la nube de Internet la nube de Internet
la nube de Internet gabyy06
 
Nexica sonia palau---cloud-computing_para_entornos_empresariales2
Nexica sonia palau---cloud-computing_para_entornos_empresariales2Nexica sonia palau---cloud-computing_para_entornos_empresariales2
Nexica sonia palau---cloud-computing_para_entornos_empresariales2Nexica
 
La primer semana con la nube de AWS (parte1)
La primer semana con la nube de AWS (parte1)La primer semana con la nube de AWS (parte1)
La primer semana con la nube de AWS (parte1)GeneXus
 

La actualidad más candente (17)

Industria 4.0 Cloud computing
Industria 4.0 Cloud computingIndustria 4.0 Cloud computing
Industria 4.0 Cloud computing
 
Digital server 14
Digital server 14Digital server 14
Digital server 14
 
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
 
Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020
 
eShow Barcelona - WordPress Hiperescala
eShow Barcelona - WordPress HiperescalaeShow Barcelona - WordPress Hiperescala
eShow Barcelona - WordPress Hiperescala
 
Cliente
ClienteCliente
Cliente
 
Buenas prácticas para la optimización web
Buenas prácticas para la optimización webBuenas prácticas para la optimización web
Buenas prácticas para la optimización web
 
Computacion en nube
Computacion en nubeComputacion en nube
Computacion en nube
 
Netkups
NetkupsNetkups
Netkups
 
Servidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. PresentaciónServidores web de altas prestaciones. Tema 0. Presentación
Servidores web de altas prestaciones. Tema 0. Presentación
 
Presentacion descubre como puedes migrar de servidor sin complicaciones
Presentacion descubre como puedes migrar de servidor sin complicacionesPresentacion descubre como puedes migrar de servidor sin complicaciones
Presentacion descubre como puedes migrar de servidor sin complicaciones
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Desarrollo en la nube
Desarrollo en la nubeDesarrollo en la nube
Desarrollo en la nube
 
BI real time analytics
BI real time analyticsBI real time analytics
BI real time analytics
 
la nube de Internet
la nube de Internet la nube de Internet
la nube de Internet
 
Nexica sonia palau---cloud-computing_para_entornos_empresariales2
Nexica sonia palau---cloud-computing_para_entornos_empresariales2Nexica sonia palau---cloud-computing_para_entornos_empresariales2
Nexica sonia palau---cloud-computing_para_entornos_empresariales2
 
La primer semana con la nube de AWS (parte1)
La primer semana con la nube de AWS (parte1)La primer semana con la nube de AWS (parte1)
La primer semana con la nube de AWS (parte1)
 

Destacado

Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworksSymfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworksexcedesoft
 
El Aprendizaje Basado en Proyectos y la Clase Invertida para acercar el mundo...
El Aprendizaje Basado en Proyectos y la Clase Invertida para acercar el mundo...El Aprendizaje Basado en Proyectos y la Clase Invertida para acercar el mundo...
El Aprendizaje Basado en Proyectos y la Clase Invertida para acercar el mundo...Micael Gallego
 
Capitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_webCapitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_webgabiar1708
 
Despliegue lamp
Despliegue lampDespliegue lamp
Despliegue lampBVela
 
5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formulariosLaura Folgado Galache
 
Empaquetado de aplicaciones Java con Netbeans
Empaquetado de aplicaciones Java con NetbeansEmpaquetado de aplicaciones Java con Netbeans
Empaquetado de aplicaciones Java con NetbeansLaura Folgado Galache
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguajeLaura Folgado Galache
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguajeLaura Folgado Galache
 
1. Arquitecturas y Herramientas de Programación
1. Arquitecturas y Herramientas de Programación1. Arquitecturas y Herramientas de Programación
1. Arquitecturas y Herramientas de ProgramaciónLaura Folgado Galache
 
7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncronaLaura Folgado Galache
 
GRASP con PR para el SRFLP en el MAEB 2016
GRASP con PR para el SRFLP en el MAEB 2016GRASP con PR para el SRFLP en el MAEB 2016
GRASP con PR para el SRFLP en el MAEB 2016Micael Gallego
 
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserTypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserMicael Gallego
 

Destacado (20)

Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworksSymfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
 
El Aprendizaje Basado en Proyectos y la Clase Invertida para acercar el mundo...
El Aprendizaje Basado en Proyectos y la Clase Invertida para acercar el mundo...El Aprendizaje Basado en Proyectos y la Clase Invertida para acercar el mundo...
El Aprendizaje Basado en Proyectos y la Clase Invertida para acercar el mundo...
 
Capitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_webCapitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_web
 
Despliegue lamp
Despliegue lampDespliegue lamp
Despliegue lamp
 
Tipos de manuales
Tipos de manualesTipos de manuales
Tipos de manuales
 
5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios
 
Empaquetado de aplicaciones Java con Netbeans
Empaquetado de aplicaciones Java con NetbeansEmpaquetado de aplicaciones Java con Netbeans
Empaquetado de aplicaciones Java con Netbeans
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje
 
1. Arquitecturas y Herramientas de Programación
1. Arquitecturas y Herramientas de Programación1. Arquitecturas y Herramientas de Programación
1. Arquitecturas y Herramientas de Programación
 
7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona
 
2 6 validar_formularios
2 6 validar_formularios2 6 validar_formularios
2 6 validar_formularios
 
Usabilidad móvil
Usabilidad móvilUsabilidad móvil
Usabilidad móvil
 
Usabilidad web
Usabilidad webUsabilidad web
Usabilidad web
 
2 8 cookiesy_sesionesphp
2 8 cookiesy_sesionesphp2 8 cookiesy_sesionesphp
2 8 cookiesy_sesionesphp
 
2 5 funciones_php
2 5 funciones_php2 5 funciones_php
2 5 funciones_php
 
Presentación 2018-2019
Presentación 2018-2019Presentación 2018-2019
Presentación 2018-2019
 
2 7 ficheros_php
2 7 ficheros_php2 7 ficheros_php
2 7 ficheros_php
 
GRASP con PR para el SRFLP en el MAEB 2016
GRASP con PR para el SRFLP en el MAEB 2016GRASP con PR para el SRFLP en el MAEB 2016
GRASP con PR para el SRFLP en el MAEB 2016
 
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserTypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
 

Similar a Arquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITEC

Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...Luis Bosque
 
0086 elevator speech_tips_para_ aplicaciones
0086  elevator speech_tips_para_ aplicaciones0086  elevator speech_tips_para_ aplicaciones
0086 elevator speech_tips_para_ aplicacionesGeneXus
 
Escalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEscalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEduardo Castro
 
Presentaciones Sebastian Po - eCommerce IT Camp
Presentaciones Sebastian Po - eCommerce IT CampPresentaciones Sebastian Po - eCommerce IT Camp
Presentaciones Sebastian Po - eCommerce IT CampeCommerce Institute
 
Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónLoja Valle de Tecnología
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TIManolo Crespo
 
Flisol 2011 alta disponibilidad y alto desempeño
Flisol 2011   alta disponibilidad y alto desempeñoFlisol 2011   alta disponibilidad y alto desempeño
Flisol 2011 alta disponibilidad y alto desempeñocrio_
 
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryOptimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryGonzalo Chacaltana
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraWladimir Cabarcas
 
Seguridad en los videojuegos - GoD Mode
Seguridad en los videojuegos - GoD ModeSeguridad en los videojuegos - GoD Mode
Seguridad en los videojuegos - GoD ModeZink Security
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...Amazon Web Services
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
 
Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeNicolas Padula
 
Cloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeCloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeDavid J. Brenes
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataJosé Carlos García Serrano
 
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Rodrigo Polo
 

Similar a Arquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITEC (20)

Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
 
Avance1
Avance1Avance1
Avance1
 
0086 elevator speech_tips_para_ aplicaciones
0086  elevator speech_tips_para_ aplicaciones0086  elevator speech_tips_para_ aplicaciones
0086 elevator speech_tips_para_ aplicaciones
 
Escalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEscalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql database
 
Escalabilidad de Websites
Escalabilidad de WebsitesEscalabilidad de Websites
Escalabilidad de Websites
 
Presentaciones Sebastian Po - eCommerce IT Camp
Presentaciones Sebastian Po - eCommerce IT CampPresentaciones Sebastian Po - eCommerce IT Camp
Presentaciones Sebastian Po - eCommerce IT Camp
 
Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-Distribución
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TI
 
Flisol 2011 alta disponibilidad y alto desempeño
Flisol 2011   alta disponibilidad y alto desempeñoFlisol 2011   alta disponibilidad y alto desempeño
Flisol 2011 alta disponibilidad y alto desempeño
 
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryOptimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-Memory
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache Cassandra
 
Seguridad en los videojuegos - GoD Mode
Seguridad en los videojuegos - GoD ModeSeguridad en los videojuegos - GoD Mode
Seguridad en los videojuegos - GoD Mode
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
 
Oracle GG presentacion
Oracle GG presentacionOracle GG presentacion
Oracle GG presentacion
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nube
 
Cloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeCloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la Nube
 
Bantaba
BantabaBantaba
Bantaba
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big data
 
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
 

Más de Alejandro Corpeño

TEDx Tegucigalpa - Las Ideas nacen, crecen, se reproducen y MUEREN!
TEDx Tegucigalpa - Las Ideas nacen, crecen, se reproducen y MUEREN!TEDx Tegucigalpa - Las Ideas nacen, crecen, se reproducen y MUEREN!
TEDx Tegucigalpa - Las Ideas nacen, crecen, se reproducen y MUEREN!Alejandro Corpeño
 
¿De Idea a Producto en 30 días?
¿De Idea a Producto en 30 días? ¿De Idea a Producto en 30 días?
¿De Idea a Producto en 30 días? Alejandro Corpeño
 
Cómo proyectar tu producto fuera del país
Cómo proyectar tu producto fuera del paísCómo proyectar tu producto fuera del país
Cómo proyectar tu producto fuera del paísAlejandro Corpeño
 
Class.io webinar - Google Apps for Education
Class.io webinar - Google Apps for EducationClass.io webinar - Google Apps for Education
Class.io webinar - Google Apps for EducationAlejandro Corpeño
 
WebConfLatino Panamá: Intro por Alejandro Corpeño
WebConfLatino Panamá: Intro por Alejandro CorpeñoWebConfLatino Panamá: Intro por Alejandro Corpeño
WebConfLatino Panamá: Intro por Alejandro CorpeñoAlejandro Corpeño
 
Implementando Lean Startup con KidsAbacus.com
Implementando Lean Startup con KidsAbacus.comImplementando Lean Startup con KidsAbacus.com
Implementando Lean Startup con KidsAbacus.comAlejandro Corpeño
 
Modelos actuales para emprendimiento en la web
Modelos actuales para emprendimiento en la webModelos actuales para emprendimiento en la web
Modelos actuales para emprendimiento en la webAlejandro Corpeño
 
Hacia donde van las redes sociales
Hacia donde van las redes socialesHacia donde van las redes sociales
Hacia donde van las redes socialesAlejandro Corpeño
 
Taller de "Publicidad en Facebook" por Roberto Vassaux de .FOX Networks - Web...
Taller de "Publicidad en Facebook" por Roberto Vassaux de .FOX Networks - Web...Taller de "Publicidad en Facebook" por Roberto Vassaux de .FOX Networks - Web...
Taller de "Publicidad en Facebook" por Roberto Vassaux de .FOX Networks - Web...Alejandro Corpeño
 
"Porqué Facebook es la Red Social más importante del Mundo" por Roberto Vassa...
"Porqué Facebook es la Red Social más importante del Mundo" por Roberto Vassa..."Porqué Facebook es la Red Social más importante del Mundo" por Roberto Vassa...
"Porqué Facebook es la Red Social más importante del Mundo" por Roberto Vassa...Alejandro Corpeño
 
Alejandro Villanueva - Google Inc.
Alejandro Villanueva - Google Inc.Alejandro Villanueva - Google Inc.
Alejandro Villanueva - Google Inc.Alejandro Corpeño
 
Internet Marketing - Josue Perdomo
Internet Marketing - Josue PerdomoInternet Marketing - Josue Perdomo
Internet Marketing - Josue PerdomoAlejandro Corpeño
 

Más de Alejandro Corpeño (18)

Blipea (vintage deck)
Blipea (vintage deck)Blipea (vintage deck)
Blipea (vintage deck)
 
TEDx Tegucigalpa - Las Ideas nacen, crecen, se reproducen y MUEREN!
TEDx Tegucigalpa - Las Ideas nacen, crecen, se reproducen y MUEREN!TEDx Tegucigalpa - Las Ideas nacen, crecen, se reproducen y MUEREN!
TEDx Tegucigalpa - Las Ideas nacen, crecen, se reproducen y MUEREN!
 
¿De Idea a Producto en 30 días?
¿De Idea a Producto en 30 días? ¿De Idea a Producto en 30 días?
¿De Idea a Producto en 30 días?
 
Cómo proyectar tu producto fuera del país
Cómo proyectar tu producto fuera del paísCómo proyectar tu producto fuera del país
Cómo proyectar tu producto fuera del país
 
Class.io webinar - Google Apps for Education
Class.io webinar - Google Apps for EducationClass.io webinar - Google Apps for Education
Class.io webinar - Google Apps for Education
 
WebConfLatino Panamá: Intro por Alejandro Corpeño
WebConfLatino Panamá: Intro por Alejandro CorpeñoWebConfLatino Panamá: Intro por Alejandro Corpeño
WebConfLatino Panamá: Intro por Alejandro Corpeño
 
KidsAbacus SuperConf pitch
KidsAbacus SuperConf pitchKidsAbacus SuperConf pitch
KidsAbacus SuperConf pitch
 
Implementando Lean Startup con KidsAbacus.com
Implementando Lean Startup con KidsAbacus.comImplementando Lean Startup con KidsAbacus.com
Implementando Lean Startup con KidsAbacus.com
 
Modelos actuales para emprendimiento en la web
Modelos actuales para emprendimiento en la webModelos actuales para emprendimiento en la web
Modelos actuales para emprendimiento en la web
 
Hacia donde van las redes sociales
Hacia donde van las redes socialesHacia donde van las redes sociales
Hacia donde van las redes sociales
 
Programando WebApps con APIs
Programando WebApps con APIsProgramando WebApps con APIs
Programando WebApps con APIs
 
Emprendiendo en la web
Emprendiendo en la webEmprendiendo en la web
Emprendiendo en la web
 
Taller de "Publicidad en Facebook" por Roberto Vassaux de .FOX Networks - Web...
Taller de "Publicidad en Facebook" por Roberto Vassaux de .FOX Networks - Web...Taller de "Publicidad en Facebook" por Roberto Vassaux de .FOX Networks - Web...
Taller de "Publicidad en Facebook" por Roberto Vassaux de .FOX Networks - Web...
 
"Porqué Facebook es la Red Social más importante del Mundo" por Roberto Vassa...
"Porqué Facebook es la Red Social más importante del Mundo" por Roberto Vassa..."Porqué Facebook es la Red Social más importante del Mundo" por Roberto Vassa...
"Porqué Facebook es la Red Social más importante del Mundo" por Roberto Vassa...
 
Alejandro Villanueva - Google Inc.
Alejandro Villanueva - Google Inc.Alejandro Villanueva - Google Inc.
Alejandro Villanueva - Google Inc.
 
Internet Marketing - Josue Perdomo
Internet Marketing - Josue PerdomoInternet Marketing - Josue Perdomo
Internet Marketing - Josue Perdomo
 
Fundamentos De Web 2.0
Fundamentos De Web 2.0Fundamentos De Web 2.0
Fundamentos De Web 2.0
 
Web 2.0 en Honduras
Web 2.0 en HondurasWeb 2.0 en Honduras
Web 2.0 en Honduras
 

Último

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
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
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
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
 
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
 
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
 
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
 
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
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
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
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
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
 
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
 
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
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
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
 
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
 
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
 

Último (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
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
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.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
 
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
 
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
 
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
 
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
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
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
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
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
 
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
 
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
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
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
 
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
 
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
 

Arquitecturas Escalables para Aplicaciones Web - Egdares Futch, UNITEC

  • 1. Arquitecturas Escalables para Aplicaciones en el Web Egdares Futch H. Junio 2009
  • 2.
  • 3. Pensemos en un supermercado, con múltiples filas y múltiples cajeros. Frustraciones Filas “lentas” Throughput impredecible ¿Y la “Caja Rápida”?
  • 4. Ahora pensemos en un banco, donde hay una sola fila y varios cajeros Mayor satisfacción Una transacción “lenta” no detiene otras Mayor throughput ¿Cuál es la diferencia? ARQUITECTURA
  • 5. Un gran banco local tiene: 200 sucursales 5 cajeros en cada sucursal 80 ATMs 0.3 transacción/min por cajero/ATM De 9AM a 7PM procesa: 324 transacciones por minuto 5.4 transacciones/segundo ¿De 7PM a 9AM ?
  • 6. Una universidad pública local tiene: 8 campus 5,000 estudiantes en cada campus 5 cursos trimestrales / estudiante 2,000 cursos en oferta académica 50 estudiantes por curso Durante el período de registro trimestral, que dura 7 días, se procesan: 50 estudiantes/segundo 2.5 segundos de tiempo de procesamiento/estudiante Cola de 12 transacciones => Espera de 30 segundos
  • 7. Para ir a: •Mi banco •Mi universidad •Mi periódico •Sitios de un país vecino ¡Tengo que pasar por Miami! Pocos acuerdo de “peering” entre ISP locales ¿Conectividad local más cara que la internacional?
  • 8. Caso TuBabel  2,993 visitas/día equivale a 1 visita cada 28 segundos  8,987 consultas/día  Caso Flickr  40,000 fotos/segundo!  130,000 consultas/segundo!
  • 9. No hablaremos de especificaciones técnicas, como memoria, procesador, etc.  Nos referimos al conjunto de elementos de red, computadoras, aplicaciones y sistemas operativos que soportan una aplicación Web.
  • 10. ¡A veces, tendemos a no separar en capas nuestras aplicaciones! Almacenamiento Usuarios vienen Cache de la “nube” Servidor de Base de AJAX aplicaciones datos
  • 11. La existencia de picos de trabajo (peak workloads) hace que determinar un diseño óptimo de arquitectura para aplicaciones Web sea difícil.  Día de pago  Semana de matrícula  Después de que ganó la Selección Nacional  Cuando pasa el temblor (8)
  • 12.  Un servidor web, con scripting del lado del servidor, conectado a Internet por un canal E1.  Mediciones muestran lo siguiente:  5 mseg para procesar el HTTP request (240 bytes)  40 mseg para correr el script  5 mseg para responder (5,120 bytes)
  • 13. Demanda de servicio CPU = 5 + 40 +5 = 0.050 seg  Demanda del canal inbound = 240*8 / 2,097,152 = 0.00091 seg  Demanda del canal de salida = 5,120*8 / 2,097,152 = 0.019 seg  Atendemos un máximo de 20 transacciones/seg  En un servidor de $10,000, nos cuesta $8.33 cada transacción
  • 14. ¿Qué tal si ahora le hacemos un lindo menú en Flash, o agregamos botones animados en DHTML, o usamos AJAX para una mejor interacción?  Blipea.com necesita 272.5K la primera vez (cache miss) ó 150K al refrescar (cache hit)
  • 15. Demanda de servicio CPU = 5 + 40 +5 = 0.050 seg  Demanda del canal inbound = 240*8 / 2,097,152 = 0.00091 seg  Demanda del canal de salida = 150,000*8 / 2,097,152 = 0.57 seg  Es decir que, ahora podemos atender únicamente dos transacciones por segundo (al refrescar)  El CPU está muerto de risa  El canal está muerto de capacidad
  • 16. Twitter = 200 tweets / segundo  NASDAQ = 35,000 mensajes /segundo  Google = 46,000 API calls / segundo
  • 17. OK, lo entiendo. ¿Ahora qué?
  • 19. Si  Soportar incremento en tráfico  Soportar incremento en la data  Henderson dice: “que además sea fácil de mantener”  No  Velocidad pura  Una tecnología particular
  • 20. Escalabilidad vertical  Crecimiento de cajas  Un servidor pequeño, luego un servidor quad core, luego un servidor multicore, luego ….  Fácil! Pero limitada en cierta medida  Escalabilidad Horizontal  Más cajas  Balanceo de cargas  Difícil! Pero crecimiento ilimitado
  • 21. Recordemos nuestra arquitectura inicial Almacenamiento Cache Servidor de Base de AJAX aplicaciones datos
  • 22.
  • 23.
  • 24.
  • 25. Manejo de sesiones  Stateless, similar a NFS, cookies “pesadas”  Balanceo de cargas  Simple: DNS round-robin  Hardware: Múltiples *.* de red  Software: Perlbal, Pound  Más allá: Balanceo Geográfico de Cargas (Global)
  • 26. Bases de datos  En general, el tema de mejora de base de datos en una aplicación Web escala verticalmente  Sin embargo, las aplicaciones Web tienen una proporción 80-90% de lecturas vs. escrituras  En ese caso, podemos usar replicación y distribución de datos  Y un tabú: denormalización
  • 27. Caching  Mantener copias de objetos frecuentemente usados hace la escalabilidad menos necesaria o por lo menos más barata  Redes de Distribución de contenido  Alta disponibilidad  Identificar Puntos Únicos de Falla  Eliminarlos
  • 28. Una aplicación Web es más que presentación, usabilidad , genialidad, o aplicabilidad.  Se suma la arquitectura con la que haya sido diseñada.  Actualmente es un arte, aprendido de los sitios más exitosos del Internet.
  • 29. Tratar de diseñar para escalar linealmente añadiendo hardware  Balancear cargas entre grupos de componentes  Diseñar pensando en redundancia y tolerancia a fallas  Algo importante: métricas y estadísticas proveen visión de qué sucede en nuestra aplicación
  • 30. Scaling for E-Business Menasce y Almeida Building Scalable Web Sites Henderson High Performance Web Sites Souders

Notas del editor

  1. Estoyusandounadistribución de Poisson, en horapico de 50 estudiantesporsegundo, en un servidorqueprocesa 100 transaccionesporsegundo,