DevOps de Alto Desempeño:Perspectivas y SugerenciasDe Expertos en DevOps, Incluyendo a Gene Kim, Co-Autorde The DevOps Handbook, The Phoenix Project y elLaboratorio de Innovación de Dynatrace
Autores
Resumen Ejecutivo
DevOps y Alto Desempeño
“Las Tres Formas”
Su Vida Real en DevOps
¡Comience en Pequeño, pero Comience Ahora!
Algo de Tarea para Usted
Este trabajo ha sido recopilado de la Presentación Principal de Gene Kim en la conferencia de usuarios Perform de Dynatrace y enriquecido conperspectivas de Martin Etmajer, Estratega Técnico Senior y de Wolfgang Gottesheim, Estratega Técnico del Centro de Excelencia de Dynatrace.
DevOps de Alto Desempeño: Perspectivas y Sugerencias
4
5
6
14
19
22
25
2
Tabla de Contenido
Introducción
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
DevOps de Alto Desempeño: Perspectivas y Sugerencias
4
Tabla de Contenido
Perspectivas de la industriadel súper equipo de DevOps
Gene Kim es un emprendedor que ha ganado
múltiples premios, es fundador y anterior CTO
de Tripwire y un investigador. Ha escrito tres
libros, incluyendo haber sido co-autor de
The DevOps Handbook y de The Phoenix Project.
Martin tiene más de 10 años de experiencia
como desarrollador y arquitecto de software,
así como en mantener ambientes de clusters
con desempeño altamente disponible.
Wolfgang tiene más de una década de experiencia
como ingeniero de software y asistente investigador
en el espacio empresarial de Java.
Co-Autor de The Phoenix Project Estratega de Tecnología Senior,Centro de Excelencia de Dynatrace
Estratega de Tecnología Senior,Centro de Excelencia de Dynatrace
DevOps de Alto Desempeño: Perspectivas y Sugerencias
4
5
Resumen Ejecutivo
Las organizaciones líderes en desempeño saben que deben adoptar un modelo de entrega de TI continuo y colaborativo para responder más rápidamente a las siempre crecientes exigencias del mercado por más características.
Los líderes están viendo verdaderos avances de negocio; tienen dos veces mayor probabilidad de exceder la rentabilidad, la participación de mercado y las metasde productividad.
DevOps ha probado que produce despliegues más rápidos con menos problemas. Y los líderes
están viendo verdaderos avances de negocio: tienen dos veces mayor probabilidad de exceder
la rentabilidad, la participación de mercado y las metas de productividad y tienen 50% de
mayor crecimiento en capital de mercado en un plazo de tres años.
Los resultados de los líderes del mercado nos muestran que DevOps es necesario para ser
competitivo, pero existen muchos desafíos en el camino. Afortunadamente, tenemos algunos
expertos que nos pueden ayudar. Las recomendaciones en este eBook están basadas en la
presentación principal de Gene Kim en la conferencia anual Perform de Dynatrace y en el libro
del cual fue co-autor, The Phoenix Project, así como en la experiencia del Centro de Excelencia
de Dynatrace.
Este eBook es para todos los Gerentes de Desarrollo, Gerentes de Operaciones y Gerentes de DevOps.
Sin importar si usted está apenas comenzando su viaje en DevOps o está aún considerando cómo una
transformación de DevOps le puede ayudar a su organización, este eBook le dará una perspectiva de
por qué esto es importante, lo que hace que los líderes sean exitosos y le proporcionará orientación
de cómo acelerar sus resultados.
Tabla de Contenido
DevOps y alto desempeño
Sección 1
Tabla de Contenido
DevOps de Alto Desempeño: Perspectivas y Sugerencias
7
Tabla de Contenido
DevOps no es tan sólo la palabra de moda del año pasado.
DevOps de alto desempeño es la entrega continua de tecnología, hecha posible a través de una cultura de TI colaborativa y métricas de desempeño compartidas amarradas a los resultadosde negocio, soportada por herramientas automatizadasa lo largo del ciclo de vidade desarrollo
Google, Amazon, Netflix, Facebook, Etsy
y Microsoft E innumerables empresas de
tecnología emergentes lo están haciendo.
También, lo están haciendo The Gap,
Nordstrom, el Banco Mundial e Intuit. ¿Le
sorprende que hasta el Gobierno del Reino
Unido y el Departamento de Seguridad
Nacional de los Estados Unidos están
haciendo DevOps?
Todas estas organizaciones saben que el
mercado de la actualidad está impulsado
por exigencias siempre crecientes de
características, velocidad y confiabilidad;
deben entregar continuamente nuevo valor
sin trastornar la experiencia de sus clientes.
Y la forma de llegar ahí es DevOps.
Existen muchas visiones distintas de lo que
significa tener una organización de DevOps
de alto desempeño. De nuestra experiencia
trabajando con organizaciones de TI en muchas
industrias, hemos encontrado que algunas
cualidades son críticas para la organización de
alto desempeño de la actualidad.
Los principios que hacen que DevOps opere
están lejos de ser nuevos. Los fabricantes
"lean" adoptaron estas ideas en los años 80s
para construir con velocidad y calidad sin
precedentes. Otras organizaciones, como
minoristas de cajas grandes y empresas de
servicio han logrado una ventaja competitiva
durante años mediante el uso de equipos cross
funcionales, métricas de desempeño
compartidas y automatización de flujos de
trabajo. El desarrollo de software Agil ha
estado presente desde 2001.
¿Un poco escéptico? ¿Está usted pensando: no era DevOps tan sólo la palabra de moda del año pasado? ¿Existe realmentevalor ahí para mi organización y para mí?
DevOps de Alto Desempeño: Perspectivas y Sugerencias
vs
8
Tabla de Contenido
Hoy, su organización de TIes su ventaja competitiva
TI de Ayer DevOps de Alto Desempeño de Hoy
TI como un centro de costos TI como ventaja competitiva
Organización de alta confianza con metas compartidas
Integración y entrega continuas
Monitoreo proactivo para encontrar fallas primero
Múltiples despliegues al día
Revisión por pares de la calidad del código
Control de versiones para código, sistema, configuraciones y datos de aplicaciones
El desempeño es un requerimiento crítico y se considera a lo largo del ciclo devida de desarrollo
Desarrolladores culpan a Ops—Ops culpa a los desarrolladores
Desarrollo en cascada
Las consideraciones de desempeño comienzan una vez que se entrega el código
Despliegues solo 1-2x al año
Consejo de aprobación de cambios requerido para desplegar
Control de versiones solo para código o sin control de versiones
Las fallas se encuentran por el NOC, o peor aún, por los clientes
>1
>2
>
3
9
¿El resultado?
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
Las organizaciones que verdaderamente han adoptado los principios de DevOps a lo largo del ciclo de vida del desarrollo de aplicaciones están desplegando más rápidamente, están teniendo menos problemas y están viendo avances sustanciales en sus negocios.
despliegues 200x más frecuentes
tasa de fallas en cambios 3x menos probables
tiempo promedio para recuperar 24x más rápido
2x mayor probabilidad de exceder rentabilidad, participación de mercado y metas de productividad
Crecimiento de capital de mercado 50% más alto en un plazo de 3 años
plazos de entrega 2,555x más rápidosque pares
Flickr fue uno de los primeros en anunciar que estaban siguiendo los principios de DevOps
con 10 despliegues por día, por allá de 2009.
TurboTax recientemente llevó a cabo 165 cambios de producción durante la temporada pico
de impuestos, resultando en un aumento de 50% en la tasa de conversión de su sitio web.
Amazon despliega a un paso sorprendente: cada 11.6 segundos, con 23,000 despliegues por
día. Han tenido 75% menos caídas desde 2006, reducción de 90% en minutos de caída y
solamente 0.001% despliegues causan algún problema.
He aquí algunos hechos más interesantes acercade DevOps de alto desempeño de PuppetLabs 4
Son Más Rápidos, Más Confiables y Están Ganando el Mercado>
>
>
>
>
>
Riesgos Ocultos
Sección 2
Tabla de Contenido
1 2
11
¿Cuáles son los obstáculos más grandes que usted enfrentará?
Demasiados intercambios entre centros de trabajo
Las pruebas ocurren demasiado tarde en el ciclo de vida de desarrollo de sistemas
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
Conforme el número de intercambios entre
equipos aumentan debido a una falta de
comunicación, alineación y automatización,
los plazos de entrega de características aumentan.
Si usted no integra una disciplina de pruebas
automatizadas a lo largo del ciclo de vida de
desarrollo, los equipos de pruebas tendrán
que rehacer pruebas manuales cada vez que
se efectúe un cambio en un código o configuración
y los problemas se encontrarán demasiado tarde
para poder hacer correcciones sistémicas.
Las experiencias de los líderes del mercado lo establecen claramente. DevOps, si no lo es ahora, será una necesidad en el futuro próximo, solamente para mantener el paso. Pero un cambio cultural nunca es sencillo. He aquí algunos de los desafíos más importantes de DevOps que los equipos organizacionales enfrentan:
>
>
>
>
>
3 6
12
¿Cuáles son los obstáculos más grandes quei usted enfrentará?
El trabajo está en cola versus estar activamente en proceso
Tiempo de tareas en cola (en realidad, longitud de la cola)
50% ocupado: 1 día
75% ocupado: 3 días
90% ocupado: 9 días
95% ocupado: 19 días
99% ocupado: 99 días
Por qué tareas de 15 min toman semanas para completarse
Tiempo de Espera = (%Ocupado) / (%Inactivo)Sus equipos no están construyendo calidad desde el
principio; esto es, implementando pruebas automatizadas
y estrategias de despliegue. El trabajo no está siendo
completado a tiempo y la calidad sufre. Cree paquetes
de trabajo más pequeños y haga que la calidad sea la
preocupación #1 de todos.
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
Tiem
po d
e Es
pera
Tiempo de Espera
% Recurso Ocupado
4 5 6
13
¿Cuáles son los obstáculos más grandes que usted enfrentará?
El trabajo está rebotando de ida y vuelta entre centros de trabajo
Si sus equipos están trabajando hacia las mismas
metas y no se les mide en contra de éstas, actuarán
independientemente entre sí. Las expectativas y los
procedimientos no están alineados y cuando existe
un problema, la investigación involucra muchas
adivinanzas y culpar a otros.
El desarrollo no puede reproducir fallas en las pruebas o en producción
Si sus equipos están trabajando hacia las mismas
metas y no se les mide en contra de éstas, actuarán
independientemente entre sí. Las expectativas y los
procedimientos no están alineados y cuando existe
un problema, la investigación involucra muchas
adivinanzas y culpar a otros.
Existe alta utilización de recursos, tanto en desarrollo como en pruebas
Los recursos clave están siendo sobre utilizados y frecuentemente
se les solicita directamente que lleven a cabo tareas triviales.
Bloquee este trabajo no planificado, aumente el flujo y reduzca
el trabajo en proceso.
Mejorar el trabajo diario es aún másimportante que hacer el trabajo diario.”
Co-autor de The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
“Las Tres Formas”
Sección 3
Principios que permiten alto desempeño
Tabla de Contenido
1st
2nd
3rd
15
La situación se ve desoladora,¿no es así?
No tiene que serlo.
Algunas excelentes sugerencias de cómo construir
una verdadera cultura de DevOps provienen del libro
The Phoenix Project, del cual Gene Kim fue uno de los
co-autores. En el libro, el gerente de TI salva a todos
utilizando Las Tres Formas, una filosofía misteriosa
parecida a yoda. Es un marco de trabajo conceptual
que puede ayudar a impulsar la transformación de
cualquier organización a una cultura DevOps de
alto desempeño.
En The Phoenix Project, Las Tres Formas proporcionan un marco de trabajoconceptual que impulsa la transformación de una organización a una culturaDevOps de alto desempeño.
Una lectura obligada para cualquieraque desee transformar su TI parapermitir que el negocio gane.”
co-autor del libro que ganó el Premio ShingoLean IT: Enabling and Sustaining Your Lean Transformation
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
1era
16
La primera forma:pensamiento de sistemas
Este primer principio de la filosofía de Las Tres Formas enfatiza el desempeño del sistema completo y construye calidad en los productos yen el ciclo de vida mismo del desarrollo del software. Facebook liberó su servicio
de chat en menos de unaño, a 98 millones de usuarios, desplegando código directamente aproducción todos los días.
Su objetivo con este principio es aumentar
continuamente el flujo de desarrollo a
operaciones y minimizar cualquier flujo de
retorno. Operaciones debe estar involucrado
en las primeras etapas del proceso de desarrollo,
para que pueda planificar para cualesquier
cambios necesarios al ambiente de producción
(como se describe a mayor detalle en Continuous
Delivery por Jez Humble y Dave Farley).
Las versiones de software más pequeñas
y más frecuentes reducen el desperdicio
y mejoran su velocidad para llegar al mercado.
Se deben utilizar pruebas automatizadas para
descubrir defectos, antes de que afecten
su negocio.
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
2nda
17
La Segunda Forma:amplifique los caminosde retroalimentación
El segundo principio es acercade establecer un proceso de retroalimentación, desde operacionesde regreso a desarrollo.
El monitoreo de la infraestructura y del desempeño de
las aplicaciones, combinados con procesos de comunicación
sólidos, pueden eliminar culpar a los demás. Usted puede
reconocer y resolver problemas rápidamente y después,
prevenirlos en el futuro.
Una práctica de ejemplo es permitir que desarrollo, pruebas y
operaciones se reúna frecuentemente para analizar conjuntamente
problemas en producción. Después de una reunión como éstas:
Desarrollo debe saber cómo corregir el problema en el código.
Pruebas debe saber los tipos de pruebas requeridos
para evitar que el mismo problema vuelva a aparecer
en producción.
Operaciones debe colocar el patrón del problema en su radar,
para ser notificado si la falla persiste u ocurre nuevamente.
El que un desarrollador agregue unamétrica de monitoreo no deberíasentirse como un cambio de esquema.”
Vicepresidente Senior Operaciones Técnicas, Etsy
1
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
>
>
>
3era
18
La Tercera Forma: experimentación y aprendizaje continuoEl tercer principio es acercade mejora continua.
Habiendo dominado las primeras dos formas,
ahora usted puede darse el lujo de experimentar
y de tomar riesgos. Hasta puede inyectar fallas
en su sistema, descubrir en donde se rompe y
después corregir el sistema para aumentar su
resiliencia. Se trata de salir fuera de su zona
de confort a la zona de peligro - y si duele,
hágalo más frecuentemente.
Aparte de pruebas de inyección de fallas,
podría monitorear si sus hipótesis de negocio
son sólidas: ¿están sus usuarios utilizando
características específicas y cómo las están
utilizando? También, continúen trabajando
intensamente en mejorar sus procesos de
desarrollo, pruebas y liberación.
Esto está en el corazón de lo que salvó a Netflix durante
la caída EC2 en 2011. El sitio permaneció operacional debido
al Chaos Monkey, una pieza de código que mata procesos
en producción en forma aleatoria, requiriendo que el nuevo
código y los cambios ambientales sean fuertes. El resultado
es que Netflix fue una de las pocas empresas que no dejó
de operar durante esta falla.
Nuestro objetivo es hacer cosas queduelan más frecuentemente, rompiendotoda la naturaleza humana.”
Fellow en Tecnología, Battery Ventures; anteriormente Arquitecto de Nube, Netflix 2
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
Tabla de Contenido
Su Vida Real en DevOps
Sección 4
20
¡Nuestras recomendaciones parahacer que DevOps trabaje para USTED!
Es sólo a través de las pruebas automáticas que podremos transformar miedo en aburrimiento...La única forma en la cual usted puede hacer que las personas sean productivas es mostrarles que existe una red de seguridad abajo de ellos que atrapará errores mucho antes de que entren en producción.”
SCM, Google
¿Es realmente posible unacultura de DevOps de altodesempeño para todos?¡Sí, sí y sí!
Es una necesidad, si la revolución de
manufactura "lean" va a ser nuestro modelo.
Como dijo W. Edwards Deming, el gurú de
administración de calidad de los ‘80s en alguna
ocasión, “El aprendizaje no es obligatorio...
ni tampoco lo es la sobrevivencia.”
He aquí algunas recomendaciones de nuestra
experiencia colectiva que pensamos le ayudarán
en su camino:
1. Haga que los despliegues sean unacosa normal. Al desacoplar el despliegue
del código de liberaciones de características
y disminuir el tamaño del despliegue, usted
puede hacer que los despliegues sean una cosa
normal, en lugar de esa migraña del viernes
a medianoche.
2. Convierta a todos en ingenierosde desempeño. Esto significa hacer que un
ambiente parecido a producción esté disponible
bajo demanda a los desarrolladores, asegurando
que los requerimientos no funcionales (esto es,
desempeño, seguridad) se manejen en cada
etapa del proceso y empoderar al equipo cross
funcional para que lleve a cabo una línea genuina
colaborativa de investigación cuando algo salga mal.
3. Fortalezca la red de seguridad con pruebasautomatizadas. El integrar estas herramientas
a través del desarrollo (no tan sólo al final) atrapará
errores al inicio, permitiendo que su equipo maneje
requerimientos cambiantes mientras producen
software confiable.
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
21
CSG
Los Resultados
Fuente: (2)
• Ciclo de liberación se redujo de 28 semanas a 14 semanas• El número de incidentes
se redujo en 16%• Tiempo promedio de preparación se redujo en 80%• Tiempo de estabilización se redujo de 14 días a 1 día
4
4
Tabla de Contenido
¡Comience en Pequeño,pero Comience Ahora!
Sección 5
23
Un buen lugar para comenzar —administración del desempeño de aplicaciones
Si todas las recomendaciones en la SecciónCuatro, Su Vida Real, parecen abrumadoras,un buen lugar para comenzar es el monitoreodel desempeño de aplicaciones.
El monitoreo de desempeño no debe comenzar en el ambiente de producción. El dar seguimiento al desempeño de las pruebas automatizadas, en conjunto con analíticos para identificar casos aislados y problemas de desempeño, ayuda a mantener los problemas de desempeño alejados del ambiente de producción.
Es una capacidad importante para DevOps y una que puede
proporcionar beneficios inmediatamente. De hecho,
calificaron el Monitoreo de
Desempeño y las Pruebas de Desempeño como críticas para DevOps.
Las herramientas de administración del desempeño de aplicaciones
pueden proporcionar perspectivas del desempeño a lo largo del ciclo
de vida de desarrollo. También pueden expeditar la colaboración
entre desarrollo y operaciones, con cada uno considerando las mismas
métricas de desempeño desde el inicio en el ciclo de vida de desarrollo.
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
24
Nordstrom: un caso de estudio deadministración del desempeño de aplicaciones
Una organización que ha integrado el monitoreo de desempeño en su enfoque de DevOps es Nordstrom. Nordstrom.com ha tenido un crecimiento en ingresos de 30% año sobre año y está alojado internamente en cientos de servidores.
Nordstrom implementó herramientas de administración del
desempeño de aplicaciones a través del ciclo de vida del desarrollo
de aplicaciones. Estas herramientas les ayudan a diseñar para
desempeño y producen características más rápidamente.
Antes de que tuvieran las herramientas, no podía llevar a cabo
el nivel de pruebas necesario para encontrar problemas. Los
problemas aparecerían en producción y después, tomaba tiempo
identificar la causa raíz y, finalmente resultaban en tiempos
de caída.
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
Antes que las herramientas[administración de desempeño]existieran, era como golpearnuestras cabezas en contrade la pared. [Con las nuevasherramientas de administraciónde desempeño], identificarproblemas pasó de días ahoras. Nuestros ciclos de pruebapasaron de semanas a días.”
Arquitecto Senior Aplicado para Ingenieríade Desempeño, Nordstrom
Tabla de Contenido
Algo de Tarea para Usted
Sección 6
>
>
>
26
>
>
>
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
Recursos
Lecturas Recomendadas Reproducciones de Webinars
eBooks
Pubicaciones en Blogsy Reimpresiones
Sabemos que le hemos dado mucho en que
pensar. Una transformación de DevOps de
buena a excelente, como cualquier cambio
cultural mayor, involucrará algo de trabajo
duro. Esperamos que le hayamos indicado
algunos buenos pasos en la dirección correcta.
Ahora, algo de tarea. ¡Después de todo, el
aprendizaje continuo es uno de los principios
de Las Tres Formas! Aquí, hemos identificado
algunos recursos para apoyarlo en su viaje.
También hemos incluido una colección
de herramientas de Martin y Wolfgang
que disfrutamos utilizar (en Dynatrace)
para nuestros procesos internos. Fomentan
la colaboración entre nuestra Gerencia
de Productos y los Equipos de Desarrollo,
Operaciones de TI y Soporte Técnico, nos
permiten construir más calidad en nuestros
productos y nos apoyan en establecer mejores
canales de retroalimentación
DevOps Handbook and The Phoenix Project
por co-autor Gene Kim
The Speed of Trust por Steven Covey
Release It por Mike Nygard
Continuous Delivery por Jez Humble
y David Farley
The Other Side of Innovation por
Vijay Govindarajan
The Goal por Eliyahu Goldratt
>
>
>
>
>
>
27
Referencias
Allspaw/Hammond, Flickr, 2009 Velocity Presentation (http://www.slideshare.net/
jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr) and Gene Kim, Excerpt
Points from Live Presentation, Dynatrace Perform Conference.
Gene Kim, Excerpt Points from Live Keynote, Dynatrace Perform Conference.
Amazon, 2012 Velocity Presentation.
Puppet Labs 2015 State Of DevOps Report: https://puppet.com/resources/white-paper/2016-
state-of-devops-report.
Enterprise Management Associates, DevOps and Continuous Delivery, 2014.
Gene Kim, Puntos Extraídos del Webinar “Mastering Performance and Collaboration Through DevOps”,
Conferencia Perform de Dynatrace.
La licencia de esta imagen se otorga bajo la Licencia Internacional Creative Commons
Attribution-ShareAlike 4.0. Para visualizar una copia de esta licencia, visite http://creativecommons.org/
licenses/by-sa/4.0/ o envíe una carta a Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
Gene Kim, junto con Kevin Behr y George Spafford, es autor de “The Phoenix Project: A Novel about IT,
DevOps, and Helping Your Business Win”.
DevOps de Alto Desempeño: Perspectivas y Sugerencias
Tabla de Contenido
Conozca más en dynatrace.com Dynatrace es el innovador atrás de la Plataforma de Desempeño Digital más importante de la industria, haciendo que la información en tiempo real del desempeño digital sea visible y que se pueda tomar acción con ésta por todos en el negocio y en TI. Ayudamosa clientes de todos los tamaños a ver sus aplicaciones y canales digitales a través del lente de sus usuarios finales. Más de 8,000 organizaciones utilizan estas perspectivas para superar la complejidad, obtener agilidad operacional y aumentar los ingresos entregandoexperiencias sorprendentes para los usuarios.04.12.17 289_EBK_DevOpsRiskAndResults_mm_SPA
Top Related