SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
1
Alta disponibiliad y
escalabilidad
1
Tema 2
Pedro A. Castillo Valdivieso
Depto Arquitectura y Tecnología de Computadores
Universidad de Granada
pacv@ugr.es
Índice
Introducción
Concepto de alta disponibilidad
Concepto de escalabilidad
Escalar un sitio web
Conclusiones
2
2
Introducción
disponibilidad escalabilidad
conceptos más importantes al diseñar una granja web
3
Introducción
Nuestros servidores deben dar el mejor servicio a todos los
usuarios y deben estar todo el tiempo disponible (24/7).
•  Disponibilidad
•  Escalabilidad
•  Balanceo de carga
4
3
Índice
Introducción
Concepto de alta disponibilidad
Concepto de escalabilidad
Escalar un sitio web
Conclusiones
5
Alta disponibilidad
http://www.isitdownrightnow.com/
6
4
Alta disponibilidad
Mala impresión al entrar en un sitio y está caído.
Esperamos que una web esté disponible siempre.
Disponibilidad: capacidad de aceptar visitas las 24h todos
los días.
7
Alta disponibilidad
Cuando un sitio no está disponible se dice que se ha caído o
sufre un problema de no-disponibilidad:
•  Tiempo de no-disponibilidad programado.
•  Tiempo de no-disponibilidad no programado.
Sólo debería haber ”tiempos de no-disponibilidad
programados” (y lo más cortos posibles)
actualizaciones del SO, de aplicaciones o de hardware
8
5
Alta disponibilidad
Medir la disponibilidad dando un porcentaje.
Escala “punto nueve”:
100 – (tiempoCaido / periodoTiempo) * 100!
Por ejemplo:
caída de 1h en un día -> 95.83333% de disponibilidad
caída de 1h en una semana -> 99.404% de disponibilidad
Lo ideal es tener un 100% de disponibilidad.
9
Alta disponibilidad
Un 100% de disponibilidad es no sufrir caídas no-programadas
Los sitios web se conforman con alcanzar un 99.9% ó 99.99%
10
6
Alta disponibilidad
¿Cómo se consigue mejorar la disponibilidad?
El uso de subsistemas redundantes y monitorizarlos mejora
la disponibilidad del sistema global.
Surgen conceptos derivados:
–  disponibilidad de red
–  disponibilidad de servidor
–  disponibilidad de aplicación
Si la disponibilidad de red es baja, quizás haya que mejorar
el ancho de banda, y no tenga sentido centrar esfuerzos en
mejorar las aplicaciones.
11
Alta disponibilidad
Ejercicio:
Buscar frameworks y librerías para diferentes lenguajes que
permitan hacer aplicaciones altamente disponibles con
relativa facilidad.
Como ejemplo, examina PM2
https://github.com/Unitech/pm2
que sirve para administrar clústeres de NodeJS.
12
7
Índice
Introducción
Concepto de alta disponibilidad
Concepto de escalabilidad
Escalar un sitio web
Conclusiones
13
Escalabilidad
Cuando una persona sufre estrés, su capacidad para afrontar
tareas se ve mermada.
Cuando un sistema experimenta estrés, su capacidad para
dar servicio también se ve afectada.
14
8
Escalabilidad
Incremento del nivel de estrés:
•  Cambios en las aplicaciones
•  Fallos o caídas de algunas partes del sistema
•  Incremento del número de máquinas
•  Incremento repentino del número de usuarios del sitio
La escalabilidad se refiere a la capacidad de un sistema de
manejar la carga, y el esfuerzo para adaptarse al nuevo
nivel de carga.
15
Escalabilidad
escalabilidad = capacidad de un sistema de manejar la
carga, y el esfuerzo para adaptarse al nuevo nivel de carga
http://bit.ly/Z2II1G
16
Menorimpactoenescalabilidad
Optimización del hardware
Optimización del producto
Optimización del código
Diseño
9
Escalabilidad
Si un sitio gana popularidad, o si llega una fecha señalada,
puede incrementarse su carga.
Para manejar esa carga, las empresas tienen más servidores
de los necesarios normalmente.
Decidir cómo añadir más recursos al sistema web es crucial
en el diseño inicial y en el mantenimiento.
En ocasiones, si la CPU del servidor está al 95% todo el
tiempo, cambiándola puede ser suficiente para cierto nivel
de carga. Pero si más adelante hay más carga, será
insuficiente.
17
Escalabilidad
Vemos que hay dos tipos de escalado:
•  Ampliación vertical:
incrementar la RAM, CPU, disco de un servidor.
•  Ampliación horizontal:
añadir máquinas a algún subsistema (servidores web,
servidores de datos, etc).
En ocasiones una ampliación vertical puede ser suficiente.
18
10
Escalabilidad
¿Cómo analizar la sobrecarga?
•  Si la CPU está cerca del 100% todo el rato y el resto de
subsistemas no está sobrecargado, sustituir por una CPU
más potente.
•  Si el uso de RAM es muy alto, veremos un uso alto de disco
(por swapping). Incrementando la cantidad de RAM
mejoraremos el rendimiento.
•  Un ancho de banda insuficiente afectará al rendimiento.
Contratando una mejor conexión será suficiente.
19
Escalabilidad
Ejercicio:
¿Cómo analizar el nivel de carga de cada uno de los
subsistemas en el servidor?
Buscar herramientas y aprender a usarlas.
...¡o recordar cómo usarlas!
20
11
Índice
Introducción
Concepto de alta disponibilidad
Concepto de escalabilidad
Escalar un sitio web
Conclusiones
21
Escalar un sitio web
Tenemos que configurar tres niveles:
–  máquinas como servidores web
–  aplicaciones
–  almacenamiento
22
12
Escalar un sitio web
El nivel web se puede configurar balanceando la carga:
•  uso de una máquina
con software específico
23
Web01 Web03Web02
Balanceo de la carga
Sitio web
Escalar un sitio web
También se puede usar un balanceador hardware:
•  Local Director (Cisco)
•  ServerIron (Foundry)
•  BigIP (F5)
24
Web01 Web03Web02
Balanceo de la carga
por hardware
Sitio web
13
Escalar un sitio web
El balanceador pasa peticiones a los servidores según el
tráfico de la red.
Hay varios algoritmos para decidir qué máquina final servirá
cada petición:
–  Por turnos (round-robin)
–  Según el menor número de conexiones
–  Por ponderación
–  Por prioridad
–  Según el tiempo de respuesta
25
Escalar un sitio web
Escalar el nivel de aplicaciones requiere diseñar el
software pensando en que se ejecute en varios servidores:
•  Paralelismo
•  Transparencia de ubicación: no debe haber dependencia de
una máquina concreta para ejecutarse la aplicación.
Es importante diseñar las aplicaciones desde el principio
para que se ejecuten en varios servidores.
Adaptar posteriormente una aplicación dependiente de
cierto servidor puede ser costoso.
26
14
Escalar un sitio web
Escalar el nivel de almacenamiento es complejo y depende
del tipo de servicios a ofrecer:
•  LDAP: Protocolo Ligero de Acceso a Directorios
•  NFS: Sistema de archivos de red
•  Bases de datos
Cada uno de estos mecanismos suele requerir mecanismos y
configuraciones diferentes.
27
Escalar un sitio web
Ejercicio:
Buscar ejemplos de balanceadores software y hardware
(productos comerciales).
Buscar productos comerciales para servidores de
aplicaciones.
Buscar productos comerciales para servidores de
almacenamiento.
28
15
Índice
Introducción
Concepto de alta disponibilidad
Concepto de escalabilidad
Escalar un sitio web
Conclusiones
29
Conclusiones
Conceptos clave: escalabilidad y alta disponibilidad.
Monitorización para detectar problemas y determinar
posibles mejoras del sitio web.
La escalabilidad se suele implementar replicando
servidores para las mismas tareas.
Conseguir disponibilidad y escalabilidad mediante
balanceo de carga.
30

Contenu connexe

Tendances

Alta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxAlta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxJavier Turégano Molina
 
Proyecto Servidor 1103 Martinez Rodriguez 1103 [Recuperado]
Proyecto Servidor 1103 Martinez Rodriguez 1103 [Recuperado]Proyecto Servidor 1103 Martinez Rodriguez 1103 [Recuperado]
Proyecto Servidor 1103 Martinez Rodriguez 1103 [Recuperado]GLORIA ALEJANDRA
 
Alta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatAlta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatDavid Acevedo
 
Cluster sql server
Cluster sql serverCluster sql server
Cluster sql serverorellana_22
 
Itranser Virtualizacion (Vmware y Cloud Services)
Itranser  Virtualizacion (Vmware y Cloud Services)Itranser  Virtualizacion (Vmware y Cloud Services)
Itranser Virtualizacion (Vmware y Cloud Services)EuropeSIP Communications SL
 
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...EAE
 
Manual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en DebianManual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en Debianlavp28
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerNelson Calero
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Nelson Calero
 
Guías y recomendaciones para instalar y configurar clusters de sql server
Guías y recomendaciones para instalar y configurar clusters de sql serverGuías y recomendaciones para instalar y configurar clusters de sql server
Guías y recomendaciones para instalar y configurar clusters de sql serverEnrique Catala Bañuls
 
Sql server cluster
Sql server clusterSql server cluster
Sql server clusterjo_unwell
 

Tendances (20)

Clúster de alta Disponibilidad
Clúster de alta DisponibilidadClúster de alta Disponibilidad
Clúster de alta Disponibilidad
 
Servidor web nginx
Servidor web nginxServidor web nginx
Servidor web nginx
 
Pruebas del servicio web
Pruebas del servicio webPruebas del servicio web
Pruebas del servicio web
 
Protocol HTTP
Protocol HTTPProtocol HTTP
Protocol HTTP
 
Aspectos nodejs
Aspectos nodejsAspectos nodejs
Aspectos nodejs
 
Servidores web: cloud
Servidores web: cloudServidores web: cloud
Servidores web: cloud
 
Alta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxAlta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en Linux
 
Proyecto Servidor 1103 Martinez Rodriguez 1103 [Recuperado]
Proyecto Servidor 1103 Martinez Rodriguez 1103 [Recuperado]Proyecto Servidor 1103 Martinez Rodriguez 1103 [Recuperado]
Proyecto Servidor 1103 Martinez Rodriguez 1103 [Recuperado]
 
Apache
Apache Apache
Apache
 
Alta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatAlta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeat
 
Cluster sql server
Cluster sql serverCluster sql server
Cluster sql server
 
Itranser Virtualizacion (Vmware y Cloud Services)
Itranser  Virtualizacion (Vmware y Cloud Services)Itranser  Virtualizacion (Vmware y Cloud Services)
Itranser Virtualizacion (Vmware y Cloud Services)
 
Clústers Alta Disponibilidad
Clústers Alta DisponibilidadClústers Alta Disponibilidad
Clústers Alta Disponibilidad
 
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
 
Manual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en DebianManual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en Debian
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con Pacemaker
 
Cluster de alta disponibilidad con corosync, pacemaker & apache2
Cluster de alta disponibilidad con corosync, pacemaker & apache2Cluster de alta disponibilidad con corosync, pacemaker & apache2
Cluster de alta disponibilidad con corosync, pacemaker & apache2
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
 
Guías y recomendaciones para instalar y configurar clusters de sql server
Guías y recomendaciones para instalar y configurar clusters de sql serverGuías y recomendaciones para instalar y configurar clusters de sql server
Guías y recomendaciones para instalar y configurar clusters de sql server
 
Sql server cluster
Sql server clusterSql server cluster
Sql server cluster
 

Similaire à Servidores web de altas prestaciones. Tema 2

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
 
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.EtiCAGNU
 
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
 
Desarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalablesDesarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalablesGlobant
 
Granja de servidores web
Granja de servidores webGranja de servidores web
Granja de servidores webOtto Valdez
 
Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Erick Cerna
 
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)Micael Gallego
 
Servidores REDES EMERGENTES MATERIA
Servidores REDES EMERGENTES MATERIAServidores REDES EMERGENTES MATERIA
Servidores REDES EMERGENTES MATERIAVicTorx D. Rko
 
Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor Erivan Martinez Ovando
 
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
 
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
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidorJonathan
 

Similaire à Servidores web de altas prestaciones. Tema 2 (20)

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
 
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
 
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 ...
 
Escalabilidad de Websites
Escalabilidad de WebsitesEscalabilidad de Websites
Escalabilidad de Websites
 
Desarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalablesDesarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalables
 
Granja de servidores web
Granja de servidores webGranja de servidores web
Granja de servidores web
 
Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"
 
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
 
3 plate spin 24-10-06
3 plate spin 24-10-063 plate spin 24-10-06
3 plate spin 24-10-06
 
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?
 
Tuning Lamp
Tuning LampTuning Lamp
Tuning Lamp
 
Servidores REDES EMERGENTES MATERIA
Servidores REDES EMERGENTES MATERIAServidores REDES EMERGENTES MATERIA
Servidores REDES EMERGENTES MATERIA
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Nuevas tendencias
Nuevas tendenciasNuevas tendencias
Nuevas tendencias
 
Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor
 
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...
 
LAN
LANLAN
LAN
 
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
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 

Plus de pacvslideshare

Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)pacvslideshare
 
Finding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository miningFinding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository mining pacvslideshare
 
Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)pacvslideshare
 
Cloud Computing. Contenedores
Cloud Computing. ContenedoresCloud Computing. Contenedores
Cloud Computing. Contenedorespacvslideshare
 
Cloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. VagrantCloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. Vagrantpacvslideshare
 
Cloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. AnsibleCloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. Ansiblepacvslideshare
 
Cloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionesCloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionespacvslideshare
 
Cloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM BluemixCloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM Bluemixpacvslideshare
 
Cloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. AzureCloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. Azurepacvslideshare
 
Cloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemuCloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemupacvslideshare
 
Cloud Computing. Virtualización
Cloud Computing. VirtualizaciónCloud Computing. Virtualización
Cloud Computing. Virtualizaciónpacvslideshare
 
Cloud Computing. Presentación general
Cloud Computing. Presentación generalCloud Computing. Presentación general
Cloud Computing. Presentación generalpacvslideshare
 
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...pacvslideshare
 
Experimentación con algoritmos distribuidos usando herramientas libres y grat...
Experimentación con algoritmos distribuidos usando herramientas libres y grat...Experimentación con algoritmos distribuidos usando herramientas libres y grat...
Experimentación con algoritmos distribuidos usando herramientas libres y grat...pacvslideshare
 
Estudio de los indicadores de exposición al riesgo mediante un sistema de mon...
Estudio de los indicadores de exposición al riesgo mediante un sistema de mon...Estudio de los indicadores de exposición al riesgo mediante un sistema de mon...
Estudio de los indicadores de exposición al riesgo mediante un sistema de mon...pacvslideshare
 
Adaptando algoritmos evolutivos paralelos al lenguaje funcional Erlang
Adaptando algoritmos evolutivos paralelos al lenguaje funcional ErlangAdaptando algoritmos evolutivos paralelos al lenguaje funcional Erlang
Adaptando algoritmos evolutivos paralelos al lenguaje funcional Erlangpacvslideshare
 
Cec2010 presentacion v20jl
Cec2010 presentacion v20jlCec2010 presentacion v20jl
Cec2010 presentacion v20jlpacvslideshare
 

Plus de pacvslideshare (19)

Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
Aplicaciones de comunicación e interacción con los estudiantes (Telegram)
 
Finding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository miningFinding self-organized criticality in collaborative work via repository mining
Finding self-organized criticality in collaborative work via repository mining
 
Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)Herramientas tic en docencia (2016)
Herramientas tic en docencia (2016)
 
Cloud Computing. Contenedores
Cloud Computing. ContenedoresCloud Computing. Contenedores
Cloud Computing. Contenedores
 
Cloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. VagrantCloud Computing. Gestión de configuraciones. Vagrant
Cloud Computing. Gestión de configuraciones. Vagrant
 
Cloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. AnsibleCloud Computing. Gestión de configuraciones. Ansible
Cloud Computing. Gestión de configuraciones. Ansible
 
Cloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuracionesCloud Computing. Gestión de configuraciones
Cloud Computing. Gestión de configuraciones
 
Cloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM BluemixCloud Computing. Virtualización. IBM Bluemix
Cloud Computing. Virtualización. IBM Bluemix
 
Cloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. AzureCloud Computing. Virtualización. Azure
Cloud Computing. Virtualización. Azure
 
Cloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemuCloud Computing. Virtualización. qemu
Cloud Computing. Virtualización. qemu
 
Cloud Computing. Virtualización
Cloud Computing. VirtualizaciónCloud Computing. Virtualización
Cloud Computing. Virtualización
 
Cloud Computing. Presentación general
Cloud Computing. Presentación generalCloud Computing. Presentación general
Cloud Computing. Presentación general
 
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
Predicción de tráfico mediante co-evolución de Redes Neuronales de Funciones ...
 
Experimentación con algoritmos distribuidos usando herramientas libres y grat...
Experimentación con algoritmos distribuidos usando herramientas libres y grat...Experimentación con algoritmos distribuidos usando herramientas libres y grat...
Experimentación con algoritmos distribuidos usando herramientas libres y grat...
 
Estudio de los indicadores de exposición al riesgo mediante un sistema de mon...
Estudio de los indicadores de exposición al riesgo mediante un sistema de mon...Estudio de los indicadores de exposición al riesgo mediante un sistema de mon...
Estudio de los indicadores de exposición al riesgo mediante un sistema de mon...
 
Adaptando algoritmos evolutivos paralelos al lenguaje funcional Erlang
Adaptando algoritmos evolutivos paralelos al lenguaje funcional ErlangAdaptando algoritmos evolutivos paralelos al lenguaje funcional Erlang
Adaptando algoritmos evolutivos paralelos al lenguaje funcional Erlang
 
Iwann2011 gpus
Iwann2011 gpusIwann2011 gpus
Iwann2011 gpus
 
Optimizando EAs
Optimizando EAsOptimizando EAs
Optimizando EAs
 
Cec2010 presentacion v20jl
Cec2010 presentacion v20jlCec2010 presentacion v20jl
Cec2010 presentacion v20jl
 

Dernier

PROGRAMA-XI-SEMANA-DE-LAS-LETRAS-2024.pdf
PROGRAMA-XI-SEMANA-DE-LAS-LETRAS-2024.pdfPROGRAMA-XI-SEMANA-DE-LAS-LETRAS-2024.pdf
PROGRAMA-XI-SEMANA-DE-LAS-LETRAS-2024.pdfFRANCISCO PAVON RABASCO
 
8. ¡Promoviendo la Paternidad Responsable en La Recoleta!
8. ¡Promoviendo la Paternidad Responsable en La Recoleta!8. ¡Promoviendo la Paternidad Responsable en La Recoleta!
8. ¡Promoviendo la Paternidad Responsable en La Recoleta!ProfesorGualberto
 
EVALUACIÓN DIAGNÓSTICA DPCC 33 y 4°.docx
EVALUACIÓN DIAGNÓSTICA DPCC 33 y 4°.docxEVALUACIÓN DIAGNÓSTICA DPCC 33 y 4°.docx
EVALUACIÓN DIAGNÓSTICA DPCC 33 y 4°.docxHermesMedinaMoran
 
El_ideal_de_Nación-En_Miguel-Triana[1].pdf
El_ideal_de_Nación-En_Miguel-Triana[1].pdfEl_ideal_de_Nación-En_Miguel-Triana[1].pdf
El_ideal_de_Nación-En_Miguel-Triana[1].pdfAngel David Guerrero
 
9. ¡Promoviendo la Paternidad Responsable en La Recoleta!
9. ¡Promoviendo la Paternidad Responsable en La Recoleta!9. ¡Promoviendo la Paternidad Responsable en La Recoleta!
9. ¡Promoviendo la Paternidad Responsable en La Recoleta!ProfesorGualberto
 
Lengua Y Literatura 8 Básico 2024 pdfyyy
Lengua Y Literatura 8 Básico 2024 pdfyyyLengua Y Literatura 8 Básico 2024 pdfyyy
Lengua Y Literatura 8 Básico 2024 pdfyyyDidiexy1
 
MIINISTERIO DE EDUCACIÓN prueba-diagnostica-lectura TERCERO DE SECUNDARIA
MIINISTERIO DE EDUCACIÓN prueba-diagnostica-lectura TERCERO DE SECUNDARIAMIINISTERIO DE EDUCACIÓN prueba-diagnostica-lectura TERCERO DE SECUNDARIA
MIINISTERIO DE EDUCACIÓN prueba-diagnostica-lectura TERCERO DE SECUNDARIANELLYKATTY
 
Dia internacional de peliculas iberoamericanas.pptx
Dia internacional de peliculas iberoamericanas.pptxDia internacional de peliculas iberoamericanas.pptx
Dia internacional de peliculas iberoamericanas.pptxxc025079
 
BLAS DE OTERO PRESENTACION PUERTAS ABIERTAS.pdf
BLAS DE OTERO PRESENTACION PUERTAS ABIERTAS.pdfBLAS DE OTERO PRESENTACION PUERTAS ABIERTAS.pdf
BLAS DE OTERO PRESENTACION PUERTAS ABIERTAS.pdfcpblasdeotero
 
Actividades El Hombrecito de jengibre.pdf
Actividades El Hombrecito de jengibre.pdfActividades El Hombrecito de jengibre.pdf
Actividades El Hombrecito de jengibre.pdfDaiaJansen
 
10. ¡Promoviendo la Paternidad Responsable en La Recoleta!
10. ¡Promoviendo la Paternidad Responsable en La Recoleta!10. ¡Promoviendo la Paternidad Responsable en La Recoleta!
10. ¡Promoviendo la Paternidad Responsable en La Recoleta!ProfesorGualberto
 
Lengua Y Literatura 8 Básico 2024 pdfghh
Lengua Y Literatura 8 Básico 2024 pdfghhLengua Y Literatura 8 Básico 2024 pdfghh
Lengua Y Literatura 8 Básico 2024 pdfghhDidiexy1
 
11. ¡Promoviendo la Paternidad Responsable en La Recoleta!
11. ¡Promoviendo la Paternidad Responsable en La Recoleta!11. ¡Promoviendo la Paternidad Responsable en La Recoleta!
11. ¡Promoviendo la Paternidad Responsable en La Recoleta!ProfesorGualberto
 
PROYECTO PRIMAVERA NUMERICA PARA PREESCOLAR.pptx
PROYECTO PRIMAVERA NUMERICA PARA PREESCOLAR.pptxPROYECTO PRIMAVERA NUMERICA PARA PREESCOLAR.pptx
PROYECTO PRIMAVERA NUMERICA PARA PREESCOLAR.pptxMarthaAlejandraHerna1
 
7. ¡Promoviendo la Paternidad Responsable en La Recoleta!
7. ¡Promoviendo la Paternidad Responsable en La Recoleta!7. ¡Promoviendo la Paternidad Responsable en La Recoleta!
7. ¡Promoviendo la Paternidad Responsable en La Recoleta!ProfesorGualberto
 
UNIDAD DE APRENIZAJE CERO QUINTO GRADO - 2024.docx
UNIDAD DE APRENIZAJE CERO QUINTO GRADO - 2024.docxUNIDAD DE APRENIZAJE CERO QUINTO GRADO - 2024.docx
UNIDAD DE APRENIZAJE CERO QUINTO GRADO - 2024.docxGLADYSP4
 

Dernier (20)

PROGRAMA-XI-SEMANA-DE-LAS-LETRAS-2024.pdf
PROGRAMA-XI-SEMANA-DE-LAS-LETRAS-2024.pdfPROGRAMA-XI-SEMANA-DE-LAS-LETRAS-2024.pdf
PROGRAMA-XI-SEMANA-DE-LAS-LETRAS-2024.pdf
 
8. ¡Promoviendo la Paternidad Responsable en La Recoleta!
8. ¡Promoviendo la Paternidad Responsable en La Recoleta!8. ¡Promoviendo la Paternidad Responsable en La Recoleta!
8. ¡Promoviendo la Paternidad Responsable en La Recoleta!
 
EVALUACIÓN DIAGNÓSTICA DPCC 33 y 4°.docx
EVALUACIÓN DIAGNÓSTICA DPCC 33 y 4°.docxEVALUACIÓN DIAGNÓSTICA DPCC 33 y 4°.docx
EVALUACIÓN DIAGNÓSTICA DPCC 33 y 4°.docx
 
El_ideal_de_Nación-En_Miguel-Triana[1].pdf
El_ideal_de_Nación-En_Miguel-Triana[1].pdfEl_ideal_de_Nación-En_Miguel-Triana[1].pdf
El_ideal_de_Nación-En_Miguel-Triana[1].pdf
 
9. ¡Promoviendo la Paternidad Responsable en La Recoleta!
9. ¡Promoviendo la Paternidad Responsable en La Recoleta!9. ¡Promoviendo la Paternidad Responsable en La Recoleta!
9. ¡Promoviendo la Paternidad Responsable en La Recoleta!
 
Lengua Y Literatura 8 Básico 2024 pdfyyy
Lengua Y Literatura 8 Básico 2024 pdfyyyLengua Y Literatura 8 Básico 2024 pdfyyy
Lengua Y Literatura 8 Básico 2024 pdfyyy
 
MIINISTERIO DE EDUCACIÓN prueba-diagnostica-lectura TERCERO DE SECUNDARIA
MIINISTERIO DE EDUCACIÓN prueba-diagnostica-lectura TERCERO DE SECUNDARIAMIINISTERIO DE EDUCACIÓN prueba-diagnostica-lectura TERCERO DE SECUNDARIA
MIINISTERIO DE EDUCACIÓN prueba-diagnostica-lectura TERCERO DE SECUNDARIA
 
El anhelo de Dios en Sion, porque nos ama
El anhelo de Dios en Sion, porque nos amaEl anhelo de Dios en Sion, porque nos ama
El anhelo de Dios en Sion, porque nos ama
 
El anhelo de Dios en Sion (Sesión de clase)
El anhelo de Dios en Sion (Sesión de clase)El anhelo de Dios en Sion (Sesión de clase)
El anhelo de Dios en Sion (Sesión de clase)
 
Dia internacional de peliculas iberoamericanas.pptx
Dia internacional de peliculas iberoamericanas.pptxDia internacional de peliculas iberoamericanas.pptx
Dia internacional de peliculas iberoamericanas.pptx
 
BLAS DE OTERO PRESENTACION PUERTAS ABIERTAS.pdf
BLAS DE OTERO PRESENTACION PUERTAS ABIERTAS.pdfBLAS DE OTERO PRESENTACION PUERTAS ABIERTAS.pdf
BLAS DE OTERO PRESENTACION PUERTAS ABIERTAS.pdf
 
Actividades El Hombrecito de jengibre.pdf
Actividades El Hombrecito de jengibre.pdfActividades El Hombrecito de jengibre.pdf
Actividades El Hombrecito de jengibre.pdf
 
10. ¡Promoviendo la Paternidad Responsable en La Recoleta!
10. ¡Promoviendo la Paternidad Responsable en La Recoleta!10. ¡Promoviendo la Paternidad Responsable en La Recoleta!
10. ¡Promoviendo la Paternidad Responsable en La Recoleta!
 
Lengua Y Literatura 8 Básico 2024 pdfghh
Lengua Y Literatura 8 Básico 2024 pdfghhLengua Y Literatura 8 Básico 2024 pdfghh
Lengua Y Literatura 8 Básico 2024 pdfghh
 
11. ¡Promoviendo la Paternidad Responsable en La Recoleta!
11. ¡Promoviendo la Paternidad Responsable en La Recoleta!11. ¡Promoviendo la Paternidad Responsable en La Recoleta!
11. ¡Promoviendo la Paternidad Responsable en La Recoleta!
 
PROYECTO PRIMAVERA NUMERICA PARA PREESCOLAR.pptx
PROYECTO PRIMAVERA NUMERICA PARA PREESCOLAR.pptxPROYECTO PRIMAVERA NUMERICA PARA PREESCOLAR.pptx
PROYECTO PRIMAVERA NUMERICA PARA PREESCOLAR.pptx
 
7. ¡Promoviendo la Paternidad Responsable en La Recoleta!
7. ¡Promoviendo la Paternidad Responsable en La Recoleta!7. ¡Promoviendo la Paternidad Responsable en La Recoleta!
7. ¡Promoviendo la Paternidad Responsable en La Recoleta!
 
GUIA MULTIPLICACION MATEMATICA SEGUNDO CICLO
GUIA MULTIPLICACION MATEMATICA SEGUNDO CICLOGUIA MULTIPLICACION MATEMATICA SEGUNDO CICLO
GUIA MULTIPLICACION MATEMATICA SEGUNDO CICLO
 
UNIDAD DE APRENIZAJE CERO QUINTO GRADO - 2024.docx
UNIDAD DE APRENIZAJE CERO QUINTO GRADO - 2024.docxUNIDAD DE APRENIZAJE CERO QUINTO GRADO - 2024.docx
UNIDAD DE APRENIZAJE CERO QUINTO GRADO - 2024.docx
 
Tema 4.- INSFRAESTRUCTURAS DE TI Y TECNOLOGIAS EMERGENTES.pdf
Tema 4.- INSFRAESTRUCTURAS DE TI Y TECNOLOGIAS EMERGENTES.pdfTema 4.- INSFRAESTRUCTURAS DE TI Y TECNOLOGIAS EMERGENTES.pdf
Tema 4.- INSFRAESTRUCTURAS DE TI Y TECNOLOGIAS EMERGENTES.pdf
 

Servidores web de altas prestaciones. Tema 2

  • 1. 1 Alta disponibiliad y escalabilidad 1 Tema 2 Pedro A. Castillo Valdivieso Depto Arquitectura y Tecnología de Computadores Universidad de Granada pacv@ugr.es Índice Introducción Concepto de alta disponibilidad Concepto de escalabilidad Escalar un sitio web Conclusiones 2
  • 2. 2 Introducción disponibilidad escalabilidad conceptos más importantes al diseñar una granja web 3 Introducción Nuestros servidores deben dar el mejor servicio a todos los usuarios y deben estar todo el tiempo disponible (24/7). •  Disponibilidad •  Escalabilidad •  Balanceo de carga 4
  • 3. 3 Índice Introducción Concepto de alta disponibilidad Concepto de escalabilidad Escalar un sitio web Conclusiones 5 Alta disponibilidad http://www.isitdownrightnow.com/ 6
  • 4. 4 Alta disponibilidad Mala impresión al entrar en un sitio y está caído. Esperamos que una web esté disponible siempre. Disponibilidad: capacidad de aceptar visitas las 24h todos los días. 7 Alta disponibilidad Cuando un sitio no está disponible se dice que se ha caído o sufre un problema de no-disponibilidad: •  Tiempo de no-disponibilidad programado. •  Tiempo de no-disponibilidad no programado. Sólo debería haber ”tiempos de no-disponibilidad programados” (y lo más cortos posibles) actualizaciones del SO, de aplicaciones o de hardware 8
  • 5. 5 Alta disponibilidad Medir la disponibilidad dando un porcentaje. Escala “punto nueve”: 100 – (tiempoCaido / periodoTiempo) * 100! Por ejemplo: caída de 1h en un día -> 95.83333% de disponibilidad caída de 1h en una semana -> 99.404% de disponibilidad Lo ideal es tener un 100% de disponibilidad. 9 Alta disponibilidad Un 100% de disponibilidad es no sufrir caídas no-programadas Los sitios web se conforman con alcanzar un 99.9% ó 99.99% 10
  • 6. 6 Alta disponibilidad ¿Cómo se consigue mejorar la disponibilidad? El uso de subsistemas redundantes y monitorizarlos mejora la disponibilidad del sistema global. Surgen conceptos derivados: –  disponibilidad de red –  disponibilidad de servidor –  disponibilidad de aplicación Si la disponibilidad de red es baja, quizás haya que mejorar el ancho de banda, y no tenga sentido centrar esfuerzos en mejorar las aplicaciones. 11 Alta disponibilidad Ejercicio: Buscar frameworks y librerías para diferentes lenguajes que permitan hacer aplicaciones altamente disponibles con relativa facilidad. Como ejemplo, examina PM2 https://github.com/Unitech/pm2 que sirve para administrar clústeres de NodeJS. 12
  • 7. 7 Índice Introducción Concepto de alta disponibilidad Concepto de escalabilidad Escalar un sitio web Conclusiones 13 Escalabilidad Cuando una persona sufre estrés, su capacidad para afrontar tareas se ve mermada. Cuando un sistema experimenta estrés, su capacidad para dar servicio también se ve afectada. 14
  • 8. 8 Escalabilidad Incremento del nivel de estrés: •  Cambios en las aplicaciones •  Fallos o caídas de algunas partes del sistema •  Incremento del número de máquinas •  Incremento repentino del número de usuarios del sitio La escalabilidad se refiere a la capacidad de un sistema de manejar la carga, y el esfuerzo para adaptarse al nuevo nivel de carga. 15 Escalabilidad escalabilidad = capacidad de un sistema de manejar la carga, y el esfuerzo para adaptarse al nuevo nivel de carga http://bit.ly/Z2II1G 16 Menorimpactoenescalabilidad Optimización del hardware Optimización del producto Optimización del código Diseño
  • 9. 9 Escalabilidad Si un sitio gana popularidad, o si llega una fecha señalada, puede incrementarse su carga. Para manejar esa carga, las empresas tienen más servidores de los necesarios normalmente. Decidir cómo añadir más recursos al sistema web es crucial en el diseño inicial y en el mantenimiento. En ocasiones, si la CPU del servidor está al 95% todo el tiempo, cambiándola puede ser suficiente para cierto nivel de carga. Pero si más adelante hay más carga, será insuficiente. 17 Escalabilidad Vemos que hay dos tipos de escalado: •  Ampliación vertical: incrementar la RAM, CPU, disco de un servidor. •  Ampliación horizontal: añadir máquinas a algún subsistema (servidores web, servidores de datos, etc). En ocasiones una ampliación vertical puede ser suficiente. 18
  • 10. 10 Escalabilidad ¿Cómo analizar la sobrecarga? •  Si la CPU está cerca del 100% todo el rato y el resto de subsistemas no está sobrecargado, sustituir por una CPU más potente. •  Si el uso de RAM es muy alto, veremos un uso alto de disco (por swapping). Incrementando la cantidad de RAM mejoraremos el rendimiento. •  Un ancho de banda insuficiente afectará al rendimiento. Contratando una mejor conexión será suficiente. 19 Escalabilidad Ejercicio: ¿Cómo analizar el nivel de carga de cada uno de los subsistemas en el servidor? Buscar herramientas y aprender a usarlas. ...¡o recordar cómo usarlas! 20
  • 11. 11 Índice Introducción Concepto de alta disponibilidad Concepto de escalabilidad Escalar un sitio web Conclusiones 21 Escalar un sitio web Tenemos que configurar tres niveles: –  máquinas como servidores web –  aplicaciones –  almacenamiento 22
  • 12. 12 Escalar un sitio web El nivel web se puede configurar balanceando la carga: •  uso de una máquina con software específico 23 Web01 Web03Web02 Balanceo de la carga Sitio web Escalar un sitio web También se puede usar un balanceador hardware: •  Local Director (Cisco) •  ServerIron (Foundry) •  BigIP (F5) 24 Web01 Web03Web02 Balanceo de la carga por hardware Sitio web
  • 13. 13 Escalar un sitio web El balanceador pasa peticiones a los servidores según el tráfico de la red. Hay varios algoritmos para decidir qué máquina final servirá cada petición: –  Por turnos (round-robin) –  Según el menor número de conexiones –  Por ponderación –  Por prioridad –  Según el tiempo de respuesta 25 Escalar un sitio web Escalar el nivel de aplicaciones requiere diseñar el software pensando en que se ejecute en varios servidores: •  Paralelismo •  Transparencia de ubicación: no debe haber dependencia de una máquina concreta para ejecutarse la aplicación. Es importante diseñar las aplicaciones desde el principio para que se ejecuten en varios servidores. Adaptar posteriormente una aplicación dependiente de cierto servidor puede ser costoso. 26
  • 14. 14 Escalar un sitio web Escalar el nivel de almacenamiento es complejo y depende del tipo de servicios a ofrecer: •  LDAP: Protocolo Ligero de Acceso a Directorios •  NFS: Sistema de archivos de red •  Bases de datos Cada uno de estos mecanismos suele requerir mecanismos y configuraciones diferentes. 27 Escalar un sitio web Ejercicio: Buscar ejemplos de balanceadores software y hardware (productos comerciales). Buscar productos comerciales para servidores de aplicaciones. Buscar productos comerciales para servidores de almacenamiento. 28
  • 15. 15 Índice Introducción Concepto de alta disponibilidad Concepto de escalabilidad Escalar un sitio web Conclusiones 29 Conclusiones Conceptos clave: escalabilidad y alta disponibilidad. Monitorización para detectar problemas y determinar posibles mejoras del sitio web. La escalabilidad se suele implementar replicando servidores para las mismas tareas. Conseguir disponibilidad y escalabilidad mediante balanceo de carga. 30