Muchas startups son mejores que una
O cómo trabajamos en InVision
por Pablo Fredrikson
Pablo Fredrikson

@pablokbs
- Nerd
- 11 años con Linux
- Senior SRE @ InVision
¿Qué es una startup?

Velocidad
¿Que vamos a ver?
- Equipos
- Relaciones
- Gente
- Releases
- Fallas
- Herramientas
- Progreso
Equipos
Equipos
- Menos de 8 personas
- Autónomos (deploys, código, herramientas, responsabilidades, configuraciones)
- Forma de trabajo (hangouts, trello, jira, standups)
¿Autónomos?
- Más divertido y motivado
- Libertad a hacer lo que quieran (y como quieran)
- Rápido (menos discusiones de cómo resolver un problema)
- Menos dependencias entre equipos (menos esperas)
Autonomía
Alineamiento
Líder decide
qué y cómo
Micro
managing
Líder presenta el problema y
equipo elige cómo resolverlo
Todos hacen lo que quieren
Relaciones
Todos para uno, uno para todos
Preguntas que me hacen:
- ¿Qué lenguaje/tecnología usan?
- ¿Cómo manejan las tareas?
- ¿Qué tan seguido hacen deploys?
Depende del equipo

Ventajas
- El estándar se crea sólo (por ejemplo Git, Jira)
- Cada equipo es dueño de su servicio y código
- Herramientas compartidas
- Cualquiera puede tocar cualquier código
- Mejora la calidad
- La gente aprende
Gente
Mis compañeros son los mejores
EGO
Motivación


Releases
¡Rápido, rápido, rápido!
Release difícil
Releases menos frecuentes
Release fácil
Releases más frecuentes
¿Cómo lo hacemos más facil?
- Pequeños
- Frecuentes
- Feature flags (fácil de revertir)
- Automatización de tests y CD (deploy bot)
Fallas
Fallar está permitido, pero que sea rápido
Errores rápidos
- Afectan usuarios por menos tiempo
- Rollbacks rápidos
- Features separadas
- RCA (Análisis de origen de problemas)
- No es para culpar
- ¿Qué aprendimos?
- ¿Cómo mejoramos?
Herramientas
Bueno, algunas cosas no son tan liberales
Cosas obligatorias comunes
- Git
- Librerías base
- Monitoreo
- Tests
- Autenticación
- Retrospectivas
- Demos
- Standups diarias
No todo es feliz
Todo cambia, mejora
7 Servers windows
NAS para storage
Base de datos en windows
2 deploys por semana
Migración a AWS
4~5 microservicios
2 entornos
~50 servers
1 deploy por dia
10 microservicios
20 entornos
400 servers
2 deploys por dia
30 microservicios
30 entornos
1000 servers
5 deploys por dia
50 microservicios
60 entornos
600 servers
20 deploys por dia
Mar 2015
Jun 2015
Dic 2015
Mar 2016
Jun 2016
Futuro (cercano)
- Entornos dinámicos y automáticos
- Migración completa a docker/kubernetes
- Monitoreo increíble con Chaos monkey
- ???
Gracias
¿Preguntas?
Muchas startups son mejores que una
By Pablo Fredrikson
Muchas startups son mejores que una
- 875