SlideShare una empresa de Scribd logo
1 de 78
Descargar para leer sin conexión
ALTA DISPONIBILIDAD
ALTO DESEMPEÑO
Jan Andrés Restrepo
crio_@hotmail.com
DEFINICIONES
“No entiendes realmente algo a menos que seas capaz
de explicárselo a tu abuela” – Albert Einstein
Definiciones


•  Que es DISPONIBILIDAD?




•  Que es DESEMPEÑO?
Definiciones - Disponibilidad
•  Disponibilidad esta relacionado con Dispuesto


•  Dispuesto “Preparado para ser utilizado”




•  POSIBILIDAD que ALGO esté preparado para un FIN.


•  POSIBILIDAD se considerar como una métrica


•  Entonces ALTA DISPONIBILIDAD que es?
Definiciones - Desempeño
•  Habilidad en la realización de una actividad


•  Logro de objetivos o de tareas asignadas


•  Eficiencia de una maquina


•  Eficiencia: Capacidad de disponer de alguien o de algo
 para conseguir un efecto determinado

•  Entonces ALTO DESEMPEÑO que es?
Definiciones


•  DISPONIBILIDAD y DESEMPEÑO se pueden considerar
 como una métrica?


                       Si!
Definiciones

•  SERVICIOS


•  De forma coloquial que es un Servicio?


•  Actividad en donde buscan responder a las
 necesidades de un cliente

•  Un servicio es intangible ……. Esto les suena?
Definiciones - Servicio

•  Y en informática a que se refiere por Servicio?


•  Pues es lo mismo que lo anterior!!


•  Un programa o un software presta servicios


•  Pero por si solo un programa lo hace? o hay mas cosas
 en juego, cuales??
Definiciones – Servicios Web




           ?
Definiciones - Servicio
•  Entonces realmente quien presta el SERVICIO???


•  Un SISTEMA con una ARQUITECTURA


•  Software:                 •  Hardware:
   •  Sistemas operativos       •  Servidores
   •  Web Servers               •  Procesadores
   •  RDBMS                     •  Memoria
   •  Programas                 •  Almacenamiento
   •  etc.                      •  Redes
                                •  etc.
CONCEPTOS
Informáticos, ahora si por fin…
Página web estática
•  Para que una página web estática, funcione sobre
 internet que necesitamos?

 •  Conexión a Internet, Dirección IP, un dominio
 •  Componentes de red
 •  Servidor físico / virtual, con sus respectivos
    componentes
 •  Sistema operativo de red / linux, windows, bsd…
 •  Servidor web / apache, nginx, lighttpd, IIS…
 •  Capacidad de almacenamiento
 •  Falta algo?
Página web estática - HW




      StooMathiesen - http://www.flickr.com/photos/stoo57/5395413052/in/photostream/
Página web estática
•  Los anteriores componentes son requerimientos


•  El software anteriormente listado tiene requerimientos,
 entonces nos salen “requerimientos de los
 requerimientos”.

•  Incrementar capacidad de Procesamiento
•  Incrementar capacidad de RAM
•  Incrementar capacidad de Almacenamiento
Página web estática - HW




      StooMathiesen - http://www.flickr.com/photos/stoo57/5395413052/in/photostream/
Página web estática
•  Ahora la pagina web estática se pone en línea!!!


•  Que pasa?


•  Comienza a tener visitantes


•  Las visitas se reflejan en carga, ocupación, consumen
 recursos

•  Que pasa si ingresa 1, 100, 1000, 10.000 usuarios?


•  O Mas???
Página web estática - Interno
•  Que cosas suceden internamente en este servicio?


1.  Recibir solicitud por parte del usuario
      •  Adicionalmente se aplican: controles, verificaciones,
       generación de bitácoras (logs), etc.
2.     Colocar en cola
3.     Localizar el recurso
4.     Colocar el contenido en cola
5.     Presentar o enviar el contenido
Página web estática - HW
•  Incrementar de nuevo el hardware?



 333 Mhz
 666 Mhz                                                                                     5400 RPM
1000 Mhz                                                                                     7200 RPM
1333 Mhz                                                                                    10000 RPM
                                                                                            15000 RPM




  2 Mbps
 10 Mbps
 50 Mbps




           StooMathiesen - http://www.flickr.com/photos/stoo57/5395413052/in/photostream/
Página web dinámica
•  Ahora para esa misma página, se desea que sea
 “Dinámica e Interactiva” o que preste un servicio

•  Que se necesita para ello??


•  Se debe programar! … en que?
   •  PHP
   •  RUBY
   •  PYTHON
   •  DOT NET
   •  JAVA
•  Base de datos
•  Falta Algo?
Página web dinámica - Interno
•  Adicionalmente que ocurre en este nuevo servicio?


1.  Recibir solicitud por parte del usuario
      •  adicionales como: controles, verificaciones, generación
       de bitácoras (logs), etc.
2.     Colocar en cola
3.     Localizar el recurso
4.     Colocar el contenido en cola
5.     Presentar o enviar el contenido
Página web dinámica - Interno
•  Adicionalmente que ocurre en este nuevo servicio?


1.  Recibir solicitud por parte del usuario
      •  adicionales como: controles, verificaciones, generación
       de bitácoras (logs), etc.
2.     Colocar en cola
3.     Localizar el recurso
4.     PROCESAR – Ejecutar el programa especifico
5.     Colocar el contenido en cola
6.     Presentar o enviar el contenido
Página web dinámica - HW
•  Que pasa con el hardware que tengo?




          StooMathiesen - http://www.flickr.com/photos/stoo57/5395413052/in/photostream/
Crecimiento de HW
•  Un buen ejemplo: Los video juegos de PC!!!
Crecimiento de HW
•  Un buen ejemplo: Los video juegos de PC!!!
Crecimiento de HW
•  En arquitectura de computo esto se le conoce como:



         CRECIMIENTO VERTICAL

•  Tiene limite el crecimiento vertical?


                  El tecnológico Actual
Algo anda Mal?
•  Reflexionando, algo parece estar mal?


•  Que puede ser?


•  El desempeño actual no es el deseado o el
 optimo

•  Se queda corto?
Algo anda Mal?
•  Cuales son las posibles razones?


u  El software base puede estar fallando
 u  No estará bien configurado
 u  No estará bien optimizado
 u  No es el correcto para el propósito deseado?


u  Será que nuestro programa esta mal desarrollado?


u  Será que la arquitectura seleccionada esta
 fallando?
ARQUITECTURA BASICA
Arquitectura básica
Arquitectura básica
Arquitectura básica
CIFRAS
Cifras – facebook.com

•  + de 500’000.000 de usuarios registrados (2011)


•  Usuarios tienen Actividad de 20 minutos por día


•  5.000’000.000 de objetos digitales compartidos por
 semana

•  3.000’000.000 imágenes cargadas por mes
Cifras – facebook.com
•  250 aplicaciones poseen mas 1’000.000 de usuarios al
 mes

•  80.000 aplicaciones conectadas


•  500.000 aplicaciones


•  2’000.000 desarrolladores registrados


•  150’000.000 operaciones por segundo de memcache
Cifras – facebook.com
•  Miles de servidores de memcache con 10TB de
 almacenamiento

•  200.000 eventos por segundo


•  20.000’000.000 de eventos por día


•  13’000.000 de queries por segundo


•  Respuestas de los Query: 4ms lectura, 5ms escritura


•  Picos de 38 GBps de transferencia de datos
Cifras – facebook.com
•  Lenguaje de programación base: PHP


•  Base de datos inicial MYSQL


•  Base de datos actual CASSANDRA


•  Web server propio escrito en PHP


•  Y otro montón de tecnologías usadas


•  Según estimaciones poseen mas de 60.000 servidores
Cifras – facebook.com
•  Según estimaciones poseen mas de 60.000 servidores
Cifras - Google
•  Google, el ultimo fallo de perdida de información


•  Mas de 300.000 cintas de backup LTO2
•  LTO2 (200 GB)
•  Total de: 60.000.000 GB = 58.000 TB = 57 PB
EL PROBLEMA
Los problemas de un servicio
•  Cuales son los dos principales problemas que se deben
 resolver para prestar un servicio en línea (eso si
 excluyendo la seguridad)

1.  Que el servicio siempre este ahí, que funcione, que no
   este por fuera!, que no se caiga!



2.  Que le quepa toda la gente!, que funcione de forma
   veloz!, que atienda a tiempo!, que no sea lentejo!
Los problemas de un servicio
•  Que soluciona esos dos inconvenientes?




1.  Alta disponibilidad




2.  Alto desempeño
ALTA DISPONIBILIDAD
Alta disponibilidad


•  Buscar asegurar un cierto grado absoluto de continuidad
 operacional durante un período de medición dado

•  Esto se logra aplicando REDUNDANCIA


•  Pero a un servicio se puede considerar REDUNDANCIA
 OPERACIONAL
Alta disponibilidad - Redundancia
•  Ya antes se ha logrado redundancia pero en
 componentes:

•  Fuentes redundantes
•  Alimentación redundante
•  UPS redundantes
•  Memoria redundante
•  Almacenamiento redundante
•  NICs redundantes


•  Estos componentes poseen historial de fallas
Alta disponibilidad - Redundancia
Alta disponibilidad – Como?
•  Hasta ahora la alta REDUNDANCIA seria administrada de
 forma MANUAL

•  Que se requiere para que sea TRASNPARANTE o
 AUTOMATICA?

•  Todo debe estar UNIFICADO

•  Procesos Unificados (Comunicación)
•  Sub servicios Unificados (Comunicación)
•  Almacenamiento Unificado
•  Hasta llegado el caso de tener la “mente compartida”
Alta disponibilidad – Como?
•  Técnicas, Tecnologías, o Herramientas


•  Comunicación entre todos los actores


•  Comunicar que “estamos vivos”


•  Comunicar que hacemos


•  Se busca comportarse como un uno solo
Alta disponibilidad – Como?
•  Almacenamiento Unificado


•  Se puede manejar:


•  Externalizándolo
 •  SAN (Storaga Area Network)
    •  Fiber Channel
    •  iSCSI
 •  Servidor de Almacenamiento
    •  iSCSI
    •  NFS
    •  CIFS
Alta disponibilidad – Como?
•  Almacenamiento Unificado


•  Compartiéndolo
 •  Sistemas de archivos dispersos por la RED


 •  Servidores independientes de sistemas de archivos.


 o

 •  Los mismos servidores comparten su almacenamiento
Alta disponibilidad - Redundancia
Alta disponibilidad – Ideal!!
Alta Disponibilidad - Ideal
•  No todo es perfecto, solo algunos lo pueden hacer de
 forma nativa y transparente:

•  Java (Lenguaje de programación y arquitectura)
•  Tomcat (Web Server – application server)
•  Glassfish (Web Server – application server)
•  JBOSS (Plataforma)
•  Dot Net
•  RUBY (Solo su ecosistema)
•  PHP + Zend (Solo su ecosistema)
•  PHP de facebook (servidor propio hecho en PHP)
•  Erlang (Solo su ecosistema)
Alta Disponibilidad - Ideal
•  RDBMS que soportan ALTA DISPONIBILIDAD


         MYSQL / MariaDB / Percona / Drizzle
                   PostgreSQL
                       Ingres
                      VoltDB
                     FrontBase
                      SciMore
                      Cubrid
Alta Disponibilidad - Ideal
•  Base de datos NO RELACIONALES


•  Estas nacen de la necesidad de almacenar
 CANTIDADES GIGANTESCAS DE INFORMACION

•  Su característica primordial: Ser DISTRIBUIDAS


                  SimpleDB (Amazon)
               Hadoop – Hbase (facebook)
                 Cassandra (Facebook)
                   FlockDB (Twitter)
                      Hypertable
Alta Disponibilidad - Ideal
•  Base de datos NO RELACIONALES


                 Apache Jackrabbit
                    CouchDB
                    MongoDB
                     OrientDB
                    Terrastore
                    RavenDB
                    Voldemort
                      Sones
                      SciDB
Alta Disponibilidad - Ideal
•  Sistemas de archivos en red distribuidos (o en cluster)


                           Ceph
                          dCache
                           Diaser
                            GFS
                         GlusterFS
                           Lustre
                         MooseFS
                      OCFS2 (Oracle)
                         OpenAFS
                       Tahoe - LAFS
Alta Disponibilidad – La realidad
•  Actualmente NO todo el FLOSS que presta servicios
 online soporta nativamente la alta disponibilidad.

•  Apache, es un ejemplo!!


•  Pero tiene solución!!


•  La solución esta basada en el mismo ecosistema que
 existe alrededor del FLOSS

•  El sistema operativo debe hacerlo.
Alta Disponibilidad – La Solución
•  Para que nuestro servicio soporte ALTA DISPONIBILIDAD
 nos toca DARLE UNA MANITO

•  Esto conlleva:
   •  Nuevos elementos en juego / Mas componentes / Mas servicios
   •  Consumo de mas recursos
   •  Mas monitoreo
   •  Mas puntos de falla (posiblemente)


•  Cuesta hacerlo pero su precio se paga en beneficios
Alta Disponibilidad – La Solución
•  Dentro del Ecosistema FLOSS existen dos componentes:


•  DRDB


•  Linux-HA / Pacemaker (OpenAIS)


•  Ellos dotan al SISTEMA OPERATIVO de ALTA
 DISPONIBILIDAD
Alta Disponibilidad – DRDB
•  DRDB, su objetivo sincronizar bloques
Alta Disponibilidad – Linux-HA
•  Su objetivo entregar un conjunto de componentes que
 permita la construcción de BLOQUES de computo

         CLUSTERS DE ALTA DISPONIBILIDAD

•  Gestiona la comunicación


•  Gestiona la pertenencia (Membresía)


•  Gestiona y monitorea los recursos (CRM – Cluster
 Resource Manager)
Alta Disponibilidad – PaceMaker
Alta Disponibilidad – PaceMaker
Alta Disponibilidad – PaceMaker
ALTO DESEMPEÑO
Alto Desempeño
•  El crecimiento vertical posee un limite


•  Los recursos físicos fijan un limite en prestación del
 servicio

•  Ejemplos:
   •  Cantidad de información a almacenar
   •  Cantidad de información a procesar
   •  Cantidad de información a transferir
   •  Cantidad de usuarios que se pueden atender


•  Los servicios deben de funcionar pero con unos tiempos
 de respuesta y desempeños deseados
Alto Desempeño
•  Como se obtiene?
•  Existen dos soluciones:


1.  Revisando de nuevo que pasa al interior de nuestro
    Software (No hay que ser voraces)
  •  Optimizando código
  •  Aplicando nuevas estrategias y tecnologías (NOSQL)


2.  Buscar ESCALABILIDAD
   •  En infraestructura base – Hardware, SO , Servicios
   •  Desarrollando con enfoque a Middleware / SOA
Alto Desempeño - Escalabilidad

•  El crecimiento ya sucede de forma HORIZONTAL




•  Objetivo: atender MUCHOS USARIOS con CALIDAD
Alta Desempeño – Que ocurre?
Alto Desempeño – Solución

•  La solución esta netamente asociada a la
 ARQUITECTURA Seleccionada



•  Tanto de Infraestructura FISICA como LOGICA




•  Listado de Tecnologías que se pueden usar:
Alto Desempeño – Tecnologías
•  Balanceadores de Carga (Load Balancers)
•  Despachadores
•  Round Robin DNS (Técnica, configuración)
•  CDN (Content Delivery Network)
•  Almacenamiento
 •  NAS
 •  SAN
 •  Sistema de archivos distribuidos
•  Base de Datos NO Relacionales (NOSQL)
Alto Desempeño – Tecnologías
•  Desarrollando:
  •  Data Partitioning (Particionado de datos)
  •  Map Reduce (Batch parallel procesing)
  •  Cache Engine (Cache Dinámico) DATA y WEB
  •  Resource Pool
  •  DBSession (Conexiones TCP son costosas de crear, se
     debe reutilizar)
  •  Calcular un resultado aproximado
  •  Filtrar desde la fuente
  •  Procesos Asincrónicos (Callback y Polling)
  •  Cambiar de lenguajes interpretados a compilados o
     nativos
Alto Desempeño – Tecnologías


          Y cualquier otra cosa que sirva!!!!!



•  Por eso motivo GOOGLE, FACEBOOK, TWITTER,
 AMAZON, NASA, MICROSOFT, etc. han estado
 acelerando estos cambios.
Alto Desempeño – Tecnologías
•  Algunas Implementaciones en FLOSS:


•  Ultra Monkey (Balanceador de carga Capa 4)
•  Balance (Balanceador de carga Capa 4)
•  Zen Load Balancer (Balanceador de carga Capa 4)


•  Estos implementan balanceo a nivel TCP, dando soporte
 a múltiples servicios o protocolos
Alto Desempeño – Tecnologías
•  Pound (Proxy)
•  SQUID – Reverse Proxy
•  Varnish (Cacheador, Proxy Reverse)
•  Apache Traffic Server (gestor de trafico)
•  Apache, NGINX, Cherokee, Ligthttpd (Mod proxy reverse)
•  Apache, NGINX (Mod balanceadores de carga)


•  Estos implementan balanceo a nivel HTTP, Capa 7
Alto Desempeño – Tecnologías
•  Todo el ecosistema de servidores web, frameworks,
 Servidores de aplicaciones, etc de:
  •  PHP (Zend)
  •  JAVA
  •  PYTHON
  •  RUBY
  •  EARLANG (Nativo)


•  Middleware / SOA:
   •  Fundación APACHE
   •  JBOSS
   •  WSO2
   •  ObjectWeb
ADICIONAL
VIRTUALIZACION
Virtualización
•  La virtualización puede abstraer todo y entregar una
 maquina virtual aparentemente infinitiva.

•  AMAZON, han realizado pruebas de un ambiente con
 10.000 Nucleos

Más contenido relacionado

Destacado (20)

VêTements à Vendre
VêTements à VendreVêTements à Vendre
VêTements à Vendre
 
El Segundo Preciso
El Segundo PrecisoEl Segundo Preciso
El Segundo Preciso
 
el amor
el amorel amor
el amor
 
Modalidades de Grado
Modalidades de Grado Modalidades de Grado
Modalidades de Grado
 
Espermatozoides
EspermatozoidesEspermatozoides
Espermatozoides
 
Presentación defensa 2013
Presentación defensa 2013Presentación defensa 2013
Presentación defensa 2013
 
Bosquejo
BosquejoBosquejo
Bosquejo
 
Grecia
GreciaGrecia
Grecia
 
[At] Meilleures Images De L AnnéE 2009(2)
[At] Meilleures Images De L AnnéE 2009(2)[At] Meilleures Images De L AnnéE 2009(2)
[At] Meilleures Images De L AnnéE 2009(2)
 
Paola Jara Vilches
Paola Jara VilchesPaola Jara Vilches
Paola Jara Vilches
 
De l'usage des codes QR dans une commune
De l'usage des codes QR dans une communeDe l'usage des codes QR dans une commune
De l'usage des codes QR dans une commune
 
Seminarion16
Seminarion16Seminarion16
Seminarion16
 
INFORMATICA.
INFORMATICA. INFORMATICA.
INFORMATICA.
 
Nos partenaires et les objectifs
Nos partenaires et les objectifsNos partenaires et les objectifs
Nos partenaires et les objectifs
 
Sponsor
SponsorSponsor
Sponsor
 
Compensation produits énergétiques de base1
Compensation produits énergétiques de base1Compensation produits énergétiques de base1
Compensation produits énergétiques de base1
 
Referencement les outils de reporting
Referencement les outils de reportingReferencement les outils de reporting
Referencement les outils de reporting
 
XWiki : Evolutions 2012
XWiki : Evolutions 2012XWiki : Evolutions 2012
XWiki : Evolutions 2012
 
Rohit
RohitRohit
Rohit
 
Trabajo colaborativo vanessa torres
Trabajo colaborativo vanessa torresTrabajo colaborativo vanessa torres
Trabajo colaborativo vanessa torres
 

Similar a Flisol 2011 alta disponibilidad y alto desempeño

Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Dani Reguera Bakhache
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsDomingo Suarez Torres
 
Migrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal ServersMigrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal ServersEdwin Cruz
 
Rendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressRendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressLibreCon
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Miguel Gallardo
 
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
 
Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012Carlos Nacianceno
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAlberto Gimeno
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...OpenExpoES
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
 
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 usuariosAmazon Web Services LATAM
 
Grails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaGrails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaDomingo Suarez Torres
 
Bajandose de la nube y volviendose a subir
Bajandose de la nube y volviendose a subirBajandose de la nube y volviendose a subir
Bajandose de la nube y volviendose a subirPedro Colmenares
 

Similar a Flisol 2011 alta disponibilidad y alto desempeño (20)

Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con Grails
 
Migrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal ServersMigrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal Servers
 
Rendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressRendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPress
 
PresentacióN Tesis
PresentacióN TesisPresentacióN Tesis
PresentacióN Tesis
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
 
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...
 
Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con Redis
 
Polybase
PolybasePolybase
Polybase
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
Html5
Html5Html5
Html5
 
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
 
Escalabilidad de Websites
Escalabilidad de WebsitesEscalabilidad de Websites
Escalabilidad de Websites
 
DBA del Futuro (Un nuevo paradigma)
DBA del Futuro (Un nuevo paradigma)DBA del Futuro (Un nuevo paradigma)
DBA del Futuro (Un nuevo paradigma)
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Grails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaGrails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta carga
 
Bajandose de la nube y volviendose a subir
Bajandose de la nube y volviendose a subirBajandose de la nube y volviendose a subir
Bajandose de la nube y volviendose a subir
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
 

Último

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 JUNITMaricarmen Sánchez Ruiz
 
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 eyvanamcerpam
 
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 estossgonzalezp1
 
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.pdfvladimiroflores1
 
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.pptxMiguelAtencio10
 
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.pptxAlan779941
 
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 UninoveFagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Último (11)

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
 
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
 
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
 
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
 
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
 
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
 
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
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Flisol 2011 alta disponibilidad y alto desempeño

  • 1. ALTA DISPONIBILIDAD ALTO DESEMPEÑO Jan Andrés Restrepo crio_@hotmail.com
  • 2. DEFINICIONES “No entiendes realmente algo a menos que seas capaz de explicárselo a tu abuela” – Albert Einstein
  • 3. Definiciones •  Que es DISPONIBILIDAD? •  Que es DESEMPEÑO?
  • 4. Definiciones - Disponibilidad •  Disponibilidad esta relacionado con Dispuesto •  Dispuesto “Preparado para ser utilizado” •  POSIBILIDAD que ALGO esté preparado para un FIN. •  POSIBILIDAD se considerar como una métrica •  Entonces ALTA DISPONIBILIDAD que es?
  • 5. Definiciones - Desempeño •  Habilidad en la realización de una actividad •  Logro de objetivos o de tareas asignadas •  Eficiencia de una maquina •  Eficiencia: Capacidad de disponer de alguien o de algo para conseguir un efecto determinado •  Entonces ALTO DESEMPEÑO que es?
  • 6. Definiciones •  DISPONIBILIDAD y DESEMPEÑO se pueden considerar como una métrica? Si!
  • 7. Definiciones •  SERVICIOS •  De forma coloquial que es un Servicio? •  Actividad en donde buscan responder a las necesidades de un cliente •  Un servicio es intangible ……. Esto les suena?
  • 8. Definiciones - Servicio •  Y en informática a que se refiere por Servicio? •  Pues es lo mismo que lo anterior!! •  Un programa o un software presta servicios •  Pero por si solo un programa lo hace? o hay mas cosas en juego, cuales??
  • 10. Definiciones - Servicio •  Entonces realmente quien presta el SERVICIO??? •  Un SISTEMA con una ARQUITECTURA •  Software: •  Hardware: •  Sistemas operativos •  Servidores •  Web Servers •  Procesadores •  RDBMS •  Memoria •  Programas •  Almacenamiento •  etc. •  Redes •  etc.
  • 12. Página web estática •  Para que una página web estática, funcione sobre internet que necesitamos? •  Conexión a Internet, Dirección IP, un dominio •  Componentes de red •  Servidor físico / virtual, con sus respectivos componentes •  Sistema operativo de red / linux, windows, bsd… •  Servidor web / apache, nginx, lighttpd, IIS… •  Capacidad de almacenamiento •  Falta algo?
  • 13. Página web estática - HW StooMathiesen - http://www.flickr.com/photos/stoo57/5395413052/in/photostream/
  • 14. Página web estática •  Los anteriores componentes son requerimientos •  El software anteriormente listado tiene requerimientos, entonces nos salen “requerimientos de los requerimientos”. •  Incrementar capacidad de Procesamiento •  Incrementar capacidad de RAM •  Incrementar capacidad de Almacenamiento
  • 15. Página web estática - HW StooMathiesen - http://www.flickr.com/photos/stoo57/5395413052/in/photostream/
  • 16. Página web estática •  Ahora la pagina web estática se pone en línea!!! •  Que pasa? •  Comienza a tener visitantes •  Las visitas se reflejan en carga, ocupación, consumen recursos •  Que pasa si ingresa 1, 100, 1000, 10.000 usuarios? •  O Mas???
  • 17. Página web estática - Interno •  Que cosas suceden internamente en este servicio? 1.  Recibir solicitud por parte del usuario •  Adicionalmente se aplican: controles, verificaciones, generación de bitácoras (logs), etc. 2.  Colocar en cola 3.  Localizar el recurso 4.  Colocar el contenido en cola 5.  Presentar o enviar el contenido
  • 18. Página web estática - HW •  Incrementar de nuevo el hardware? 333 Mhz 666 Mhz 5400 RPM 1000 Mhz 7200 RPM 1333 Mhz 10000 RPM 15000 RPM 2 Mbps 10 Mbps 50 Mbps StooMathiesen - http://www.flickr.com/photos/stoo57/5395413052/in/photostream/
  • 19. Página web dinámica •  Ahora para esa misma página, se desea que sea “Dinámica e Interactiva” o que preste un servicio •  Que se necesita para ello?? •  Se debe programar! … en que? •  PHP •  RUBY •  PYTHON •  DOT NET •  JAVA •  Base de datos •  Falta Algo?
  • 20. Página web dinámica - Interno •  Adicionalmente que ocurre en este nuevo servicio? 1.  Recibir solicitud por parte del usuario •  adicionales como: controles, verificaciones, generación de bitácoras (logs), etc. 2.  Colocar en cola 3.  Localizar el recurso 4.  Colocar el contenido en cola 5.  Presentar o enviar el contenido
  • 21. Página web dinámica - Interno •  Adicionalmente que ocurre en este nuevo servicio? 1.  Recibir solicitud por parte del usuario •  adicionales como: controles, verificaciones, generación de bitácoras (logs), etc. 2.  Colocar en cola 3.  Localizar el recurso 4.  PROCESAR – Ejecutar el programa especifico 5.  Colocar el contenido en cola 6.  Presentar o enviar el contenido
  • 22. Página web dinámica - HW •  Que pasa con el hardware que tengo? StooMathiesen - http://www.flickr.com/photos/stoo57/5395413052/in/photostream/
  • 23. Crecimiento de HW •  Un buen ejemplo: Los video juegos de PC!!!
  • 24. Crecimiento de HW •  Un buen ejemplo: Los video juegos de PC!!!
  • 25. Crecimiento de HW •  En arquitectura de computo esto se le conoce como: CRECIMIENTO VERTICAL •  Tiene limite el crecimiento vertical? El tecnológico Actual
  • 26. Algo anda Mal? •  Reflexionando, algo parece estar mal? •  Que puede ser? •  El desempeño actual no es el deseado o el optimo •  Se queda corto?
  • 27. Algo anda Mal? •  Cuales son las posibles razones? u  El software base puede estar fallando u  No estará bien configurado u  No estará bien optimizado u  No es el correcto para el propósito deseado? u  Será que nuestro programa esta mal desarrollado? u  Será que la arquitectura seleccionada esta fallando?
  • 33. Cifras – facebook.com •  + de 500’000.000 de usuarios registrados (2011) •  Usuarios tienen Actividad de 20 minutos por día •  5.000’000.000 de objetos digitales compartidos por semana •  3.000’000.000 imágenes cargadas por mes
  • 34. Cifras – facebook.com •  250 aplicaciones poseen mas 1’000.000 de usuarios al mes •  80.000 aplicaciones conectadas •  500.000 aplicaciones •  2’000.000 desarrolladores registrados •  150’000.000 operaciones por segundo de memcache
  • 35. Cifras – facebook.com •  Miles de servidores de memcache con 10TB de almacenamiento •  200.000 eventos por segundo •  20.000’000.000 de eventos por día •  13’000.000 de queries por segundo •  Respuestas de los Query: 4ms lectura, 5ms escritura •  Picos de 38 GBps de transferencia de datos
  • 36. Cifras – facebook.com •  Lenguaje de programación base: PHP •  Base de datos inicial MYSQL •  Base de datos actual CASSANDRA •  Web server propio escrito en PHP •  Y otro montón de tecnologías usadas •  Según estimaciones poseen mas de 60.000 servidores
  • 37. Cifras – facebook.com •  Según estimaciones poseen mas de 60.000 servidores
  • 38. Cifras - Google •  Google, el ultimo fallo de perdida de información •  Mas de 300.000 cintas de backup LTO2 •  LTO2 (200 GB) •  Total de: 60.000.000 GB = 58.000 TB = 57 PB
  • 40. Los problemas de un servicio •  Cuales son los dos principales problemas que se deben resolver para prestar un servicio en línea (eso si excluyendo la seguridad) 1.  Que el servicio siempre este ahí, que funcione, que no este por fuera!, que no se caiga! 2.  Que le quepa toda la gente!, que funcione de forma veloz!, que atienda a tiempo!, que no sea lentejo!
  • 41. Los problemas de un servicio •  Que soluciona esos dos inconvenientes? 1.  Alta disponibilidad 2.  Alto desempeño
  • 43. Alta disponibilidad •  Buscar asegurar un cierto grado absoluto de continuidad operacional durante un período de medición dado •  Esto se logra aplicando REDUNDANCIA •  Pero a un servicio se puede considerar REDUNDANCIA OPERACIONAL
  • 44. Alta disponibilidad - Redundancia •  Ya antes se ha logrado redundancia pero en componentes: •  Fuentes redundantes •  Alimentación redundante •  UPS redundantes •  Memoria redundante •  Almacenamiento redundante •  NICs redundantes •  Estos componentes poseen historial de fallas
  • 45. Alta disponibilidad - Redundancia
  • 46. Alta disponibilidad – Como? •  Hasta ahora la alta REDUNDANCIA seria administrada de forma MANUAL •  Que se requiere para que sea TRASNPARANTE o AUTOMATICA? •  Todo debe estar UNIFICADO •  Procesos Unificados (Comunicación) •  Sub servicios Unificados (Comunicación) •  Almacenamiento Unificado •  Hasta llegado el caso de tener la “mente compartida”
  • 47. Alta disponibilidad – Como? •  Técnicas, Tecnologías, o Herramientas •  Comunicación entre todos los actores •  Comunicar que “estamos vivos” •  Comunicar que hacemos •  Se busca comportarse como un uno solo
  • 48. Alta disponibilidad – Como? •  Almacenamiento Unificado •  Se puede manejar: •  Externalizándolo •  SAN (Storaga Area Network) •  Fiber Channel •  iSCSI •  Servidor de Almacenamiento •  iSCSI •  NFS •  CIFS
  • 49. Alta disponibilidad – Como? •  Almacenamiento Unificado •  Compartiéndolo •  Sistemas de archivos dispersos por la RED •  Servidores independientes de sistemas de archivos. o •  Los mismos servidores comparten su almacenamiento
  • 50. Alta disponibilidad - Redundancia
  • 52. Alta Disponibilidad - Ideal •  No todo es perfecto, solo algunos lo pueden hacer de forma nativa y transparente: •  Java (Lenguaje de programación y arquitectura) •  Tomcat (Web Server – application server) •  Glassfish (Web Server – application server) •  JBOSS (Plataforma) •  Dot Net •  RUBY (Solo su ecosistema) •  PHP + Zend (Solo su ecosistema) •  PHP de facebook (servidor propio hecho en PHP) •  Erlang (Solo su ecosistema)
  • 53. Alta Disponibilidad - Ideal •  RDBMS que soportan ALTA DISPONIBILIDAD MYSQL / MariaDB / Percona / Drizzle PostgreSQL Ingres VoltDB FrontBase SciMore Cubrid
  • 54. Alta Disponibilidad - Ideal •  Base de datos NO RELACIONALES •  Estas nacen de la necesidad de almacenar CANTIDADES GIGANTESCAS DE INFORMACION •  Su característica primordial: Ser DISTRIBUIDAS SimpleDB (Amazon) Hadoop – Hbase (facebook) Cassandra (Facebook) FlockDB (Twitter) Hypertable
  • 55. Alta Disponibilidad - Ideal •  Base de datos NO RELACIONALES Apache Jackrabbit CouchDB MongoDB OrientDB Terrastore RavenDB Voldemort Sones SciDB
  • 56. Alta Disponibilidad - Ideal •  Sistemas de archivos en red distribuidos (o en cluster) Ceph dCache Diaser GFS GlusterFS Lustre MooseFS OCFS2 (Oracle) OpenAFS Tahoe - LAFS
  • 57. Alta Disponibilidad – La realidad •  Actualmente NO todo el FLOSS que presta servicios online soporta nativamente la alta disponibilidad. •  Apache, es un ejemplo!! •  Pero tiene solución!! •  La solución esta basada en el mismo ecosistema que existe alrededor del FLOSS •  El sistema operativo debe hacerlo.
  • 58. Alta Disponibilidad – La Solución •  Para que nuestro servicio soporte ALTA DISPONIBILIDAD nos toca DARLE UNA MANITO •  Esto conlleva: •  Nuevos elementos en juego / Mas componentes / Mas servicios •  Consumo de mas recursos •  Mas monitoreo •  Mas puntos de falla (posiblemente) •  Cuesta hacerlo pero su precio se paga en beneficios
  • 59. Alta Disponibilidad – La Solución •  Dentro del Ecosistema FLOSS existen dos componentes: •  DRDB •  Linux-HA / Pacemaker (OpenAIS) •  Ellos dotan al SISTEMA OPERATIVO de ALTA DISPONIBILIDAD
  • 60. Alta Disponibilidad – DRDB •  DRDB, su objetivo sincronizar bloques
  • 61. Alta Disponibilidad – Linux-HA •  Su objetivo entregar un conjunto de componentes que permita la construcción de BLOQUES de computo CLUSTERS DE ALTA DISPONIBILIDAD •  Gestiona la comunicación •  Gestiona la pertenencia (Membresía) •  Gestiona y monitorea los recursos (CRM – Cluster Resource Manager)
  • 66. Alto Desempeño •  El crecimiento vertical posee un limite •  Los recursos físicos fijan un limite en prestación del servicio •  Ejemplos: •  Cantidad de información a almacenar •  Cantidad de información a procesar •  Cantidad de información a transferir •  Cantidad de usuarios que se pueden atender •  Los servicios deben de funcionar pero con unos tiempos de respuesta y desempeños deseados
  • 67. Alto Desempeño •  Como se obtiene? •  Existen dos soluciones: 1.  Revisando de nuevo que pasa al interior de nuestro Software (No hay que ser voraces) •  Optimizando código •  Aplicando nuevas estrategias y tecnologías (NOSQL) 2.  Buscar ESCALABILIDAD •  En infraestructura base – Hardware, SO , Servicios •  Desarrollando con enfoque a Middleware / SOA
  • 68. Alto Desempeño - Escalabilidad •  El crecimiento ya sucede de forma HORIZONTAL •  Objetivo: atender MUCHOS USARIOS con CALIDAD
  • 69. Alta Desempeño – Que ocurre?
  • 70. Alto Desempeño – Solución •  La solución esta netamente asociada a la ARQUITECTURA Seleccionada •  Tanto de Infraestructura FISICA como LOGICA •  Listado de Tecnologías que se pueden usar:
  • 71. Alto Desempeño – Tecnologías •  Balanceadores de Carga (Load Balancers) •  Despachadores •  Round Robin DNS (Técnica, configuración) •  CDN (Content Delivery Network) •  Almacenamiento •  NAS •  SAN •  Sistema de archivos distribuidos •  Base de Datos NO Relacionales (NOSQL)
  • 72. Alto Desempeño – Tecnologías •  Desarrollando: •  Data Partitioning (Particionado de datos) •  Map Reduce (Batch parallel procesing) •  Cache Engine (Cache Dinámico) DATA y WEB •  Resource Pool •  DBSession (Conexiones TCP son costosas de crear, se debe reutilizar) •  Calcular un resultado aproximado •  Filtrar desde la fuente •  Procesos Asincrónicos (Callback y Polling) •  Cambiar de lenguajes interpretados a compilados o nativos
  • 73. Alto Desempeño – Tecnologías Y cualquier otra cosa que sirva!!!!! •  Por eso motivo GOOGLE, FACEBOOK, TWITTER, AMAZON, NASA, MICROSOFT, etc. han estado acelerando estos cambios.
  • 74. Alto Desempeño – Tecnologías •  Algunas Implementaciones en FLOSS: •  Ultra Monkey (Balanceador de carga Capa 4) •  Balance (Balanceador de carga Capa 4) •  Zen Load Balancer (Balanceador de carga Capa 4) •  Estos implementan balanceo a nivel TCP, dando soporte a múltiples servicios o protocolos
  • 75. Alto Desempeño – Tecnologías •  Pound (Proxy) •  SQUID – Reverse Proxy •  Varnish (Cacheador, Proxy Reverse) •  Apache Traffic Server (gestor de trafico) •  Apache, NGINX, Cherokee, Ligthttpd (Mod proxy reverse) •  Apache, NGINX (Mod balanceadores de carga) •  Estos implementan balanceo a nivel HTTP, Capa 7
  • 76. Alto Desempeño – Tecnologías •  Todo el ecosistema de servidores web, frameworks, Servidores de aplicaciones, etc de: •  PHP (Zend) •  JAVA •  PYTHON •  RUBY •  EARLANG (Nativo) •  Middleware / SOA: •  Fundación APACHE •  JBOSS •  WSO2 •  ObjectWeb
  • 78. Virtualización •  La virtualización puede abstraer todo y entregar una maquina virtual aparentemente infinitiva. •  AMAZON, han realizado pruebas de un ambiente con 10.000 Nucleos