Resumen
En esta clase y subsiguientes, vamos a cambiar un poco el enfoque para empezar a charlar sobre temas de Arquitectura. Entendiendo cómo diseño de arquitectura, el diseño (y sus decisiones) de lo más importante. Es decir sus componentes, relaciones, comunicaciones y cómo tiene injerencia, no solo en las piezas de software sino en los componentes de hardware, tecnologías, costos y contexto.
En particular, presentaremos una arquitectura monolítica HTTP. Estudiaremos su documentación mediante diagramas de despliegue y algunas de las decisiones con las que nos toparemos. Para posibilitar su escala horizontal, introduciremos el concepto de un balanceador de carga: un dispositivo de Hardware o Software especializado que permite distribuir la carga de trabajo a los diferentes nodos a partir de un algoritmo. Haremos una demostración utilizando nginx
.
Además, discutiremos sobre las implicancias de la arquitectura de sistemas: tanto su impacto en la sociedad como la forma en que las relaciones sociales y de poder impactan en su arquitectura.
Material
- Presentación de la clase
- Arquitecturas Concurrentes, Episodio 1: El diablo está en los detalles
- La introducción y el capítulo sobre el poder del libro Feminismo de Datos, con consideraciones necesarias sobre los sistemas que recopilan, generan y analizan datos.
- Listado de componentes arquitectónicos comunes
- Demo de nginx
- Guía de ejercicios de Arquitectura. Trabajaremos con EntregaYaYaYa y A.F. Analytics y comenzaremos a encarar Rekomendashi, Fase 2
- Soluciones (No verlas sin intentar resolver el ejercicio antes)
- Complementario: Comunicación de decisiones arquitectónicas
- Complementario: Introducción a arquitectura
Para la próxima clase
- Guía de ejercicios de Arquitectura.
- Releer Rekomendashi y sus soluciones propuestas
- Leer Shera Enterprise y Cyberfriday; ¡no veas aún sus soluciones! Las trabajaremos en clase.
- Listado de componentes arquitectónicos comunes
- Leer el apartado sobre balanceo de carga HTTP
- Las lecturas anteriores, si no las leíste antes.