¿Qué es la escalabilidad?
Escalabilidad es
un término usado en tecnología para referirse a la propiedad de aumentar la
capacidad de trabajo o de tamaño de un sistema sin comprometer su
funcionamiento y calidad normales. Cuando un sistema tiene esta propiedad, se
le refiere comúnmente como "sistema escalable".
En telecomunicaciones y en ingeniería informática, la escalabilidad es
la propiedad deseable de un sistema, una red o un proceso, que indica su
habilidad para reaccionar y adaptarse sin perder calidad, o bien manejar el
crecimiento continuo de trabajo de manera fluida, o bien para estar preparado
para hacerse más grande sin perder calidad en los servicios ofrecidos.
En general, también se podría definir como
la capacidad del sistema informático de cambiar su tamaño o
configuración para adaptarse a las circunstancias cambiantes. Por ejemplo, una
Universidad que establece una red de usuarios por Internet para
un edificio de docentes y no solamente quiere que su sistema informático tenga
capacidad para acoger a los actuales clientes que son todos profesores, sino
también a los clientes que pueda tener en el futuro dado que hay profesores
visitantes que requieren de la red por algunos aplicativos académicos, para
esto es necesario implementar soluciones que permitan el crecimiento de la red
sin que la posibilidad de su uso y re-uso, disminuya o que pueda cambiar su
configuración si es necesario.
Escalabilidad
vertical, que se refiere a actualizaciones o
modernización de componentes existentes.
El
escalar verticalmente o escalar hacia arriba, significa el añadir más recursos
a un solo nodo en particular dentro de un sistema, tal como el añadir memoria o
un disco duro más rápido a una computadora
Escalabilidad
horizontal, que se refiere a aumentar el número de
componentes.
La escala horizontalmente o escala significa
agregar más nodos a un sistema, tal como añadir una computadora nueva a un
programa de aplicación para espejo.
Dimensiones
La escalabilidad se puede medir en
diferentes dimensiones.
Escalabilidad en carga
Un sistema distribuido nos hace fácil el
ampliar y reducir sus recursos para acomodar (a conveniencia), cargas más
pesadas o más ligeras según se requiera.
Escalabilidad geográfica
Un sistema geográficamente escalable, es
aquel que mantiene su utilidad y usabilidad, sin importar que tan lejos estén
sus usuarios o recursos.
Escalabilidad administrativa
No importa qué tantas diferentes
organizaciones necesiten compartir un solo sistema distribuido, debe ser fácil
de usar y manejar.
Ejemplos
Por ejemplo, un sistema de procesamiento y
transacción en línea o un sistema administrador de base de
datos escalable pueden ser actualizados para poder procesar más
transacciones añadiendo por medio de nuevos procesadores, dispositivos y
almacenamiento que se pueden implementar fácil y transparentemente sin
apagarlos.
Un protocolo enrutador es considerado
escalable con respecto al tamaño de la red, si el tamaño de la necesaria tabla enrutadora en
cada nodo crece como una cota superior asintótica (log N),
donde N es el número de nodos en la red.
Por otro lado, una aplicación de software
es escalable si al incrementar los procesadores donde se ejecuta, el
rendimiento crece proporcionalmente. Por el contrario, una aplicación no es
escalable si su rendimiento no "escala" o crece con el incremento de los
procesadores.
Otro ejemplo es: en el CoE = 4
ARQUITECTURA
La arquitectura cliente-servidor es
un modelo de aplicación distribuida en el que las tareas se reparten entre los
proveedores de recursos o servicios, llamados servidores,
y los demandantes, llamadosclientes. Un cliente realiza peticiones a otro
programa, el servidor, que le da respuesta. Esta idea también se puede
aplicar a programas que se ejecutan sobre una sola computadora, aunque es más
ventajosa en un sistema operativo multiusuario distribuido
a través de una red de computadoras.
En esta arquitectura la capacidad de
proceso está repartida entre los clientes y los servidores, aunque son más
importantes las ventajas de tipo organizativo debidas a la centralización de la
gestión de la información y la separación de responsabilidades, lo que facilita
y clarifica el diseño del sistema.
La separación entre cliente y servidor es
una separación de tipo lógico, donde el servidor no se ejecuta necesariamente
sobre una sola máquina ni es necesariamente un sólo programa. Los tipos
específicos de servidores incluyen los servidores web,
los servidores de archivo, los servidores del correo, etc. Mientras que sus
propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo
la misma.
Una disposición muy común son los sistemas
multicapa en los que el servidor se descompone en diferentes programas
que pueden ser ejecutados por diferentes computadoras aumentando
así el grado de distribución del sistema.
La arquitectura cliente-servidor sustituye
a la arquitectura monolítica en la que no hay distribución,
tanto a nivel físico como a nivel lógico.
La red cliente-servidor es aquella red de
comunicaciones en la que todos los clientes están conectados a un servidor, en
el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y
que los pone a disposición de los clientes cada vez que estos son solicitados.
Esto significa que todas las gestiones que se realizan se concentran en el
servidor, de manera que en él se disponen los requerimientos provenientes de
los clientes que tienen prioridad, los archivos que son de uso público y los
que son de uso restringido, los archivos que son de sólo lectura y los que, por
el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse
conjuntamente en caso de que se este utilizando en una red mixta.
CARACTERISTICAS
En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son:
§ Es quien
inicia solicitudes o peticiones, tienen por tanto un papel activo en la
comunicación (dispositivo maestro o amo).
§ Espera y
recibe las respuestas del servidor.
§ Por lo
general, puede conectarse a varios servidores a la vez.
§ Normalmente
interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
§ Al
contratar un servicio de redes, se debe tener en cuenta la velocidad de
conexión que le otorga al cliente y el tipo de cable que utiliza , por
ejemplo : cable de cobre ronda entre 1 ms y 50 ms.
Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus
características son:
§ Al iniciarse
esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un
papel pasivo en la comunicación (dispositivo esclavo).
§ Tras la
recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
§ Por lo
general, aceptan conexiones desde un gran número de clientes (en ciertos casos
el número máximo de peticiones puede estar limitado).
§ No es
frecuente que interactúen directamente con los usuarios finales.
ARQUITECTURA MULTI-CAPAS
La arquitectura cliente/servidor genérica
tiene dos tipos de nodos en la red: clientes y servidores.
Consecuentemente, estas arquitecturas genéricas se refieren a veces como
arquitecturas de dos niveles odos capas.
Algunas redes disponen de tres tipos de
nodos:
§ Clientes que interactúan
con los usuarios finales.
§ Servidores de aplicación
que procesan los datos para los clientes.
§ Servidores de la base de
datos que almacenan los datos para los servidores de aplicación.
Esta configuración se llama una
arquitectura de tres-capas.
§ Ventajas de las
arquitecturas n-capas:
La ventaja fundamental de una arquitectura n-capas comparado
con una arquitectura de dos niveles (o una tres-capas con una de dos niveles)
es que separa hacia fuera el proceso, eso ocurre para mejorar el balance la
carga en los diversos servidores; es más escalable.
§ Desventajas de las
arquitecturas de la n-capas:
§ Pone más carga en la
red, debido a una mayor cantidad de tráfico de la red.
§ Es mucho más difícil
programar y probar el software que en arquitectura de dos niveles porque tienen
que comunicarse más dispositivos para terminar la transacción de un usuario.
COOPERACION CLIENTE SERVIDOR
Múltiple Server
Para
que un proceso se realice de la mejor manera, es preferible utilizar terminales
distintos realizando la misma tarea, a centralizar los recursos y que con más hardware/software se realice la misma tarea. Con la
ejecución de múltiples servidores el procesamiento es más rápido, el tiempo de
respuesta es descentralizado y se incrementa la confiabilidad.
No hay comentarios:
Publicar un comentario