Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

SCPNA2017 El arte del patadon pa'lante / libro de recetas

915 visualizaciones

Publicado el

Lo óptimo es tomar las decisiones lo más tarde posible, con más información. Esto permite soluciones más sencillas y en algunos casos evitar trabajo innecesario. Suena bien, ¿verdad?... Claro, pero ¿cómo lo hago?… Mediante ejemplos reales aprenderemos a ser unos artistas de posponer y minimizar el trabajo a realizar. Después del El arte del patadón pa'lante, ahora… el Libro de recetas. Relajate y disfruta viendo como actuan unos vagos profesionales.

Publicado en: Ingeniería
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

SCPNA2017 El arte del patadon pa'lante / libro de recetas

  1. 1. Luis Artola (@artolamola) Eduardo Ferro (@eferro) libro de recetas El Arte del Patadón pa’lante
  2. 2. ¿A qué nos referimos? Posponer todas las decisiones hasta el último momento responsable(™) Mantener opciones abiertas lo máximo posible
  3. 3. So much product development time is spent undoing complexity that should have been left out in the first place. - @jasonfried
  4. 4. Luis Artola (@artolamola) ¿Quienes somos? Edu Ferro (@eferro) “Vagos” profesionales
  5. 5. KEEP CALM AND POSTPONE
  6. 6. ● Problemas/trabajo >> Capacidad ● Problema != Solución @artolamola @eferro Contexto
  7. 7. @artolamola @eferro Problemas Tiempo (semanas) P1S1 P2S1 P3S1 Forma trabajo tradicional
  8. 8. ● Solución simple -> Atacar+Problemas ● Evita desperdicio (Lean) @artolamola @eferro Contexto
  9. 9. @artolamola @eferro Problemas Tiempo (semanas) P1S1 P1S2 P1S3 P2S1 P2S2 P3S1 P3S2 P3S3 Forma trabajo posponiendo
  10. 10. KEEP CALM AND POSTPONE @artolamola @eferro
  11. 11. Ej: Customer Repository Time to Market / Opportunity cost Sistema TV / Teléfono / Internet Persistencia gestión clientes Núm clientes y crecimiento bajo Concurrencia baja @artolamola @eferro
  12. 12. Ej: Customer Repository Time to Market / Opportunity cost Solución de referencia: BD Relacional + ORM + Framework @artolamola @eferro
  13. 13. Ej: Customer Repository Time to Market / Opportunity cost @artolamola @eferro
  14. 14. Ej: Customer Repository Time to Market / Opportunity cost 1 Serialización a fichero @artolamola @eferro 2 Python text indexer 3 Python text indexer + Redis 4 MySQL Full text search + Redis
  15. 15. Ej: Customer Repository Time to Market / Opportunity cost Siguientes pasos: @artolamola @eferro - ¿PostgreSQL? - ¿Mongo? - a saber...
  16. 16. KEEP CALM AND POSTPONE @artolamola @eferro
  17. 17. Ej: Sistema de Colas Cloud Diseño evolutivo / Reabrir opciones Sistema colas para aplicación Cloud Uso desde varios servicios Desplegado en AWS @artolamola @eferro
  18. 18. Ej: Sistema de Colas Cloud Diseño evolutivo / Reabrir opciones 1 Uso API aws SQS en cada servicio @artolamola @eferro 2 Encapsulación reusable (simple)
  19. 19. Ej: Sistema de Colas Cloud Diseño evolutivo / Reabrir opciones @artolamola @eferro
  20. 20. Ej: Sistema de Colas Cloud Diseño evolutivo / Reabrir opciones 3 Encapsulación MultiQueue (envío con prioridades) @artolamola @eferro
  21. 21. Ej: Sistema de Colas Cloud Diseño evolutivo / Reabrir opciones @artolamola @eferro
  22. 22. Ej: Sistema de Colas Cloud Diseño evolutivo / Reabrir opciones @artolamola @eferro Siguientes pasos: - ¿RabbitMQ? ¿Redis? - ¿Compresión datos? ¿Formatos? - a saber...
  23. 23. KEEP CALM AND POSTPONE @artolamola @eferro
  24. 24. Borrado Temporales S3 Eliminación complejidad / Reabrir opciones @eferro Generación videos require ficheros temporales (video master, metainfo). Etapa final borraba esos ficheros de S3.
  25. 25. Borrado Temporales S3 Eliminación complejidad / Reabrir opciones @eferro Solución de referencia: Servicio especializado borrado
  26. 26. Borrado Temporales S3 Eliminación complejidad / Reabrir opciones @eferro 1 Servicio para borrado (high scale) 2 Eliminación servicio de borrado 3 Medición coste almacenamiento
  27. 27. Borrado Temporales S3 Eliminación complejidad / Reabrir opciones @eferro Siguientes pasos: - ¿borrado periódico? ¿AWS S3 TTL? - ¿ninguno? - a saber...
  28. 28. KEEP CALM AND POSTPONE @artolamola @eferro
  29. 29. Ej: Sistema de Usuarios TheMotion Evitar complejidad / Exploración Gestión de usuarios complicada B2B. Publicidad. Partners, Advertisers, Agencias, Brands… etc. Startup en modo exploración. @artolamola @eferro
  30. 30. Ej: Sistema de Usuarios TheMotion Evitar complejidad / Exploración @artolamola @eferro Solución de referencia: Sistema usuarios / roles / organizaciones / login
  31. 31. Ej: Sistema de Usuarios TheMotion Evitar complejidad / Exploración @artolamola @eferro 1 Sin usuarios / API KEY (api) 2 Usuarios creados manual (api) 3 Usuarios suplantan otros (api) 4 Registro con activación manual (Web UI)
  32. 32. Ej: Sistema de Usuarios TheMotion Evitar complejidad / Exploración @artolamola @eferro Siguientes pasos: - ¿activación y datos de pago? - ¿uso servicio externo? - a saber...
  33. 33. KEEP CALM AND POSTPONE @artolamola @eferro
  34. 34. Ej: TheMotion infrastructure CLI Diseño evolutivo / Desconocimiento AWS / Time to Market Sin experiencia con AWS. Herramienta para: - Desplegar servicios - Ver estado cluster / colas / DBs - Ver configuraciones y log @artolamola @eferro
  35. 35. Ej: TheMotion infrastructure CLI Diseño evolutivo / Desconocimiento AWS / Time to Market @artolamola @eferro Solución de referencia: Selección de herramienta para uso directo (ansible, terraform, chef)
  36. 36. Ej: TheMotion infrastructure CLI Diseño evolutivo / Desconocimiento AWS / Time to Market @artolamola @eferro 1 App CLI, ssh, Bash + aws cli 2 Bash + aws cli + ansible 3 Bash + aws cli + cloudformation 4 Python + cloudformation + api
  37. 37. Ej: TheMotion infrastructure CLI Diseño evolutivo / Desconocimiento AWS / Time to Market @artolamola @eferro Siguientes pasos: - Nuevos comandos - Nuevas tecnologías - a saber...
  38. 38. KEEP CALM AND POSTPONE @artolamola @eferro
  39. 39. Fails @artolamola @eferro
  40. 40. Fails @artolamola @eferro DynamoDB en vez de PostgreSQL Microservicios Prematuros Multi thread Prematuro
  41. 41. KEEP CALM AND POSTPONE @artolamola @eferro
  42. 42. Conclusiones @artolamola @eferro Soluciones sencillas Requiere madurez Requiere hablar de problemas Minimiza hablar de soluciones Mantiene opciones abiertas
  43. 43. Conclusiones @artolamola @eferro Clave para trabajar así: ● Arquitectura evolutiva ● Calidad técnica ● Parallel change / Branch by abstraction / feature toggling
  44. 44. Conclusiones @artolamola @eferro Agile: ● No es velocidad (valor rápido) ● Valor antes ● Adaptabilidad ● Gestión de riesgo
  45. 45. Q&A - Feedback @artolamola @eferro ¿Te has sentido identificado? ¿Te hemos dado ideas?
  46. 46. Referencias @artolamola @eferro ● CAS2016 El arte del patadon pa’lante ● CAS2016 Problemas vs Soluciones. Carlos Blé ● Real options ● Embracing Uncertainty ● The art of destroying software ● Lean Software Development
  47. 47. Muchas Gracias @artolamola @eferro
  48. 48. Q&A - Feedback @artolamola @eferro
  49. 49. Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) Slide Design: Xabi Larrakoetxea (@slok69) @artolamola @eferro

×