La materia tiene por objetivo que el  estudiante:

  • comprenda la problemática asociada a la definición, validación y mantenimiento de Arquitecturas Complejas de Software, en particular aquellas con requerimientos críticos de escalabilidad, eficiencia o disponibilidad
  • entienda el proceso de evaluación entre diferentes Arquitecturas Avanzadas de Software
  • relacione diferentes estrategias de solución de los problemas de Arquitecturas de Software y genere pensamiento crítico respecto de las mismas.
  • participe de una experiencia práctica real y tangible en el proceso de construcción de una Arquitectura Avanzada de Software

Modos de Cursada: Cuatrimestral Presencial

Horas Semanales: 6 horas

Demanda de tiempo en casa semanal:6 horas

Sitio web:

  • Aún no disponible

Programa de la materia:

Contenidos Mínimos:

  • Conceptos de Escalabilidad, Eficiencia y Efectividad. Adecuación de sistemas de grandes volúmenes de datos.
  • Técnicas para dimensionar los requerimientos de hardware de un sistema: capacidad de procesamiento, espacio en memoria, almacenamiento, tiempos de respuesta del hardware, identificación de cuellos de botella
  • Dimensionamiento de las necesidades de red de un sistema de software: ancho de banda promedio, picos de utilización, cantidades de usuarios totales, sesiones simultáneas, pedidos concurrentes, enlaces redundantes.
  • Técnicas para escalamiento vertical y horizontal. Clustering, balanceo de carga, afinidad, Sharding. Estrategias de particionamiento de bases de datos.
  • Tolerancia a fallos. Replicación de estado global y por pares. Comparación de las técnicas utilizadas para obtener tolerancia y performance. Sistemas resilientes a fallos. Autorecuperación. Estrategias de corto-circuito.
  • Estrategias de cache de datos: cacheo en el cliente, contenido estático, contenido precalculado, distribución de contenido (CDN).
  • Hardware específico para sistemas de gran envergadura. Virtualización. Granjas de servidores. Cloud Computing. Nubes privadas y públicas. Software y hardware como servicios.
  • Verificación del cumplimiento de los requerimientos no funcionales (RNF): performance, tolerancia a fallos, carga. Automatización. Evaluación del comportamiento del sistema más allá de las condiciones normales de funcionamiento
  • Operación y monitoreo de sistemas. Estrategias de logging para sistemas de gran envergadura.
  • Herramientas para medición de performance. Profiling. Información caliente e información de ciclo de vida largo. Análisis de servicios en red, análisis de tráfico. Herramientas de monitoreo de fallas.