TEMA: Arquitectura Escalable Ing. Enrique Meneses Falla

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Ciclo de vida de desarrollo de software
DISTRIBUCION EN PLANTA
Almacenamiento del sistema de archivos La gestión de archivos es uno de los componentes mas visibles de un sistema operativo. Las computadores pueden almacenar.
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
ADMINISTRAR EL DESEMPEÑO Y LA CAPACIDAD
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Ingeniería del Software UMG Ingeniería en Sistemas
Guido Rubin Escalabilidad.
III - Gestión de memoria
Aplicaciones Cliente-Servidor
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Crear un gráfico SmartArt
Business Intelligence (BI) Software (Software de Inteligencia Impresario)
Modelos de confiabilidad
Evaluación de nuevas Tecnologías
Universidad de SonoraArquitectura de Computadoras1 PROGRAMA CION PARALELA Y DISTRIBUIDA PRESENTA: JESUS BECERRIL PACHECO MODELOS DE ACCESO A LA MEMORIA.
TRADUCTOR DE UN PROGRAMA
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
Sistemas Distribuidos
Planificación de Procesos
Evolución del concepto de CALIDAD
DIAGRAMA DE DESPLIEGUE INTEGRANTES: ALVARADO ALIAGA ALDO JAVIER
Telecomunicaciones y Trabajo Distribuido. Sistema Distribuido Recursos Servidor Red Servidor Nodo ANodo C Nodo B.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Ingeniería de Software
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Términos y Conceptos Básicos
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
La Gestión y el Control de Procesos
BUSINESS INTELIGENCE. ¿PORQUE BUSINESS INTELLIGECE  La capacidad para tomar decisiones de negocio precisas y de forma rápida se ha convertido en una.
Modelo de 3 capas.
Metodología de la programación
Capítulo 4 CPU y la memoria.
¿Qué es una impresora?.
WEB Y MULTIMEDIA INTEGRANTES: Piero Álvarez Milena Gómez Cristhian Rodríguez Mónica Pasaca Andrea Deleg Veronica Castillo.
Alexander Aristizabal Ángelo flores herrera
Definición de software
SEGMENTACIÓN DE LA RED UNIVERSIDAD NACIONAL DE INGENIERÍA
ARQUICTECTURA DE SERVIDORES
TEMA II FUNDAMENTOS DEL DISENO DE COMPUTADORES
TIPOS DE PRUEBAS DEL SOFTWARE
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Business Intelligence. ¿Por qué Business Intelligence? La capacidad para tomar decisiones de negocio precisas y de forma rápida se ha convertido en una.
Tipos de Servidores.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
MODOS DE TRANSMISION Pucallpa 15 de Enero del 2009.
Actividades en el Proceso de desarrollo de Software
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
Unidad 4: El desarrollo de las empresas.
Estructurar tus ideas para hacerlas realidad
MUESTREO : Generalidades
Carolina Rangel Felipe Montaño Alexis García
Investigación preliminar  Entender la naturaleza del problema  Definir el alcance y las restricciones o limitaciones del sistema  Identificar los beneficios.
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
QUE ES UNA RED Una red es un grupo de equipos de sobremesa o portátiles (y otros dispositivos de red, como impresoras) conectados entre sí El propósito.
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
Fundamentos de Computación
ANTIVIRUS CLOUD COMPUTING. Los antivirus cloud o antivirus en la nube, son antivirus que aplican a los antivirus el concepto cloud computing. Instalan.
Son antivirus especialmente diseñados para ofrecer protección desde la nube, salvaguardando al usuario contra nuevos códigos maliciosos prácticamente en.
Bachillerato Ingeniería en Informática Fundamentos de Computación.
BUSINESS INTELIGENCE. La capacidad para tomar decisiones de negocio precisas y de forma rápida se ha convertido en una de las claves para que una empresa.
ANTIVIRUS CLOUD COMPUTING. ¿ Q UÉ ES ? Es un software de protección, como los antivirus tradicionales, que no consume muchos recursos y no necesita de.
 Definir conceptos fundamentales de las BDD como DTM y DBMS.  Conocer el esquema actual de la Base de datos de la UNACH.  Analizar cuándo utilizar.
Gestión de Memoria – Parte 2
WLAN (Wireless Local Area Network). WLAN  Es un sistema de comunicación de datos inalámbrico flexible muy utilizado como alternativa a la LAN cableada.
Verificación y Validación del Software
Ing. José David Ortiz Salas
Transcripción de la presentación:

TEMA: Arquitectura Escalable Ing. Enrique Meneses Falla

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.

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.

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.

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.

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.

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

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.

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.

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.

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.

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

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.