SCPNA2017 El arte del patadon pa'lante / libro de recetas
-
Upload
eduardo-ferro-aldama -
Category
Engineering
-
view
732 -
download
2
Transcript of SCPNA2017 El arte del patadon pa'lante / libro de recetas
Luis Artola (@artolamola)Eduardo Ferro (@eferro)
libro de recetas
El Arte del Patadón pa’lante
¿A qué nos referimos?
Posponer todas las decisiones hasta el último momento responsable(™)
Mantener opciones abiertas lo máximo posible
So much product development time is spent undoing complexity that should have been left out in the first place. -
@jasonfried
Luis Artola(@artolamola)
¿Quienes somos?
Edu Ferro(@eferro)
“Vagos” profesionales
KEEPCALM
AND
POSTPONE
● Problemas/trabajo >> Capacidad ● Problema != Solución
@artolamola @eferro
Contexto
@artolamola @eferro
Pro
blem
as
Tiempo (semanas)
P1S1
P2S1
P3S1
Forma trabajo tradicional
● Solución simple -> Atacar+Problemas● Evita desperdicio (Lean)
@artolamola @eferro
Contexto
@artolamola @eferro
Pro
blem
as
Tiempo (semanas)
P1S1 P1S2 P1S3
P2S1 P2S2
P3S1 P3S2 P3S3
Forma trabajo posponiendo
KEEPCALM
AND
POSTPONE@artolamola @eferro
Ej: Customer RepositoryTime to Market / Opportunity cost
Sistema TV / Teléfono / InternetPersistencia gestión clientesNúm clientes y crecimiento bajoConcurrencia baja
@artolamola @eferro
Ej: Customer RepositoryTime to Market / Opportunity cost
Solución de referencia:BD Relacional + ORM + Framework
@artolamola @eferro
Ej: Customer RepositoryTime to Market / Opportunity cost
@artolamola @eferro
Ej: Customer RepositoryTime to Market / Opportunity cost
1 Serialización a fichero
@artolamola @eferro
2 Python text indexer 3 Python text indexer + Redis4 MySQL Full text search + Redis
Ej: Customer RepositoryTime to Market / Opportunity cost
Siguientes pasos:
@artolamola @eferro
- ¿PostgreSQL?- ¿Mongo?- a saber...
KEEPCALM
AND
POSTPONE@artolamola @eferro
Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones
Sistema colas para aplicación CloudUso desde varios servicios Desplegado en AWS
@artolamola @eferro
Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones
1 Uso API aws SQS en cada servicio
@artolamola @eferro
2 Encapsulación reusable (simple)
Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones
@artolamola @eferro
Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones
3 Encapsulación MultiQueue (envío con prioridades)
@artolamola @eferro
Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones
@artolamola @eferro
Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones
@artolamola @eferro
Siguientes pasos:- ¿RabbitMQ? ¿Redis?- ¿Compresión datos? ¿Formatos?- a saber...
KEEPCALM
AND
POSTPONE@artolamola @eferro
Borrado Temporales S3Eliminación complejidad / Reabrir opciones
@eferro
Generación videos require ficheros temporales (video master, metainfo). Etapa final borraba esos ficheros de S3.
Borrado Temporales S3Eliminación complejidad / Reabrir opciones
@eferro
Solución de referencia:Servicio especializado borrado
Borrado Temporales S3Eliminación complejidad / Reabrir opciones
@eferro
1 Servicio para borrado (high scale)2 Eliminación servicio de borrado3 Medición coste almacenamiento
Borrado Temporales S3Eliminación complejidad / Reabrir opciones
@eferro
Siguientes pasos:- ¿borrado periódico? ¿AWS S3 TTL?- ¿ninguno?- a saber...
KEEPCALM
AND
POSTPONE@artolamola @eferro
Ej: Sistema de Usuarios TheMotionEvitar complejidad / Exploración
Gestión de usuarios complicadaB2B. Publicidad. Partners, Advertisers, Agencias, Brands… etc.Startup en modo exploración.
@artolamola @eferro
Ej: Sistema de Usuarios TheMotionEvitar complejidad / Exploración
@artolamola @eferro
Solución de referencia:Sistema usuarios / roles / organizaciones / login
Ej: Sistema de Usuarios TheMotionEvitar 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)
Ej: Sistema de Usuarios TheMotionEvitar complejidad / Exploración
@artolamola @eferro
Siguientes pasos:- ¿activación y datos de pago?- ¿uso servicio externo?- a saber...
KEEPCALM
AND
POSTPONE@artolamola @eferro
Ej: TheMotion infrastructure CLIDiseñ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
Ej: TheMotion infrastructure CLIDiseño evolutivo / Desconocimiento AWS / Time to Market
@artolamola @eferro
Solución de referencia:Selección de herramienta para uso directo (ansible, terraform, chef)
Ej: TheMotion infrastructure CLIDiseño evolutivo / Desconocimiento AWS / Time to Market
@artolamola @eferro
1 App CLI, ssh, Bash + aws cli2 Bash + aws cli + ansible3 Bash + aws cli + cloudformation4 Python + cloudformation + api
Ej: TheMotion infrastructure CLIDiseño evolutivo / Desconocimiento AWS / Time to Market
@artolamola @eferro
Siguientes pasos:- Nuevos comandos- Nuevas tecnologías- a saber...
KEEPCALM
AND
POSTPONE@artolamola @eferro
Fails
@artolamola @eferro
Fails
@artolamola @eferro
DynamoDB en vez de PostgreSQLMicroservicios PrematurosMulti thread Prematuro
KEEPCALM
AND
POSTPONE@artolamola @eferro
Conclusiones
@artolamola @eferro
Soluciones sencillasRequiere madurezRequiere hablar de problemasMinimiza hablar de solucionesMantiene opciones abiertas
Conclusiones
@artolamola @eferro
Clave para trabajar así:● Arquitectura evolutiva● Calidad técnica● Parallel change / Branch by abstraction
/ feature toggling
Conclusiones
@artolamola @eferro
Agile:● No es velocidad (valor rápido)● Valor antes● Adaptabilidad● Gestión de riesgo
Q&A - Feedback
@artolamola @eferro
¿Te has sentido identificado?¿Te hemos dado ideas?
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
Muchas Gracias
@artolamola @eferro
Q&A - Feedback
@artolamola @eferro
Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)Slide Design: Xabi Larrakoetxea (@slok69)
@artolamola @eferro