SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Arquitectura de las nuevas
          aplicaciones web

Como lograr escalabilidad, alta disponibilidad
            y alto rendimiento
¿NUEVAS APLICACIONES WEB?
• Las aplicaciones de escritorio se pasan a la
  web (gmail, google docs)
• Nuestras vidas y actividades se mueven a la
  nube
• Los servicios y la información en la nube,
  accesibles con cualquier navegador conectado
  a la nube. (SaaS)
• Necesitamos igualdad de condiciones y
  rendimiento en la nube
Retos
•   Velocidad (Alto Rendimiento)
•   Ubicuidad
•   Disponibilidad
•   Seguridad
•   Estabilidad
•   Compatibilidad
LA WEB EVOLUCIONO
•   Contenido puramente textual (Web 1.0)
•   Completa interactividad
•   Multimedia
•   La web como plataforma (Web 2.0)
•   Web 3.0 (??)
Browsers




1995
                  2010
• Experiencia de usuario enriquecida
  – Gráficos
  – Video
  – Interactividad
• Acceso offline
• HTML 5
Retos
•   Velocidad (Alto Rendimiento)
•   Seguridad
•   Estabilidad
•   Compatibilidad
• El usuario, sus aplicaciones y sus datos se
  mueven a la web
• La web, los navegadores y las conexiones
  evolucionan
• + velocidad
• En cualquier lugar
¿ESCALABILIDAD?
Escalabilidad es aumentar la capacidad de
atender usuarios o volumen de datos de manera
  lineal con la capacidad de cómputo añadida
¿Por qué es importante?
• Pérdida de tráfico y/o ventas
  – Google: +500ms – -20% tráfico
  – Yahoo: +400ms – -5%/-9% tráfico
  – Amazon: 100ms – -1% ventas
• Ahorro de costos
• Mejor experiencia de uso
|




    http://webpagetest.org
• Tiempo de respuesta
  – 0.1s a 1s: No es necesario feedback al usuario
  – 1s a 10s: Es necesario feedback al usuario
    (cargador, opciones de carga)
  – >10s: El usuario no llega a los 10s
¿Cómo escalamos?
Scaling up (vertical)    Scaling out (horizontal)
• Upgrades a cada nodo   • Aumentar el nro de nodos
• Más CPU                • Más máquinas
• Más memoria            • Distribuir
• Más máquina            • Descentralizar
• Sencillo               • Complicado
• Muy limitado
Sunfire E20k          PowerEdge SC1435
       36 x 1.8GHz            Dualcore 1.8GHz
U$S450.000 – U$S 2.500.000      U$S 1.500
• “sólo se puede escalar con Java” (JA!)
• “PHP/Python/Ruby no escalan” (JA!)
• La escalabilidad depende del diseño de la
  arquitectura, NO de la tecnología utilizada
• NO es una tecnología
• NO es un protocolo
Escalar verticalmente
• Reemplazar el servidor por uno más grande
• Usar CPUs más rápidos
• Un servidor que es el doble de rápido cuesta
  bastante más que el doble.
Escalar horizontalmente
•   Agregar servidores (1, 10, 100, 1000)
•   Barato
•   Depende de la red (gigabit, 10GB, Infiniband)
•   Obtenemos gratis: redundancia (AD!)
•   Escalabilidad NO ES alta disponibilidad
•   Pero se intersecan
•   Eliminar SPFs! (escalabilidad+AD+seguridad)
• LAMP básico
  – Linux, Apache, MySQL, PHP (lenguaje
    de programación)
  – ¿Escalable?
     • Máquina compartida para servidor web y
       base de datos
  – ¿Confiable?
     • Un solo punto de fallo (SPF)
• Base de datos dedicada
  – La base de datos corre en un servidor
    separado
  – Requerimientos
      • Otra máquina más administración
  – ¿Escalable?
      • Hasta un servidor
  – ¿Confiable?
      • DOS puntos de fallo
• Múltiples servidores web




  – Beneficios
     • El tráfico puede crecer más allá de la capacidad de un servidor
  – Requerimientos
     • Más máquinas
     • Configurar balanceo de cargas
– Balanceo de cargas utilizando DNS (DNS round robin)




   • Registrar la lista de IPs en el DNS
   • Balanceo de carga estadístico
   • Los registros DNS son cacheados con TTL (Time To Live)
– Balanceo de cargas utilizando DNS (DNS round robin)




   • Registrar la lista de IPs en el DNS
   • Balanceo de carga estadístico
   • Los registros DNS son cacheados con TTL (Time To Live)
   • Downtime hasta que los registros DNS se propaguen
– Balanceo de cargas utilizando DNS (DNS round robin)




– ¿Escalable?
   • Agregar más servidores web como sea necesario
– ¿Confiable?
   • No se puede redirigir tráfico rápidamente
   • La base de datos aún es SPF
– Balanceo de cargas utilizando reverse proxy




– Beneficios
   • Ruteo flexible
   • Balanceo de carga a nivel aplicación
– Requerimientos
   • Más máquinas
   • Configuración y código para proxies
Reverse proxy
– ¿Escalable?
   • Agregar más servidores web
   • Especialización
   • Limitado por
       – Capacidad de ruteo del proxy
       – Una base de datos

– ¿Confiable?
   • Ruteo rápido a nivel de aplicación
   • Componentes especializados son más robustos
   • Múltiples proxies requieren ruteo a nivel de red
       – Balanceo de carga con DNS (DNS Round Robin)
       – Hardware de ruteo de red

   • Base de datos sigue siendo el SPF
– Base de datos Maestro - Esclavo




– Beneficios
   • Mejor rendimiento de lectura
   • Invisible a la aplicación
– Requerimientos
   • Aún más máquinas
   • Cambios a MySQL
– Base de datos Maestro - Esclavo




– ¿Escalable?
   • Escala el ratio de lectura con el número de servidores
   • Pero no la escritura
– Requerimientos
   • Aún más máquinas
   • Cambios a MySQL
– Base de datos Maestro - Esclavo
– ¿Confiable?
   • Maestro es SPF para escrituras
   • Maestro puede morir antes de replicarse
• Base de datos particionada




   – Beneficios                        – Requerimientos
   – Escala el rendimiento en          – Aún más máquinas
     lectura tanto en escritura como   – Mucha administración
     lectura                           – Re arquitectura del modelo de
                                         datos
                                       – Reescribir consultas
Shared nothing (SN)
•   Cada nodo independiente
•   Eliminar SPFs
•   Storage separado
•   DB separada de web
•   Cache
•   Sesiones
¿CLOUD COMPUTING?
Cloud computing es un nuevo modelo de prestación de
   servicios de negocio y tecnología, que permite al
      usuario acceder a un catálogo de servicios
  estandarizados y responder a las necesidades de su
  negocio, de forma flexible y adaptativa, en caso de
    demandas no previsibles o de picos de trabajo,
   pagando únicamente por el consumo efectuado.

                                              Wikipedia
– Todo el trabajo de escalabilidad, alto rendimiento y alta disponibilidad esta a
  cargo del proveedor del servicio y totalmente abstraído del cliente – recursos
  abstraidos.
– Escalabilidad “instantánea”
– Capacidad de procesamiento y almacenamiento “ilimitado” - Capacidad
  elástica
– Software as Service
– Pago solo por lo que uso
– Dependencia de otras empresas proveedoras

– Ejemplos
    •   Google app engine
    •   Amazon web services
    •   Azure de Microsoft
    •   Rackspace
¿
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta disponibilidad y alto rendimiento

Más contenido relacionado

La actualidad más candente

Servidores web 6ciclo
Servidores web 6cicloServidores web 6ciclo
Servidores web 6ciclo
jdavilac1959
 
Mapa Conceptual Servidores web
Mapa Conceptual Servidores webMapa Conceptual Servidores web
Mapa Conceptual Servidores web
Arturo_09
 

La actualidad más candente (20)

Optimización del rendimiento web
Optimización del rendimiento webOptimización del rendimiento web
Optimización del rendimiento web
 
Webinar - Instalar VMware en un servidor dedicado
Webinar - Instalar VMware en un servidor dedicadoWebinar - Instalar VMware en un servidor dedicado
Webinar - Instalar VMware en un servidor dedicado
 
Arquitectando la seguridad de punta a punta a nivel corporativo
Arquitectando la seguridad de punta a punta a nivel corporativoArquitectando la seguridad de punta a punta a nivel corporativo
Arquitectando la seguridad de punta a punta a nivel corporativo
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nube
 
Explorando html5 - Inicio
Explorando html5 - InicioExplorando html5 - Inicio
Explorando html5 - Inicio
 
Servidores web 6ciclo
Servidores web 6cicloServidores web 6ciclo
Servidores web 6ciclo
 
Servicios de Storage en AWS
Servicios de Storage en AWSServicios de Storage en AWS
Servicios de Storage en AWS
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWS
 
SGCE 2014 micro services
SGCE 2014 micro servicesSGCE 2014 micro services
SGCE 2014 micro services
 
Cbs aws-fundamentals-1
Cbs aws-fundamentals-1Cbs aws-fundamentals-1
Cbs aws-fundamentals-1
 
Diseño de arquitectura VPC para modelos operativos empresariales
Diseño de arquitectura VPC para modelos operativos empresarialesDiseño de arquitectura VPC para modelos operativos empresariales
Diseño de arquitectura VPC para modelos operativos empresariales
 
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)
 
Presentacion ventajas y desventajas de un servidor compartido
Presentacion ventajas y desventajas de un servidor compartidoPresentacion ventajas y desventajas de un servidor compartido
Presentacion ventajas y desventajas de un servidor compartido
 
Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012Alta disponibilidad SQL Server 2012
Alta disponibilidad SQL Server 2012
 
Mapa Conceptual Servidores web
Mapa Conceptual Servidores webMapa Conceptual Servidores web
Mapa Conceptual Servidores web
 
SQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxSQL Server 2017 soporte en Linux
SQL Server 2017 soporte en Linux
 
Introducción Base de datos mysql
Introducción Base de datos mysqlIntroducción Base de datos mysql
Introducción Base de datos mysql
 
Cloud
CloudCloud
Cloud
 
Windows Server2008 R2 Overview
Windows Server2008 R2 OverviewWindows Server2008 R2 Overview
Windows Server2008 R2 Overview
 
Cbs aws-fundamentals-2
Cbs aws-fundamentals-2Cbs aws-fundamentals-2
Cbs aws-fundamentals-2
 

Destacado

Qué es la disponibilidad
Qué es la disponibilidadQué es la disponibilidad
Qué es la disponibilidad
Santiago Romero
 
Arquitectura de integración empresarial t1 u3
Arquitectura de integración empresarial t1 u3Arquitectura de integración empresarial t1 u3
Arquitectura de integración empresarial t1 u3
seyer2310
 
Uagrmbs pinnel liderazgo 2
Uagrmbs pinnel  liderazgo 2Uagrmbs pinnel  liderazgo 2
Uagrmbs pinnel liderazgo 2
Patricia Pinnel
 
Programacion iv sesion11 php
Programacion iv sesion11 phpProgramacion iv sesion11 php
Programacion iv sesion11 php
Roberto Garcia
 

Destacado (20)

Docker 2014 v2
Docker 2014 v2Docker 2014 v2
Docker 2014 v2
 
Desarrollo de sistios web
Desarrollo de sistios webDesarrollo de sistios web
Desarrollo de sistios web
 
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
 
Escalabilidad de Websites
Escalabilidad de WebsitesEscalabilidad de Websites
Escalabilidad de Websites
 
Qué es la disponibilidad
Qué es la disponibilidadQué es la disponibilidad
Qué es la disponibilidad
 
Arquitectura de integración empresarial t1 u3
Arquitectura de integración empresarial t1 u3Arquitectura de integración empresarial t1 u3
Arquitectura de integración empresarial t1 u3
 
PHP at Density and Scale (Lone Star PHP 2014)
PHP at Density and Scale (Lone Star PHP 2014)PHP at Density and Scale (Lone Star PHP 2014)
PHP at Density and Scale (Lone Star PHP 2014)
 
Artefactos arquitectonicos - GTI
Artefactos arquitectonicos - GTIArtefactos arquitectonicos - GTI
Artefactos arquitectonicos - GTI
 
Web services GeneXus Tilo
Web services GeneXus TiloWeb services GeneXus Tilo
Web services GeneXus Tilo
 
Control de Gestión
Control de GestiónControl de Gestión
Control de Gestión
 
Arquitectura Empresarial
Arquitectura EmpresarialArquitectura Empresarial
Arquitectura Empresarial
 
Scalable PHP Applications With Cassandra
Scalable PHP Applications With CassandraScalable PHP Applications With Cassandra
Scalable PHP Applications With Cassandra
 
Clase 2 concepto basicos cmi curso control gestion y cmi mineduc
Clase 2 concepto basicos cmi curso control gestion y cmi mineducClase 2 concepto basicos cmi curso control gestion y cmi mineduc
Clase 2 concepto basicos cmi curso control gestion y cmi mineduc
 
Uagrmbs pinnel liderazgo 2
Uagrmbs pinnel  liderazgo 2Uagrmbs pinnel  liderazgo 2
Uagrmbs pinnel liderazgo 2
 
Reflexiones y anécdotas de consultoria para ejecutivos.
Reflexiones y anécdotas de consultoria para ejecutivos.Reflexiones y anécdotas de consultoria para ejecutivos.
Reflexiones y anécdotas de consultoria para ejecutivos.
 
Programacion iv sesion11 php
Programacion iv sesion11 phpProgramacion iv sesion11 php
Programacion iv sesion11 php
 
Normas técnicas de control interno
Normas técnicas de control internoNormas técnicas de control interno
Normas técnicas de control interno
 
Cmi cuadro
Cmi cuadroCmi cuadro
Cmi cuadro
 
Tutorial c# y Video Juegos
Tutorial c# y Video JuegosTutorial c# y Video Juegos
Tutorial c# y Video Juegos
 
TOGAF ITIL & COBIT
TOGAF ITIL & COBITTOGAF ITIL & COBIT
TOGAF ITIL & COBIT
 

Similar a Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta disponibilidad y alto rendimiento

Similar a Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta disponibilidad y alto rendimiento (20)

Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
 
Sistema de Bases de Datos AWS
Sistema de Bases de Datos AWSSistema de Bases de Datos AWS
Sistema de Bases de Datos AWS
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesContenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de Aplicaciones
 
Industria 4.0 Cloud computing
Industria 4.0 Cloud computingIndustria 4.0 Cloud computing
Industria 4.0 Cloud computing
 
Transición a la Nube: Retos y Estrategias
Transición a la Nube: Retos y EstrategiasTransición a la Nube: Retos y Estrategias
Transición a la Nube: Retos y Estrategias
 
SQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y MantenimientoSQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y Mantenimiento
 
Polybase
PolybasePolybase
Polybase
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWS
 
Caso Walmart y Denodo: ¿Cómo afrontar con éxito la transición a la nube de la...
Caso Walmart y Denodo: ¿Cómo afrontar con éxito la transición a la nube de la...Caso Walmart y Denodo: ¿Cómo afrontar con éxito la transición a la nube de la...
Caso Walmart y Denodo: ¿Cómo afrontar con éxito la transición a la nube de la...
 
Cloud IT: 100% pymes - BDigital Global Congress 2013
Cloud IT: 100% pymes -  BDigital Global Congress 2013Cloud IT: 100% pymes -  BDigital Global Congress 2013
Cloud IT: 100% pymes - BDigital Global Congress 2013
 
Oracle GG presentacion
Oracle GG presentacionOracle GG presentacion
Oracle GG presentacion
 
Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
azure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlosazure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlos
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
 
Escalando a sus primeros 10 millones de usuarios
Escalando a sus primeros 10 millones de usuarios Escalando a sus primeros 10 millones de usuarios
Escalando a sus primeros 10 millones de usuarios
 
The azure platform TechDay2010
The azure platform TechDay2010The azure platform TechDay2010
The azure platform TechDay2010
 
Aplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesAplicaciones móviles super-escalables
Aplicaciones móviles super-escalables
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta disponibilidad y alto rendimiento

  • 1. Arquitectura de las nuevas aplicaciones web Como lograr escalabilidad, alta disponibilidad y alto rendimiento
  • 3. • Las aplicaciones de escritorio se pasan a la web (gmail, google docs) • Nuestras vidas y actividades se mueven a la nube • Los servicios y la información en la nube, accesibles con cualquier navegador conectado a la nube. (SaaS) • Necesitamos igualdad de condiciones y rendimiento en la nube
  • 4. Retos • Velocidad (Alto Rendimiento) • Ubicuidad • Disponibilidad • Seguridad • Estabilidad • Compatibilidad
  • 6. Contenido puramente textual (Web 1.0) • Completa interactividad • Multimedia • La web como plataforma (Web 2.0) • Web 3.0 (??)
  • 8. • Experiencia de usuario enriquecida – Gráficos – Video – Interactividad • Acceso offline • HTML 5
  • 9. Retos • Velocidad (Alto Rendimiento) • Seguridad • Estabilidad • Compatibilidad
  • 10. • El usuario, sus aplicaciones y sus datos se mueven a la web • La web, los navegadores y las conexiones evolucionan • + velocidad • En cualquier lugar
  • 12. Escalabilidad es aumentar la capacidad de atender usuarios o volumen de datos de manera lineal con la capacidad de cómputo añadida
  • 13. ¿Por qué es importante? • Pérdida de tráfico y/o ventas – Google: +500ms – -20% tráfico – Yahoo: +400ms – -5%/-9% tráfico – Amazon: 100ms – -1% ventas • Ahorro de costos • Mejor experiencia de uso
  • 14. | http://webpagetest.org
  • 15. • Tiempo de respuesta – 0.1s a 1s: No es necesario feedback al usuario – 1s a 10s: Es necesario feedback al usuario (cargador, opciones de carga) – >10s: El usuario no llega a los 10s
  • 16. ¿Cómo escalamos? Scaling up (vertical) Scaling out (horizontal) • Upgrades a cada nodo • Aumentar el nro de nodos • Más CPU • Más máquinas • Más memoria • Distribuir • Más máquina • Descentralizar • Sencillo • Complicado • Muy limitado
  • 17. Sunfire E20k PowerEdge SC1435 36 x 1.8GHz Dualcore 1.8GHz U$S450.000 – U$S 2.500.000 U$S 1.500
  • 18. • “sólo se puede escalar con Java” (JA!) • “PHP/Python/Ruby no escalan” (JA!) • La escalabilidad depende del diseño de la arquitectura, NO de la tecnología utilizada • NO es una tecnología • NO es un protocolo
  • 19. Escalar verticalmente • Reemplazar el servidor por uno más grande • Usar CPUs más rápidos • Un servidor que es el doble de rápido cuesta bastante más que el doble.
  • 20. Escalar horizontalmente • Agregar servidores (1, 10, 100, 1000) • Barato • Depende de la red (gigabit, 10GB, Infiniband) • Obtenemos gratis: redundancia (AD!) • Escalabilidad NO ES alta disponibilidad • Pero se intersecan • Eliminar SPFs! (escalabilidad+AD+seguridad)
  • 21. • LAMP básico – Linux, Apache, MySQL, PHP (lenguaje de programación) – ¿Escalable? • Máquina compartida para servidor web y base de datos – ¿Confiable? • Un solo punto de fallo (SPF)
  • 22. • Base de datos dedicada – La base de datos corre en un servidor separado – Requerimientos • Otra máquina más administración – ¿Escalable? • Hasta un servidor – ¿Confiable? • DOS puntos de fallo
  • 23. • Múltiples servidores web – Beneficios • El tráfico puede crecer más allá de la capacidad de un servidor – Requerimientos • Más máquinas • Configurar balanceo de cargas
  • 24. – Balanceo de cargas utilizando DNS (DNS round robin) • Registrar la lista de IPs en el DNS • Balanceo de carga estadístico • Los registros DNS son cacheados con TTL (Time To Live)
  • 25. – Balanceo de cargas utilizando DNS (DNS round robin) • Registrar la lista de IPs en el DNS • Balanceo de carga estadístico • Los registros DNS son cacheados con TTL (Time To Live) • Downtime hasta que los registros DNS se propaguen
  • 26. – Balanceo de cargas utilizando DNS (DNS round robin) – ¿Escalable? • Agregar más servidores web como sea necesario – ¿Confiable? • No se puede redirigir tráfico rápidamente • La base de datos aún es SPF
  • 27. – Balanceo de cargas utilizando reverse proxy – Beneficios • Ruteo flexible • Balanceo de carga a nivel aplicación – Requerimientos • Más máquinas • Configuración y código para proxies
  • 28. Reverse proxy – ¿Escalable? • Agregar más servidores web • Especialización • Limitado por – Capacidad de ruteo del proxy – Una base de datos – ¿Confiable? • Ruteo rápido a nivel de aplicación • Componentes especializados son más robustos • Múltiples proxies requieren ruteo a nivel de red – Balanceo de carga con DNS (DNS Round Robin) – Hardware de ruteo de red • Base de datos sigue siendo el SPF
  • 29. – Base de datos Maestro - Esclavo – Beneficios • Mejor rendimiento de lectura • Invisible a la aplicación – Requerimientos • Aún más máquinas • Cambios a MySQL
  • 30. – Base de datos Maestro - Esclavo – ¿Escalable? • Escala el ratio de lectura con el número de servidores • Pero no la escritura – Requerimientos • Aún más máquinas • Cambios a MySQL
  • 31. – Base de datos Maestro - Esclavo – ¿Confiable? • Maestro es SPF para escrituras • Maestro puede morir antes de replicarse
  • 32. • Base de datos particionada – Beneficios – Requerimientos – Escala el rendimiento en – Aún más máquinas lectura tanto en escritura como – Mucha administración lectura – Re arquitectura del modelo de datos – Reescribir consultas
  • 33. Shared nothing (SN) • Cada nodo independiente • Eliminar SPFs • Storage separado • DB separada de web • Cache • Sesiones
  • 35. Cloud computing es un nuevo modelo de prestación de servicios de negocio y tecnología, que permite al usuario acceder a un catálogo de servicios estandarizados y responder a las necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o de picos de trabajo, pagando únicamente por el consumo efectuado. Wikipedia
  • 36. – Todo el trabajo de escalabilidad, alto rendimiento y alta disponibilidad esta a cargo del proveedor del servicio y totalmente abstraído del cliente – recursos abstraidos. – Escalabilidad “instantánea” – Capacidad de procesamiento y almacenamiento “ilimitado” - Capacidad elástica – Software as Service – Pago solo por lo que uso – Dependencia de otras empresas proveedoras – Ejemplos • Google app engine • Amazon web services • Azure de Microsoft • Rackspace
  • 37. ¿