arquitectura para artesanos
TRANSCRIPT
![Page 1: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/1.jpg)
Arquitectura para
artesanos
Software Craftsmanship Barcelona 27.09.2015
Toni Tassani @atassani
![Page 2: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/2.jpg)
Nada de tecnología Experiencia Niveles Relación con craftsmanship Ideas
Expectativas
![Page 3: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/3.jpg)
Arquitecto
![Page 4: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/4.jpg)
Arquitecto
![Page 5: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/5.jpg)
“La relación de
componentes
que forman un
sistema y las
interrelaciones
entre ellos”
![Page 6: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/6.jpg)
¿De qué hablo
cuando hablo de
arquitectura?
![Page 7: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/7.jpg)
El tamaño
importa
Startup Corporación
![Page 8: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/8.jpg)
Velocidad
Cambio
Riesgo
Inestabilidad
Eficiencia
Seguridad
Control
Rentabilidad
![Page 9: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/9.jpg)
Rápida
Informal
Eficaz
Rigurosa
Formal
Precisa
![Page 10: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/10.jpg)
La historia es
importante
![Page 11: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/11.jpg)
Todo por decidir
Aplicaciones
y sistemas
existentes
![Page 12: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/12.jpg)
Todo por decidir
Aplicaciones
y sistemas
existentes
![Page 13: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/13.jpg)
el arquitecto hombre orquesta
![Page 14: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/14.jpg)
Arquitecto en departamento de arquitectura
![Page 15: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/15.jpg)
Decisiones de entorno de desarrollo
Decisiones de entorno de ejecución
Guía para el equipo
Estructura del código
CTO / Desarrollador senior
el arquitecto
![Page 16: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/16.jpg)
Estructuras muy formales
Organizaciones con mucha historia
Decisiones a muchos niveles
TTM “Time to Market”
TCO “Total Cost of Ownership”
Arquitecto
![Page 17: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/17.jpg)
Normalizar Homogeneizar Controlar a los desarrolladores Facilitar cambios futuros Permitir multi-proveedor Evitar CVDD Industrializar
![Page 18: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/18.jpg)
WTF!
![Page 19: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/19.jpg)
![Page 20: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/20.jpg)
![Page 21: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/21.jpg)
The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
by Eric S. Raymond
![Page 22: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/22.jpg)
Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
![Page 23: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/23.jpg)
![Page 24: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/24.jpg)
Aprendiz
Oficial
Maestro
![Page 25: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/25.jpg)
Growing the
architecture
![Page 26: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/26.jpg)
![Page 27: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/27.jpg)
¿Qué podemos aprender?
![Page 28: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/28.jpg)
![Page 29: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/29.jpg)
We Software
![Page 30: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/30.jpg)
![Page 31: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/31.jpg)
![Page 32: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/32.jpg)
¿Qué podemos aprender?
![Page 33: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/33.jpg)
Enterprise Architect
Solutions Architect
Busin
ess A
rchitect
Data
Arc
hitect
Netw
ork
Arc
hitect
Infr
astr
uctu
re A
rchitect
Te
chn
ica
l Arc
hite
ct
Security
Arc
hitect
Subject Areas
Pro
jects
/ L
ow
Leve
l S
trate
gy /
Hig
h L
evel
![Page 34: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/34.jpg)
Arquitectura
empresarial
“La organización fundamental de un sistema, compuesta por sus componentes, las relaciones entre ellos y su entorno, así como los principios que gobiernan su diseño y evolución.” Existe, esté definida o no
Business
Data
Application
Technology
![Page 35: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/35.jpg)
TOGAF
The Open Group
Architecture Framework
Alternativas: Zachman
IAF
![Page 36: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/36.jpg)
Business Layer
Application Layer
Infrastructure Layer
ArchiMate
![Page 37: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/37.jpg)
Arquitectura de ejecución Componentes software reutilizables
alineados con requerimientos
Arquitectura de desarrollo
Herramientas, estándares y metodologías para el desarrollo de
software
Arquitectura de operación
Mecanismos para garantizar el nivel de servicio y operación del software
Arquitectura técnica
Infraestructura (HW y SW base) para soportar el desarrollo y operación del
sistema.
Negocio
![Page 38: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/38.jpg)
Arquitectura de ejecución Componentes software reutilizables
alineados con requerimientos
Arquitectura de desarrollo
Herramientas, estándares y metodologías para el desarrollo de
software
Arquitectura de operación
Mecanismos para garantizar el nivel de servicio y operación del software
Arquitectura técnica
Infraestructura (HW y SW base) para soportar el desarrollo y operación del
sistema.
Negocio
c
Logging
Monitorización
Caché
Procesos batch
Alertas
Internacionalización
Llamadas a servicios
Configuración
Transaccionalidad
Autenticación …
![Page 39: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/39.jpg)
Arquitectura de ejecución Componentes software reutilizables
alineados con requerimientos
Arquitectura de desarrollo
Herramientas, estándares y metodologías para el desarrollo de
software
Arquitectura de operación
Mecanismos para garantizar el nivel de servicio y operación del software
Arquitectura técnica
Infraestructura (HW y SW base) para soportar el desarrollo y operación del
sistema.
Negocio
IDE
Pruebas unitarias
Estrategia de pruebas
Templates
Gestión de configuración
Modelado de datos
Generadores de código
Documentación
Integración continua
Encodings …
![Page 40: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/40.jpg)
Arquitectura de ejecución Componentes software reutilizables
alineados con requerimientos
Arquitectura de desarrollo
Herramientas, estándares y metodologías para el desarrollo de
software
Arquitectura de operación
Mecanismos para garantizar el nivel de servicio y operación del software
Arquitectura técnica
Infraestructura (HW y SW base) para soportar el desarrollo y operación del
sistema.
Negocio
Entornos
Promoción
Autorizaciones
Automatismos
Versionado
Alta disponibilidad
Registro de servicios
Alta disponibilidad
Contingencia
Intervenciones
![Page 41: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/41.jpg)
Arquitectura de ejecución Componentes software reutilizables
alineados con requerimientos
Arquitectura de desarrollo
Herramientas, estándares y metodologías para el desarrollo de
software
Arquitectura de operación
Mecanismos para garantizar el nivel de servicio y operación del software
Arquitectura técnica
Infraestructura (HW y SW base) para soportar el desarrollo y operación del
sistema.
Negocio
Hardware
Software de base
Virtualización
Containers
Cloud pública / privada
Topología de red
Licencias
Instalación
Mantenimiento
![Page 42: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/42.jpg)
Arquitectura de ejecución Componentes software reutilizables
alineados con requerimientos
Arquitectura de desarrollo
Herramientas, estándares y metodologías para el desarrollo de
software
Arquitectura de operación
Mecanismos para garantizar el nivel de servicio y operación del software
Arquitectura técnica
Infraestructura (HW y SW base) para soportar el desarrollo y operación del
sistema.
Negocio
![Page 43: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/43.jpg)
Arquitectura
como producto
App1 App2 App3 App4 AppN
ARQUITECTURA
SOFTWARE BASE
HARDWARE
![Page 44: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/44.jpg)
Arquitectura
como producto
App1 App2 App3 App4 AppN
FONTANERÍA
SOFTWARE BASE
HARDWARE
![Page 45: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/45.jpg)
![Page 46: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/46.jpg)
Arquitectura en
Metodologías
ágiles
![Page 47: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/47.jpg)
DSDM Atern
“Firm foundations”
![Page 48: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/48.jpg)
![Page 49: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/49.jpg)
Initial architectural envisioning “Architecture Owner” Agile DBAs Defer Commitment Agile Architecture
DAD
![Page 50: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/50.jpg)
Arquitectos
![Page 51: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/51.jpg)
![Page 52: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/52.jpg)
Arquitecto como rol
Comunicar la arquitectura
Abstracción, reducir detalle
noUML
Verbo y nombre
![Page 53: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/53.jpg)
Workspace workspace = new Workspace("Spring PetClinic", ""); // create a software architecture model Model model = workspace.getModel(); SoftwareSystem springPetClinic = model.addSoftwareSystem("Spring PetClinic", "Allows employees to view and manage information “ + "regarding the veterinarians, the clients, and their pets."); Person clinicEmployee = model.addPerson("Clinic Employee", "An employee of the clinic"); clinicEmployee.uses(springPetClinic, "Uses"); // create some views to visualise the model ViewSet viewSet = workspace.getViews(); SystemContextView contextView = viewSet.createContextView(springPetClinic); contextView.addAllSoftwareSystems(); contextView.addAllPeople(); // upload the model and views to structurizr.com StructurizrClient structurizrClient = new StructurizrClient("https://api.structurizr.com", "key", "secret"); structurizrClient.putWorkspace(1, workspace);
Descripción de la
arquitectura en
código
structurizr
![Page 54: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/54.jpg)
The Craftsman I Would Like to Be
Alex Bolboaca
El título no es lo importante
Aprende tu técnica
Piensa a diferentes niveles
Sé pragmático
Rodéate de artesanos
Aprende toda tu vida
http://www.alexbolboaca.ro/
![Page 55: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/55.jpg)
Niveles de arquitectura
Enterprise Architecture
Software Architecture
Comunicación
Abstracción
Respeto
![Page 56: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/56.jpg)
TOGAF
ArchiMate
SAFe
Architecture runway
Architecture for
Developers
structrurizr
![Page 57: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/57.jpg)
Firmitas
Utilitas
Venustas
![Page 58: Arquitectura para artesanos](https://reader034.vdocuments.pub/reader034/viewer/2022042513/58f141431a28abb8488b457b/html5/thumbnails/58.jpg)
Gracias
Toni Tassani @atassani