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

Architectural tactics

E347d31854e17e4aadbd768af5c0cec7?s=47 Jorge Gaona
October 18, 2017

Architectural tactics

Slides for the GDL Connect meetup talk.

E347d31854e17e4aadbd768af5c0cec7?s=128

Jorge Gaona

October 18, 2017
Tweet

Transcript

  1. Architectural tactics Jorge Gaona @pollirrata

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

  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
  4. Un patrón es una solución predefinida que ataca múltiples ángulos

    de un problema recurrente.
  5. Contexto Problema Solución

  6. Una táctica es una decisión de diseño que apunta a

    controlar una respuesta relacionada a un atributo de calidad.
  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
  8. Módulo de pagos Cambia TDC Cambio realizado Cierre de mes

    Menos de 1 segundo Ambiente Artefacto Estímulo Fuente Respuesta Medida
  9. creados por Patrones Tácticas mejorados con

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

    Abstraer servicios comunes
  11. None
  12. 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 • …
  13. 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
  14. 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
  15. Monolítico Faltas y retardos Bonos por ventas Horas Extras IMSS

    INFONAVIT Prima Vacacional AFORE Dispersión ISR Préstamos
  16. 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
  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
  18. 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
  19. Mejoras Availability Ping/Echo Transacciones Monitorability Incrementar visibilidad Testability Sandbox Externalizar

    el estado
  20. Secuencia sugerida • ¿Qué me interesa? Atributos de calidad •

    ¿Hay una solución pre- definida? Patrones • ¿Qué afecta? ¿Puede mejorar? Tácticas
  21. ¿Preguntas? http://4.bp.blogspot.com/-y8FzJa9Ny68/U24N7LCDYVI/AAAAAAAAAV4/JeFb-w0_3iY/s1600/minion-gifs-1-1.gif

  22. Gracias!! @pollirrata jgaona@e-nnovare.com http://www.pollirrata.com https://aidagda.files.wordpress.com/2016/10/gallery-1462115295-obama-mic-drop.gif?w=740 https://titaniumsolutions.org