SlideShare a Scribd company logo
1 of 162
Download to read offline
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

More Related Content

What's hot

Edificio Celosía
Edificio Celosía   Edificio Celosía
Edificio Celosía
palomaan
 
Arquitectura sustentable en el siglo xxi
Arquitectura sustentable en el siglo xxiArquitectura sustentable en el siglo xxi
Arquitectura sustentable en el siglo xxi
Zaiis Valenzuela
 
Museo de ciencia
Museo de cienciaMuseo de ciencia
Museo de ciencia
cris cris
 

What's hot (20)

Edificio Celosía
Edificio Celosía   Edificio Celosía
Edificio Celosía
 
Richard neutra (jl paris).
Richard neutra (jl paris).Richard neutra (jl paris).
Richard neutra (jl paris).
 
Arquitectura y fractales
Arquitectura y fractalesArquitectura y fractales
Arquitectura y fractales
 
casa das canoas
casa das canoascasa das canoas
casa das canoas
 
Luies solifan
Luies solifanLuies solifan
Luies solifan
 
Arquitectura postmoderna
Arquitectura postmoderna Arquitectura postmoderna
Arquitectura postmoderna
 
العمارة المعاصرة والمردود الفكري والتطبيقي على العمارة المصرية
العمارة المعاصرة والمردود الفكري والتطبيقي على العمارة المصريةالعمارة المعاصرة والمردود الفكري والتطبيقي على العمارة المصرية
العمارة المعاصرة والمردود الفكري والتطبيقي على العمارة المصرية
 
Richard neutra
Richard neutraRichard neutra
Richard neutra
 
فرانك لويد رايت
فرانك لويد رايتفرانك لويد رايت
فرانك لويد رايت
 
Historicism in Architecture
Historicism in ArchitectureHistoricism in Architecture
Historicism in Architecture
 
Hearst Tower LEED Overview
Hearst Tower LEED OverviewHearst Tower LEED Overview
Hearst Tower LEED Overview
 
Palazzo Medici Riccardi - Precedent Studies
Palazzo Medici Riccardi - Precedent StudiesPalazzo Medici Riccardi - Precedent Studies
Palazzo Medici Riccardi - Precedent Studies
 
Palacio de catalina
Palacio de catalinaPalacio de catalina
Palacio de catalina
 
Arquitectura sustentable en el siglo xxi
Arquitectura sustentable en el siglo xxiArquitectura sustentable en el siglo xxi
Arquitectura sustentable en el siglo xxi
 
Assyria & ancient east architecture
Assyria & ancient east architecture Assyria & ancient east architecture
Assyria & ancient east architecture
 
Museo de ciencia
Museo de cienciaMuseo de ciencia
Museo de ciencia
 
Tecnologia constructiva de la arquitectura gotica
Tecnologia constructiva de la arquitectura goticaTecnologia constructiva de la arquitectura gotica
Tecnologia constructiva de la arquitectura gotica
 
Arquitectura europea 1750 a 1900.pptx
Arquitectura europea 1750 a 1900.pptxArquitectura europea 1750 a 1900.pptx
Arquitectura europea 1750 a 1900.pptx
 
Villa stein
Villa steinVilla stein
Villa stein
 
Ar. FRANK LLOYD WRIGHT
Ar. FRANK LLOYD WRIGHT Ar. FRANK LLOYD WRIGHT
Ar. FRANK LLOYD WRIGHT
 

Similar to 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 to 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