Inteligencia artificial que vigila "como un águila" los procesos de DevSecOps
El CEO de CloudBees, Anuj Kapur, tuvo que suspender la celebración del DevOps World en el último segundo por el huracán Ian. Atiende a D+I para explicar el cambio de paradigma de este modelo de desarrollo, así como el impacto de la IA en su vertiente de seguridad y 'compliance'.
4 octubre, 2022 02:50Estas conversaciones tendrían que haberse producido en Orlando, Florida, en el curso del evento DevOps World. Pero, como quiera que cierta tormenta tropical del Caribe llamada Ian, luego devenida en potentísimo huracán, también amenazaba con pasarse por la reunión, esta se suspendió en el último minuto y, al igual que durante la pandemia, las charlas se refugiaron en Zoom.
Para Anuj Kapur, presidente y CEO de CloudBees, la compañía organizadora del congreso, la suspensión resulta doblemente amarga: iba a ser su presentación mundial y puesta de largo. Fue fichado el pasado agosto para ejercer esa responsabilidad.
"Sí… tenía preparada mi keynote, pero desgraciadamente tendré que esperar un año", comenta decepcionado a D+I, para describir a continuación qué impresión le ha causado la compañía en cuyo sillón de mando es apenas un recién llegado.
"Cada compañía necesita transformarse digitalmente con aplicaciones y queremos ser su partner de referencia para desarrollar software que sea un activo diferencial", añade. "Es un puesto magnífico [su nuevo cargo]. No somos muy grandes, apenas tenemos 600 empleados, pero la cantidad y calidad de nuestros clientes me entusiasma cada día y me apasiona el camino que tenemos por delante. Está siendo una gran experiencia".
CloudBees es una compañía fundada en California en 2010 por siete personas de casi todo el mundo, entre ellos el suizo Sacha Labourey, hoy jefe de estrategia, que explica a D+I, rodeado de simbólicos relojes, y en conversación por separado, los intríngulis del concepto DevOps, inventado en 2013, que pone a trabajar en colaboración y como un único equipo a los de desarrollo y de operaciones, en vez de hacerlo por separado, como era costumbre antes.
Constantes microiteraciones
Sobre DevOps, dice Labourey, que "es desarrollo y publicación de software [cambios en la aplicación] de manera continua. Que en este caso puede parecer muy lógico, pero pensemos en otros mundos...".
"Por ejemplo, IKEA: vas a producir una nueva maravillosa silla. La diseñas, parece estupenda, pero la has fastidiado porque tiene sólo dos patas y no la has probado. Fabricas un millón, van al almacén y envías una a un cliente que dice 'no funciona'. Entonces piensas, ¡vaya, debería tener al menos tres patas! Así que tiras un millón de sillas y fabricas otro millón de una silla con tres patas. El cliente dice 'está mejor, pero todavía no es estable'…".
"Es estúpido pensar que IKEA haría eso, ¿verdad? Pues es lo que la industria del software ha hecho durante décadas, con ciclos de 18 meses programando un código, mientras el mercado evolucionaba…", prosigue.
"Lo que este mundo está aprendiendo es que necesita constantes microiteraciones, porque si fallas no pasa nada [lo corriges de inmediato]. Pero necesitas fallar rápido. Si no, estarás quemando dinero en sillas que nadie usará. Debes publicar [las apps] constantemente. Fíjese en Amazon que, según una estadística de hace ya cinco años, publica un cambio cada doce segundos", afirma rotundo.
"Ese poder es lo que ofrecemos nosotros a cualquier compañía en todo el mundo", remata Labourey su explicación.
CloudBees nació como una plataforma de orquestación, basada en un motor de software llamado Jenkins, que permitía escribir código y probarlo en su servidor, para desplegarlo y continuar desarrollándolo.
Los clientes echaban de menos poder hacer eso mismo dentro de su propia organización, lo cual le hizo evolucionar a ofrecer servicio on premise. Con el posterior crecimiento y expansión de las nubes su negocio se movió hacía el modelo de Software as a Service (SaaS), ahora dominante.
La digitalización cambia a los consumidores
El CEO Kapur pone el acento en la creciente digitalización de todo tipo de negocios, que "crea una clase de consumidores que sólo quieren interactuar digitalmente con las corporaciones. Muchas de las grandes compañías con mayor éxito en los últimos 15 años tienen un modelo de negocio principalmente digital".
A Kapur le gusta citar nombres de grandes compañías, a modo de ejemplos de digitalización. Algunas no son clientes de CloudBees, otras sí. Como Banco Santander, que aparece varias veces en la conversación.
"Imagine que algunas [empresas] como el Santander, se han fijado básicamente en su manual de operaciones para digitalizarse siguiéndolo. Hay tres tipos de ámbitos: el de los empleados, el de los partners y el de los clientes. Entonces, aprovechando la capacidad de las aplicaciones, esto les permite redefinir cómo se presentan y como se abastecen", plantea.
"Para hacer esto, las compañías necesitan la certeza de poder actualizar aplicaciones con mucha rapidez, de un modo seguro y cumpliendo las normativas. La creciente expectativa de los consumidores está muy influida por lo que pueden hacer con este dispositivo", añade, blandiendo su móvil ante la cámara.
"Y esto se traslada a lo que esperan de sus empleados y de otras compañías con las que hacen negocios. Esos tres aspectos son la redefinición de interacciones físicas como interacciones digitales", concreta Kapur.
Subraya que lo que esperan finalmente los consumidores, de cualquier compañía, se basa en lo que ven en "Apple, Facebook y Google. Y, con la internacionalización, cada vez hay más tecnología en industrias maduras como finanzas, construcción, viajes y turismo y manufactura, que necesitan mostrarse en un formato digital en vez del tradicional formato físico".
Apoyo de la inteligencia artificial
Kapur refuerza la necesidad de gestionar un desarrollo muy ágil, con cualquier lenguaje de programación: "No se trata de qué es lo que haces, sino cómo lo llevas a una línea de producción. Y de cómo vemos a los clientes y cuál es el software de la cadena de suministro".
Si hace 20 años una compañía necesitaba escribir media docena de aplicaciones, "ahora puede estar escribiendo 500 o 4.000", dice, refiriéndose a HSBC, "con licencias bancarias en 100 países diferentes y el 100% de sus ingresos basado en el uso de aplicaciones". Una aplicación para el uso del cajero automático, otra para la atención en una oficina, transferencias internacionales, tarjetas de crédito, relación entre dos bancos y con agencias regulatorias…
Todas esas variables del software creado usando metodología DevOps cuentan en CloudBees, desde el año pasado, con consolidar los factores compliance y análisis de riesgos en tiempo de desarrollo, con apoyo de la inteligencia artificial.
"Lo anunciamos el año pasado, pero creo que ahora está más maduro", concede Kapur, que precisamente reservaba para el evento no celebrado el gran anuncio de la adquisición de ReleaseIQ, para ampliar las capacidades DevSecOps (término que añade el parámetro de seguridad integrado en el desarrollo continuo), con una solución low-code que aporta visibilidad y la orquestación de combinaciones de diferentes tecnologías de integración y entrega continuas.
La ventaja de esta novedad es, para el CEO de CloudBees, que "las empresas deben capacitar a sus desarrolladores ofreciéndoles la posibilidad de elegir entre varias herramientas, en lugar de imponerles un único set de herramientas de desarrollo. En segundo lugar, a medida que DevSecOps se hace más maduro, ya no basta con tener una visión limitada del ecosistema de entrega de software".
Seguridad en el flujo de producción
Todo ello se mueve en un contexto en el que el software empresarial se basa mayoritariamente en código abierto y desarrollo en la nube. Según estadísticas que cita Kapur, "el 90% de todas las aplicaciones actualmente en producción incluyen alguna parte de open source. E igual que necesitan rapidez en el desarrollo y despliegue, tienen que hacerse con seguridad y cumplimiento de normas".
Buscando otro paralelismo ilustrador, sugiere la idea de que un fabricante de coches considere con los frenos son una pieza importante, pero diga: "Bueno, ya nos preocuparemos de eso después de que el cliente compre el coche".
"Tienes que pensar en la seguridad y resiliencia, dentro del propio flujo de producción. Y si eso significa ralentizar la cantidad de coches que salen de la línea, al menos sabrás que tienen un elevado nivel de calidad y también en seguridad", concluye.
Trasladado a las aplicaciones, todo eso significa integrar la experiencia de usuario, controlar los riesgos y vulnerabilidades a los que pueda estar expuesto y el cumplimiento de normativas legales, como GDPR, "o diferentes cuestiones en diferentes geografías".
Para ello CloudBees ha incorporado ese uso de inteligencia artificial. Imprescindible, porque en materia de seguridad "hay más alertas que tiempo para investigarlas todas". La IA ayuda a evaluar y "estratificar la severidad de cada riesgo y encontrar el mejor modo de remediarlo o resolverlo".
El jefe de estrategia aporta otra imagen muy gráfica de la importancia de gestionar el cumplimiento normativo desde el proceso de desarrollo: "Compliance es como un águila que sobrevuela tu panorama, mirándolo todo y viendo qué está bien y qué no. Si detecta que algo se sale de los límites, ¡boom! Se lanza en picado y avisa dónde tienes un problema".
Tolerancia al riesgo
Con esto, afirma Labourey, en vez de "estar encima de los desarrolladores, diciéndoles qué tienen que hacer, con qué han de tener cuidado, puedes dejarles solos y mostrarles confianza, porque siempre estará ahí arriba el águila para asegurarse de que todo va bien y se cumplen las normas. Es asombrosa haciendo esto".
Ese águila, que es evidentemente la inteligencia artificial, requiere un entrenamiento, que Labourey reconoce ha de ser específico para cada empresa, cada mercado y cada sector. Una enorme complejidad.
En cuanto al entrenamiento, "tenemos nuestra propia metodología y consultoría, pero también trabajamos con otras compañías, como WePro, por ejemplo", dice.
"Nunca se trata de un proyecto sencillo, siempre son parte de una iniciativa de gran transformación en la forma de publicar software. Tienes aplicaciones que necesitan evolucionar. Y seguridad y compliance que también deben evolucionar".
Para Kapur, es importante establecer el nivel de "tolerancia al riesgo" que cada compañía y cada industria pueden asumir, porque "nunca se puede eliminar el riesgo absolutamente".
Por eso, el entrenamiento específico de la IA que vigilará el proceso de desarrollo, en aspectos de seguridad y cumplimiento, "es un compromiso de cada empresa. Muchas lo hacen por sí mismas".
"¿Cuál es el nivel de riesgo apropiado si eres una aerolínea?", plantea Kapur. "Si eres un banco tienes que mirar la resiliencia operacional para salvaguardar la integridad de las transacciones. Y si eres Zara, tienes que asegurar los tiempos que necesitas para llegar con las ropas a las tiendas. Son todos muy diferentes".