La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TEMA: Arquitectura Escalable Ing. Enrique Meneses Falla

Presentaciones similares


Presentación del tema: "TEMA: Arquitectura Escalable Ing. Enrique Meneses Falla"— Transcripción de la presentación:

1 TEMA: Arquitectura Escalable Ing. Enrique Meneses Falla

2 Información general sobre escalabilidad
La escalabilidad debe formar parte del proceso de diseño porque no es una característica separada que se pueda agregar después. Al igual que con otras funciones de aplicación, las decisiones que se tomen durante las primeras fases de diseño y codificación determinarán en gran medida la escalabilidad de la aplicación.

3 Tipos de escalabilidad
Escalar en vertical El escalado en vertical es el término que más se utiliza para lograr escalabilidad utilizando software mejor, más rápido y más caro. El escalado incluye agregar más memoria, más procesadores o procesadores más rápidos o, simplemente, migrar la aplicación a un único equipo más potente.

4 Escalar en horizontal Escalar en horizontal aprovecha el ahorro que supone utilizar el hardware de PC activo para distribuir la carga de procesamiento en más de un servidor. Aunque el escalado en horizontal se logra utilizando muchos equipos, la colección funciona esencialmente como un único equipo.

5 Diseñar para favorecer la escalabilidad
Un buen diseño es la base de una aplicación altamente escalable. En ningún otro momento de la vida de una aplicación puede tener mayor impacto una decisión sobre la escalabilidad de la aplicación que durante la fase de diseño.

6 Pirámide de escalabilidad
Como indica la pirámide de escalabilidad, hardware, software y ajuste rápidos son sólo una pequeña parte de la ecuación de escalabilidad. En la base de la pirámide está el diseño, que tiene la mayor influencia en la escalabilidad. Conforme se desplaza en la pirámide a través de factores cada vez menos importantes, la capacidad de causar impacto en la escalabilidad disminuye. Lo que muestra la pirámide es que el diseño inteligente puede agregar más escalabilidad a una aplicación que el hardware.

7 Los cinco mandamientos del diseño para la escalabilidad
No esperar No pelear por los recursos Diseñar aplicaciones conmutables Diseñar aplicaciones intercambiables Dividir los recursos y las actividades

8 No esperar Un proceso no debe esperar nunca más de lo necesario. Cada franja de tiempo que un proceso está utilizando un recurso es un tiempo que otro proceso no puede utilizar ese recurso. Puede colocar los procesos en dos categorías separadas, síncronos y asíncronos. Hay veces en las que las aplicaciones deben realizar acciones en modo síncrono. Es posible que algunas acciones tengan que esperar a que una acción devuelva un resultado para poder continuar, o verificar que una acción ha sido correcta para garantizar la atomicidad.

9 No pelear por los recursos
La contienda por los recursos es la causa raíz de todos los problemas de escalabilidad. No es una sorpresa el hecho de que la memoria insuficiente, los ciclos del procesador, el ancho de banda o las conexiones de base de datos para satisfacer la demanda darían lugar a una aplicación que no puede escalarse.

10 Diseñar aplicaciones conmutables
Diseñar aplicaciones conmutables suele ser uno de los modos que menos se tienen en cuenta a la hora de reducir la contención de recursos. Se dice que dos o más operaciones son conmutables si se pueden aplicar en cualquier orden y obtener el mismo resultado. Normalmente, las operaciones que se pueden ejecutar sin transacciones son candidatos probables.

11 Diseñar aplicaciones intercambiables
Siempre que pueda generalizar un recurso, puede hacerlo intercambiable. En contraste, cada vez que agregue estado detallado a un recurso, lo hace menos intercambiable. Por ejemplo, si una conexión de base de datos es exclusiva de un usuario específico, no puede agrupar la conexión para otros usuarios. En su lugar, las conexiones de base de datos que se van a agrupar deben utilizar seguridad basada en la función, que asocia las conexiones con un conjunto de credenciales común. Para que funcione la agrupación de conexiones, todos los detalles de la cadena de conexión deben coincidir.

12 Particionar recursos y actividades
Finalmente, debe particionar los recursos y las actividades. Al minimizar las relaciones entre recursos y entre actividades, minimiza el riesgo de crear cuellos de botella resultantes de un participante de la relación que tarda más que el otro. Dos recursos que dependen el uno del otro vivirán y morirán juntos. Si se particionan las actividades puede ayudar a aliviar la carga que coloque en recursos de alto coste

13 Probar la escalabilidad
Un planeamiento y un desarrollo esmerados son necesarios para cualquier proyecto de desarrollo de una aplicación. Sin embargo, para crear una aplicación realmente escalable, es importante realizar pruebas rigurosas y regulares para detectar problemas de escalabilidad. Las pruebas de escalabilidad son una extensión de las pruebas de rendimiento. El propósito de las pruebas de escalabilidad es identificar cargas de trabajo mayores y mitigar los cuellos de botella que pueden impedir la escalabilidad de la aplicación.


Descargar ppt "TEMA: Arquitectura Escalable Ing. Enrique Meneses Falla"

Presentaciones similares


Anuncios Google