scpna2017 el arte del patadon pa'lante / libro de recetas

Post on 29-Jan-2018

732 Views

Category:

Engineering

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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?

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

top related