Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architectural tactics

Jorge Gaona
October 18, 2017

Architectural tactics

Slides for the GDL Connect meetup talk.

Jorge Gaona

October 18, 2017
Tweet

More Decks by Jorge Gaona

Other Decks in Technology

Transcript

  1. Architectural tactics
    Jorge Gaona
    @pollirrata

    View full-size slide

  2. Aprender
    patrones
    no es
    suficiente.
    http://4.bp.blogspot.com/-y8FzJa9Ny68/U24N7LCDYVI/AAAAAAAAAV4/JeFb-w0_3iY/s1600/minion-gifs-1-1.gif

    View full-size slide

  3. Please
    learn
    to
    think
    about
    abstractions
    https://www.hanselman.com/blog/please
    learntothinkaboutabstractions.aspx
    “Everything is a layer of abstraction
    over something else. I push a button
    on my Prius and the car starts. No
    need even for a key in the ignition. A
    hundred plus years of internal
    combustion abstracted away to a
    simple push button.”
    - Scott Hanselman

    View full-size slide

  4. Un patrón es una solución
    predefinida que ataca múltiples
    ángulos de un problema
    recurrente.

    View full-size slide

  5. Contexto Problema Solución

    View full-size slide

  6. Una táctica es una decisión de
    diseño que apunta a controlar
    una respuesta relacionada a un
    atributo de calidad.

    View full-size slide

  7. Tácticas para
    controlar la respuesta
    Estímulo Respuesta
    Ping / Echo
    Fallo Falla detectada
    Availability
    Incrementar recursos
    Petición recibida Procesada a tiempo
    Performance

    View full-size slide

  8. Módulo de pagos
    Cambia TDC Cambio realizado
    Cierre de mes
    Menos de
    1 segundo
    Ambiente
    Artefacto
    Estímulo
    Fuente
    Respuesta
    Medida

    View full-size slide

  9. creados por
    Patrones Tácticas
    mejorados con

    View full-size slide

  10. Capas
    Modifiability
    Incrementar
    coherencia
    semántica
    Usar un
    intermediario
    Restringir
    dependencias
    Abstraer
    servicios
    comunes

    View full-size slide

  11. Nómina
    • No es un proceso sencillo
    • Diferentes tipos de cálculos en
    base a múltiples factores
    • Tiempo completo
    • Pago por horas
    • Frecuencia de pago
    • Prestaciones
    • …

    View full-size slide

  12. Monolítico
    Faltas y
    retardos
    Bonos por
    ventas
    Horas Extras
    IMSS INFONAVIT
    Prima
    Vacacional
    AFORE
    Dispersión
    ISR Préstamos
    https://i.pinimg.com/originals/7c/8b/a6/7c8ba6f2133046524102136a77f7f776.gif

    View full-size slide

  13. Pipes and filters
    • Descomponer una tarea que ejecuta procesamientos complejos a una
    serie de elementos que pueden ser reusados.
    • Permite que los elementos divididos puedan ser distribuidos y
    escalados de manera independiente.
    https://docs.microsoft.com/en-us/azure/architecture/patterns/pipes-and-filters

    View full-size slide

  14. Monolítico
    Faltas y
    retardos
    Bonos por
    ventas
    Horas Extras
    IMSS INFONAVIT
    Prima
    Vacacional
    AFORE
    Dispersión
    ISR Préstamos

    View full-size slide

  15. Faltas y
    retardos
    Bonos por
    ventas
    Horas
    Extras
    IMSS
    INFONAVIT
    Prima
    Vacacional
    AFORE
    Dispersión
    ISR
    Préstamos
    Faltas y
    retardos
    INFONAVIT
    Horas
    Extras
    IMSS
    IMSS
    INFONAVIT
    Prima
    Vacacional
    AFORE ISR
    IMSS
    IMSS
    IMSS

    View full-size slide

  16. Tácticas y atributos
    Performance Scalability Modifiability
    Incrementar recursos Incrementar elasticidad División de módulos
    Simultaneidad Incrementar coherencia
    semántica
    Múltiples copias de
    procesamiento
    Encapsulamiento
    Uso de intermediarios

    View full-size slide

  17. Tácticas y atributos
    Performance Scalability Modifiability
    Incrementar recursos Incrementar elasticidad División de módulos
    Simultaneidad Incrementar coherencia
    semántica
    Múltiples copias de
    procesamiento
    Encapsulamiento
    Uso de intermediarios
    > complejidad
    > costo
    > costo
    > costo
    > costo > latencia
    > latencia
    > complejidad
    duplicidad monitoreo

    View full-size slide

  18. Mejoras
    Availability
    Ping/Echo Transacciones
    Monitorability
    Incrementar
    visibilidad
    Testability
    Sandbox
    Externalizar el
    estado

    View full-size slide

  19. Secuencia sugerida
    • ¿Qué me
    interesa?
    Atributos de
    calidad
    • ¿Hay una
    solución pre-
    definida?
    Patrones
    • ¿Qué afecta?
    ¿Puede
    mejorar?
    Tácticas

    View full-size slide

  20. ¿Preguntas?
    http://4.bp.blogspot.com/-y8FzJa9Ny68/U24N7LCDYVI/AAAAAAAAAV4/JeFb-w0_3iY/s1600/minion-gifs-1-1.gif

    View full-size slide

  21. Gracias!!
    @pollirrata
    [email protected]
    http://www.pollirrata.com
    https://aidagda.files.wordpress.com/2016/10/gallery-1462115295-obama-mic-drop.gif?w=740
    https://titaniumsolutions.org

    View full-size slide