Академический Документы
Профессиональный Документы
Культура Документы
A pesar de que DevOps es una de las buzzwords que a día de hoy no puede
faltar en cualquier evento de IT que se precie, pocos conocen el origen de
su historia, que resulta muy ilustrativa como contexto para entender mejor
el significado del término.
Para los más curiosos (o los que queráis tener una historia interesante que
contar en el próximo BeerUp), cuenta la leyenda que fue en 2008 en una
convención informal de agilismo cuando un belga presentó y argumentó el
concepto por primera vez, aún sin bautizarlo.
1
administradores de sistemas habían logrado sacar adelante. Animados por
este intercambio de ideas, acordaron crear un grupo en Google para abrir
la discusión a la comunidad, el Agile System Administrators Group.
Entonces Paul Nasrat, responsable del CMS del periódico británico The
Guardian y desde 2010 en Google, respondió a su tuit proponiéndole que
organizara un evento similar en Europa.
En lo único que parece disentir Patrick Debois, que actualmente alterna sus
trabajo en la radiotelevisión flamenca con su labor de consultor de su
propia empresa Jedi BVBA, es en la forma de escribirlo: frente a la común
acepción de hacerlo con la doble mayúscula, DevOps, Patrick piensa que
sería más pertinente una sola palabra, Devops; la discusión sigue viva, y una
tercera facción aboga por eliminar las mayúsculas y escribirlo simple y
llanamente como devops.
2
DevOps es uno de los términos más mencionados en el actual entorno de
IT. Normalmente se asocia a estrategias de transformación digital, y a
metodologías como Continuous Delivery o desarrollo ágil.
3
o entrega continua (continuous delivery), y suelen estar asociados a
metodologías lean startup. Grupos de trabajo, asociaciones profesionales y
blogs usan el término desde 2009«.
Todo claro, ¿verdad? ¿O pensáis como yo que hay overflow de conceptos?
Rescatemos de momento tres ideas clave:
4
de bases de datos… y hasta de cablear la oficina, comprar portátiles y hasta
configurar el móvil de la gente de negocio. ¿Os suena ;-)?
Ese modelo puede funcionar durante un tiempo, pero no escala. DevOps no
consiste en aumentar la responsabilidad de los desarrolladores haciendo
que lleven varias gorras (en particular dos, la de desarrollo y la de sistemas),
sino en sustituir esas dos gorras por una sola: una nueva gorra DevOps.
5
Como conclusión, quedémonos con una definición simple de DevOps con la
que todos podamos estar de acuerdo: DevOps es una metodología de
desarrollo software basada en la integración entre desarrolladores y
administradores de sistemas, que permite que los desarrolladores puedan
enfocarse sólo en desarrollar y puedan desplegar su código en segundos.
El Circulo de oro
Qué hace que personas sean seguidas por otras y sus seguidores quieran
ser los primeros en probar lo que hacen? ¿Por qué las personas hacen largas
colas para comprar un producto Apple? La razón es simple; Circulo de Oro.
Porque han encontrado en qué creer, porque han encontrado una causa
justa para seguir, porque simplemente se identifican con lo que un Líder
profesa y comparte.
6
¿Cómo se relaciona la teoría de los tres Cerebros con el Circulo de oro?
Porqué? Lo inspira el cerebro Reptil y Límbico, controla los instintos y
creencias
Simon Sinek explica, que los líderes o empresas exitosas son los que saben
comunicar muy bien «el porqué» hacen las cosas, Sinek expone que «hay
que hablar de adentro hacia afuera, donde se maneja el comportamiento
humano, sin palabras, sólo con emociones”. Sinek explica que si usted
puede conectar bien con el porqué tendrá gran terreno ganado para
conseguir seguidores y obviamente clientes.
“La gente no compra lo que uno hace, compra el Porqué uno lo hace” Simon
Sinek
Puedes leer también: 7 Formas de Liderar una Tribu según Seth Godin
7
fáciles de usar» y el qué; «sencillamente ofrecemos Computadores geniales
para las personas» .
“Si uno habla de corazón de sus creencias, atraerá a los que creen lo mismo”
Simon Sinek
Martin Luther King creía en dos leyes; «la ley divina y la ley de los hombres,
sólo cuando la ley de los hombres este acorde con la ley divina habrá paz e
igualdad» con esta premisa y la manera de profesar su credo el Dr. King
movió muchas personas en pro de los derechos civiles y se convirtió más
que en un líder en alguien que lideraba una causa que muchos también
sentían y creían. Es el vivo ejemplo de la aplicación del Circulo de Oro.
Puedes leer también: «El Reto de encantar a los Clientes» de Guy Kawasaki
8
inspire, encontraron una causa, un para qué en la vida; motivados por la
pasión y al amor hacia sus semejantes.
“Lo que uno hace simplemente demuestra lo que uno cree” Simon Sinek
¿Qué es DevOps?
El término "DevOps" generalmente se refiere a un movimiento profesional
que aboga por una relación de trabajo colaborativo entre el Desarrollo y las
Operaciones de TI, lo que resulta en un rápido flujo de trabajo planificado
(es decir, altas tasas de despliegue), al tiempo que aumenta la confiabilidad,
la estabilidad, la resistencia y seguridad del entorno de producción.
9
Esto es más evidente en el objetivo Agile de tener características
potencialmente vendibles al final de cada sprint. Donde, como DevOps, se
extiende y completa el proceso de integración y lanzamiento continuo
asegurando que el código esté listo para la producción y proporcionando
valor al cliente.
Aunque muchas personas ven DevOps como una reacción a ITIL (IT
Infrastructure Library) o ITSM (IT Service Management).
DevOps informa cuál -ITIL e ITSM son las mejores metodologías de los
procesos de negocio que sustentan las operaciones de TI y describen
muchas de las capacidades necesarias para que las operaciones de TI
admitan un flujo de trabajo al estilo de DevOps.
Sin usar DevOps, los miembros del equipo dedican una gran parte de su
tiempo a probar, desplegar y diseñar en lugar de construir el proyecto.
10
La implementación manual del código provoca errores humanos en la
producción.
11
Eficiencia de costes: DevOps ofrece rentabilidad en el proceso de desarrollo
de software, que siempre es una aspiración de la gestión de las empresas
de TI.
Rompe una base de código más grande en pequeños trozos: DevOps se basa
en el método de programación ágil. Por lo tanto, permite dividir las bases
de códigos más grandes en trozos más pequeños y manejables.
Principios de DevOps
Aquí, hay seis principios que son esenciales al adoptar DevOps:
12
Trabajar como un solo equipo: en el rol de DevOps, el del diseñador,
desarrollador y evaluador ya están definidos. Todo lo que tenían que hacer
es trabajar como un equipo con total colaboración.
Monitorea y pruebe todo: es muy importante que el equipo de DevOps
tenga un sólido monitoreo y procedimientos de prueba.
13
Mejore la calidad y reduzca los costos de desarrollo con la colaboración.
Analizar, diseñar y evaluar scripts y sistemas de automatización.
Garantizar la resolución crítica de los problemas del sistema mediante el
uso de los mejores servicios de soluciones de seguridad en la nube.
El ingeniero de DevOps debe tener la habilidad suave de resolver problemas
y aprender rápidamente.
Aquí hay una breve información sobre el ciclo de vida de DevOps continuo:
1. Desarrollo
En esta etapa DevOps, el desarrollo del software se lleva a cabo
constantemente. En esta fase, todo el proceso de desarrollo se divide en
pequeños ciclos de desarrollo. Esto beneficia al equipo DevOps para
acelerar el desarrollo de software y el proceso de entrega.
2. Prueba
El equipo de QA usa herramientas como Selenium para identificar y corregir
errores en la nueva pieza de código.
3. Integración
En esta etapa, la nueva funcionalidad se integra con el código vigente y las
pruebas se llevan a cabo. El desarrollo continuo solo es posible debido a la
integración y pruebas continuas.
4. Despliegue
14
En esta fase, el proceso de implementación se lleva a cabo de manera
continua. Se realiza de tal manera que cualquier cambio realizado en
cualquier momento en el código, no debe afectar el funcionamiento del
sitio web de alto tráfico.
5. Monitoreo
En esta fase, el equipo de operación se encargará del comportamiento
inadecuado del sistema o errores que se encuentran en la producción.
15
cultura de DevOps. Pero sí hay algunas cosas sencillas que puedes hacer
para cultivarla.
Piensa en DevOps como una metodología ágil, pero con las operaciones
incluidas. Formar equipos con una orientación hacia los proyectos o los
productos que sustituyan equipos basados en funciones es dar un paso en
la dirección correcta. Incluye desarrollo, control de calidad, gestión de
productos, diseño, operaciones, gestión de proyectos y cualquier otro
conjunto de aptitudes que requiera el proyecto. En Atlassian, incluso
integramos el marketing en nuestros equipos de producto.
16
Ten en cuenta que las empresas de mayor éxito aprueban la cultura de
DevOps en todos los departamentos y a todos los niveles del organigrama.
Cuentan con canales abiertos de comunicación y los emplean
habitualmente. Se aseguran de que los objetivos de todos vayan a la par, y
los ajustan según sea necesario. Asumen que mantener al cliente satisfecho
es tanto responsabilidad de la gestión de productos como del equipo de
desarrollo. Entienden que DevOps no es el trabajo de un solo equipo. Es el
trabajo de todos.
Automatización
Invertir en automatización suprime el trabajo manual repetitivo, genera
procesos reproducibles y crea sistemas fiables.
17
¿Por qué? Los ordenadores ejecutan las pruebas con mayor rigor y
exactitud que los seres humanos. Estas pruebas detectan antes los errores
y los fallos de seguridad, por lo que los desarrolladores los pueden corregir
más fácilmente. Y los despliegues automatizados alertan a TI y Operaciones
de los “desajustes” del servidor entre entornos, lo cual reduce o acaba con
las sorpresas cuando ha llegado la hora de publicar.
Es verdad, los sistemas siempre están cambiando, pero podemos crear una
facha de inmutabilidad utilizando código en el aprovisionamiento de modo
que reaprovisionar un servidor dañado sea más rápido que repararlo, y no
digamos más fiable. Además, reduce riesgos. Tanto Desarrollo como
Operaciones pueden incorporar nuevos lenguajes o tecnologías mediante
el código de aprovisionamiento y compartir las actualizaciones entre ellos.
Las incidencias de compatibilidad resultan evidentes de forma inmediata,
en lugar de manifestarse a media publicación.
Infalible
Cuando nos dicen “infalible” en un contexto de software, solemos pensar
en suprimir actividades de escaso valor y avanzar rápido: ser enérgico, ser
ágil. Más oportunos aún para DevOps son los conceptos de mejora continua
y aceptación de los errores.
18
Una mentalidad de DevOps ve oportunidades de mejora continua en todas
partes. Algunas resultan obvias, como mantener retrospectivas periódicas
para mejorar los procesos del equipo. Otras son más sutiles, como las
pruebas A/B en distintos métodos de incorporación para nuevos usuarios
del producto.
19
DevOps ha evolucionado de modo que Desarrollo posee
más operaciones, y así es como funciona Chef. No podemos
seguir pasándonos la pelota. Nuestros ingenieros se
encargan del control de calidad, la escritura de código y la
ejecución de sus propias pruebas para sacar el software
para los clientes.
Medición
Sin datos, es difícil demostrar que su esfuerzo continuo por mejorar esté
mejorando algo en efecto. Por suerte, hay un montón de herramientas y
tecnologías para medir el rendimiento: cuánto tiempo pasan los usuarios
con su producto, si esa entrada del blog ha generado alguna venta o con
cuánta frecuencia aparecen alertas críticas en los registros.
Aunque se puede medir casi todo, eso no quiere decir que lo tengas que
medir todo. Sigue el ejemplo del desarrollo ágil y empieza por lo básico:
Con todos estos datos jugosos, tu equipo puede tomar decisiones, pero
resultan aún más útiles cuando se comparten con otros equipos, sobre todo
si son de otros departamentos. Por ejemplo, el equipo de marketing quiere
20
tener funcionalidades nuevecitas que vender. Mientras tanto, observas una
alta rotación de clientes, porque el producto está plagado de deuda técnica.
Al aportar datos de los usuarios útiles para la hoja de ruta, aunque no
profundicen en funcionalidades y sí en correcciones, es más fácil lograr
consenso y obtener adquisiciones de las partes interesadas.
Los equipos que adoptan DevOps suelen tener una función rotativa en la
que los desarrolladores tratan las incidencias detectadas por los usuarios
finales, mientras que solucionan problemas de producción al mismo
tiempo. Esta persona da respuesta a las incidencias urgentes que los
clientes han notificado, creando parches cuando haga falta, y trabaja con el
backlog de los defectos notificados por clientes. El “desarrollador de apoyo”
aprende mucho sobre el uso que se le da a la aplicación en la vida real. Y
gracias a su gran disponibilidad para con el equipo de operaciones, los
equipos de desarrollo fomentan la confianza y el respeto mutuo.
21
Dejarse la piel juntos en los momentos difíciles hace disfrutar mucho más
de los logros. Sabrás que la cultura de DevOps ha calado en tu empresa
cuando veas que el equipo de desarrollo le lleva dónuts al de operaciones
el día de publicación.
22