0% encontró este documento útil (0 votos)
134 vistas48 páginas

Tema 9

Cargado por

Ing. Mario Diaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
134 vistas48 páginas

Tema 9

Cargado por

Ing. Mario Diaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tema 9

Administración de Sistemas, Virtualización, Cloud


Computing y DevOps

Tema 9. DevOps, DevOps


Culture y DevSecOps
Índice
Esquema

Ideas clave

9.1. Introducción y objetivos

9.2. ¿A qué llamamos DevOps?

9.3. Principios y metodologías DevOps

9.4. Introducción a la colaboración

9.5. Factores que aceleran la adopción de DevOps

9.6. Seguridad en DevOps (DevSecOps)

9.7. Referencias bibliográficas

A fondo

What is DevOps?

La cultura DevOps

DevSecOps Manifiesto

Test
Esquema

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 3


Tema 9. Esquema
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.1. Introducción y objetivos

DevOps no puede entenderse únicamente como un conjunto de tecnologías y

mejores prácticas, sino que debe entenderse como una revolución cultural. Es una

corriente de cambio dentro de las organizaciones en la que se prima la colaboración

y la interacción abierta entre los equipos de tecnología de la información (en siglas,

TI) y aquellos de desarrollo. El objetivo primordial de esta sinergia es la de alcanzar

la máxima eficiencia y agilidad en el desarrollo, despliegue y mantenimiento de las

aplicaciones.

Numerosas organizaciones han incluido la virtualización como la mejor forma de

optimizar sus recursos computacionales, ya que da nueva vida a infraestructuras

obsolescentes y obtienen una flexibilidad mucho mayor a la hora de utilizar sus

recursos computacionales. La revolución de la virtualización ya no es tal y el nuevo

ciclo de cambio ya está en marcha.

Ya no es suficiente hablar de Cloud Computing como una forma de obtener recursos

computacionales de manera elástica y en un modelo de pago por uso, sino que,

además, aparece el concepto de datacenter virtual, donde podemos tener sus

ventajas con los beneficios de la nube.

Por lo general, solemos utilizar el término cambio cultural para implantar procesos

de mejora continua, emplear metodologías ágiles y adoptar el enfoque DevOps. Esto


obedece a la imposibilidad de adoptar las transformaciones de forma superficial. Tal

y como hemos visto con anterioridad, esta metodología exige un cambio en la

gestión de los recursos, la organización de los equipos y también en la forma de

pensar. Es necesario pasar del control al autoservicio, del miedo a la visibilidad,

de los silos a la colaboración abierta y ninguno de estos cambios se puede

imponer, de un cambio organizativo muy beneficioso a la vez que radical.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 4


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

A través del estudio de este tema, se pretende conseguir los siguientes objetivos:

▸ Comprender el concepto de DevOps y cómo se aplican las tecnologías y mejores

prácticas que se conocen como DevOps.

▸ Conocer los factores que intervienen en la implementación del cambio cultural

necesario para la adopción de la metodología DevOps en una organización.

▸ Comprender qué implica el cambio cultural de una organización para la adopción de

la metodología DevOps.

▸ Conocer las herramientas de colaboración que ayudan a los equipos DevOps a

realizar su trabajo de forma exitosa.

▸ Introducirnos en la seguridad en el mundo DevOps.

En el vídeo de este tema podremos aprender los siguientes conceptos:

Vídeo 1. Repasaremos las buenas prácticas y principios de DevOps y veremos las

herramientas y servicios que posemos utilizar en nube pública.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 5


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.2. ¿A qué llamamos DevOps?

DevOps es un término relativamente nuevo para describir lo que también ha sido

llamado como administración de sistemas ágiles. DevOps se centra en el trabajo y

la colaboración de los equipos de desarrollo y operaciones.

En la actualidad, las empresas se mueven a la velocidad de la nube y es por ello por

lo que DevOps se ha convertido en un enfoque cada vez más extendido y popular

para la entrega de software. Los equipos de desarrollo y operaciones utilizan esta

metodología para construir, probar, implementar y monitorizar las aplicaciones

debido a que les permite: actuar con velocidad, mantener altos índices de calidad y

controlar los cambios con suma rapidez.

DevOps es esencial para cualquier empresa que aspire a ser ágil y que pretenda ser

capaz de responder rápidamente a las demandas del mercado. Por lo tanto, DevOps

es un enfoque:

▸ Hacia la entrega de software ágil.

▸ Que promueve una colaboración estrecha entre las líneas de negocio, desarrollo y

operaciones de TI.

▸ Que elimina las barreras entre las partes interesadas y los clientes.

Es necesario que todas las partes involucradas en el proceso de entrega de software

estén dispuestas a colaborar entre sí. Los equipos de desarrollo necesitan diseñar,

desarrollar, entregar y ejecutar el software de la manera más rápida y confiable

posible. Los equipos de operaciones deben identificar y resolver los problemas de

forma temprana mediante la monitorización, la predicción de fallos, la administración

de los entornos y la solución de problemas. La combinación de este enfoque común

permite monitorizar y analizar los cuellos de botella y optimizar las capacidades de

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 6


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

DevOps que busca, ante todo, fomentar la colaboración entre el área de negocio y

los departamentos de desarrollo y operaciones para entregar y ejecutar el software lo

antes posible.

DevOps como herramienta de cambio para las organizaciones

Para ir adentrándonos en la materia, necesitamos comprender la necesidad y el

valor de DevOps a nivel de negocio, así como los principios de DevOps. Como

sabrán, realizar un cambio en el «business as usual» siempre es difícil y, por lo

general, requiere de una inversión. Así que, cada vez que una organización adopta

cualquier nueva tecnología, metodología o enfoque, la adopción de esta tiene que

ser impulsada por una necesidad de negocio. Es decir que, al desarrollar un

modelo de negocio para la adopción de DevOps, se debe entender la necesidad de

la empresa, incluyendo los retos a los que se enfrenta.

En un entorno DevOps, los equipos son responsables de ofrecer nuevas

características, pero también estabilidad, escalabilidad, fiabilidad y otro sinfín de

propiedades comunes a un software de calidad. Es por ello por lo que las


responsabilidades se equilibran para garantizar que ambos equipos (desarrollo y

operaciones) tengan visibilidad del rendimiento de la aplicación a través de todas

las etapas del ciclo de vida.

Debido a los beneficios que reporta a todo el conjunto de la organización, DevOps

continúa ganando adeptos año tras año desde su aparición. Según los datos de la

popular web [Link], la tasa de adopción aumentó sustancialmente, de 2015 a

2016, del 66 % al 74 %. ¿Qué impulsa a las empresas hacia la adopción de

DevOps? La respuesta es muy sencilla: los largos plazos de entrega del software

hasta su paso a producción, derivado de los sistemas de trabajo tradicionales,

impiden a las empresas brindar servicios de vanguardia y mejorar la experiencia

del cliente. Para mantener el ritmo de las demandas del mercado, los equipos de TI

deben construir, implementar, probar y lanzar software en ciclos cada vez más

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 7


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

rápidos.

Debido a que DevOps mejora la forma en que una empresa entrega valor a sus

clientes, proveedores y socios, podemos afirmar que es un proceso esencial de

negocio y no solo una capacidad de TI. No debemos olvidar que esta metodología

ofrece un retorno significativo de la inversión, en inglés Return of Investment (en

adelante, ROI), por diversas razones:

Aceleración de la innovación

Con un sólido equipo de operaciones y desarrollo que trabaje acompasadamente, las

aplicaciones se pueden desarrollar y desplegar con mayor rapidez. Esto es vital, ya

que el éxito empresarial actual depende, en gran medida, de la capacidad de una

organización para innovar más rápido que la competencia. Los ingenieros DevOps

pueden aprovechar las herramientas tecnológicas de las que disponen para

comprobar los datos de rendimiento de sus aplicaciones en tiempo real, y así,

comprender el impacto de los cambios introducidos en el código. A su vez, las

soluciones a los problemas derivados del software se proveen en plazos de tiempo

más cortos porque los miembros del equipo solo necesitan verificar los últimos
cambios de código para detectar el origen de los errores.

Mejora de la colaboración

En vez de intentar desdibujar las diferencias entre ambos departamentos (desarrollo

y operaciones), un entorno DevOps exitoso procura construir un puente basado en la

comunicación y la colaboración para crear una sinergia. La cultura de desarrollo

de software, entonces, se enfoca en objetivos, responsabilidades y logros

compartidos, en lugar de objetivos individuales. Cuando estos equipos adquieren un

buen nivel de confianza y colaboración, pueden experimentar, investigar e innovar de

manera más efectiva. El entorno de desarrollo se vuelve, progresivamente, más

uniforme a medida que todos los miembros del equipo trabajan para alcanzar

objetivos compartidos.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 8


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Incremento de la eficiencia

Las herramientas automatizadas y las plataformas de producción estandarizadas son

elementos clave de las mejores prácticas de DevOps que ayudan a que las

implementaciones sean más predecibles y liberen al personal de TI de tediosas

tareas repetitivas. Con un entorno de pruebas e integración automatizadas, los

desarrolladores no necesitan desperdiciar su tiempo confiando en que se completen

los procesos de integración de código. Estas herramientas ofrecen oportunidades

adicionales para mejorar la eficiencia:

▸ La infraestructura escalable, como las soluciones basadas en la nube, ayudan a

acelerar las pruebas y los procesos de implementación al aumentar el acceso a los

recursos de hardware.

▸ Las herramientas de compilación y desarrollo ayudan a acortar los ciclos de

desarrollo y acelerar la entrega del producto.

▸ Los flujos de trabajo de entrega continua ayudan a entregar software de manera

más rápida y frecuente.

Reducción del número de fallos

Los ciclos de desarrollo más cortos, derivados de DevOps, promueven entregas de

código más frecuentes. Con estas implementaciones modulares, los equipos

pueden descubrir e identificar, de forma temprana, problemas asociados a la

configuración, el código o la infraestructura.

DevOps eleva el grado de compromiso de los miembros del equipo durante

todo el ciclo de vida de una aplicación, lo que da como resultado un código de

mayor calidad.

Por lo general, se requieren menos cambios y modificaciones porque los

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 9


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

desarrolladores identifican y eliminan posibles problemas a medida que escriben el

código. Según un informe reciente elaborado por Puppet Labs, llamado State of

DevOps, las organizaciones que adoptan una cultura DevOps tienen sesenta veces

menos fallos que aquellas que no implementan DevOps.

Aceleración del tiempo de recuperación

Como hemos dicho anteriormente, debido a que las implementaciones de DevOps

son más frecuentes y «pequeñas», los errores son fácilmente detectables y es por

ello por lo que las soluciones se encuentran con mayor rapidez. El equipo

necesitará verificar los últimos cambios en el código para poder resolver una

incidencia en vez de revisar enormes cantidades de código. Los tiempos de

resolución son intrínsecamente más rápidos porque, además, la responsabilidad en

la solución de los problemas y las correcciones pertinentes corresponden a un solo

equipo: el equipo DevOps. En el informe State of DevOps de Puppet Labs, se

establece que los equipos DevOps de alto rendimiento se recuperan de los fallos 168

veces más rápido que aquellos con menor rendimiento.

Aumento de la satisfacción laboral

DevOps promueve un ambiente de trabajo basado en el rendimiento, en

contraposición con una cultura basada en reglas, estatus o poder. Esto reduce los

obstáculos burocráticos y fomenta la responsabilidad compartida entre todos los

miembros. El resultado es un equipo de trabajo más satisfecho y productivo, que

ayuda a impulsar el rendimiento del negocio. Los desarrolladores y los ingenieros de

operaciones, generalmente, prefieren un entorno DevOps porque pueden trabajar de

manera más eficiente y cambiar de roles cuando sea necesario. A su vez, tienen una

mejor comprensión sobre cómo impacta su función dentro de TI y dentro de la


organización en su conjunto.

La entrega rápida de software es crucial en la era digital actual y la cultura de

DevOps es el motor de este proceso. En otras palabras, permite a las empresas

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 10


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

acelerar la comercialización de sus servicios y productos al mercado y desplegar

nuevas funciones, de manera rápida y eficiente. La adopción de DevOps no es un

proceso simple, pero cuando se realiza correctamente, la inversión genera

dividendos que duplican el esfuerzo inicial.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 11


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.3. Principios y metodologías DevOps

En el corazón de los principios DevOps se encuentra el aprendizaje colaborativo y

las relaciones de colaboración entre desarrollo y operaciones. Estos se centran en

aumentar el ritmo de trabajo de forma planificada para obtener despliegues e

implementaciones más frecuentes, al tiempo que mejora la estabilidad, la resistencia

y la seguridad del entorno de producción. Para que una organización pueda abrazar

los principios de DevOps, debe reforzar y enfatizar este enfoque holístico en todas

sus áreas y no únicamente en los departamentos de desarrollo y operaciones.

Estos principios fundamentales pueden resumirse en la siguiente lista:

▸ Fomentar un ambiente de trabajo colaborativo: como ya hemos comentado, la

esencia de la metodología DevOps es el trabajo conjunto entre los equipos de

desarrollo y operaciones, a fin de crear una sinergia que se centre en la


consecución de objetivos comunes. Para lograr este objetivo, las organizaciones
necesitan fomentar una comunicación eficiente y permitir que ambos equipos
compartan ideas y resuelvan problemas de forma conjunta. Esta «rotura de los silos»
permite a las empresas alinear a sus trabajadores, procesos y herramientas hacia un

enfoque centrado en el cliente.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 12


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 1. Qué es DevOps. Fuente: Buehring, 2021.

▸ Establecer una responsabilidad de extremo a extremo: en el modelo tradicional

de desarrollo de software, desarrollo y operaciones tenían roles separados. Pero en


un entorno DevOps, ambos grupos trabajan como un equipo que es totalmente

responsable de la aplicación, de principio a fin. Tradicionalmente, los


desarrolladores escribían código y operaciones desplegaba ese código, pero eso
producía todo tipo de ineficiencias, problemas de rendimiento y entornos
impredecibles. Todos los miembros del equipo DevOps son responsables de velar
por la calidad y fiabilidad de las aplicaciones que desarrollan.

▸ Fomentar la mejora continua: la responsabilidad de extremo a extremo involucra a

todas las áreas de la organización, ya que estas deben adaptarse continuamente a

las circunstancias cambiantes (ya sea el surgimiento de nuevas tecnologías, las


nuevas y variadas necesidades de los clientes o los cambios en la legislación).
DevOps pone énfasis en la mejora continua para optimizar el rendimiento, los
costes y la velocidad de entrega.

▸ Fomentar la automatización: para hacer frente a los numerosos ciclos de

desarrollo y responder de inmediato a los comentarios de los clientes, las


organizaciones deben implementar procesos automatizados. Afortunadamente, en

los últimos años han surgido variadas y numerosas herramientas de automatización

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 13


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

que agilizan la gestión de procesos en gran medida.

▸ Dar prioridad a las necesidades del cliente : DevOps requiere que las

organizaciones tengan la misma flexibilidad que las start-up lean, ya que estas
pueden innovar continuamente, cambiar de estrategia cuando sea necesario e
invertir en la creación de nuevas características (features) para aumentar la

satisfacción de sus clientes. Los equipos de DevOps deben estar al día de todo lo
que ocurre en el mercado para satisfacer constantemente las necesidades y
demandas cambiantes de los consumidores. Los datos recopilados de los procesos
automatizados deben revisarse con frecuencia para garantizar que se cumplen los
objetivos de rendimiento establecidos por el área de negocio.

▸ Aceptar el fracaso y aprender de él: la aceptación del fracaso fomenta un clima de

aprendizaje que tendrá un impacto positivo en la cultura organizacional. Cuando los

equipos se sienten psicológicamente seguros para actuar y tienen la capacidad de


transformar radicalmente su trabajo, pueden incurrir en fallos. Resulta vital convertir
esos fallos en oportunidades de aprendizaje.

▸ Formar equipos multifuncionales: es necesario que los equipos de DevOps se

involucren en cada etapa del ciclo de vida del desarrollo de software, desde la
planificación, la construcción, la implementación, y la retroalimentación hasta la
mejora continua. Para ello, es necesario que el equipo sea multifuncional y

equilibrado y que cada miembro posea un conjunto habilidades idóneas para su rol
en TI.

Además de estos principios, existen otros que se centran, más específicamente, en

el área de TI y que abogan por una mejora integral de sus procesos. Sin embargo,

tienen un enfoque holístico para DevOps y organizaciones de todos los tamaños

pueden adoptarlos. Estos principios son:

▸ Trabajar en entornos similares a producción durante el desarrollo del software

y la ejecución de pruebas. Hace alusión al concepto DevOps de «desviación a la

izquierda» o shift left. El objetivo que persigue este principio es el de permitir que los

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 14


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

equipos de desarrollo y calidad trabajen en entornos similares a producción a fin de


que puedan verificar el comportamiento y desempeño de la aplicación mucho antes

de que esté lista para su despliegue. Desde una perspectiva de operaciones, este
principio tiene un enorme valor porque permite que el equipo pueda ver, desde una
fase temprana del ciclo, cómo se comportará su entorno cuando soporte a la
aplicación.

▸ Realizar despliegues mediante procesos repetibles y fiables. Permite que el área

de operaciones dé soporte a un proceso de desarrollo de software ágil e iterativo,


durante todas las fases del ciclo de vida que atraviesa el código. La automatización

es esencial para crear procesos que sean iterativos, frecuentes, repetibles y fiables,
por lo que la organización debe crear una fuente o suministro de entregas que
permita que el despliegue sea continuo, automatizado y validado a través de
pruebas. Los despliegues frecuentes también permiten a los equipos poner a prueba
sus propios procesos y, a largo plazo, hace que se reduzca el riesgo de fallos.

▸ Supervisar y validar la calidad operativa. Pone énfasis en la monitorización del

código desde una fase temprana al exigir que el código sea validado a través de

pruebas automatizadas al comienzo del desarrollo y con una alta frecuencia, a fin de
controlar las características funcionales y no funcionales de la aplicación. Esta
supervisión frecuente proporciona una alerta temprana sobre cuestiones operativas o
de calidad que puedan ocurrir más tardíamente en producción.

▸ Amplificar los bucles de retroalimentación. Exige a las organizaciones la creación

de canales de comunicación eficaces que permitan a todas las partes interesadas


acceder y participar en un ciclo comunicativo. De ello se desprende que el desarrollo

de código tendrá el foco puesto en las prioridades del proyecto y podrá ajustarse a
los requisitos del proyecto si estos merman. También implica que los pases a
producción se harán mediante la mejora de los entornos de producción y que los
planes de entrega se modificarán en pos del negocio.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 15


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Metodologías DevOps

DevOps tuvo sus orígenes en Agile. Para comprender mejor esta afirmación, es

importante recordar que Agile promueve el desarrollo de software a través de

iteraciones cortas, la entrega continua de nuevas características, así como

correcciones de errores en ciclos rápidos, de entre dos a cuatro semanas. Por su

parte, DevOps elimina los silos que separan a los equipos de desarrollo y

operaciones con el objetivo de disminuir el tiempo de respuesta a sus clientes y

garantizar la entrega continua de software.

DevOps no solo involucra a todas las áreas de una organización en el proceso de

desarrollo (líneas de negocio, proveedores involucrados en la entrega de software y

propios consumidores), sino que además lo hace de una manera en la que acelera

el desarrollo y mejora la calidad de todos sus procesos. Esto conduce a la

creación de una cultura de la innovación que permite a las organizaciones


colaborar y reaccionar con agilidad ante los cambios del mercado.

Las metodologías de DevOps incluyen:

▸ Integración continua que incluye a la creación de código, la construcción, la

integración y las pruebas.

▸ Entrega continua que incluye a la integración continua, pero se centra en las

entregas.

▸ Despliegue continuo que se centra en automatizar las entregas de la forma más

rápida posible.

▸ Gestión de la configuración y monitorización continua.

Estrategia DevOps

Como hemos visto, DevOps se basa en el concepto de continuidad. No es una

casualidad que hayamos mencionado el concepto de integración, entrega y

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 16


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

despliegue continuos. La estrategia de DevOps se centra en la capacidad

empresarial para la entrega continua de software que permite a los clientes

aprovechar las oportunidades del mercado y, a la vez, reducir el tiempo de

retroalimentación de estos.

Permite a los equipos trabajar de forma conjunta y esforzarse en solucionar

problemas que puedan aparecer en cualquier parte del ciclo de vida del

desarrollo de software. El cliente representa la prioridad máxima de estos

equipos y su bienestar es una responsabilidad compartida entre todos.

La estrategia DevOps acelera la entrega de software, ayuda a equilibrar la velocidad,

los costes, la calidad y el riesgo y aporta una mayor capacidad para innovar.
Además, reduce el tiempo de retroalimentación de los clientes, lo que ayuda a

mejorar su experiencia.

Figura 2. Cómo aplicar la cultura DevOps a tu empresa. Fuente: Bravent IT Consulting, 2019.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 17


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.4. Introducción a la colaboración

Si quisiéramos escribir un decálogo para DevOps, probablemente uno de los

elementos más importantes sería la colaboración. Recordemos que DevOps integra

dos mundos: el del desarrollo y el de las operaciones. Estos individuos adquieren

conocimientos y capacidades de ambos entornos y se abren, por tanto, canales de

comunicación dentro de las organizaciones que permiten alcanzar una mayor

agilidad, capacidad requerida para la Integración continua, la entrega continua y los

frecuentes releases (lanzamientos).

Desde sus cimientos, DevOps es un movimiento cultural que involucra a las

personas. Una organización puede adoptar los procesos más eficientes o tantas

herramientas automatizadas como le sea posible, pero todas ellas serán inútiles si no

están integradas con las personas que deben ejecutar esos procesos y utilizar esas

herramientas.

En la construcción de una cultura DevOps, por lo tanto, está la clave de la

adopción DevOps.

Una cultura DevOps se caracteriza por un alto grado de colaboración a través de los
roles, centrado en el bienestar y los objetivos del negocio (en lugar de los objetivos

exclusivos de cada departamento), la confianza y el aprendizaje a través de la

experiencia. La construcción de una cultura no es como la adopción de un proceso o

una herramienta, ya que requiere de cierta la ingeniería social de los equipos y

cada uno está compuesto por personas que tienen predisposición, experiencia y

prejuicios propios. Esta diversidad puede hacer que la construcción de la cultura se

convierta en un proceso extremadamente desafiante y difícil.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 18


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Las prácticas Lean y Agile son el núcleo de DevOps y, si la organización ya ha

aplicado alguno de estos métodos, podrán apalancar la transición hacia una cultura

DevOps.

Identificación de los objetivos de negocio

La primera tarea en la creación de una cultura es conseguir que todos vayan en la

misma dirección y trabajen por el mismo objetivo, es decir, la identificación de los

objetivos de negocio comunes para el equipo y la organización en su conjunto.

Cuando el equipo sabe cuál es el objetivo común por el que está trabajando y cómo

se medirá el progreso hacia ese objetivo, disminuyen los riesgos y el miedo individual

y colectivo.

DevOps no es el objetivo final de una organización, sino que es una

herramienta que permite alcanzar los objetivos propuestos.

Actualmente, DevOps debe abordar nuevos retos empresariales, por lo que la

organización puede usar esos desafíos como punto de partida para identificar los
objetivos que se desean alcanzar y, entonces, desarrollar un conjunto de hitos o

peldaños que permitan alcanzar esos objetivos y que los equipos utilicen como guía.

Medición de la cultura

La medición de la cultura es extremadamente difícil. ¿Cómo se mide con precisión la

mejora de la colaboración o de la moral de los equipos? Se podría plantear una

medición directa de las actitudes y valores de un equipo mediante encuestas, pero

las encuestas pueden tener un alto índice de error estadístico, ya que suelen ser, por

lo general, pequeñas. A la inversa, se puede tomar una medida indirecta mediante

el seguimiento de la frecuencia con la que un miembro del equipo de desarrollo

contacta a un miembro del equipo de operaciones o de Quality Assurance (en siglas,

QA) para colaborar en la resolución de un problema sin tener que pasar por los

canales oficiales o sin que se lo ordene un superior. La colaboración y la

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 19


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

comunicación entre las personas y los equipos es la esencia de la cultura de

DevOps.

Creación de un ambiente de intercambio

Después de identificar los objetivos comunes de negocio, el siguiente paso en la

construcción de una cultura DevOps es que los líderes de la organización trabajen

con sus equipos para crear un entorno de colaboración e intercambio.

Los líderes deben velar por la eliminación de todas las barreras autoimpuestas

para que haya cooperación.

Por lo general, se suele valorar el desempeño de los equipos de operaciones a

través del uptime (tiempo de actividad sin caída) y la estabilidad, y a los equipos de
desarrollo por las nuevas características (features) entregadas.

La realidad es que esta práctica enfrenta a estos dos grupos: operaciones (sabe

que la mejor manera de protegerse es no aceptar ningún cambio) y desarrollo (tiene

poco o ningún incentivo para centrarse en QA). DevOps elimina esta fricción entre

ambas áreas, valorando el éxito desde la concepción de una responsabilidad

compartida en la entrega de nuevas capacidades y features, de forma rápida y

segura.

Los líderes de la organización deben fomentar la colaboración mediante la mejora

de la visibilidad.

El establecimiento de un conjunto común de herramientas de colaboración es

esencial, especialmente cuando los equipos están localizados en diferentes

puntos del globo y no tienen la posibilidad de trabajar juntos en el mismo

espacio físico.

Resulta crucial dar visibilidad a todas las partes involucradas en un proyecto sobre

cuáles son los objetivos y el estado de un proyecto. Esto facilitará la construcción

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 20


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

de una cultura DevOps basada en la confianza y la colaboración. Este cambio en la

dinámica de grupos y el traspaso de la información tendrán un impacto a nivel

humano y es probable que algunas personas deban ser reasignadas a otros

proyectos mientras se esté adoptando esta nueva cultura.

Antes de continuar, te invito a que veas este enlace, Modelos de licenciamiento

Creative Commons: [Link]

Creación de un equipo DevOps

Algunas organizaciones (como Netflix) no tienen equipos independientes de

desarrollo y operaciones, en cambio, tienen un único equipo llamado No-Ops, que

comparte ambos roles y responsabilidades. Otras organizaciones han tenido éxito

con los equipos DevOps de enlace, que resuelven cualquier conflicto y fomentan la

colaboración. Dicho equipo está conformado por representantes de todos los equipos

y tienen una participación en la aplicación que está siendo desarrollada. Cualquiera

sea la organización de equipos, si decides tener un equipo DevOps, el objetivo más

importante es asegurarte de que funciona como un centro de excelencia, que

facilita la colaboración y no añade un nuevo nivel de burocracia.

Procesos DevOps

Anteriormente, hemos hablado sobre el papel que tienen las personas y la cultura

en la adopción de DevOps.

Los procesos definen lo que esas personas deben hacer y cuándo deben

hacerlo.

Por tanto, la organización puede tener una gran cultura de colaboración, pero si la

gente está realizando las tareas de forma errónea o, por el contrario, están

trabajando eficazmente, pero en el camino equivocado, el fracaso es todavía más

probable.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 21


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Como ya hemos mencionado, DevOps es una capacidad que afecta a toda la

empresa, haciendo que el negocio sea más ágil y que mejore la entrega de

características a los clientes. También podemos ir más allá y entenderlo como un

proceso de negocio: un conjunto de actividades o tareas que produce un resultado

específico (producto o servicio) para los clientes.

El proceso de negocio de DevOps consiste en llevar las capacidades fijadas

normalmente por los directivos, dueños o inversores del negocio, a través del

desarrollo y las pruebas, hasta que llegue a producción.

Aunque este proceso de negocio no es lo suficientemente maduro para ser

capturado en un flujo de procesos simples, es necesario poder capturar los procesos

que la organización utiliza actualmente para producir y entregar las características.

Esto servirá como punto de partida para realizar las modificaciones, cambios y

vueltas de tuerca necesarias para impulsar el cambio hacia una cultura DevOps.

En la Figura 3 podemos visualizar cómo estos objetivos de negocio se integran con

las tareas y capacidades del equipo de tecnología de la información (en adelante, TI).

En un ciclo de vida DevOps, personas y procesos deben integrarse bajo el lema de la

integración y entrega continua e incorporar las herramientas de software adecuadas

para un resultado exitoso.

El resultado de dicha integración permitirá crear una sinergia que beneficiará a los

clientes y usuarios finales, pero también a la organización, que ganará agilidad,

flexibilidad y eficiencia.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 22


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 3. Ciclo de vida DevOps. Fuente: elaboración propia.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 23


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.5. Factores que aceleran la adopción de DevOps

Para que la adopción de DevOps sea exitosa, es necesario que la organización

tenga el objetivo de innovar. Sin embargo, también es frecuente que la decisión de

implantar este enfoque se produzca por la aparición y repetición de problemas

recurrentes:

Figura 4. Problemas recurrentes en las organizaciones. Fuente: elaboración propia.

Procesos pensados para controlar y no para habilitar

Imaginemos el siguiente escenario: un equipo de cien desarrolladores necesita tener

acceso a los recursos de pruebas para realizar sus tareas habituales y cotidianas

(desarrollo, demos, etc.) y la empresa desea que estos recursos se consuman en la

nube con el objetivo de que sean más ágiles y evitar así una inversión en hardware.

En una organización tradicional, podrían surgir muchos inconvenientes si se diese a

los desarrolladores acceso a esos recursos (gasto descontrolado, poca visibilidad,

imposibilidad de prever, etc.). A continuación, probablemente se definiría un proceso

para recontar y contabilizar los recursos que se están consumiendo y, de alguna

forma, aprobar este consumo. Por último, es posible que se generase un workflow

(ciclo) de aprobaciones que, si bien funcionaría, dejaría mucho que desear en

términos de eficiencia y agilidad.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 24


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Desde el enfoque DevOps, debemos responder al interrogante de cómo se

puede implementar un sistema para que los desarrolladores puedan acceder

de forma eficiente y rápida a los recursos, con control y visibilidad.

La respuesta, como es de esperar, será diferente a la de una empresa tradicional. Se

definirán las políticas que permitan a los desarrolladores autoabastecerse de los

recursos necesarios, mediante unas limitaciones definidas a priori. Un ejemplo real

puede ser el de una empresa que cuente con un portal autoservicio (self-service) que

tenga un presupuesto ya aprobado para permitir al equipo que invierta en

herramientas y recursos, de acuerdo con las políticas que ha dictado la empresa. De

esta manera, se elimina la burocracia de los ciclos de aprobación.

Recordemos que este enfoque favorece la independencia, la responsabilidad, la

eficiencia y, por supuesto, la colaboración.

Falta de visibilidad

El hecho de establecer múltiples puntos de control es una forma de asegurar que


las tareas, las personas, los recursos y demás elementos que componen la

organización, sean gestionados de forma correcta. Sin embargo, también es sabido

que todos estos puntos de control y procesos burocráticos pueden generar cuellos

de botella o incluso generar una pérdida de tiempo y dinero por la monitorización de

aspectos que no generan ningún beneficio a la compañía.

En línea con lo que hemos comentado en el apartado anterior, el hecho de tener una

buena visibilidad reporta muchas más ventajas que ejercer un control excesivo. Por

decirlo de otra forma, una buena visibilidad en conjunto, con altos niveles de

responsabilidad y compromiso, permitirá al equipo reaccionar ante cualquier

situación y cambiar de rumbo, mientras que un control férreo ralentizará a todo el

equipo y no garantiza un resultado exitoso.

Otro caso de falta de visibilidad, lo podemos encontrar en las organizaciones que

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 25


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

utilizan cuentas Amazon Web Services (en siglas, AWS) no asociadas, lo que eleva

el gasto a nivel corporativo porque, al no haber una asociación de cuentas, no se

pueden aprovechar de los descuentos corporativos por volumen que ofrece el

proveedor de nube.

Poca capacidad de innovación

La innovación en sí misma implica agilidad. Resulta imposible realizar cambios

realmente significativos e innovadores en una organización encorsetada por una

maraña de reglas. Debe haber un cambio de filosofía en las empresas que aporte

más flexibilidad a sus procesos.

Algunas veces es fácil identificar los puntos de mejora, sin embargo, resulta difícil

encontrar la mejor solución posible a un determinado issue, así que aquí es donde la

innovación entra en escena. Hablando desde un punto de vista meramente técnico,

además de un buen análisis de la situación y de las posibles soluciones, es

importante que los equipos tengan la libertad para probar, cometer errores y

aprender de ellos.

En esto se basa, principalmente, la innovación, así que trataremos a este

proceso como un proceso de definición, prueba, error, éxito y /o aprendizaje;

un ciclo con tantas iteraciones como sean necesarias.

Dificultades técnicas evitables

DevOps aboga por la eliminación de la complejidad, ya que esta va en detrimento

de la productividad y la eficiencia. Seguramente conozcas aquel dicho que reza: «Lo

bueno, si simple, dos veces bueno». Pues bien, en muchos entornos las dificultades

técnicas que se perciben como «técnicas» son en realidad dificultades humanas y,

a menudo, están causadas porque se trabaja con procesos extremadamente

complejos, que no hacen más que incrementar los puntos de fallo.

En las organizaciones tradicionales, existen ciclos de aprobación de cambios de

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 26


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

código, comités de aprobación de pase a producción y, por supuesto, esto no hace

más que añadir complicaciones a la hora de revertir el pase y corregir el código. En

una organización DevOps, la gobernanza está en manos del equipo DevOps, y


ellos pueden acceder al código y subsanar cualquier problema que surja en un breve

plazo de tiempo, sin la necesidad de que un comité o departamento los autorice (esta

es la verdadera agilidad a la que hacemos referencia cuando hablamos de DevOps).

Miedo y resistencia al cambio

El miedo es endémico a la vida y al ser humano, de la misma forma que es el peor

enemigo de la innovación y la colaboración. Nos encontraremos con el simple miedo

al cambio, que incluso es un motivador positivo en las proporciones adecuadas, o el

miedo a la pérdida de control, que en el caso de DevOps debería entenderse como

un paso hacia la independencia y la visibilidad. Pero el peor, sin dudas, es el miedo a

l a pérdida del statu quo por parte de aquellas personas que quieren ser

imprescindibles.

En un equipo DevOps, las personas pueden jugar diferentes roles en el transcurso

de un proyecto, pero también comparten información sobre los avances, estados y

alcance, entre otras cosas. Aquellos miembros que se guardan información,

conocimiento y herramientas, creyendo que así serán imprescindibles, tienen cada

vez menos cabida en las organizaciones que desean crecer.

Como indica Paz Cariñena (2016), las personas imprescindibles no atesoran los
conocimientos como propios, sino que los comparten, están siempre predispuestas

a ayudar a los demás y a emprender nuevos retos. Estas personas son

imprescindibles porque sin ellas las cosas se podrían hacer (no vamos a decir que

no), pero con más esfuerzo o incluso con menos calidad. Pero lo más importante de

todo, es que el mundo gira cuando no están, porque consiguen «enseñar a pescar» y

no solo dan pescado cuando se necesita.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 27


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Esa es la fórmula que describe el espíritu de un DevOps: colaborar + compartir

+ ayudar + producir.

Shadow IT

El Shadow IT (o TI oculta), engloba a todas las tecnologías y elementos dentro de TI

que están fuera de control o simplemente son desconocidas. Siguiendo nuestro

enfoque de colaboración, innovación y agilidad, la falta de control no es el problema,

sino que lo es la no estandarización y la falta de visibilidad derivada de ello.

Es importante comprender que, en muchos casos, la necesidad imperiosa de ejercer

control es lo que ha causado el Shadow IT, es decir, la imposibilidad de acceder a los

recursos en tiempo y forma. Numerosas organizaciones, grandes o medianas, se han

visto en la tesitura de estar usando recursos en la nube antes de poder siquiera

diseñar una estrategia de nube.

Entre los ejemplos más frecuentes de Shadow IT, podemos destacar el uso de:

▸ Aplicaciones de almacenamiento en la nube, como Google Docs o Dropbox.

▸ Redes no permitidas (como la red pública de Internet).

▸ Bring your own device (en siglas, BYOD) no autorizado.

▸ Aplicaciones de terceros como las de sistema en la nube tipo Software as a Service

(SaaS).

Una de las principales razones que motivan a los empleados a usar aplicaciones no
autorizadas, además de su bajo coste, es la facilidad que estas ofrecen en cuanto a

acceso, mantenimiento y despliegue.

Entre las principales consecuencias que acarrea el Shadow IT podemos encontrar

(Rivas, 2018):

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 28


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

▸ Fuga de datos sensibles: a través de aplicaciones de terceros que no estén

debidamente supervisadas por el equipo de seguridad de TI.

▸ Procesos lentos: el despliegue de ciertas aplicaciones puede ralentizar u

obstaculizar el desempeño de los procesos de la organización.

▸ Ineficiencia en la resolución de problemas: en caso de que algún dispositivo o

aplicación de Shadow IT genere un incidente, puede resultar complicado para los


profesionales de TI encontrar la fuente del problema.

En el vídeo Herramientas DevOps en Cloud vamos a realizar un repaso sobre la

cultura DevOps. Veremos en qué consiste, las herramientas necesarias de hoy en

día para un ingeniero de desarrollo y de operaciones, así como las diferentes

tecnologías y buenas prácticas que debe conocer.

Accede al vídeo:[Link]
id=7d4798ff-24e4-4c2f-a417-aec800160291

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 29


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.6. Seguridad en DevOps (DevSecOps)

La falacia de la sofisticación

Los fallos de seguridad en los programas no tienen por qué ser sofisticados.

▸ ¿Alguno conoce StuxNet? Se aprovecha de una mala configuración por defecto de

los sistemas Windows en los puertos USB.

▸ ¿Alguien conoce el error de desbordamiento de búfer? Se aplica no solo en IT, sino

en los coches para modificar los cuentakilómetros. Se basa en que los números
necesitan representarse en tipos de datos y es necesario elegir el tipo adecuado y
proteger la operación matemática de modo adecuado para evitar dicho

desbordamiento.

Figura 5. Ejemplo de desbordamiento de búfer visualizado en un cuentakilómetros. Fuente: EcuRed, s.f.

DevOps se convierte en DevSecOps

La seguridad del software debe estar presente e incrustada en todas las fases

del ciclo DevOps para convertirlo en DevSecOps.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 30


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

El gráfico siguiente muestra cómo la seguridad es un proceso continuo, cómo los

elementos de detección temprana en el software y de detección durante la operación

son vitales para reducir el tiempo de exposición a las amenazas y evitar un mal

mayor.

Figura 6. Ciclo DevSecOps. Fuente: Claranet, s.f.

La aplicación de DevSecOps en la organización debe tener tres soportes que están

interrelacionados:

▸ Personas (los equipos que aplican e interiorización la seguridad desde el diseño,

que sienten que la seguridad es labor de todos).

▸ Procesos (ayudan con las automatizaciones a que la seguridad se verifique).

▸ Tecnología (determina el tipo de errores de seguridad inherentes al tipo de lenguaje

y al tipo de entornos donde se ejecuta).

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 31


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 7. Soportes de DevSecOps. Fuente: Cuesta, 2022.

La seguridad del software no es una lastra en el tiempo de desarrollo.

Cuanto antes se identifiquen los problemas, menos coste se tiene en la resolución.

Este principio shift-left que es conocido para las incidencias funcionales, rara vez

se aplica a las de seguridad que deben tomarse como un requisito funcional más

en el desarrollo.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 32


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 8. Pilares de la ciberseguridad. Fuente: Instituto Nacional de Ciberseguridad, 2017.

Hay que asegurar que los equipos entiendan que la seguridad es cuestión de

todos, que es vital para integrarla dentro del ciclo y eficientar costes y tiempo para

arreglar los problemas.

Interiorizar el cambio

DevSecOps es una filosofía, no es un producto que se compra. De hecho, es una

necesidad. Existen herramientas que ayudan a integrar la seguridad dentro del ciclo,

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 33


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

pero no hay una herramienta única que se pueda comprar e integrar para cubrir

todas las etapas. Es importante que las personas entiendan que la seguridad es

algo que debe hacerse en cada etapa y que no es algo que las herramientas per se

puedan solucionar.

¿Quién es el ingeniero DevSecOps?

El rol de ingeniero DevSecOps no es un superhombre. Puede ser tanto un perfil de

seguridad de software tradicional que evoluciona a un mundo agile, o un perfil de

ingeniero DevOps que se enriquece con conocimientos de seguridad. No es una

tarea difícil, pero exige que los desarrolladores asuman el principio de que la

seguridad debe estar en el diseño del código desde el inicio.

Figura 9. El perfil del ingeniero DevSecOp. Fuente: Singh, 2022.

¿Quién es el Security Champion?

El rol del Security Champion en el equipo es importante para divulgar los

principios DevSecOps y asegurar que se están aplicando.

Su función debe empezar creando buenas prácticas y dando formación a los equipos

sobre la importancia de iniciar las pruebas de seguridad en las etapas más iniciales

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 34


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

del desarrollo. Y puede ser cualquier miembro del equipo o puede estar en una tribu,

según el modelo organizativo.

En el apartado A fondo tienes a tu disposición un recurso con el que podrás ampliar

información.

Formación en seguridad

Practicar la codificación segura es deber de todos los miembros del equipo

DevOps, asegurando que se cumplen las prácticas recomendadas. Aquí, la

formación en los lenguajes de programación es importante para evitar un mal uso

de funciones y errores. Puede parecer un coste, pero un buen conocimiento del

lenguaje evita problemas de seguridad.

Debe completarse con formación en temas de seguridad a los miembros del equipo,

porque el factor humano es uno de los más vulnerables en la cadena de seguridad

(como el phishing y los olvidos de mantener actualizado a los últimos niveles de

parches el software).

Seguridad como parte integrante del modelo

Desde el inicio de la fase de planificación incorporando los requisitos no funcionales

de seguridad y durante todo el ciclo.

Dar a los requisitos de seguridad el mismo peso que los requisitos funcionales.

Esto implica agregar controles y procesos de seguridad, así como la automatización

de las tareas principales de seguridad en todo el ciclo de vida. Así, se permite a los

desarrolladores abordar vulnerabilidades conocidas por adelantado y, por lo tanto,

proporcionar software seguro y resistente.

Probar la seguridad durante todo el ciclo

Para asegurar que en todo momento hemos incorporado seguridad en el ciclo,

vamos a realizar pruebas de seguridad dentro del proceso continuo y como una

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 35


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

parte integral del ciclo de desarrollo. Es decir, tendremos que realizarlas en:

▸ Aplicaciones.

▸ Api.

▸ Contenedores.

▸ Datos.

▸ Procesos.

▸ Microservicios desplegados.

El objetivo es que cuanto antes localicemos los errores, más fácil será

eliminarlos. Y así, minimizar las vulnerabilidades sin importar dónde

aparezcan.

Automatizar todo lo posible

La automatización reduce errores de seguridad porque los programadores pueden

ser muy buenos, pero son humanos. La labor del DevSecOps es ayudarles con la

introducción de automatismos y herramientas que validen el código en busca de

problemas de seguridad.

Estas herramientas, principalmente de análisis estático de código en los entornos de

desarrollo, pueden ahorrar tiempo del ciclo mientras que una mala elección puede

complicarlo. Y si es posible, el análisis se debe repetir en entorno de prueba antes de

empaquetar las soluciones para comprobar errores de seguridad en la integración.

Aparte de reducir los errores humanos, la automatización de los chequeos de

la seguridad junto con la gestión de la configuración, las pruebas integradas y

otras tareas relativas a los procesos reducen la carga de trabajo de los

equipos DevOps.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 36


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Hay que automatizar todas las pruebas de funcionalidad y de seguridad no funcional

tanto a nivel de aplicación como de infraestructura y configuración, así como

realizar pruebas de seguridad de la lógica de la aplicación. Esto es lo que

denominaremos Security as Code.

Monitorizar siempre el cumplimiento de la seguridad del software

Como hemos visto en el gráfico de Gartner, resolver los incidentes lo antes posible

en el ciclo es mejor. Por ello, es necesario obtener información en tiempo real, tanto

del desarrollo como de la operación, para permitir tomar decisiones más acertadas y

rápidas que reduzcan el impacto de las vulnerabilidades. Además, la recopilación de

estos datos puede ayudar a mejorar el ciclo de vida con la detección de fallas que

puedan ser resueltas con mejores automatizaciones.

Deberá habilitarse logs antes y después de una detección de vulnerabilidad e

integrar en los cuadros de seguimiento.

Herramientas para integrar seguridad en el ciclo

Hay varias herramientas DevOps que podemos usar para asegurar, con muy

pequeñas adaptaciones, algunas de estas funciones de seguridad:

▸ Docker: integrando seguridad en la gestión de los contenedores.

▸ Chef: para automatizar pruebas de seguridad en los despliegues.

▸ Puppete: para probar el cumplimiento y aplicar políticas de seguridad en la

integración.

▸ Ansible: para definir y automatizar las mejores prácticas de seguridad como pueden

ser la aplicación de políticas estándares de seguridad, configuración de reglas de

firewall, bloqueo de ciertos usuarios, etc.

▸ SaltStack: para finalmente automatizar reglas de seguridad.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 37


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Pero no se debe olvidar que los propios programas y procesos de gestión de

seguridad pueden tener errores de codificación y, por tanto, es recomendable

realizar chequeos manuales dentro de las pruebas de seguridad.

En la sección A fondo tienes disponible un recurso con el que podrás completar

información.

Usando proveedores en Cloud, como AWS o Azure, es importante señalar que

existe el concepto de «responsabilidad compartida» de infraestructura en el

que el proveedor se encarga de la seguridad en unos niveles dejando al

usuario el resto de los niveles.

En este caso, el margen de maniobra de reducir vulnerabilidades en esa parte se

reduce a la notificación a los proveedores de soporte, aunque su eficacia suele ser

bastante alta.

Figura 10. Responsabilidad Compartida entre proveedor Cloud y usuario. Fuente: Amazon Web Service, 2022.

Todos los proveedores de Cloud ofrecen herramientas de modo gratuito para

realizar un chequeo básico de la infraestructura (AWS Trusted Advisor, Azure

Advisor, etc.) y, también de modo avanzado por un pago de servicio, por ejemplo, el

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 38


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

AWS Inspector.

En caso de querer usar herramientas gratuitas para revisar la infraestructura y

configuración de nuestra instalación AWS, existen herramientas de código abierto

como la herramienta Scout2.

Puedes descargarte esta herramienta a través de la siguiente dirección web:

[Link]

De este modo vamos a ir incorporando herramientas en todo el ciclo DevOps, siendo

un ejemplo no extensivo, el siguiente:

Figura 11. Herramientas de un ciclo DevOps. Fuente: Bhanda y Badam, 2022.

Manifiesto DevSecOps

Para acabar el tema, como no podía ser de otra manera, y como resumen hay que

recordar el Manifiesto DevSecOps ([Link], 2020) para tener siempre

presente que la función de la seguridad no es entorpecer al desarrollo y a la

operación, sino ayudar que el producto tenga mayor calidad y menos

posibilidades de fallo, en este caso por temas de seguridad.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 39


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Los principios son los siguientes:

«Leaning in over Always Saying «No».

Data & Security Science over Fear, Uncertainty and Doubt.

Open Contribution & Collaboration over Security-Only Requirements.

Consumable Security Services with APIs over Mandated Security Controls &

Paperwork.

Business Driven Security Scores over Rubber Stamp Security.

Red & Blue Team Exploit Testing over Relying on Scans & Theoretical Vulnerabilities.

24x7 Proactive Security Monitoring over Reacting after being Informed of an Incident.

Shared Threat Intelligence over Keeping Info to Ourselves.

Compliance Operations over Clipboards & Checklists.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 40


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

9.7. Referencias bibliográficas

Amazon Web Service. (2022). Modelo de responsabilidad compartida.


[Link]

Bhanda, S. y Badam, R. (2022). Comprehensive List of DevOps Tools 2022. Qentelli

[Link]

Bravent. (2019, junio 3). Cómo aplicar la cultura DevOps a tu empresa.

[Link]

Buehring, S. (2020, diciembre 2021). What is DevOps: Free ebook. Knowledge Train.
[Link]

Claranet. (s.f.). La mentalidad DevSecOps: de la metodología lineal al «shifting left y

shifting right». [Link]

Cuesta, J. (2022, marzo 22). Evolucionando hacia DevSecOps. OpenExpo.

[Link]

Devsecops. (2020). Manifiesto. [Link]

EcuRed. (s.f.). Desbordamiento de búfer.


[Link]

Instituto Nacional de Ciberseguridad. (2017, abril 17). 10 pilares básicos para

construir la ciberseguridad de tu negocio. Blog de INCIBE.

[Link]

ciberseguridad-tu-negocio

Paz Cariñena Amigo. (2016, enero 28). Personas imprescindibles… Las que se lo

creen y las que de verdad lo son [Publicación]. Linkedin. Recuperado el 9 de

noviembre de 2022.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 41


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

[Link]

son-paz/

Rivas, G. (2018, agosto 17). Shadow IT: ¿Cómo hacer de la TI invisible una

oportunidad para tu organización? Tech-Blog. [Link]

[Link]/es/shadow-it/

Singh, M. (2022, febrero 23). DevSecOps Engineers Roles and Responsibilities.

DevOpsSchool. [Link]

responsibilities/

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 42


Tema 9. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
A fondo

What is DevOps?

IBM Technology. (2019, septiembre 9). What is DevOps? [Vídeo]. YouTube.


[Link]

Andrea Crawford, ingeniera y CTO (Chief Technology Officer) de DevOps en IBM,

explica con sus propias palabras qué es DevOps, cuál es valor que aporta a la

organización y cómo sus prácticas y herramientas intervienen en el ciclo de vida de

una aplicación.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 43


Tema 9. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

La cultura DevOps

Exceltic. (2018, octubre 26). La cultura DevOps [Vídeo]. YouTube.


[Link]

Este recurso te ayudará a comprender un poco más sobre la cultura DevOps dentro

de las empresas y sus beneficios.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 44


Tema 9. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

DevSecOps Manifiesto

Página de DevSecOps. [Link]

A semejanza del Agile Manifesto, los autores plasman su filosofía de trabajo: cómo

acercar las operaciones de seguridad al producto y al usuario final y no al revés.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 45


Tema 9. A fondo
© Universidad Internacional de La Rioja (UNIR)
Test

1. DevOps es un término relativamente nuevo para describir lo que también ha sido

llamado como:

A. Gestión de desarrollo y operaciones.

B. Administración de desarrolladores.

C. Administración de sistemas ágiles.

D. Ninguna de las anteriores.

2. En un entorno DevOps, los equipos son responsables de:

A. La gestión TI de la empresa.

B. Ofrecer nuevas características, pero también estabilidad, escalabilidad y

fiabilidad.

C. Ofrecer nuevos productos hardware y software.

D. Ofrecer integración entre desarrolladores y administradores.

3. Un Entorno DevOps exitoso procura:

A. Construir un puente basado en la comunicación y la colaboración.

B. Construir una sólida relación entre dirección y departamento TI.

C. Construir entornos de pre y producción.

D. Ninguna de las anteriores.

4. ¿Cuál no es una oportunidad adicional en una herramienta de automatización en

el mundo DevOps?

A. Integración de incidentes.

B. Infraestructura escalable.

C. Herramientas de compilación y desarrollo.

D. Flujos de trabajo de entrega continua.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 46


Tema 9. Test
© Universidad Internacional de La Rioja (UNIR)
Test

5. En el corazón de los principios DevOps se encuentra el:

A. Aprendizaje ágil.

B. Aprendizaje múltiple.

C. Aprendizaje empresarial.

D. Aprendizaje colaborativo.

6. La estrategia de DevOps se centra en la capacidad empresarial para:

A. La entrega del producto log.

B. La entrega continua de software.

C. La entrega de características funcionales.

D. Adaptarse a la tecnología.

7. Para que la adopción de DevOps sea exitosa, es necesario que la organización

tenga el objetivo de:

A. Gestionar el cambio.

B. Adaptarse.

C. Innovar.

D. Mejorar.

8. El Shadow IT (o TI oculta), engloba a todas:

A. Las personas que no son del departamento de TI.

B. Las personas que se mueven al departamento de TI desde otros

departamentos.

C. Las directrices generadas desde el departamento de TI que no se cumplen.


D. Las tecnologías y elementos dentro de TI que están fuera de control.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 47


Tema 9. Test
© Universidad Internacional de La Rioja (UNIR)
Test

9. Las métricas de evaluación tradicionales pasan a un segundo plano y la

evaluación de los objetivos de la empresa debe centrarse en:

A. La satisfacción de los requisitos del product backlog.

B. La satisfacción del cliente.

C. Los beneficios empresariales trimestrales.

D. Con cultura DevOps no se necesita realizar métricas de evaluación.

10. La aplicación de DevSecOps en la organización debe tener tres soportes

interrelacionados:

A. Personas, procesos y normas.

B. Principios, procesos y personas.

C. Procesos, tecnología y negocio.

D. Personas, procesos y tecnología.

Administración de Sistemas, Virtualización, Cloud Computing y DevOps 48


Tema 9. Test
© Universidad Internacional de La Rioja (UNIR)

También podría gustarte