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

49
Luis Artola (@artolamola) Eduardo Ferro (@eferro) libro de recetas El Arte del Patadón pa’lante

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

Page 1: 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

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

¿A qué nos referimos?

Posponer todas las decisiones hasta el último momento responsable(™)

Mantener opciones abiertas lo máximo posible

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

So much product development time is spent undoing complexity that should have been left out in the first place. -

@jasonfried

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

Luis Artola(@artolamola)

¿Quienes somos?

Edu Ferro(@eferro)

“Vagos” profesionales

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

KEEPCALM

AND

POSTPONE

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

● Problemas/trabajo >> Capacidad ● Problema != Solución

@artolamola @eferro

Contexto

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

@artolamola @eferro

Pro

blem

as

Tiempo (semanas)

P1S1

P2S1

P3S1

Forma trabajo tradicional

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

● Solución simple -> Atacar+Problemas● Evita desperdicio (Lean)

@artolamola @eferro

Contexto

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

@artolamola @eferro

Pro

blem

as

Tiempo (semanas)

P1S1 P1S2 P1S3

P2S1 P2S2

P3S1 P3S2 P3S3

Forma trabajo posponiendo

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

KEEPCALM

AND

POSTPONE@artolamola @eferro

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

Ej: Customer RepositoryTime to Market / Opportunity cost

Sistema TV / Teléfono / InternetPersistencia gestión clientesNúm clientes y crecimiento bajoConcurrencia baja

@artolamola @eferro

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

Ej: Customer RepositoryTime to Market / Opportunity cost

Solución de referencia:BD Relacional + ORM + Framework

@artolamola @eferro

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

Ej: Customer RepositoryTime to Market / Opportunity cost

@artolamola @eferro

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

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

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

Ej: Customer RepositoryTime to Market / Opportunity cost

Siguientes pasos:

@artolamola @eferro

- ¿PostgreSQL?- ¿Mongo?- a saber...

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

KEEPCALM

AND

POSTPONE@artolamola @eferro

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

Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones

Sistema colas para aplicación CloudUso desde varios servicios Desplegado en AWS

@artolamola @eferro

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

Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones

1 Uso API aws SQS en cada servicio

@artolamola @eferro

2 Encapsulación reusable (simple)

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

Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones

@artolamola @eferro

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

Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones

3 Encapsulación MultiQueue (envío con prioridades)

@artolamola @eferro

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

Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones

@artolamola @eferro

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

Ej: Sistema de Colas CloudDiseño evolutivo / Reabrir opciones

@artolamola @eferro

Siguientes pasos:- ¿RabbitMQ? ¿Redis?- ¿Compresión datos? ¿Formatos?- a saber...

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

KEEPCALM

AND

POSTPONE@artolamola @eferro

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

Borrado Temporales S3Eliminación complejidad / Reabrir opciones

@eferro

Generación videos require ficheros temporales (video master, metainfo). Etapa final borraba esos ficheros de S3.

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

Borrado Temporales S3Eliminación complejidad / Reabrir opciones

@eferro

Solución de referencia:Servicio especializado borrado

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

Borrado Temporales S3Eliminación complejidad / Reabrir opciones

@eferro

1 Servicio para borrado (high scale)2 Eliminación servicio de borrado3 Medición coste almacenamiento

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

Borrado Temporales S3Eliminación complejidad / Reabrir opciones

@eferro

Siguientes pasos:- ¿borrado periódico? ¿AWS S3 TTL?- ¿ninguno?- a saber...

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

KEEPCALM

AND

POSTPONE@artolamola @eferro

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

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

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

Ej: Sistema de Usuarios TheMotionEvitar complejidad / Exploración

@artolamola @eferro

Solución de referencia:Sistema usuarios / roles / organizaciones / login

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

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)

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

Ej: Sistema de Usuarios TheMotionEvitar complejidad / Exploración

@artolamola @eferro

Siguientes pasos:- ¿activación y datos de pago?- ¿uso servicio externo?- a saber...

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

KEEPCALM

AND

POSTPONE@artolamola @eferro

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

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

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

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)

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

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

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

Ej: TheMotion infrastructure CLIDiseño evolutivo / Desconocimiento AWS / Time to Market

@artolamola @eferro

Siguientes pasos:- Nuevos comandos- Nuevas tecnologías- a saber...

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

KEEPCALM

AND

POSTPONE@artolamola @eferro

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

Fails

@artolamola @eferro

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

Fails

@artolamola @eferro

DynamoDB en vez de PostgreSQLMicroservicios PrematurosMulti thread Prematuro

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

KEEPCALM

AND

POSTPONE@artolamola @eferro

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

Conclusiones

@artolamola @eferro

Soluciones sencillasRequiere madurezRequiere hablar de problemasMinimiza hablar de solucionesMantiene opciones abiertas

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

Conclusiones

@artolamola @eferro

Clave para trabajar así:● Arquitectura evolutiva● Calidad técnica● Parallel change / Branch by abstraction

/ feature toggling

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

Conclusiones

@artolamola @eferro

Agile:● No es velocidad (valor rápido)● Valor antes● Adaptabilidad● Gestión de riesgo

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

Q&A - Feedback

@artolamola @eferro

¿Te has sentido identificado?¿Te hemos dado ideas?

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

Muchas Gracias

@artolamola @eferro

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

Q&A - Feedback

@artolamola @eferro

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

Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)Slide Design: Xabi Larrakoetxea (@slok69)

@artolamola @eferro