DEVOPS TE CAMBIA LA VIDA
ECOMPUTING 2018 – 3 DE JULIO DE 2018
QUIÉN SOY YO
Copyright © 2018 Accenture. All rights reserved. 2
Jorge Hidalgo @_deors deors
Senior Technology Architect –
Tecnilógica / Accenture Technology
Global Java Lead
Custom Engineering & Architecture & DevOps Lead –
Accenture Spain Advanced Technology Center
Co-lead – MálagaJUG & Málaga Scala Developers
Father of two children, husband, whistle player, video gamer, sci-fi ‘junkie’,
Star Wars ‘addict’, Lego brick ‘wielder’, Raspberry Pi fan… LLAP!
https://deors.wordpress.com
https://www.meetup.com/es-ES/MalagaJUG/
https://www.meetup.com/es-ES/Malaga-Scala/
Una visión sobre DevOps desde el punto de
vista transformacional y educativo
Desde un marco empresarial…
…pero que lanzamos esperanzadamente a
la comunidad educativa
DEVOPS TE CAMBIA LA VIDA…
¡EN SERIO!
Copyright © 2018 Accenture. All rights reserved. 3
DESARROLLO Y SISTEMAS
UNA HISTORIA QUE NO ES SIEMPRE BONITA
Copyright © 2018 Accenture. All rights reserved. 4
Parálisis por el cambio
de código
Entornos de producción
difíciles de observar
Falta de automatización Análisis inadecuado
del código
Procesos obsoletos
y desperdicio de recursos
Aplicaciones quebradizas y
altamente acopladas
Entornos limitados
de prueba y producción
Despliegues
que-se-pare-el-mundo
Copyright © 2018 Accenture. All rights reserved. 5
¿QUÉ ES DEVOPS?
DevOps es un movimiento que buscar reducir el tiempo a mercado y la
entrega continua de valor de negocio, mediante la colaboración estrecha de los
grupos de Desarrollo y Operaciones.
Imagen adaptada de Wikimedia – https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
Copyright © 2018 Accenture. All rights reserved. 6
¿QUÉ ES DEVOPS?
DevOps es un movimiento que buscar reducir el tiempo a mercado y la
entrega continua de valor de negocio, mediante la colaboración estrecha de los
grupos de Desarrollo y Operaciones.
Imagen adaptada de Wikimedia – https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
Copyright © 2018 Accenture. All rights reserved. 7
¿QUÉ ES DEVOPS?
DevOps es un movimiento que buscar reducir el tiempo a mercado y la
entrega continua de valor de negocio, mediante la colaboración estrecha de los
grupos de Desarrollo y Operaciones.
Imagen adaptada de Wikimedia – https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
TRANSFORMACIÓN A DEVOPS
Copyright © 2018 Accenture. All rights reserved. 8
PRINCIPIOS DE DEVOPS
Gestión de la configuración sólida
Políticas de versionado consistentes
Recolección exhaustiva de datos en ejecución
Inclusiva de métricas orientadas a negocio
Pruebas automáticas, tempranas y frecuentes
En entornos equivalentes al de producción
Aprovisionamiento elástico de recursos
Auto-escalado dependiendo del uso
Arquitecturas de grano fino
Resistentes a errores, capaces de auto-curarse
Equipos cohesionados, orientados al cambio
Entregan en pequeños incrementos
Integración continua (commit frecuentes)
Pipelines y coreografía
Revisiones de código exhaustivas
Inclusivas de prácticas de seguridad
Copyright © 2018 Accenture. All rights reserved. 9
PRINCIPIOS DE DEVOPS
Gestión de la configuración sólida
Políticas de versionado consistentes
Recolección exhaustiva de datos en ejecución
Inclusiva de métricas orientadas a negocio
Pruebas automáticas, tempranas y frecuentes
En entornos equivalentes al de producción
Aprovisionamiento elástico de recursos
Auto-escalado dependiendo del uso
Arquitecturas de grano fino
Resistentes a errores, capaces de auto-curarse
Equipos cohesionados, orientados al cambio
Entregan en pequeños incrementos
Integración continua (commit frecuentes)
Pipelines y coreografía
Revisiones de código exhaustivas
Inclusivas de las prácticas de seguridad
EXPERIMENT
WITHOUT REGRET
IMPROVE
CONTINUOUSLY
Copyright © 2018 Accenture. All rights reserved. 10
DEVOPS EN 2018
PARA TRANSFORMAR PROYECTOS
PARA TRANSFORMAR CLIENTES
PRIMERO NOS TENEMOS QUE
TRANSFORMAR NOSOTROS
Copyright © 2018 Accenture. All rights reserved. 11
FORMACIÓN EN HERRAMIENTAS Y TECNOLOGÍAS
CAMBIO EN COSTUMBRES Y RELACIONES
Copyright © 2018 Accenture. All rights reserved. 12
MEJORANDO
UNO A UNO
Copyright © 2018 Accenture. All rights reserved. 13
PERO TAMBIÉN…
MEJORANDO
TODOS JUNTOS
Copyright © 2018 Accenture. All rights reserved. 14
¿CÓMO
LLEVAMOS ESTE
CONOCIMIENTO
A LAS AULAS?
Copyright © 2018 Accenture. All rights reserved. 15
FORMACIÓN EN
HERRAMIENTAS
Y TECNOLOGÍA
Copyright © 2018 Accenture. All rights reserved. 16
¿PODEMOS
REALMENTE
FABRICAR
‘UNICORNIOS’?
https://es.wikipedia.org/wiki/Unicornio_(startup)
https://www.linkedin.com/pulse/5-signs-youre-unicorn-employee-ryan-holmes/
Copyright © 2018 Accenture. All rights reserved. 17
ADOP
ACCENTURE
DEVOPS
PLATFORM
Copyright © 2018 Accenture. All rights reserved. 18
ADOP – ACCENTURE DEVOPS PLATFORM
licencia de
código abierto
lo mejor de cada
casa
basada en cloud
experiencia
destilada
modular
accenture.github.io/adop-docker-compose/
NUESTRA PLATAFORMA DE REFERENCIA PARA LA ADOPCIÓN DE DEVOPS
COMPARTIR EL ÉXITO – Principio DRY
FÁCIL DE MONTAR – El acceso a las herramientas no es una barrera
FÁCIL DE USAR – Foco en lo que es realmente importante
(*) ADOP está licenciada como Apache Software License 2.0.
(*)
ADOP – MÓDULOS “LOS SOSPECHOSOS HABITUALES”
Copyright © 2018 Accenture. All rights reserved. 19
Jenkins
continuous integration
/ delivery
Gerrit
Git repositories / code
review
SonarQube
code inspection /
quality dashboard
Selenium
web browser testing
NGINX
web / proxy server
OpenLDAP
directory server
ELK
log monitoring
todas las herramientas
empaquetadas como
contenedores Docker
Sensu - Uchiwa
infra/app monitoring
Nexus
binary artefact
repositories
Copyright © 2018 Accenture. All rights reserved. 20
ADOP – PLATAFORMA-TODO-EN-UNO
PLATAFORMA BASE – $ docker-compose up
CARTUCHOS – PIPELINES Y ENTORNOS FÁCILES DE REUTILIZAR
FORMACIÓN & ACOMPAÑAMIENTO – DEVOPS ACADEMY & DEVOPS DOJOS
CALIDAD DE CÓDIGO & SEGURIDAD – EN CADA CAPA Y EN CADA FUNCIÓN
Copyright © 2018 Accenture. All rights reserved. 21
¿MENCIONÉ YA QUE
ADOP ES CÓDIGO
ABIERTO?
Copyright © 2018 Accenture. All rights reserved. 22
CAMBIO EN COSTUMBRES Y
RELACIONES
Copyright © 2018 Accenture. All rights reserved. 23
DEVOPS
SIGNIFICA QUE…
Copyright © 2018 Accenture. All rights reserved. 24
DERRIBAMOS LOS
MUROS
COLABORAMOS
APRENDEMOS JUNTOS
BUSCAMOS SOLUCIONES
RESPONSABILIDADES
COMPARTIDAS
COMPROMISO Y
ORGULLO
VISIÓN DE PRODUCTO
Copyright © 2018 Accenture. All rights reserved. 25
BUSCAR CULPABLES
ESCONDER LA CABEZA
CUAL AVESTRUZ
“PASAR MARRÓN”
PONER BARRERAS Y
“TÚ NO PUEDES”
OCULTAR EL
CONOCIMIENTO
Y DEJAMOS DE…
Copyright © 2018 Accenture. All rights reserved. 26
¿PREGUNTAS?
¡GRACIAS!

DevOps Te Cambia la Vida - eComputing 2018-07-03

  • 1.
    DEVOPS TE CAMBIALA VIDA ECOMPUTING 2018 – 3 DE JULIO DE 2018
  • 2.
    QUIÉN SOY YO Copyright© 2018 Accenture. All rights reserved. 2 Jorge Hidalgo @_deors deors Senior Technology Architect – Tecnilógica / Accenture Technology Global Java Lead Custom Engineering & Architecture & DevOps Lead – Accenture Spain Advanced Technology Center Co-lead – MálagaJUG & Málaga Scala Developers Father of two children, husband, whistle player, video gamer, sci-fi ‘junkie’, Star Wars ‘addict’, Lego brick ‘wielder’, Raspberry Pi fan… LLAP! https://deors.wordpress.com https://www.meetup.com/es-ES/MalagaJUG/ https://www.meetup.com/es-ES/Malaga-Scala/
  • 3.
    Una visión sobreDevOps desde el punto de vista transformacional y educativo Desde un marco empresarial… …pero que lanzamos esperanzadamente a la comunidad educativa DEVOPS TE CAMBIA LA VIDA… ¡EN SERIO! Copyright © 2018 Accenture. All rights reserved. 3
  • 4.
    DESARROLLO Y SISTEMAS UNAHISTORIA QUE NO ES SIEMPRE BONITA Copyright © 2018 Accenture. All rights reserved. 4 Parálisis por el cambio de código Entornos de producción difíciles de observar Falta de automatización Análisis inadecuado del código Procesos obsoletos y desperdicio de recursos Aplicaciones quebradizas y altamente acopladas Entornos limitados de prueba y producción Despliegues que-se-pare-el-mundo
  • 5.
    Copyright © 2018Accenture. All rights reserved. 5 ¿QUÉ ES DEVOPS? DevOps es un movimiento que buscar reducir el tiempo a mercado y la entrega continua de valor de negocio, mediante la colaboración estrecha de los grupos de Desarrollo y Operaciones. Imagen adaptada de Wikimedia – https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
  • 6.
    Copyright © 2018Accenture. All rights reserved. 6 ¿QUÉ ES DEVOPS? DevOps es un movimiento que buscar reducir el tiempo a mercado y la entrega continua de valor de negocio, mediante la colaboración estrecha de los grupos de Desarrollo y Operaciones. Imagen adaptada de Wikimedia – https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
  • 7.
    Copyright © 2018Accenture. All rights reserved. 7 ¿QUÉ ES DEVOPS? DevOps es un movimiento que buscar reducir el tiempo a mercado y la entrega continua de valor de negocio, mediante la colaboración estrecha de los grupos de Desarrollo y Operaciones. Imagen adaptada de Wikimedia – https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg TRANSFORMACIÓN A DEVOPS
  • 8.
    Copyright © 2018Accenture. All rights reserved. 8 PRINCIPIOS DE DEVOPS Gestión de la configuración sólida Políticas de versionado consistentes Recolección exhaustiva de datos en ejecución Inclusiva de métricas orientadas a negocio Pruebas automáticas, tempranas y frecuentes En entornos equivalentes al de producción Aprovisionamiento elástico de recursos Auto-escalado dependiendo del uso Arquitecturas de grano fino Resistentes a errores, capaces de auto-curarse Equipos cohesionados, orientados al cambio Entregan en pequeños incrementos Integración continua (commit frecuentes) Pipelines y coreografía Revisiones de código exhaustivas Inclusivas de prácticas de seguridad
  • 9.
    Copyright © 2018Accenture. All rights reserved. 9 PRINCIPIOS DE DEVOPS Gestión de la configuración sólida Políticas de versionado consistentes Recolección exhaustiva de datos en ejecución Inclusiva de métricas orientadas a negocio Pruebas automáticas, tempranas y frecuentes En entornos equivalentes al de producción Aprovisionamiento elástico de recursos Auto-escalado dependiendo del uso Arquitecturas de grano fino Resistentes a errores, capaces de auto-curarse Equipos cohesionados, orientados al cambio Entregan en pequeños incrementos Integración continua (commit frecuentes) Pipelines y coreografía Revisiones de código exhaustivas Inclusivas de las prácticas de seguridad EXPERIMENT WITHOUT REGRET IMPROVE CONTINUOUSLY
  • 10.
    Copyright © 2018Accenture. All rights reserved. 10 DEVOPS EN 2018 PARA TRANSFORMAR PROYECTOS PARA TRANSFORMAR CLIENTES PRIMERO NOS TENEMOS QUE TRANSFORMAR NOSOTROS
  • 11.
    Copyright © 2018Accenture. All rights reserved. 11 FORMACIÓN EN HERRAMIENTAS Y TECNOLOGÍAS CAMBIO EN COSTUMBRES Y RELACIONES
  • 12.
    Copyright © 2018Accenture. All rights reserved. 12 MEJORANDO UNO A UNO
  • 13.
    Copyright © 2018Accenture. All rights reserved. 13 PERO TAMBIÉN… MEJORANDO TODOS JUNTOS
  • 14.
    Copyright © 2018Accenture. All rights reserved. 14 ¿CÓMO LLEVAMOS ESTE CONOCIMIENTO A LAS AULAS?
  • 15.
    Copyright © 2018Accenture. All rights reserved. 15 FORMACIÓN EN HERRAMIENTAS Y TECNOLOGÍA
  • 16.
    Copyright © 2018Accenture. All rights reserved. 16 ¿PODEMOS REALMENTE FABRICAR ‘UNICORNIOS’? https://es.wikipedia.org/wiki/Unicornio_(startup) https://www.linkedin.com/pulse/5-signs-youre-unicorn-employee-ryan-holmes/
  • 17.
    Copyright © 2018Accenture. All rights reserved. 17 ADOP ACCENTURE DEVOPS PLATFORM
  • 18.
    Copyright © 2018Accenture. All rights reserved. 18 ADOP – ACCENTURE DEVOPS PLATFORM licencia de código abierto lo mejor de cada casa basada en cloud experiencia destilada modular accenture.github.io/adop-docker-compose/ NUESTRA PLATAFORMA DE REFERENCIA PARA LA ADOPCIÓN DE DEVOPS COMPARTIR EL ÉXITO – Principio DRY FÁCIL DE MONTAR – El acceso a las herramientas no es una barrera FÁCIL DE USAR – Foco en lo que es realmente importante (*) ADOP está licenciada como Apache Software License 2.0. (*)
  • 19.
    ADOP – MÓDULOS“LOS SOSPECHOSOS HABITUALES” Copyright © 2018 Accenture. All rights reserved. 19 Jenkins continuous integration / delivery Gerrit Git repositories / code review SonarQube code inspection / quality dashboard Selenium web browser testing NGINX web / proxy server OpenLDAP directory server ELK log monitoring todas las herramientas empaquetadas como contenedores Docker Sensu - Uchiwa infra/app monitoring Nexus binary artefact repositories
  • 20.
    Copyright © 2018Accenture. All rights reserved. 20 ADOP – PLATAFORMA-TODO-EN-UNO PLATAFORMA BASE – $ docker-compose up CARTUCHOS – PIPELINES Y ENTORNOS FÁCILES DE REUTILIZAR FORMACIÓN & ACOMPAÑAMIENTO – DEVOPS ACADEMY & DEVOPS DOJOS CALIDAD DE CÓDIGO & SEGURIDAD – EN CADA CAPA Y EN CADA FUNCIÓN
  • 21.
    Copyright © 2018Accenture. All rights reserved. 21 ¿MENCIONÉ YA QUE ADOP ES CÓDIGO ABIERTO?
  • 22.
    Copyright © 2018Accenture. All rights reserved. 22 CAMBIO EN COSTUMBRES Y RELACIONES
  • 23.
    Copyright © 2018Accenture. All rights reserved. 23 DEVOPS SIGNIFICA QUE…
  • 24.
    Copyright © 2018Accenture. All rights reserved. 24 DERRIBAMOS LOS MUROS COLABORAMOS APRENDEMOS JUNTOS BUSCAMOS SOLUCIONES RESPONSABILIDADES COMPARTIDAS COMPROMISO Y ORGULLO VISIÓN DE PRODUCTO
  • 25.
    Copyright © 2018Accenture. All rights reserved. 25 BUSCAR CULPABLES ESCONDER LA CABEZA CUAL AVESTRUZ “PASAR MARRÓN” PONER BARRERAS Y “TÚ NO PUEDES” OCULTAR EL CONOCIMIENTO Y DEJAMOS DE…
  • 26.
    Copyright © 2018Accenture. All rights reserved. 26 ¿PREGUNTAS?
  • 27.

Notas del editor

  • #3 Obsolete processes – IT waste It takes weeks to get all necessary approvals to deploy this change into production. Once approvals are in, it is up to operations team to define the update window in prod. Limited test and production environments The development team needs to wait for two weeks until there is availability by separate QA team to validate the release. Everybody tests in the same environment, breaking in progress executions of the test suite. Lack of automation Every time a change is made, developers must rebuild, repackage, redeploy and execute all tests again. Repetition of the same manual tasks tend to cause human error and distractions. Inadequate code analysis Performing an exhaustive code review may take days, even weeks, so it has never been done. From time to time, peer reviews are scheduled where developers review some piece of code for a requirement. While useful, only a small % of code is reviewed. Fragile, tightly coupled applications Even the slightest of changes, tend to produce unexpected side effects all over the system. Teams are afraid of changing code, because the unknowns are many. Progress slows down, as more and more impact analysis are needed system-wide. Hard to observe production environment It would be great to know how this new feature that the business requested two months ago is being used in production. Is it actually being used? By how many? There is an error in production but we don’t have the slightest clue of what caused it. Hopefully in two days, once operations share server logs with us, we get an idea and can start working in a patch.
  • #4 Obsolete processes – IT waste It takes weeks to get all necessary approvals to deploy this change into production. Once approvals are in, it is up to operations team to define the update window in prod. Limited test and production environments The development team needs to wait for two weeks until there is availability by separate QA team to validate the release. Everybody tests in the same environment, breaking in progress executions of the test suite. Lack of automation Every time a change is made, developers must rebuild, repackage, redeploy and execute all tests again. Repetition of the same manual tasks tend to cause human error and distractions. Inadequate code analysis Performing an exhaustive code review may take days, even weeks, so it has never been done. From time to time, peer reviews are scheduled where developers review some piece of code for a requirement. While useful, only a small % of code is reviewed. Fragile, tightly coupled applications Even the slightest of changes, tend to produce unexpected side effects all over the system. Teams are afraid of changing code, because the unknowns are many. Progress slows down, as more and more impact analysis are needed system-wide. Hard to observe production environment It would be great to know how this new feature that the business requested two months ago is being used in production. Is it actually being used? By how many? There is an error in production but we don’t have the slightest clue of what caused it. Hopefully in two days, once operations share server logs with us, we get an idea and can start working in a patch.
  • #5 Obsolete processes – IT waste It takes weeks to get all necessary approvals to deploy this change into production. Once approvals are in, it is up to operations team to define the update window in prod. Limited test and production environments The development team needs to wait for two weeks until there is availability by separate QA team to validate the release. Everybody tests in the same environment, breaking in progress executions of the test suite. Lack of automation Every time a change is made, developers must rebuild, repackage, redeploy and execute all tests again. Repetition of the same manual tasks tend to cause human error and distractions. Inadequate code analysis Performing an exhaustive code review may take days, even weeks, so it has never been done. From time to time, peer reviews are scheduled where developers review some piece of code for a requirement. While useful, only a small % of code is reviewed. Fragile, tightly coupled applications Even the slightest of changes, tend to produce unexpected side effects all over the system. Teams are afraid of changing code, because the unknowns are many. Progress slows down, as more and more impact analysis are needed system-wide. Hard to observe production environment It would be great to know how this new feature that the business requested two months ago is being used in production. Is it actually being used? By how many? There is an error in production but we don’t have the slightest clue of what caused it. Hopefully in two days, once operations share server logs with us, we get an idea and can start working in a patch.