Propuesta
de aplicación de la metodología DevOps con un enfoque de seguridad
Luis
Antonio Iñiguez Vergara, Jorge
Arun Zambrano Cedeño, José Manuel Morán Tubay
Universidad Técnica de Manabí
Resumen
DevOps incluye un procedimiento de trabajo cooperativo
entre los grupos de giro de eventos y tareas para abordar el ciclo de mejora
del producto de forma eficaz, garantizando ciclos coordinados y seguros, además
de trabajar con una transmisión incesante y pensando en la naturaleza del
resultado final.Esta investigación se realizó con el objetivo de desarrollar
una propuesta de aplicación de la metodología DevOps con un enfoque de
seguridad en la Universidad Técnica de Manabí, puesto que el departamento de TI
no cuenta con las seguridades ni estrategias adecuadas para identificar,
consolidar y manejar vulnerabilidades halladas en el ciclo de integración y
despliegue continuo dentro de la Universidad. La metodología se centra en un
diseño no experimental, mismo que se caracteriza porque no se manipulan
directamente sus variables, además se trabajó bajo una investigación
cuantitativa en la que se aplicó encuestas a los involucrados, la población fue
el personal del área de TIC de la Universidad Técnica de Manabí. Entre los
resultados obtenidos, destacó que el 86% tiene un nivel bajo en el manejo de
herramientas de automatización para DevOps, así mismo se pudo constatar que el
42,86% tiene un conocimiento medio, y 28,57% un bajo conocimiento de DevOps,
esto generó un interés significativo hacia la adopción de la metodología,
concluyendo que la aplicación de una propuesta para utilizar DevOps con un
enfoque de seguridad en la Universidad Técnica de Manabí, permitirá agilizar los
ciclos de vida del desarrollo, posicionarse competitivamente y adaptarse al
ritmo de las demandas de sus clientes.
Palabras claves: DevOps, Metodología, seguridad.
Proposal for the application of the DevOps methodology
with
a security approach
Abstract
DevOps includes a cooperative work procedure between
the groups of turning events and tasks to address the product improvement cycle
effectively, ensuring coordinated and secure cycles, in addition to working
with a relentless transmission and thinking about the nature of the final
result. This research was conducted with the aim of developing a proposal to
apply the DevOps methodology with a security approach at the Technical
University of Manabi, since the IT department does not have the security or
adequate strategies to identify, consolidate and manage vulnerabilities found
in the cycle of integration and continuous deployment within the University.
The methodology focuses on a non-experimental design, which is characterized by
the fact that its variables are not directly
manipulated, also worked under a quantitative research in which surveys were
applied to those involved, the population was the staff of the ICT area of the
Technical University of Manabi. Among the results obtained, it was highlighted
that 86% have a low level in the management of automation tools for DevOps,
likewise it was found that 42.86% have a medium knowledge, and 28.57% have a
low knowledge of DevOps, this generated a significant interest towards the
adoption of the methodology, concluding that the implementation of a proposal
to use DevOps with a security approach at the Technical University of Manabi,
will allow speeding up the development life cycles, position itself
competitively and adapt to the pace of the demands of its customers.
Keyworks:
DevOps, methodology, security
Introducción
En
el actual contexto, la seguridad informática ha adquirido un rol central en el
ámbito de la computación, dado su impacto en el respaldo del abastecimiento
computacional y en todo lo concerniente a la documentación relacionada con la
Seguridad Informática (S.I. en adelante). Es por ello que las instituciones
dependen en gran medida de la tecnología y los sistemas informáticos para
llevar a cabo de manera eficiente sus actividades diarias
A
lo largo del tiempo, se han desarrollado protocolos, estándares, herramientas,
metodologías, reglas y leyes que permitan a las empresas expandirse al ritmo
del mercado mediante el uso de la tecnología, optimizando recursos y, con ello,
minimizando los posibles problemas de seguridad de software o de documentación.
Es importante destacar que, según Ramón (2018), la seguridad informática
"abarca software, bases de datos, metadatos, archivos y cualquier elemento
que la empresa valore y que represente un riesgo si cae en manos de terceros;
este tipo de documentación se conoce como documentación privilegiada o
confidencial" (p. 19).
La
pandemia originada por el COVID-19 ha llevado a un gran número de negocios a
adaptarse al comercio virtual o electrónico, lo que resultó en un aumento
significativo de las ventas, como lo reporta el Diario Primicias (2021), que
señala un incremento del 20% entre 2019 y 2020, pasando de USD 1.900 millones a
USD 2.300 millones (p.1). Si bien esto fue beneficioso para los emprendedores y
las pymes, también resultó en una lamentable reducción de personal y la
necesidad de mejorar la publicidad de los productos o servicios para mantener
las ventas. En este sentido, el cierre de las tiendas físicas es una realidad
que se ha manifestado y continúa vigente en Ecuador, dependiendo de la
coyuntura de los diferentes sectores comerciales (Sumba, Almendariz, Baque y
Aliatis, 2020).
La
migración de procesos manuales a automatizados resulta beneficiosa para las
empresas dedicadas al desarrollo de software, ya que implica una mayor
eficiencia operativa, digitalización en lugar de acumulación de documentos,
reducción de errores, operaciones ininterrumpidas, seguridad mejorada, mayor
confiabilidad, optimización de los procesos de negocios, capacidad de respuesta
rápida y la posibilidad de realizar cambios en los planes en cualquier punto
del proyecto. Esto asegura que las tareas se ejecuten de manera continua y
evita que se ingresen datos incorrectos (Pumasunta, 2020).
El
uso de plataformas de comercio electrónico o e-commerce se refiere a cualquier
aplicación en línea que permite acceder a información integral de productos o
servicios a nivel global, facilitando alianzas entre compradores, proveedores y
otras partes involucradas en el ciclo comercial. Estas plataformas son útiles
para todos los sectores, incluidos el financiero, industrial, transporte e
incluso las instituciones gubernamentales, que buscan intercambiar datos.
Algunos aspectos prácticos que ofrece esta alternativa de comercio a los
clientes son la comodidad, ahorro de tiempo, diversos medios de pago y
catálogos más amplios para conocer los productos, lo que permite realizar
compras en línea independientemente de la ubicación geográfica de la empresa
(Carrera, Rodríguez y Mancilla, 2019).
En
el ámbito de la innovación de datos, se espera una reacción rápida a las
necesidades de los clientes, junto con una ayuda constante, segura y sin
contratiempos. Esto implica un compromiso entre la confiabilidad y el cambio. A
menudo, una respuesta que permite cambios continuos (como las metodologías
ágiles) sin tener en cuenta la confiabilidad en la gestión operativa o la
comunicación entre desarrollo y operaciones puede no ser suficiente. En este
sentido, el desarrollo DevOps, según Wiley y Sons (2019), "propone una
visión integrada en el desarrollo del software que permite implementar cambios
de manera rápida y segura, garantizando la confiabilidad en las operaciones
(lanzamiento del software, monitoreo y análisis de incidentes)" (p.34).
DevOps
implica una cooperación entre los equipos de Desarrollo y Operaciones para
supervisar el progreso de la programación de manera coordinada, abarcando todo
el ciclo de vida del producto y centrándose en la suavización y obtención de
procesos, así como en el avance en el transporte constante y una mejor calidad.
Es importante tener en cuenta que DevOps no se refiere a una herramienta,
lenguaje o tecnología en particular, sino a un esfuerzo coordinado entre los
equipos de desarrollo (Desarrollo) y operaciones (Operaciones) en función de
las normas de habilidad. Cada organización adapta las prácticas de DevOps según
su estructura y necesidades, utilizando diferentes herramientas para
automatizar los procesos y ciclos de desarrollo, lo que permite optimizar los
procesos (UNIR, 2023).
Esta
metodología ha demostrado ser exitosa para empresas como Amazon, Facebook,
Netflix, empresas de servicios financieros como Barclays Bank y empresas de
medios de comunicación como Sony Pictures (Orozco, Pardo y Zúñiga, 2022). La
metodología consta de fases: planificación, codificación, construcción y
pruebas, formando el proceso de integración continua, responsable de planificar
y construir el código, y las fases del proceso de despliegue o entrega
continua: lanzamiento, despliegue, operación y monitoreo, responsables de la
implementación del software en producción (Jaramillo, 2022).
La
integración de DevOps en el entorno académico aún es poco común, y hasta el
momento de esta investigación no se han identificado estudios o artículos
similares en el contexto de instituciones educativas de educación superior en
Ecuador. Este fenómeno sugiere una brecha en la adopción de DevOps en el ámbito
académico y plantea la pregunta sobre las posibles razones detrás de esta falta
de implementación, especialmente en el contexto específico de entidades
educativas en el país
Es
importante destacar que el estudio se lleva a cabo en la Universidad Técnica de
Manabí (UTM) debido a la presencia de una problemática que es la falta de una
metodología ágil que permita integrar el desarrollo de software en el
departamento de TI. Existen demoras en el desarrollo de artefactos que se
implementan continuamente, lo que se debe a dos factores: una iniciativa
interna por mejorar los servicios digitales para los usuarios y la regulación
por parte del CES (Consejo de Educación Superior), que envía implementaciones
de forma esporádica, políticas a las universidades, y esto tiene afectación
directa en los servicios digitales que están en producción. La UTM realiza las
actualizaciones a sus productos de software sin un control automático de
versiones y sin tomar en cuenta los riesgos de seguridad que implica actualizar
los artefactos o arquitectura sin el apoyo de herramientas de análisis de
código.
2. Materiales
y Métodos
2.1.
Diseño de investigación
El
diseño del estudio fue no experimental el cual, como lo indican Agudelo,
Aigneren y Ruiz (2010), se caracteriza porque las variables no son manipuladas.
Además, es cuantitativo porque busca evaluar las variables de estudio con la
información que se recolecte por medio de las encuestas aplicadas a los
involucrados, la tabulación, análisis estadístico e interpretación de las
mismas ; al respecto Angulo (2018) expresa que “es cuantitativa, ya que realiza
la recogida y análisis de la información para responder a las preguntas de
investigación mediante la estimación matemática, el recuento y, con frecuencia,
la utilización de mediciones para establecer con precisión ejemplos de conducta
en una población.” (p. 14).
2.2.
Tipo de investigación
El
tipo de estudio seleccionado es descriptivo y de campo, el primero porque dio a
conocer las características que se observaron en la situación de la
problemática, con la finalidad de delimitar los hechos que se han suscitado en
la problemática.
Investigación
de campo porque mediante este tipo de investigación se pudo obtener información
por parte de los encuestados, con este tipo de investigación se obtiene
información relevante. Así mismo,
implica una simultaneidad entre la narración de los datos narrativos y el
análisis de los mismos.
2.3.
Materiales
Los
materiales, equipos e instrumentos empleados en la investigación consistieron
en recursos materiales como papel, bolígrafos, acceso a internet, publicaciones
periódicas y una computadora portátil. Por otro lado, los recursos humanos
comprendieron los miembros de la población investigada, quienes participaron
activamente durante el estudio mediante la aceptación y aplicación de los
instrumentos de recolección de datos, específicamente siete encuestas
administradas al equipo de la Dirección de Tecnologías de la Información y
Comunicación (TIC) de la Universidad Técnica de Manabí (UTM), las cuales fueron
evaluadas utilizando la escala de Likert.
El
método utilizado fue el inductivo-deductivo, que se caracteriza por integrar lo
particular hasta alcanzar lo general y viceversa, con el propósito de
relacionar eventos específicos. Este enfoque, que incluye la observación,
permitió el análisis de los resultados de las investigaciones empíricas,
facilitando la formulación de generalizaciones, la construcción de alternativas
de solución para la problemática identificada, y, por ende, la elaboración de
conclusiones y recomendaciones.
2.4.
Métodos y procedimientos
Esta
etapa se inicia con la búsqueda exhaustiva de estudios previos aplicados en
entornos educativos similares. Con los elementos obtenidos, se procede a la
construcción de un modelo de métrica de seguridad destinado al proceso de
desarrollo de software. Posteriormente, se llevará a cabo una discusión
detallada y un análisis profundo de los indicadores adquiridos mediante la
métrica propuesta.
El
desarrollo del trabajo implica diversas etapas, que se centrarán en el análisis
y la evaluación de las metodologías aplicadas en las aplicaciones. A
continuación, se detallan los pasos a seguir:
Investigación
bibliográfica de trabajos relacionados con estudios similares.
Recopilación
y procesamiento de datos obtenidos de las diferentes normas, estándares y
métodos identificados.
Establecimiento
de un análisis comparativo de las diversas métricas utilizadas en el desarrollo
de aplicaciones.
Análisis
y verificación de los datos obtenidos.
Elaboración
de los resultados, discusión y conclusiones.
La
población de estudio estuvo compuesta por siete miembros del equipo del área de
Tecnologías de la Información y Comunicación (TIC) de la Universidad Técnica de
Manabí.
3. Resultados
Una
vez aplicados los instrumentos (Anexo 1) de investigación al personal del área
de TIC de la UTM, se pudo obtener información de relevancia relacionada con el
nivel de conocimiento, aplicación y aprobación de las metodologías agiles, y si
sería oportuna la creación de una propuesta para implementar la metodología
DevOps, los resultados obtenidos son:
Figura 1. Conocimiento de
metodologías ágiles
Fuente: Encuestas
realizadas al personal del equipo de TIC de UTM (2023)
Respecto
al conocimiento de metodologías ágiles, el 57,14% de los encuestados tiene un
conocimiento medio, el 28,57% tiene un conocimiento bajo, y el 14,29% tiene un
conocimiento alto. Estos resultados sugieren que la mayoría de los encuestados
tienen un conocimiento promedio de metodologías ágiles, mientras que una
proporción significativa tiene un conocimiento bajo. Es posible que se necesite
más capacitación o educación para mejorar el nivel de conocimiento en este
campo.
Figura 2. Nivel de experiencia de
metodologías ágiles
Fuente: Encuestas
realizadas al personal del equipo de TIC, UTM (2023)
En cuanto a la
experiencia con metodologías ágiles en el lugar de trabajo, el 87,71% indicó
que tienen una experiencia muy baja, mientras que el 14,29% indicó que tiene
una experiencia media. Estos resultados sugieren que la mayoría de los
encuestados tienen una experiencia limitada o nula en el uso de metodologías
ágiles en su entorno laboral. Podría ser necesario implementar programas de
formación o prácticas para mejorar la experiencia en este ámbito.
Figura 3. Conocimiento de metodología
DevOps
Fuente: Encuestas
realizadas al personal del equipo de TIC, UTM (2023)
Figura 4. Manejo de herramientas
DevOps
Fuente: Encuestas
realizadas al personal del equipo de TIC, UTM (2023)
Respecto
al manejo de herramientas de automatización DevOps, el 85,71% indicó un nivel
bajo y el 14,29% indicó un nivel muy bajo. Estos resultados sugieren que la
mayoría de los encuestados tienen una capacidad limitada para manejar
herramientas de automatización en el contexto de DevOps. Se podría necesitar
una formación específica en herramientas de automatización para mejorar las
habilidades en este aspecto.
Figura 5. Conocimiento en desarrollo
de software
Fuente: Encuestas
realizadas al personal del equipo de TIC, UTM (2023)
4. Discusión
Según
los resultados obtenidos de las encuestas, se puede conocer que la mayoría de
los involucrados en el estudio no tiene conocimiento en metodologías agiles, ni
en el manejo de herramientas automatizadas DevOps, tal como lo afirmaron Wiley
y Sons (2019) en su investigación realizada acerca de la importancia de DevOps;
así mismo expresaron que tienen cero conocimientos en el desarrollo de software
con metodologías de desarrollo seguro. Estos resultados dejan clara la
necesidad de realizar una propuesta de solución al problema dirigidos a los miembros
del equipo del área de TIC de La Universidad Técnica de Manabí, para que puedan
adoptar una metodología que le permita integrar el desarrollo de software y las
operaciones con un enfoque de seguridad en cada una de las etapas del ciclo de
vida del desarrollo del software.
A
través de los resultados obtenidos, se propone una alternativa de solución a la
problemática presente con lo cual se espera cubrir las brechas de seguridad que
pueden ser utilizadas para comprometer el correcto funcionamiento de una
aplicación. Partiendo de esto, se construyó este documento, el cual cuenta con
la propuesta de implementar DevOps, es decir, una estrategia de seguridad
integral, flexible y adaptable al tamaño de la empresa que permita integrar el
desarrollo de software y las operaciones con un enfoque de seguridad en cada
una de las etapas del ciclo de vida del desarrollo del software, así como lo
indica Jaramillo (2022) en su trabajo denominado “Estrategia de seguridad para
el manejo de vulnerabilidades en el ciclo de integración y despliegue continúo
en aplicaciones web desarrolladas bajo
la metodología DevOps”. De igual forma se podrá alcanzar el nivel de madurez
del equipo de seguridad que la desee implementar. Se espera que a través de la
propuesta de metodologías DevOps con enfoque de seguridad se logre la entrega
continua con un enfoque a la seguridad en el proceso de desarrollo de software
y puesta en producción en la Universidad Técnica de Manabí.
5. Propuesta
Enfoque de la propuesta
Cabe
recalcar que la propuesta de implementación de metodologías DevOps con un
enfoque integral en seguridad no sólo busca cerrar las brechas de seguridad
existentes, sino también establecer una nueva norma de desarrollo de software
que asegure no solo la continuidad del proceso, sino una entrega continua de
aplicaciones con estándares de seguridad robustos.
El
enfoque de seguridad en la propuesta de DevOps para el área de TIC de la
Universidad Técnica de Manabí implica varios aspectos cruciales que deben ser
considerados y abordados de manera integral. Entre ellos se encuentran:
Integración
temprana de la seguridad: La seguridad debe ser parte integral de todo el
proceso de desarrollo y despliegue de software desde el inicio, incorporándola
en cada etapa del ciclo de vida de desarrollo de software, desde la
planificación hasta la operación.
Pruebas
de seguridad automatizadas: Se deben implementar herramientas y técnicas para
la detección temprana de vulnerabilidades en el código y configuraciones de
sistemas, realizando pruebas automatizadas de seguridad de manera continua
durante el desarrollo y despliegue.
Gestión
de identidades y accesos: Es fundamental implementar controles de acceso
adecuados para proteger los recursos de información, asegurando que solo los
usuarios autorizados tengan acceso a los sistemas y datos pertinentes.
Monitorización
continua de la seguridad: Se debe establecer un sistema de monitorización y
detección de amenazas en tiempo real para identificar y responder a posibles
incidentes de seguridad de manera proactiva.
Políticas
de seguridad coherentes: Se deben establecer y hacer cumplir políticas de
seguridad claras y coherentes en toda la organización, abordando aspectos como
la gestión de parches, la configuración segura de sistemas y la gestión de
incidentes.
Cultura
de seguridad: Se debe promover una cultura de seguridad dentro del equipo de
desarrollo y toda la organización, fomentando la conciencia sobre las amenazas
y buenas prácticas de seguridad, así como la responsabilidad compartida en la
protección de los activos de información.
Auditoría
y cumplimiento: Es necesario establecer mecanismos de auditoría interna y
externa para evaluar el cumplimiento de las políticas de seguridad y normativas
relevantes, así como realizar evaluaciones periódicas de la postura de
seguridad de los sistemas de información.
En
resumen, el enfoque de seguridad debe ser integral, abordando aspectos
técnicos, procesuales y culturales para garantizar la protección adecuada de
los activos de información y mantener la confianza de los usuarios y partes
interesadas.
6. Metodología propuesta a
aplicarse
La
adaptabilidad inherente a DevOps permitirá a la Universidad Técnica de Manabí
ajustar esta metodología según sus necesidades específicas, independientemente
del tamaño de la institución o el nivel de experiencia del equipo de seguridad.
Se aspira a que mediante esta propuesta no sólo se fortalezca la seguridad del
entorno digital de la institución, sino que también impulse una eficiencia en
la producción de software, transformando positivamente las operaciones y el
manejo de vulnerabilidades a lo largo del ciclo de vida del desarrollo.
A
continuación, se detallan las fases del diseño de la propuesta DevOps
1. Establecer una cultura dentro de la compañía
2. Implementación de DevOps
3. Prácticas DevOps
4. Técnicas y Herramientas DevOps
5. Beneficios de DevOps
6. Gestión del Cambio
7. Barreras DevOps
8. PostImplementación de DevOps
Establecer una cultura
dentro de la compañía
La
cultura DevOps se ha convertido en una de las tendencias más populares en el
desarrollo de software, por ello se ha propuesto que se cree una cultura en el
departamento de TIC de la Universidad Técnica de Manabí con el fin de combinar
la colaboración, la integración continua, la entrega continua y la
automatización para mejorar la calidad y la eficiencia del software.
Implementación de
DevOps
La
implementación de DevOps en la UTM implica la adopción de un conjunto de
procesos consolidados y automatizados diseñados para promover el Feedback
rápido y ágil entre los equipos de desarrollo y operaciones. Esto conlleva a la
reducción de los plazos de entrega de software, facilitando un ciclo de mejoras
continuas. Además, para garantizar la eficiencia en la reducción de los tiempos
de entrega, es necesario llevar a cabo una revisión continua para asegurar que
ninguna funcionalidad o característica importante sea pasada por alto. Es
importante destacar que la seguridad también juega un papel fundamental en este
proceso, lo que da paso al concepto de DevSecOps, integrando la seguridad en
todas las etapas del ciclo de vida del desarrollo de software.
La necesidad de
seguridad en el desarrollo
La
necesidad de seguridad en el desarrollo dentro del contexto de la metodología
DevOps en una universidad es fundamental para garantizar la integridad y
confiabilidad del software entregado a los usuarios. A menudo, los equipos de
desarrollo pueden tener una visión errónea de que priorizar la seguridad
conlleva más desventajas que beneficios, ya que su enfoque principal puede
estar en cumplir con los plazos y ofrecer nuevas funcionalidades. Sin embargo,
la seguridad no puede subestimarse, ya que una vulnerabilidad podría tener
repercusiones graves para el proyecto y la organización, incluyendo la
filtración de datos confidenciales como información de identificación personal
(PII), contraseñas y números de cuentas, lo que podría resultar en sanciones
por incumplimiento de la legislación de protección de datos personales.
Estas
vulnerabilidades suelen surgir debido a errores en el código o en su diseño.
Algunas de estas situaciones pueden ser conocidas y haber ocurrido previamente,
mientras que otras pueden ser nuevas y plantear desafíos adicionales. Además,
la complejidad aumenta cuando hay dependencias de software de terceros, ya que
a menudo no se pueden garantizar que no existan vulnerabilidades. Por lo tanto,
es crucial que los equipos de desarrollo de la UTM adopten prácticas de
seguridad proactivas y realicen pruebas exhaustivas para identificar y mitigar
posibles riesgos de seguridad en todas las etapas del ciclo de vida del
desarrollo de software.
Desplazar
la seguridad al inicio del proyecto
En
el contexto de la aplicación de metodología DevOps en una universidad,
específicamente en la UTM, la velocidad para entregar partes del software para
pruebas de usuario se ha vuelto fundamental, priorizando la satisfacción de las
necesidades del cliente. Aunque DevOps no tenía la intención de descuidar la
seguridad, el entorno existente contribuyó al distanciamiento entre los equipos
de desarrollo y operaciones, creando un silo de seguridad separado.
La
introducción de DevSecOps busca abordar esta situación, promoviendo la
integración de la seguridad desde el inicio del proyecto y a lo largo de todas
sus etapas, fomentando una cultura de responsabilidad compartida en todas las
áreas de desarrollo. Este enfoque implica desplazar hacia el inicio del
proyecto la implementación de medidas de seguridad, alineándose así con las
nuevas metodologías y facilitando la incorporación natural de buenas prácticas
de seguridad en el proceso de desarrollo.
Anadir
la capa de seguridad a DevOps
Compartir
la responsabilidad de las tareas relacionadas con la seguridad es primordial,
pero en la mayoría de las ocasiones, los miembros del equipo de desarrollo de
la Universidad Técnica de Manabí no pueden estar formándose de manera continua,
ya que esto conlleva una dedicación plena. Incluir a un experto en seguridad
que esté actualizado en los vectores de ataque y las últimas técnicas de
desarrollo para paliarlos es vital, para que pueda trasladar estos
conocimientos al resto del equipo y promover una cultura de colaboración con el
equipo de seguridad.
Contar
con las herramientas apropiadas
En
el contexto de la metodología DevOps en la UTM, contar con las herramientas
adecuadas es crucial para garantizar la calidad y seguridad del código
desarrollado. Además de los conocimientos internos del equipo, las herramientas
de terceros son aliados importantes que evolucionan constantemente para ofrecer
servicios más avanzados y automatizados. Estas herramientas proporcionan
resultados a través de interfaces intuitivas o notificaciones directas de
incidencias, permitiendo obtener Feedback en tiempo real.
Entre
las herramientas disponibles, se encuentran las SAST (Static Application
Security Testing), que analizan el código estático en busca de vulnerabilidades
como sobrecarga de buffer o inyecciones SQL. Estas herramientas pueden
integrarse con el entorno de desarrollo integrado (IDE) para ofrecer Feedback
instantáneo mientras se escribe el código, lo que ayuda a prevenir errores
desde el inicio del proceso de desarrollo. Es importante tener en cuenta que
las SAST pueden generar falsos positivos, por lo que es necesario contar con la
capacidad de descartarlos para evitar distracciones innecesarias.
Por
otro lado, las herramientas DAST (Dynamic Application Security Testing) adoptan
un enfoque de "caja negra" y realizan pruebas durante la ejecución de
la aplicación para identificar posibles vulnerabilidades conocidas, como
malware, configuraciones inseguras o inyecciones SQL. Estas herramientas suelen
utilizarse en etapas más avanzadas del proyecto, ya que operan durante el
tiempo de ejecución de la aplicación, brindando una evaluación más completa de
su seguridad.
Verificar
las dependencias del software
En
el marco de la metodología DevOps en una universidad, es esencial verificar las
dependencias del software, ya que las bibliotecas de código abierto y otros
componentes pueden representar una fuente potencial de vulnerabilidades. En las
etapas iniciales del desarrollo, es recomendable emplear herramientas de
Análisis de Componentes de Software (SCA, por sus siglas en inglés), las cuales
examinan los componentes en busca de posibles vulnerabilidades.
Esta
tarea debe ser responsabilidad de los desarrolladores, quienes deben asegurarse
de mantener actualizadas estas herramientas para detectar las últimas
vulnerabilidades conocidas. Mantener un proceso regular de verificación de
dependencias del software contribuye significativamente a fortalecer la
seguridad del proyecto y reducir el riesgo de explotación de vulnerabilidades
en el software desarrollado.
Integración
y entrega continua (CI/CD)
La
demanda de los servicios digitales se ha disparado desde el 2020 y se espera
que solo sea el comienzo de un prometedor periodo. Las organizaciones se
encuentran en una competencia constante, donde diferenciarse de la competencia
es indispensable, y la velocidad de lanzamientos para adelantarse a otros se ha
convertido en habitual.
Para
ello, se ha propuesto adoptar prácticas DevOps, como la integración y entrega
continua, "CI/CD" (Continuous Integration and Continuous Delivery) en
la UTM. Se trata de una serie de procesos relacionados que permite crear
software de calidad a través de un conjunto de técnicas alineadas y
automatizadas. El conjunto de estas prácticas, garantizan una colaboración más
eficaz junto a una mayor eficacia de todo del ciclo de vida de desarrollo del
software. Esto se traduce en una capacidad mejorada para entregar nuevas
funcionalidades y actualizaciones de manera rápida, segura y consistente, lo
que a su vez mejora la satisfacción del cliente y la competitividad de la
organización en el mercado digital.
Agilidad en el
desarrollo
Dentro
del contexto de la metodología DevOps en la UTM, la práctica de Integración
Continua (CI) juega un papel fundamental en agilizar el proceso de desarrollo
de software. Esta práctica permite a múltiples desarrolladores trabajar en
diferentes módulos de una misma aplicación de forma concurrente y enviar sus
contribuciones a un repositorio compartido al finalizar su trabajo.
Posteriormente, se realiza una verificación de la compilación del código, y en
caso de que esta falle, se notifica al equipo correspondiente para corregir los
errores de manera rápida y eficiente.
La
Integración Continua ayuda a prevenir el fenómeno conocido como “merge hell”,
que ocurre cuando diferentes desarrolladores realizan cambios que afectan la
compilación de la línea principal de desarrollo. Al realizar fusiones de manera
regular, los equipos pueden completar el software de manera más rápida y
eficiente, garantizando siempre una compilación actualizada y correcta. Esto
ahorra tiempo y recursos, al tiempo que mejora la calidad y la consistencia del
código entregado.
Tipo
de actores/ usuarios
En
el contexto de la propuesta de DevOps para el área de TIC de la Universidad
Técnica de Manabí, se pueden identificar varios tipos de actores o usuarios con
responsabilidades específicas en relación con la seguridad:
Equipo
de desarrollo: Este grupo está compuesto por desarrolladores de software y
otros profesionales involucrados en la creación y mantenimiento de
aplicaciones. Sus responsabilidades incluyen escribir código seguro, realizar
pruebas de seguridad, corregir vulnerabilidades y seguir prácticas de
desarrollo seguro durante todo el ciclo de vida del software.
Equipo
de operaciones: Este equipo se encarga de implementar y mantener los sistemas y
aplicaciones en producción. Sus responsabilidades incluyen configurar y
administrar de manera segura los entornos de producción, aplicar parches de
seguridad, monitorear la infraestructura en busca de posibles amenazas y
responder a incidentes de seguridad.
Equipo
de seguridad: Este grupo se dedica específicamente a la seguridad de la
información y desempeña un papel crucial en la protección de los activos de
información de la universidad. Sus responsabilidades incluyen establecer
políticas y procedimientos de seguridad, realizar evaluaciones de riesgos y
vulnerabilidades, implementar controles de seguridad, y proporcionar formación
y concienciación sobre seguridad a otros equipos.
Usuarios
finales: Estos son los miembros de la comunidad universitaria que utilizan los
sistemas y servicios de TIC en su trabajo diario. Su responsabilidad principal
es seguir las políticas de seguridad establecidas, proteger sus credenciales de
acceso y reportar cualquier incidente de seguridad que puedan encontrar.
Directivos
y responsables de toma de decisiones: Este grupo tiene la responsabilidad de
establecer la visión y las prioridades en materia de seguridad de la
información en la universidad. Deben asegurarse de asignar recursos adecuados
para la implementación de medidas de seguridad, tomar decisiones estratégicas
relacionadas con la gestión de riesgos y apoyar las iniciativas de seguridad en
toda la organización.
Cada
uno de estos actores tiene un papel fundamental en la protección de la
seguridad de la información en la Universidad Técnica de Manabí, y es
importante que trabajen de manera colaborativa y coordinada para garantizar un
enfoque integral de seguridad en la propuesta de DevOps.
Beneficios de CI/CD
Los
beneficios de la integración y entrega continuas (CI/CD) en el marco de la
metodología DevOps en la Universidad Técnica de Manabí, son significativos y
contribuyen al éxito de los proyectos de desarrollo de software. Algunos de
estos beneficios incluyen:
1. Reducción del tiempo de desarrollo: CI/CD
permite acortar considerablemente el tiempo necesario para desarrollar
aplicaciones, lo que otorga a la UTM es una ventaja competitiva sobre sus
competidores al poder lanzar productos al mercado de manera más rápida.
2. Iteración continua y lanzamiento de nuevas
funciones: La implementación de CI/CD facilita la iteración y el lanzamiento
continuo de nuevas funciones. Esto significa que los equipos pueden agregar y
mejorar funciones de manera regular y rápida, manteniendo a todos trabajando
con la misma versión del código.
3. Aumento de la eficiencia del equipo: Con la
implementación continua, los equipos pueden dedicar menos tiempo a esperar los
resultados de las pruebas y más tiempo al desarrollo real. Esto acelera el
Feedback de los usuarios y ayuda a mejorar los resultados comerciales.
4. Mejora de la calidad del software: La
automatización de pruebas y la entrega continua garantizan un alto nivel de
calidad en el software entregado, ya que los errores se detectan y corrigen
rápidamente durante el proceso de desarrollo.
*Nota.
El pase emergente a producción que puede tener el escenario que el CES solicite
un cambio con tiempos muy cortos para el desarrollo.
7. Propuesta de mejora en
el departamento de TIC de la UTM
En
la actualidad el equipo de Ti está conformado por 1 administrador de bases de
datos, un Project manager, 2 personas para la Infraestructura tecnológica, un
director de TI, y 2 desarrolladores, sin embargo, para obtener más eficiencia y
por lo tanto mejores resultados, se propone que el personal debe ser el
siguiente para el correcto desarrollo de las actividades.
Gerente
de Proyecto / Líder de Equipo: Este individuo es responsable de liderar el
proyecto de implementación de DevOps en la universidad. Coordina las
actividades del equipo, establece objetivos y plazos, y se comunica con las
partes interesadas.
Desarrolladores
de Software: Son responsables de escribir y mantener el código de las
aplicaciones y sistemas utilizados en la universidad. En el contexto de DevOps,
los desarrolladores deben colaborar estrechamente con los equipos de
operaciones para garantizar una entrega continua y una integración sin
problemas de código.
Ingenieros
de Operaciones (Ops): Estos profesionales se encargan de la gestión y operación
de los sistemas de TI en la universidad. Trabajan en la automatización de
infraestructuras, monitoreo y escalado automático, y despliegue de aplicaciones
en los entornos de producción.
Administradores
de Sistemas: Son responsables de la configuración, mantenimiento y
administración de los servidores, redes y otros recursos de infraestructura
utilizados por la universidad. Trabajan en estrecha colaboración con los
ingenieros de operaciones para garantizar la disponibilidad y el rendimiento de
los sistemas.
QA
/ Control de Calidad: Este equipo se encarga de garantizar la calidad del
software desarrollado y desplegado en la universidad. Realizan pruebas de
software, automatizan pruebas, y supervisan la calidad del código y la
funcionalidad de las aplicaciones.
Seguridad
de la Información: Estos profesionales se centran en garantizar la seguridad de
los sistemas de TI de la universidad. Trabajan en la implementación de medidas
de seguridad, monitoreo de amenazas, y cumplimiento de normativas y políticas
de seguridad.
Analistas
de Datos / Analistas de Negocio: Este equipo proporciona insights basados en
datos para optimizar el rendimiento de las aplicaciones y sistemas de la
universidad. Ayudan a identificar áreas de mejora y oportunidades para la
optimización del proceso de desarrollo y despliegue.
Equipo
de Soporte / Atención al Usuario: Este equipo proporciona soporte técnico a los
usuarios finales de las aplicaciones y sistemas de la universidad. Ayudan a
solucionar problemas técnicos, responden preguntas y proporcionan formación
cuando sea necesario.
Cada
uno de estos miembros del equipo desempeña un papel importante en la
implementación exitosa de DevOps en la Universidad Técnica de Manabí,
trabajando juntos para lograr una entrega de software rápida, segura y de alta
calidad.
Impacto
de la propuesta
La
implementación de la propuesta de DevOps en la Universidad Técnica de Manabí
(UTM) tendría un impacto significativo y positivo en varias áreas clave de la
institución. En primer lugar, la adopción de prácticas DevOps permitiría
mejorar la eficiencia y la velocidad en el desarrollo, despliegue y operación
de sistemas y aplicaciones de TIC. Esto significa que la UTM podría ofrecer
servicios digitales más innovadores y actualizados de manera más rápida y ágil,
lo que mejoraría la experiencia de los usuarios y promovería la transformación
digital en toda la institución.
Además,
la integración de la seguridad en todas las etapas del proceso DevOps
fortalecería la postura de seguridad de la UTM, protegiendo los activos de
información y mitigando los riesgos de ciberseguridad. Al fomentar una cultura
de seguridad y colaboración entre los diferentes equipos de la universidad, la
propuesta de DevOps contribuiría a aumentar la conciencia y la responsabilidad
en materia de seguridad de la información. En resumen, la implementación de
DevOps en la UTM no solo impulsaría la eficiencia operativa y la innovación
tecnológica, sino que también reforzaría la seguridad de los sistemas de
información, fortaleciendo así la posición de la universidad como una
institución líder en el ámbito de las tecnologías de la información y la
comunicación.
5. Conclusiones
Tras
llevar a cabo el análisis de la Propuesta de aplicación de la metodología
DevOps con un enfoque de seguridad en la Universidad Técnica de Manabí, se
puede establecer las siguientes conclusiones:
La
adopción de la metodología DevOps en instituciones académicas ha sido limitada
hasta el momento. Durante el curso de esta investigación, no se han hallado
estudios similares realizados en organizaciones ecuatorianas. Por otro lado, la
Universidad Técnica de Manabí carece de una estrategia definida que permita la
integración fluida entre el desarrollo de software y las operaciones, con un
enfoque centrado en la seguridad en todas las fases del ciclo de vida del
desarrollo de software. Este documento identifica algunas de las repercusiones
derivadas de la ausencia de implementación de dicha metodología.
Se
logró fundamentar manera clara y argumentada la metodología DevOps, cuáles son
sus aportes a las metodologías ágiles y la importancia de adoptarlo,
proponiendo estrategias, así como algunas sugerencias para su implementación.
Los
resultados revelan que la mayoría de los integrantes del equipo de Tecnologías
de la Información (TI) de la Universidad no estaban familiarizados con
metodologías ágiles para el desarrollo de software. Esto generó un interés
significativo hacia la adopción de DevOps.
A
pesar de haber transcurrido más de una década desde su surgimiento, varias
empresas han optado por reconfigurar sus procedimientos de desarrollo de
aplicaciones empresariales y la infraestructura correspondiente, y DevOps
continúa expandiéndose. Esta metodología ha proporcionado a las empresas de
desarrollo una opción concreta para agilizar los ciclos de vida del desarrollo,
lo que les permite posicionarse competitivamente y adaptarse al ritmo de las
demandas de sus clientes y del mercado.
Promover
la conciencia de seguridad en TI por medio de la aplicación de la metodología
propuesta, con el fin de entre los empleados del Departamento de TI que
utilizan activos de información, lo cual resulta esencial para fomentar una
cultura de seguridad en la Universidad Técnica de Manabí. Este enfoque
contribuirá a la protección de la información y la prevención de riesgos
cibernéticos.
Agradecimientos
Agradezco
al personal que conforma el departamento de TIC de la Universidad Técnica de
Manabí, a mi docente tutor y a todos quienes colaboraron con este trabajo.
Apéndice
o Anexo
Tabla 1. Cuestionario
N° |
Pregunta |
1 |
2 |
3 |
4 |
5 |
NS/NC |
1 |
¿Cuál es su nivel de conocimiento en
metodologías ágiles para el desarrollo de software? |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
2 |
¿Cuál es su nivel de experiencia con
metodologías ágiles en su lugar de trabajo? |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
3 |
¿Cuál es su nivel de conocimiento en la
metodología de trabajo DevOps? |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
4 |
¿Cuál es su nivel en el manejo de
herramientas de automatización para DevOps? |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
5 |
¿Cuál es su nivel de conocimiento en el
desarrollo de software con metodologías de desarrollo seguro ? |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
Descripción: 01 Muy Alto 02Alto 03 Medio 04 Bajo 05 Muy Bajo |
Fuente: Iñiguez Luis
(2023)
Referencias
Agenda digital para América Latina y el Caribe.
(2022). CEPAL. Obtenido de
https://repositorio.cepal.org/server/api/core/bitstreams/879779be-c0a0-4e11-8e08-cf80b41a4fd9/content
Alvarado, J. (2018). Análisis de las
vulnerabilidades en seguridad informática de los equipos de cómputo y redes de
la Municipilidad Distrital de independencia, mediante el uso de Phising 2017.
[Tesis de Grado, USS] . Obtenido de
https://repositorio.uss.edu.pe/bitstream/handle/20.500.12802/8170/Alvarado%20Tolentino%20Joseph%20Darwin.pdf?sequence=1&isAllowed=y
Angulo, E. (15 de Julio de 2018). Metodología
cuantitativa. Obtenido de
https://www.eumed.net/tesis-doctorales/2012/eal/metodologia_cuantitativa.html
Apiumhub. (20 de Octubre de 2019). Estudio
sobre la situación actual del software. Obtenido de
https://apiumhub.com/es/tech-blog-barcelona/situacion-actual-del-software/
Basilio, D. (2020). El paradigma DevOps y
su implementación en el desarrollo de software. Universidad y Ciencia, 9(3),
134-142. Obtenido de
https://revistas.unica.cu/index.php/uciencia/article/view/1604/pdf
Carrera Mora, O. Y., Rodruíguez, A.,
Rodríguez, G., & Mancilla, M. (2019). Tecnología Blockchain en la
Administración Pública como Plataforma para la Construcción de Confianza del
Internet y de la Integridad de la Información. SISTEMAS, CIBERNÉTICA E
INFORMÁTICA, XVI(1).
CITEC. (26 de Abril de 2022). Datos
oficiales del comercio electrónico. Obtenido de https://citec.com.ec/
Diario Primicias. (12 de Marzo de 2021). Nueve
de cada 10 pymes en Ecuador invierte en tecnología. Obtenido de
https://www.primicias.ec/noticias/economia/pymes-ecuador-inversion-tecnologia-pandemia/
Felipe , A., & Núñez, F. (2022).
DevOps: un vistazo rápido. Ciencia Huasteca, 10(19), 35-40.
Franco, A. (2016). Comercio
electrónico y desarrollo de la tecnología. Quito: BID.
García, R., & Ríos, E. (2019). Canal
Cifrado para comunicación Cliente/Servidor. [Tesis de Maestría, UNAM].
Obtenido de
http://www.ptolomeo.unam.mx:8080/xmlui/bitstream/handle/.../Tesis.pdf?
Guerrero, J. (2022). Modelo DevOps en la práctica:
Aplicación de un modelo de referencia novedoso para respaldar y fomentar la
adopción de DevOps en una empresa de desarrollo de software como estudio de
caso. Revista Ibérica, 5(1), 67-89.
González, D. (7 de Julio de 2022). Comercio
Electrónico de Ecuador impulsa la economía local. Obtenido de https://www.america-retail.com/ecommerce/comercio-electronico-de-ecuador/
Jaramillo, C. (2022). Estrategia de
seguridad para el manejo de vulnerabilidades en el ciclo de integración y
despliegue continúo en aplicaciones web esarrolladas bajo la metodología
DevOps. [Tesis de Grado, ITM]. Obtenido de
https://Downloads/Sebastia%CC%81n_Corte%CC%81sMarulanda_2023%20(1).pdf
Ñacato , C. (2023). Despliegue de VRF
mediante Devops. [Tesis de Maestría, EPN]. Obtenido de
https://bibdigital.epn.edu.ec/bitstream/15000/23841/1/CD%2013096.pdf
Orozco, C., Pardo, C., & Salazar , Y.
(2022). ¿Qué hay acerca de la evaluación de DevOps? Un mapeo sistemático. Rev.
Fac. ing, 59(23), 1121-1129.
doi:https://doi.org/10.19053/01211129.v31.n59.2022.13896.
Orozco, C., Pardo, C., & Zúñiga , K.
(2022). Proceso para fomentar y apoyar la adopción de DevOps en PyMEs de
software. Revista Científica CIDC, 45(3), 422-437. Obtenido de
http://revistas.udistrital.edu.co:8080/index.php/revcie/article/view/19644/18548
Pazmiño, E. (2018). Bussines to
Consumer en la era digital. Panamá: Booking.
Prosper Heredia, R., & Vargas Lombardo, M. (2020).
DevOps en el desarrollo SaaS desde el punto de vista de los experto. RISTI
- Revista Ibérica de Sistemas e Tecnologias de Información, 6(3), 252-263.
Obtenido de
https://www.researchgate.net/publication/354065539_DevOps_en_el_desarrollo_SaaS_desde_el_punto_de_vista_de_los_expertos
Pumasunta, E. (2020). Migración de
sistema "control de bienes" de Oracle Forms a una a una Arquitectura
(JSF) Java para la empresa Municipal de movilidad y obras públicas (EMMOP-Q).
[Tesis de Grado, UTI]. Obtenido de
https://repositorio.uisrael.edu.ec/bitstream/47000/2490/1/UISRAEL-EC-SIS-378.242-2020-008.pdf
Ramírez, & Suárez. (2018).
Tecnologías Información, «Introducción a Agile y Scrum: Principios y
enfoques,». TIC, 18(2), 118-145. Obtenido de
https://www.tecnologiasinformacion.com/agile-scrum.html
Rodriguez, K., Ortiz, O., & Quiroz,
A. (2020). El e-commerce y las Mipymes en tiempos de Covid-19. Revista
espacios, 41(42). 100-118. Obtenido de
https://revistaespacios.com/a20v41n42/a20v41n42p09.pdf
Sumba Bustamante , R., Almendariz
Gonzalez, S., Baque Chancay, C., & Aliatis Bravo, V. (Octubre-Diciembre de
2020). Emprendimientos en tiempo de covid-19: De lo tradicional al comercio
electrónico. FIPCAEC, V(4), 137-164. doi:doi.org/
10.23857/fipcaec.v5i4.300
Thorpe, E. (2019). Guía Completa para
Principiantes Aprende DevOps paso a paso. Independently Published,, 14(3),
45-66.
UNIR. (10 de Noviembre de 2023). ¿Qué
es DevOps y qué herramientas utiliza? Obtenido de
https://unirfp.unir.net/revista/ingenieria-y-tecnologia/devops/#:~:text=DevOps%20es%20una%20metodolog%C3%ADa%20de,entregas%20continuas%20y%20mejor%20calidad.
Varón, A. (2021). Técnicas para
formular proyectos de software e ingeniería web. [Fundación universitaria Area
Andina]. Obtenido de
https://digitk.areandina.edu.co/bitstream/handle/areandina/3915/Tecnicas%20para%20formular%20proyectos%20de%20software%20e%20ingenieria%20web.pdf?sequence=5
Wiley,
& Sons. (2019). DevOps For Dummies. Guadalajara:
MaxiBook.