SlideShare una empresa de Scribd logo
1 de 162
Descargar para leer sin conexión
ARQUITECTURA
EVOLUTIVA
Fausto De La Torre
Desarrollador
Líder Desarrollo
@faustodelatog
Project Manager
Arquitecto Software
Desarrollador
Consultor
LíderTécnico / Arquitecto
Siempre estamos contratando
i Contexto
Arquitectura Evolutiva - Definición
Características
Principios
Micro Servicios
como Arquitectura Evolutiva
Conclusiones
i Contexto
Arquitectura Evolutiva - Definición
Características
Principios
Micro Servicios
como Arquitectura Evolutiva
Conclusiones
Arquitectura de Software
Arquitectura de Software
“… the important stuff (whatever that is)”
Ralph Johnson
Arquitectura de Software
“SA = {Elements, Form, Rationale}”
Perry DE, Wolf AL
Foundations for the study of software architecture
“… the important stuff (whatever that is)”
Ralph Johnson
Arquitectura de Software
“things that people perceive
as hard to change”
Martin Fowler
http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
“SA = {Elements, Form, Rationale}”
Perry DE, Wolf AL
Foundations for the study of software architecture
“… the important stuff (whatever that is)”
Ralph Johnson
¿Qué es la Arquitectura de Software?
¿Por qué es importante?
¿Por qué es importante?
¿Por qué es importante?
¿Por qué es importante?
una buena arquitectura es la clave
de éxito a largo plazo
Enfoque Tradicional
Enfoque Tradicional
Enfoque Tradicional
Enfoque Tradicional
Esperado vs. Real
Esperado vs. Real
Esperado vs. Real
Esperado vs. Real
El cambio es una realidad 

y complica
El cambio es una realidad 

y complica
El cambio es una realidad 

y complica
Buenas Prácticas
Ayer t
Arquitectura de Software
AntipatronBuenas Prácticas
HoyAyer t
Arquitectura de Software
Charles Darwin
Charles Darwin
i Contexto
Arquitectura Evolutiva - Definición
Características
Principios
Micro Servicios
como Arquitectura Evolutiva
Conclusiones
ARQUITECTURA EVOLUTIVA
“Soporta un cambio guiado,
continuo e incremental como
primer principio a lo largo de
muchas dimensiones”
ARQUITECTURA EVOLUTIVA
Rebecca Parsons, Neal Ford
¿Qué Dificulta el Cambio?
¿Qué Dificulta el Cambio?
RIGIDEZ
¿Qué Dificulta el Cambio?
RIGIDEZ ACOPLAMIENTO
Creando la Arquitectura
Creando la Arquitectura
Creando la Arquitectura
Respuesta al cambio
Seguir un plan
SOBRE
Creando la Arquitectura
Respuesta al cambio
Seguir un plan
SOBRE
Respuesta al cambio y
NO un plan
Creando la Arquitectura
Respuesta al cambio
Seguir un plan
SOBRE
Respuesta al cambio y
NO un plan
PLANIFICAR EN ENTORNOS CAMBIANTES
t
t
Arquitectura Esperada
Realidad
Tradicional
Agile
i Contexto
Arquitectura Evolutiva - Definición
Características
Principios
Micro Servicios
como Arquitectura Evolutiva
Conclusiones
¿Qué Facilita la Evolución?
Experimentación
Guiado y validado por las 

capacidades del negocio
Modularidad y
Desacoplamiento
Negocio
¿Qué Facilita la Evolución?
Experimentación
Guiado y validado por las 

capacidades del negocio
Modularidad y
Desacoplamiento
Negocio
Modularidad y Desacoplamiento
Modularidad y Desacoplamiento
Big Ball of Mud
Modularidad y Desacoplamiento
SOA
Eventos
Capas
UI
Controladores
Negocio
Persistencia
Microservicios
Acoplamiento
X-Ray view of package dependencies
Acoplamiento a tecnologías
Acoplamiento a tecnologías
Capas de anticorrupción
¿Qué Facilita la Evolución?
Experimentación
Guiado y validado por las 

capacidades del negocio
Modularidad y
Desacoplamiento
Negocio
Guiada por el Dominio
Guiada por el Dominio
Bounded Context
Productos
Clientes
Modelo de Datos
Bounded Context
Productos
Clientes
Modelo de Datos
Bounded Context
Facturación
Campañas
Marketing
Capacidades del negocio
Entrega
Compras
message bus
process choreographer
service orchestrator
business services BS BS BS BS BS BS
enterprise services ES ES ES ES ES ES
application services AS infrastructure services IS
Guiada por el Dominio - ¿SOA?
message bus
process choreographer
service orchestrator
business services BS BS BS BS BS BS
enterprise services ES ES ES ES ES ES
application services AS infrastructure services IS
Evolución guiada por una separación técnica

No puede evolucionar guiado por el negocio
Guiada por el Dominio - ¿SOA?
Validada por el Negocio
Validada por el Negocio
ENTREGA CONTINUA
Validada por el Negocio
ENTREGA CONTINUA
control de
versiones
servidor
integración continua
Integración Continua
control de
versiones
servidor
integración continua
build
tests
…
Integración Continua
control de
versiones
servidor
integración continua
build
tests
…
Integración Continua
control de
versiones
servidor
integración continua
build
tests
…
todos envían sus
cambios al trunk
al menos una vez
al día
Integración Continua
Agile 101
Agile 101
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
Agile 101
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
Agile 101
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
Agile 101
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
Agile 101
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
Entrega Continua
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
Customer
Delivery team
Constant flow of new features into production
Entrega Continua
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
Customer
Delivery team
Constant flow of new features into production listo para
producción
SIEMPRE
Entrega Continua
Ley de Conway
“Las organizaciones que diseñan sistemas están limitadas a producir diseños que
son copias de las estructuras de comunicación de estas organizaciones.”
Ley de Conway
“Las organizaciones que diseñan sistemas están limitadas a producir diseños que
son copias de las estructuras de comunicación de estas organizaciones.”
Ley de Conway
“Las organizaciones que diseñan sistemas están limitadas a producir diseños que
son copias de las estructuras de comunicación de estas organizaciones.”
Equipos Multidisciplinarios
organizados por 

capacidades del negocio
Productos en lugar de Proyectos
Si lo diseñas lo implementas
Productos en lugar de Proyectos
Si lo diseñas lo implementas
Si lo implementas, lo despliegas
Productos en lugar de Proyectos
Si lo diseñas lo implementas
“you build it, you run it”
Si lo implementas, lo despliegas
Arquitecto de Software
Arquitecto de Software
Arquitecto de Software
DEV
OPS
DBA
Arquitecto de Software
Creando la Arquitectura
Creando la Arquitectura
Código que funciona
Documentación
SOBRE
Creando la Arquitectura
Código que funciona y
NO documentación
Código que funciona
Documentación
SOBRE
Creando la Arquitectura
Creando la Arquitectura
Creando la Arquitectura
Creando la Arquitectura
¿Qué Facilita la Evolución?
Experimentación
Guiado y validado por las 

capacidades del negocio
Modularidad y
Desacoplamiento
Negocio
Canary Releasing
Feature Toggles
Producción
Feature Toggles
Producción
Feature Toggles
Producción
Feature Toggles
Producción
i Contexto
Arquitectura Evolutiva - Definición
Características
Principios
Micro Servicios
como Arquitectura Evolutiva
Conclusiones
El último momento responsable
Elementos de juicio
t
El último momento responsable
Elementos de juicio
t
Empezar Simple
Dietzlers Law
Empezar Simple
Dietzlers Law
Empezar Simple
Dietzlers Law
Empezar Simple
Dietzlers Law
Empezar Simple
El negocio siempre quiere
el 100%
Dietzlers Law
Empezar Simple
Tendencias
Atributos de Calidad (Fitness Functions)
Si es doloroso hazlo más seguido
Pipelines de Despliegue
Integración Continua
Migraciones BD
Aprovisionamiento automático
…
Pro/Reactivo en lugar de Predictivo
Pro/Reactivo en lugar de Predictivo
i Contexto
Arquitectura Evolutiva - Definición
Características
Principios
Micro Servicios
como Arquitectura Evolutiva
Conclusiones
Aplicaciones Monolíticas
Aplicaciones Monolíticas
Aplicaciones Monolíticas
Aplicación
Aplicaciones Monolíticas
Aplicación
HTML, JS, etc.
Aplicaciones Monolíticas
Aplicación
HTML, JS, etc.
Aplicaciones Monolíticas
Aplicación
HTML, JS, etc.
Micro Servicios
Micro Servicios
Micro Servicios
Responsabilidad única
Micro Servicios
Responsabilidad única
Alta cohesión y bajo acoplamiento
Micro Servicios
Responsabilidad única
Alta cohesión y bajo acoplamiento
Artefactos desplegables independientes
Micro Servicios
Responsabilidad única
Alta cohesión y bajo acoplamiento
Artefactos desplegables independientes
Guiados por las capacidades del negocio
Gobierno decentralizado
Java Clojure
Ruby
Gobierno decentralizado
Java Clojure
Ruby
Estandarización
Equilibrio
Estandarización
Estandarización
- Integración
- Interfaces
- Monitoreo
- Despliegue
Flexibilidad
- Construcción Interna
Estandarización
- Integración
- Interfaces
- Monitoreo
- Despliegue
Flexibilidad
- Construcción Interna
Basado en el
Domino
+
Validado por
el Negocio
Bounded Context
Facturación
Campañas
Marketing
Capacidades del negocio
Entrega
Compras
Java
Bounded Context
Facturación
Campañas
Marketing
Capacidades del negocio
Entrega
Compras
Java
Clojure
Bounded Context
Facturación
Campañas
Marketing
Capacidades del negocio
Entrega
Compras
Java
Clojure
Java
Bounded Context
Facturación
Campañas
Marketing
Capacidades del negocio
Entrega
Compras
Java
Clojure
Java
Java
Bounded Context
Facturación
Campañas
Marketing
Capacidades del negocio
Entrega
Compras
Gobierno Decentralizado
Transacciones distribuidas
tx
tx
TEOREMA DE CAP
Escalabilidad
Monolíticas Micro Servicios
Trade offs
Automatización de la infraestructura
Monitoreo
Metrics
Despliegue
i Contexto
Arquitectura Evolutiva - Definición
Características
Principios
Micro Servicios
como Arquitectura Evolutiva
Conclusiones
Vivir y abrazar el Cambio
Vivir y abrazar el Cambio
Decisiones reversibles - Planificar lo necesario
Vivir y abrazar el Cambio
Decisiones reversibles - Planificar lo necesario
Pre/Reactivo
Predictivo
Vivir y abrazar el Cambio
Decisiones reversibles - Planificar lo necesario
Simplificar, Desacoplar y Desenredar
Pre/Reactivo
Predictivo
faustodelatog
MUCHAS GRACIAS

Más contenido relacionado

La actualidad más candente

Agile Placemat v9
Agile Placemat v9Agile Placemat v9
Agile Placemat v9
Chris Webb
 

La actualidad más candente (19)

O que caracteriza uma EA (Enterprise Architeture) e como aplicamos o TOGAF®
O que caracteriza uma EA (Enterprise Architeture) e como aplicamos o TOGAF®O que caracteriza uma EA (Enterprise Architeture) e como aplicamos o TOGAF®
O que caracteriza uma EA (Enterprise Architeture) e como aplicamos o TOGAF®
 
Technology Strategy Template
Technology Strategy TemplateTechnology Strategy Template
Technology Strategy Template
 
How to establish Enterprise Architecture in large organisations using TOGAF
How to establish Enterprise Architecture in large organisations using TOGAFHow to establish Enterprise Architecture in large organisations using TOGAF
How to establish Enterprise Architecture in large organisations using TOGAF
 
Business Architecture and Enterprise Planning
Business Architecture and Enterprise PlanningBusiness Architecture and Enterprise Planning
Business Architecture and Enterprise Planning
 
Agile Lifecycle for Enterprise IT Programs
Agile Lifecycle for Enterprise IT ProgramsAgile Lifecycle for Enterprise IT Programs
Agile Lifecycle for Enterprise IT Programs
 
Presentacion: Usando Archimate
Presentacion: Usando ArchimatePresentacion: Usando Archimate
Presentacion: Usando Archimate
 
A TOGAF Case Study
A TOGAF Case StudyA TOGAF Case Study
A TOGAF Case Study
 
Diseño Centrado en el Usuario: UX, IxD, Usabilidad aplicada
Diseño Centrado en el Usuario: UX, IxD, Usabilidad aplicadaDiseño Centrado en el Usuario: UX, IxD, Usabilidad aplicada
Diseño Centrado en el Usuario: UX, IxD, Usabilidad aplicada
 
Enterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHubEnterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHub
 
TOGAF Reference Models
TOGAF Reference ModelsTOGAF Reference Models
TOGAF Reference Models
 
Scrum cheat sheet
Scrum cheat sheetScrum cheat sheet
Scrum cheat sheet
 
Babok v2.0
Babok v2.0Babok v2.0
Babok v2.0
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Enterprise architecture
Enterprise architectureEnterprise architecture
Enterprise architecture
 
Estimación y planificación ágil
Estimación y planificación ágilEstimación y planificación ágil
Estimación y planificación ágil
 
Historias de usuario y estimacion
Historias de usuario y estimacionHistorias de usuario y estimacion
Historias de usuario y estimacion
 
Fase 1 formulacion y planeación i web
Fase 1 formulacion y planeación i webFase 1 formulacion y planeación i web
Fase 1 formulacion y planeación i web
 
Indroducción a REM 1.2.2
Indroducción a REM 1.2.2Indroducción a REM 1.2.2
Indroducción a REM 1.2.2
 
Agile Placemat v9
Agile Placemat v9Agile Placemat v9
Agile Placemat v9
 

Similar a Arquitectura Evolutiva

129023349 metricas-en-arquitectura-empresarial-gobierno-de-la-estrategia-en-e...
129023349 metricas-en-arquitectura-empresarial-gobierno-de-la-estrategia-en-e...129023349 metricas-en-arquitectura-empresarial-gobierno-de-la-estrategia-en-e...
129023349 metricas-en-arquitectura-empresarial-gobierno-de-la-estrategia-en-e...
ArgentineWines.Com
 
Grupo Sellcom - ITSkill - 2016
Grupo Sellcom - ITSkill - 2016Grupo Sellcom - ITSkill - 2016
Grupo Sellcom - ITSkill - 2016
Guillermo Courtney
 

Similar a Arquitectura Evolutiva (20)

Arquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreArquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la Torre
 
Arquitectura evolutiva
Arquitectura evolutivaArquitectura evolutiva
Arquitectura evolutiva
 
Catálogo Corporativo de Sunqu
Catálogo Corporativo de SunquCatálogo Corporativo de Sunqu
Catálogo Corporativo de Sunqu
 
Introducción a las Metodologías Ágiles
Introducción a las Metodologías ÁgilesIntroducción a las Metodologías Ágiles
Introducción a las Metodologías Ágiles
 
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
 
Presentation1
Presentation1Presentation1
Presentation1
 
Presentation1
Presentation1Presentation1
Presentation1
 
Gestión de calidad en el departamento TI. El ingrediente indispensable
Gestión de calidad en el departamento TI. El ingrediente indispensableGestión de calidad en el departamento TI. El ingrediente indispensable
Gestión de calidad en el departamento TI. El ingrediente indispensable
 
129023349 metricas-en-arquitectura-empresarial-gobierno-de-la-estrategia-en-e...
129023349 metricas-en-arquitectura-empresarial-gobierno-de-la-estrategia-en-e...129023349 metricas-en-arquitectura-empresarial-gobierno-de-la-estrategia-en-e...
129023349 metricas-en-arquitectura-empresarial-gobierno-de-la-estrategia-en-e...
 
18 Ibm
18 Ibm18 Ibm
18 Ibm
 
Zemsania DBT 2015
Zemsania DBT 2015Zemsania DBT 2015
Zemsania DBT 2015
 
Guillermo Cortina - Construyendo una Cultura DevOps
Guillermo Cortina - Construyendo una Cultura DevOpsGuillermo Cortina - Construyendo una Cultura DevOps
Guillermo Cortina - Construyendo una Cultura DevOps
 
Catálogo de perfiles 2016
Catálogo de perfiles 2016Catálogo de perfiles 2016
Catálogo de perfiles 2016
 
Grupo Sellcom - ITSkill - 2016
Grupo Sellcom - ITSkill - 2016Grupo Sellcom - ITSkill - 2016
Grupo Sellcom - ITSkill - 2016
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivo
 
¿Que es la agilidad?
¿Que es la agilidad?¿Que es la agilidad?
¿Que es la agilidad?
 
Apside 2018
Apside 2018Apside 2018
Apside 2018
 
Presentación general Servicios y Soluciones B-TECH
Presentación general   Servicios y Soluciones B-TECHPresentación general   Servicios y Soluciones B-TECH
Presentación general Servicios y Soluciones B-TECH
 
Administración de Proyectos de Manufactura
Administración de Proyectos de ManufacturaAdministración de Proyectos de Manufactura
Administración de Proyectos de Manufactura
 
Ejecutando proyectos de innovación tecnológica de software en intel
Ejecutando proyectos de innovación tecnológica de software en intelEjecutando proyectos de innovación tecnológica de software en intel
Ejecutando proyectos de innovación tecnológica de software en intel
 

Arquitectura Evolutiva