Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#bilbostack20
DevOps: el camino de la
entrega de valor en software
Luis Fraile
lfraile@lfraile.net
@lfraile
Con la colaboración de
Patrocinadores
Gracias
#bilbostack20
#bilbostack20
@lfraile
lfraile@lfraile.net
Digamos que ayudo a equipos de desarrollo de software a poder hacerlo
mejor med...
¿Qué es
DevOps?
DevOps is the union of
people, process, and
products to enable
continuous delivery of value
to your end us...
#bilbostack
¿Qué es lo que queremos?
Working software
No queremos simples “features”
Productos que resuelven
“problemas”
Y...
#bilbostack
¿Y cuándo lo queremos?
Continuamente
Buscamos la entrega de valor
continua
En incrementos pequeños
Que validen...
#bilbostack
Pero ¿por qué hacemos DevOps?
Agilidad ( ¿agile? )
Validar pronto y continuadamente
Rapidez en la entrega
Y en...
#bilbostack
Estrategias de despliegue entrega
Unas cuantas
Blue/Green
Toggles
Rolling updates
Por entornos …
O todas a la ...
#bilbostack
Empieza todo en el desarrollo
Hay que cambiar la mentalidad de desplegar a entregar
Necesitamos cambiar el mod...
#bilbostack
Aspectos a tener en cuenta
Calidad
Criterios de
entrega
Sostenibilidad
Monitorización
Disaster
recovery
Servic...
#bilbostack
Criterios de entrega
¿Sabes cuando y dónde entregar?
No es entregar software sin más
Establecer nuestros crite...
#bilbostack
Blue-Green
Producción está en entorno “green”
Desplegamos a un entorno “blue”
Con mecanismos tipo balanceador
...
#bilbostack
Rolling updates
https://dzone.com/articles/take-release-automation-to-the-next-level-episode-2
Muy común en k8...
#bilbostack
Feature toggles
No es puramente “despliegue”
Activamos características en
función a reglas
Se combina con cual...
#bilbostack
Estrategia de entrega
¿Toggles?
¿Cómo y cuándo las vamos a activar?
¿cómo vamos a medir la efectividad?
¿Compa...
#bilbostack
Compatibilidad de versiones
Tenemos que prepararnos para convivir con dos versiones
Parallel Changes (Danilo S...
#bilbostack
Expand-migrate-contract BD
Aplicamos cambios en varias fases:​
1. Nuevo esquema (nueva columna, nuevas relacio...
#bilbostack
Expand-migrate-contract interfaces
Si son APIs HTTP ¿simplemente
versionado?
Otro ejemplo: colas de mensajes
S...
#bilbostack
Facebook, Netflix, etc.
Son siempre hype
Desplegar cada commit
Elección libre de herramientas y estrategias
Ch...
#bilbostack
Monitorización
¿Cómo saber cuándo hacemos rollback, desactivamos
toggle, etc?
Volvemos a Dev: estrategias de m...
#bilbostack
Infraestructura
Forma parte de la entrega
Hay que asegurar la consistencia y
estabilidad
Infraestructura inmut...
#bilbostack
Gestión del código (aKa repositories)
Git flow, trunk based, … da para un debate
Yo: normalmente trunk based c...
#bilbostack
Calidad y testing
¿Acaso dudamos aún de esto? NO
Siempre y continuadamente hay que
estar probando
#bilbostack20
Demo time
Thanks and …
See you soon!
Thanks also to the sponsors.
Without whom this would not have been posible.
#bilbostack20
Give ...
Bilbostack 2020 - El camino de l a entrega en DevOps
Upcoming SlideShare
Loading in …5
×

3

Share

Download to read offline

Bilbostack 2020 - El camino de l a entrega en DevOps

Download to read offline

¿cómo recorremos el camino que nos llevas desde ser simples desarrolladores de "features" a desarrollar productos que resuelven problemas?
Vamos a ver algunos punts y prácticas para acercarnos más a producto desde la visión DevOps

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Bilbostack 2020 - El camino de l a entrega en DevOps

  1. 1. #bilbostack20 DevOps: el camino de la entrega de valor en software Luis Fraile lfraile@lfraile.net @lfraile
  2. 2. Con la colaboración de Patrocinadores Gracias #bilbostack20
  3. 3. #bilbostack20 @lfraile lfraile@lfraile.net Digamos que ayudo a equipos de desarrollo de software a poder hacerlo mejor mediante DevOps y … oh .... Ah … practices ágiles CTO de b!Play (www.bhubplay.com) plataforma de marketing para marcas basada puramente en contenido digital (pelis, series, deportes, …) Luis Fraile ¿my job? Uffff es una historia complicada
  4. 4. ¿Qué es DevOps? DevOps is the union of people, process, and products to enable continuous delivery of value to your end users. “ ” Build & Test Continuous Delivery Deploy Operate Monitor & Learn Plan & Track Develop
  5. 5. #bilbostack ¿Qué es lo que queremos? Working software No queremos simples “features” Productos que resuelven “problemas” Y que no generen otros …
  6. 6. #bilbostack ¿Y cuándo lo queremos? Continuamente Buscamos la entrega de valor continua En incrementos pequeños Que validen hipótesis Minimizar riesgos Lean (esto da para muchas charlas y hasta libros)
  7. 7. #bilbostack Pero ¿por qué hacemos DevOps? Agilidad ( ¿agile? ) Validar pronto y continuadamente Rapidez en la entrega Y en la respuesta a desastres Aseguramiento de calidad Entregar más no significa entregar cualquier cosa … simplemente vivir mejor desarrollando software. Build & Test Continuous Delivery Deploy Operate Monitor & Learn Plan & Track Develop
  8. 8. #bilbostack Estrategias de despliegue entrega Unas cuantas Blue/Green Toggles Rolling updates Por entornos … O todas a la vez Pero todas comparten algo
  9. 9. #bilbostack Empieza todo en el desarrollo Hay que cambiar la mentalidad de desplegar a entregar Necesitamos cambiar el modo de pensar en el desarrollo No es sólo escribir código limpio Definir estrategia de entrega, junto a negocio, junto a ops, junto a sec
  10. 10. #bilbostack Aspectos a tener en cuenta Calidad Criterios de entrega Sostenibilidad Monitorización Disaster recovery Service Reliability Engineering
  11. 11. #bilbostack Criterios de entrega ¿Sabes cuando y dónde entregar? No es entregar software sin más Establecer nuestros criterios de entrega Calidad Rendimiento Aceptación de los usuarios Integración en el producto Reglas de calidad mínima de paso entre entornos
  12. 12. #bilbostack Blue-Green Producción está en entorno “green” Desplegamos a un entorno “blue” Con mecanismos tipo balanceador cambiamos Las peticiones de antiguo producción se terminan de ejecutar Todas las peticiones nuevas entran a nueva versión https://www.blazemeter.com/blog/five-blue-green-deployment-best-practices-for-a-smooth-release/
  13. 13. #bilbostack Rolling updates https://dzone.com/articles/take-release-automation-to-the-next-level-episode-2 Muy común en k8s Se desactivan nodos paulatinamente Se despliegua a nodos desactivados Se agregan los nodos con nueva versión Convive durante un tiempo vieja y nueva versión
  14. 14. #bilbostack Feature toggles No es puramente “despliegue” Activamos características en función a reglas Se combina con cualquiera de las anteriores OJO: No es solo on-off OJO: a la limpieza de toggles olvidadas
  15. 15. #bilbostack Estrategia de entrega ¿Toggles? ¿Cómo y cuándo las vamos a activar? ¿cómo vamos a medir la efectividad? ¿Compatibilidad? Blue-Green ¿Estrategia de cambio? ¿Compatibilidad? Rolling updates ¿ciclo de update? ¿Compatibilidad?
  16. 16. #bilbostack Compatibilidad de versiones Tenemos que prepararnos para convivir con dos versiones Parallel Changes (Danilo Sato - https://martinfowler.com/bliki/ParallelChange.html) Expand Migrate Contract Tanto para almacén de datos Como para interfaces https://www.slideshare.net/sergio_pino/commit-conf-2019-zero-downtime- deployment
  17. 17. #bilbostack Expand-migrate-contract BD Aplicamos cambios en varias fases:​ 1. Nuevo esquema (nueva columna, nuevas relaciones, …)​ 2. Copiamos datos de antiguo esquema a nuevo (multiples modos)​ 3. Mantenemos antiguo y nuevo (durante n tiempo) Puede haber usuarios con ambos 4. Eliminamos antiguo Puede hacerse de multiples modos, pero siempre afecta a dev​ Migración inicial En ejecución OJO interacciones con distintas entregas en distintos pasos
  18. 18. #bilbostack Expand-migrate-contract interfaces Si son APIs HTTP ¿simplemente versionado? Otro ejemplo: colas de mensajes Si hablamos de métodos Añadimos nuevos métodos con nuevos parámetros Mantenemos las dos (ojo si se usa desde fuera …) Contract (ojo el “cuando”)
  19. 19. #bilbostack Facebook, Netflix, etc. Son siempre hype Desplegar cada commit Elección libre de herramientas y estrategias Chaos Monkey Cada cual usa sus estrategias Interesante aprender de ellos Pero (salvo excepciones) NO somos ellos
  20. 20. #bilbostack Monitorización ¿Cómo saber cuándo hacemos rollback, desactivamos toggle, etc? Volvemos a Dev: estrategias de monitorización en el Código Herramientas de monitorización (no solo logs) “Tracking” de eventos Y vamos a Ops Alertas Prevención temprana Y sobre todo: incluirlas en nuestros flujos de entrega automatizados
  21. 21. #bilbostack Infraestructura Forma parte de la entrega Hay que asegurar la consistencia y estabilidad Infraestructura inmutable https://martinfowler.com/bliki/ImmutableServer.html Siempre se destruye lo antiguo y se crea nueva infraestructura Infrastructure as Code Terraform, ansible, puppet, ARM, etc. Se desarrolla y entrega con las versions
  22. 22. #bilbostack Gestión del código (aKa repositories) Git flow, trunk based, … da para un debate Yo: normalmente trunk based con ramas de feature cortas (pero no siempre) Recomendaciones: Un único repositorio código aplicación y CI/CD/IaC CI por supuesto con Testing ante cada push/PR
  23. 23. #bilbostack Calidad y testing ¿Acaso dudamos aún de esto? NO Siempre y continuadamente hay que estar probando
  24. 24. #bilbostack20 Demo time
  25. 25. Thanks and … See you soon! Thanks also to the sponsors. Without whom this would not have been posible. #bilbostack20 Give us feedback in: https://app.bilbostack.com/ Con la colaboración de Patrocinadores
  • pekewake

    Mar. 10, 2020
  • AntonioCrespoVelasco

    Jan. 26, 2020
  • JorgeBernalSegura

    Jan. 25, 2020

¿cómo recorremos el camino que nos llevas desde ser simples desarrolladores de "features" a desarrollar productos que resuelven problemas? Vamos a ver algunos punts y prácticas para acercarnos más a producto desde la visión DevOps

Views

Total views

535

On Slideshare

0

From embeds

0

Number of embeds

36

Actions

Downloads

8

Shares

0

Comments

0

Likes

3

×