Sei sulla pagina 1di 18

1

Tema 1

SWAP. Introduccin

Pedro A. Castillo Valdivieso


Depto Arquitectura y Tecnologa de Computadores
Universidad de Granada
pacv@ugr.es

ndice

Introduccin

Conceptos bsicos

Un sitio web mal planificado

Un sitio web de xito

Ejemplos

1
3

1. Introduccin

Supongamos que nos encargan el despliegue de un servidor


web para una empresa...

Trabajo inicial de configuracin

VS.

Trabajo de mantenimiento

1. Introduccin

Primera aproximacin:

Montar un servidor en una mquina.

fcil y rpido

necesitar ms trabajo de mantenimiento


tarde o temprano, tendremos problemas

Las tareas derivadas de problemas hardware y software,


para dar el servicio adecuado, acaba siendo un trabajo
demasiado costoso en un sistema mal planificado.

2
5

1. Introduccin

Segunda aproximacin (I):

Adquirir un segundo servidor para desarrollo.

las mejoras en software se pueden probar en la mquina


de desarrollo antes de pasarlas al servidor de produccin

no se resuelven los problemas derivados de un alto trfico

Ni siquiera actualizando el hardware del servidor de


produccin se podr hacer frente a ciertos niveles de
trfico...

1. Introduccin

Segunda aproximacin (II):

Adquirir un segundo servidor para sustituir el principal en


caso de desastre.

en caso de desastre grave, se puede sustituir el servidor


principal por el secundario y continuar trabajando

no se resuelven los problemas derivados de un alto trfico

Otra vez, ni siquiera actualizando el hardware del servidor


de produccin se podr hacer frente a ciertos niveles de
trfico...

3
7

1. Introduccin

Tercera aproximacin:

Montar una granja web.

escalable y con alta disponibilidad

complejidad en la instalacin y configuracin

En aquellos casos en que haya que hacer frente a un alto


trfico de red y dar servicio a millones de usuarios, es la
mejor solucin.

ndice

Introduccin

Conceptos bsicos

Un sitio web mal planificado

Un sitio web de xito

Ejemplos

4
9

2. Conceptos bsicos

Una granja web es un conjunto de servidores dedicados a


servir contenido web a los usuarios finales.

Algunos de esos servidores servirn contenido esttico, otros


actuarn como servidores de bases de datos, otros para
aplicaciones dinmicas, etc.
Web Bases de datos Correo

10

2. Conceptos bsicos

En cada uno de esos grupos de mquinas se puede instalar


diferente tipo de aplicaciones y/o versiones:

apache
nginx
thttpd
Cherokee
node.js

Cada uno de esos es ms eficiente para un tipo de servicio.

5
11

2. Conceptos bsicos

Son sistemas muy complejos pero sumamente flexibles y


funcionales.

En muchos casos, una granja web albergar muchos sitios


web:
correspondientes a varias empresas
servicios bien diferenciados de una empresa

Estos sistemas resuelven los problemas de sistemas ms


simples para dar servicio a un alto nmero de usuarios.

12

ndice

Introduccin

Conceptos bsicos

Un sitio web mal planificado

Un sitio web de xito

Ejemplos

6
13

3. Un sitio web mal planificado


Introduccin

Cuando nos encargan el desarrollo de un sitio web,


inicialmente se suelen instalar todos los servicios en una
sola mquina.

Opcin ms rpida y barata.

Si no hay muchos usuarios (poco trfico), funcionar.

Slo hace falta una mquina con el sistema operativo bien


configurado, una aplicacin de servidor web, y una
conexin a Internet.

14

3. Un sitio web mal planificado


Ese sitio, con esa configuracin tan simple, no tardar en
experimentar problemas conforme se incremente el trfico
de red (peticiones).

Un problema puede sobrevenir por el uso de un


almacenamiento de datos inadecuado (no usar bases de
datos bien configuradas), que redunda en una falta de
escalabilidad.

7
15

3. Un sitio web mal planificado

Necesidad de controlar posibles problemas:

con la arquitectura del sistema

con la disponibilidad, y

con la carga del sistema

16

3. Un sitio web mal planificado


Problemas de la arquitectura del sistema

En muchos sitios, una mquina servidora ofrece todos los


servicios, conectada directamente a Internet.

Comnmente se pone en marcha sin cortafuegos adecuado.

Algunos servicios son para uso de los empleados, por lo que


sobrecargan al servidor (que no dar buen servicio a los
usarios externos).

Riesgo de seguridad.

Modificaciones directamente en el servidor en produccin...

8
17

3. Un sitio web mal planificado


Problemas con la disponibilidad (I)

Conforme los usuarios usan un sistema, los errores derivados


de la programacin van apareciendo.

Adems, suelen solicitar mejoras o ampliaciones del sistema.

Arreglar esos errores puede resultar complicado: los


retoques del cdigo o quitar servicios pueden suponer
nuevos errores ms adelante.

18

3. Un sitio web mal planificado


Problemas con la disponibilidad (II)

Las actualizaciones del SO, de aplicaciones o servicios


pueden afectar al rendimiento global.
Servidor de produccin
Produccin

Los cambios van directamente


al servidor en produccin.

POSIBLE SOLUCIN: despliegue


Comprar una segunda mquina
Desarrollo

Trabajo extra + coste de adquisicin Servidor de


desarrollo

9
19

3. Un sitio web mal planificado


Problemas con la disponibilidad (III)
Servidor de produccin
Tarde o temprano el hardware falla.

Produccin
POSIBLE SOLUCIN:

Tener una mquina servidor sustituir


replicada (cold spare server)

suplente
cold spare
server

20

3. Un sitio web mal planificado


Problemas con la disponibilidad (IV)
Servidor de produccin
cold spare server
Produccin

Hay que tenerla actualizada


(programas y datos).

Requiere esfuerzo y sustituir


coste de adquisicin
suplente

cold spare
server

10
21

3. Un sitio web mal planificado


Problemas con la carga del sistema (I)

Un sitio con poco trfico funcionar con una sola mquina.

Ante un incremento del nmero de accesos, el hardware y


software comenzarn a fallar.

Los recursos se vern sobre-utilizados (uso de CPU por


encima del 90%, uso del almacenamiento y de toda la
memoria).

Los elementos hardware que primero suelen fallar son las


fuentes de alimentacin y los discos duros.

22

3. Un sitio web mal planificado


Problemas con la carga del sistema (II)

POSIBLE SOLUCIN:
Configurar varias mquinas, dedicando una a cada servicio
que se est ofreciendo.
Web Bases de datos Correo
Produccin

despliegue
Desarrollo

Servidor de
desarrollo

11
23

3. Un sitio web mal planificado


Problemas con la carga del sistema (III)

POSIBLE SOLUCIN:
Configurar varias mquinas, dedicando una a cada servicio
que se est ofreciendo.

Un fallo en una, slo afecta a ese servicio.

An as, el sitio no es escalable (no podr dar soporte a un


nmero creciente de usuarios para cierto servicio).

24

3. Un sitio web mal planificado


Problemas con la carga del sistema (IV)

La escalabilidad es la capacidad para dar soporte a un


nmero creciente de usuarios.

Tanto el hardware y software de los servidores, pero sobre


todo la estructura, organizacin y configuracin de la red
deben estar preparados para aadir recursos segn sean
necesarios.

12
25

3. Un sitio web mal planificado


La solucin final

Cuando los cambios se vuelven inmanejables, slo queda


reestructurar todo el sistema.

No merece la pena parchear el sistema a varios niveles.

Supone una inversin continua en tiempo y dinero.

Importante analizar la necesidades y hacer unas buenas


especificaciones.

26

ndice

Introduccin

Conceptos bsicos

Un sitio web mal planificado

Un sitio web de xito

Ejemplos

13
27

4. Un sitio web de xito

Segn lo comentado, la estructura general para montar una


granja web que escale correctamente sera:

Web Bases de datos Correo

Complejidad mayor que los sistemas basados en mquinas


simples.

28

En la asignatura

En el resto de temas estudiaremos los conceptos,


herramientas y alternativas hardware y software
necesarios para crear estos sistemas.

En la planificacin deberemos tener en cuenta:

Siempre habr puntos dbiles


y gente para atacarlos!
El tipo de red es fundamental (ancho de banda)
La seguridad es muy importante

14
29

ndice

Introduccin

Conceptos bsicos

Un sitio web mal planificado

Un sitio web de xito

Ejemplos

30

Ejemplos
1) Desarrollo rpido para disponer de un prototipo funcional
lo antes posible (sin BD ni nada!)

y que el prototipo acabe en produccin!

15
31

Ejemplos
2) Desarrollo y administracin del sistema web del congreso
CEDI 2005 y 2007, y del JENUI 2008

vs.

Administracin del sistema web del CEDI 2010

32

qu gran mquina!
La mquina que hosped esos sitios web:

16
33

Ejemplos

3) Caso de los servidores del depto:

atc.ugr.es

geneura.ugr.es

falta de recursos vs. sobredimensionamiento

34

Ejemplos

4) http://www.availabilitydigest.com/

- Desastre en el banco

- El banco japons

- Disponibilidad

17
35

Ejercicio

Buscar informacin sobre las tareas o servicios web para los


que se usan ms los programas que comentamos al
principio de la sesin:

36

Formularios para recoger los datos

Recoger los datos bsicos (emails):


http://bit.ly/swap_datos

Recoger las URLs de los repositorios en GitHub:


http://bit.ly/swap_repo

18

Potrebbero piacerti anche