Llegamos a ustedes gracias a:



Conversando con...

Rodrigo Bernardinelli de CA Technologies

DevOps: Más rápido y con mayor calidad

Rodrigo Bernardinelli, DevOps,  CA Technologies
Rodrigo Bernardinelli, director de Solutions Sales, DevOps - Application Delivery de CA Technologies.

[14/07/2014] Hace unos días conversamos con Rodrigo Bernardinelli, director de Solutions Sales, DevOps - Application Delivery de CA Technologies, quien nos ofreció el panorama de DevOps que tienen en su empresa. La palabra -unión de development y operations- se está escuchando cada vez más en los departamentos de TI que buscan formas nuevas de entregar aplicaciones con mayor rapidez a la empresa.

Pero no solo se trata de ser más rápido, sino también de lograr mayor calidad. Eso fue lo que una y otra vez repitió como un mantra Bernardinelli, como para que comprendamos la propuesta de valor la han hecho suya. Los detalles nos los ofreció en las siguientes líneas.

¿Cuál es el panorama que observan en DevOps en el momento?
La verdad tenemos una unidad de negocios en CA llamada application delivery que es un conjunto de tecnologías que las corporaciones utilizan para entregar aplicaciones al mercado más rápido y con mejor calidad. Ese es el punto central de nuestra visión. Y esto está muy relacionado con este tema de mercado que es DevOps, es un tema que estamos utilizando porque tiene mucha atención de los clientes.

Por ejemplo, en Google se ve un crecimiento exponencial de las búsquedas de la palabra DevOps en los últimos meses. Porque es algo que las empresas consideran que va a ser muy disruptivo que realmente puede acelerar la entrega de nuevas aplicaciones en el mercado.

¿El concepto ya es aceptado por las empresas?
Muchas empresas aún lo están observando. Es algo que las empresas ven como un concepto nuevo, pero nosotros estamos hablando de DevOps por más de cinco años. Las organizaciones están comenzando a acostumbrarse al tema, creando procesos para aproximar las organizaciones de desarrollo con las de operaciones, ya que esto ciertamente no es solo una tecnología. Hay muchos cambios culturales necesarios en las organizaciones para que el DevOps se realice.

¿Se entiende como un cambio en los procedimientos?
La empresa tiene un objetivo, más innovación, más rápido y con más calidad. Los que hacen desarrollo tienen este mismo objetivo, e igual los que se encuentran en operaciones. Sin embargo, los dos equipos son medidos con métricas muy distintas; por ejemplo, el equipo de desarrollo es medido por las aplicaciones, las nuevas funcionalidades, los cambios que producen que colocan en el mercado. Y las métricas de las personas de producción son desempeño, disponibilidad, etcétera; y para cumplir con sus objetivos cada grupo está haciendo diferentes cosas.

Los de desarrollo están utilizando metodologías ágiles, usando procesos de configuraciones, evaluaciones automatizadas. Por otro lado, operaciones también tienen varias iniciativas, como la nube, virtualización, administración de la configuración. Pero a pesar de todas estas iniciativas, es necesario un tiempo muy grande para la entrega efectiva de la aplicación en el mercado.

Entonces, lo que ofrecemos es la capacidad de entregar más rápido y con más calidad. Las tecnologías que tenemos tienen la capacidad de entregar los ambientes necesarios para que se produzca el desarrollo con más calidad; y la capacidad de entregar los ambientes para que las pruebas se realicen hasta la producción.

Tenemos mecanismos para que el desarrollador entregue con más calidad el software, y luego que las pruebas se realicen y las aplicaciones se entreguen de una manera rápida. Tenemos clientes que tienen procesos de despliegue de aplicaciones que duran una semana, es decir, una semana para tener una aplicación en producción.

Muchas veces el problema no es que sea difícil hacerlo, sino que el tiempo de las personas es poco. Un administrador de base de datos se encuentra envuelto con el trabajo diario, el 100% de su tiempo se encuentra asignado en trabajos del día a día. Entonces para hacer un despliegue se tiene que esperar días solamente para que la persona de base de datos pueda generar los scripts necesarios.

Por ello tenemos casos en los que se ha podido reducir el tiempo de despliegue de una semana a solo 15 minutos, con la automatización necesaria. De hecho, Gartner señala que el 80% de los problemas en producción son derivados de problemas en el despliegue, no en el código en sí.

¿Y hay retos al implementar DevOps?
Muchas veces es cultural, porque al implementar DevOps estamos tocando el trabajo manual de las personas y haciendo que sean entregados por una máquina o mejor dicho una porción de software. Entonces, tenemos que entender que el proceso de despliegue es un proceso muy grande, aunque no difícil. De hecho, el proceso de despliegue es algo que las empresas ya estaban haciendo, bien o mal, pero lo estaban haciendo.

Lo que proponemos es que la forma en que lo están haciendo se automatice. Se va a tener beneficios y resultados solamente automatizando el proceso; después podemos mejorar el proceso. Con eso disminuimos los desafíos culturales para conseguir implementar el proceso de despliegue.

Por otro lado, en nuestra visión de DevOps mejoramos la calidad en el momento del desarrollo. Tenemos mecanismos para que cuando los desarrolladores estén creando código tengan el ambiente necesario para ello.

Tenemos una tecnología que llamamos de virtualización de servicios. Esta fue creada para una empresa y permite simular ambientes que actualmente tienen restricciones. Por ejemplo, si desarrollo código y éste necesita conectarse con un mainframe, en realidad no tengo acceso a las transacciones en el mainframe. Pero con nuestra tecnología se puede simular las respuestas que daría un mainframe a la aplicación que está siendo desarrollada. Es decir, en el momento en que se está desarrollando la aplicación, es como si se estuviera en un ambiente de producción para hacer las pruebas necesarias.

Eso da velocidad y calidad, porque el desarrollo ya no se encuentra restringido, porque tienes el ambiente para hacer las pruebas.

En este caso, el desafío sería un cambio de la mentalidad. Si estamos haciendo una prueba de desempeño con tecnologías tradicionales, estresas la aplicación al final del proceso. Nosotros proponemos que las pruebas estresen cada componente de la aplicación en forma individual; este es un cambio de mentalidad en la forma en que hemos venido haciendo aplicaciones en los últimos 30 años. Con esto conseguimos una mejora de desempeño muy grande.
Jose Antonio Trujillo, CIO Perú