[10/10/2013] ¿DevOps está en su radar de TI? No está solo.
Hacer que los responsables de la creación de aplicaciones trabajen más de cerca con la gente que mantiene las aplicaciones en ejecución es el impulso detrás de DevOps, una metodología de TI que está dando de qué hablar. Los defensores de este enfoque dicen que puede mejorar la calidad de la aplicación, la velocidad de la implementación, aumentar la experiencia del usuario final, e incluso impulsar el crecimiento de los ingresos.
Más allá de los beneficios para el negocio, también se pueden obtener beneficios personales. DevOps ofrece oportunidades de desarrollo para los profesionales de TI en los roles tradicionales de infraestructura, para que puedan valerse de su experiencia en operaciones en posiciones DevOps híbridas.
Los procesos heredados no se cortarán en el mundo actual, donde las empresas están bajo presión para entregar aplicaciones de alta calidad a un ritmo continuo, señala Shridhar Mittal, director general de entrega de aplicaciones, en CA Technologies.
"DevOps se trata de un nuevo conjunto de metodologías y procesos que son impulsados y habilitados por la tecnología, y que permiten a las empresas con altos niveles de complejidad la capacidad de poder ofrecer aplicaciones más rápidas, con una calidad muy superior, e incluso con presupuestos más bajos", señala Mittal.
CA es el patrocinador de un nuevo estudio, el cual encontró que los consultados estuvieron casi universalmente de acuerdo en que hay una necesidad de DevOps. Vanson Bourne realizó la encuesta a 1.300 altos profesionales de TI en 21 países a nombre de CA, y los resultados se han publicado en un periódico,"
TechInsights Reports: Lo que las empresas inteligentes saben acerca de DevOps”.
Los encuestados identificaron beneficios específicos asociados con la adopción de DevOps. A saber:
1. Velocidad. Los encuestados que le dan crédito a DevOps por la aceleración de los cronogramas de TI, señalan que han visto una reducción del 20% en el tiempo de salida al mercado de su software/servicios.
2. Mejoras de calidad. Los encuestados que le dan crédito a DevOps por mejorar la entrega de aplicaciones, dicen que han visto una mejora del 22% en la calidad de las aplicaciones implementadas.
3. Mayor satisfacción del cliente. Los adoptantes de DevOps señalan un mayor número de clientes que utilizan su software/servicios (22%) como resultado de la implementación de DevOps en su organización. Además, los encuestados citan una mejora del 21% en la entrega de nuevo software/servicios que de otra manera no serían posibles/explorables.
4. Crecimiento de los ingresos. Algunos de los encuestados citan beneficios económicos mensurables asociados con DevOps, de hasta un aumento del 19% en ingresos. En una medida relacionada, los adoptantes también atribuyen al éxito de DevOps una reducción del 18% en el gasto en operaciones de desarrollo.
5. Más colaboración. En el frente de las comunicaciones, los adoptantes de DevOps citan un aumento del 23% en la colaboración entre los departamentos.
Abran paso a DevOps
La conflictividad entre el desarrollo y las operaciones no es un fenómeno nuevo. Los desarrolladores trabajan bajo presión para hacer que salgan los proyectos, y el equipo de operaciones tiene la carga de soportar un ciclo de entrega más rápido mientras mantiene una alta disponibilidad. El barullo de la industria promociona a DevOps como un medio para conseguir que las dos partes trabajen más estrechamente, y la conciencia está en aumento.
Cuando CA le preguntó a los encuestados si han adoptado un enfoque o estrategia DevOps en su organización, más de la mitad indicó que está en su agenda de TI. En concreto, el 39% de los encuestados ya ha adoptado DevOps, y el 27% planea adoptarlo. En cuanto al resto, el 18% no tiene planes de adoptar un enfoque DevOps, y el 16% no sabe lo que es.
Las razones para la búsqueda de un enfoque DevOps son variadas, pero parece que la presión para mejorar la entrega de aplicaciones viene de dentro y fuera del departamento de TI. La armonía de TI es un motivador clave, según la encuesta, que ocupó los motivos más populares de adopción:
* La necesidad de una mayor colaboración entre los equipos de desarrollo y operaciones (47%)
* Una mayor necesidad de despliegue simultáneo en diferentes plataformas (41%)
* Reducir las presiones de la empresa para lanzar aplicaciones con más rapidez, con el fin de satisfacer la demanda del cliente o entrar en nuevos mercados (41%)
* Necesidad de mejorar la experiencia del cliente final (39%)
* El aumento del uso de dispositivos móviles (35%)
* El aumento de la necesidad de desarrollar e implementar aplicaciones basadas en la nube (31%)
* Infraestructura de TI cada vez más compleja que es parte física, parte virtualizada, parte nube (28%)
* Necesidad de reducir los costos de TI (16%)
Las iniciativas DevOps pueden ser accionados por el lado del desarrollo o de la parte operativa de la casa -depende de quién está más frustrado, señala Mittal.
En cuanto al desarrollo de aplicaciones, las personas que son responsables de la escritura de código, pruebas de código, y hacer que funcionen en la producción, están en la mira de ofrecer nuevas aplicaciones con mayor rapidez para que las empresas puedan mantener su competitividad en los mercados dinámicos. "Ellos han estado esperando 12, 18 o 24 meses para obtener nueva funcionalidad crítica, pero tienen que estar en un ambiente de entrega casi continua; tienen que entregar cosas en días, no en meses", agrega Mittal.
Por el lado de las operaciones, los profesionales de TI a menudo se sienten frustrados por el código sub-par que los mantiene en el modo de extinción de incendios. "A veces son los que llevan la carga", anota Mittal.
Habilidades, herramientas y procesos necesarios
La adopción de DevOps requiere cambiar la forma en que trabajan las organizaciones. Pero no hay ninguna lista de productos a comprar ni pasos a seguir.
Existen herramientas asociadas a DevOps como la automatización de lanzamientos (tecnología para ayudar a estandarizar y ejecutar versiones de aplicaciones con menos errores), virtualización de servicios (una forma de simular el comportamiento de las aplicaciones en el mundo real, los componentes de datos y sus interdependencias en un entorno de prueba); y la minería de datos de producción (utilizar los datos de producción del mundo real para mejorar los escenarios de prueba durante el desarrollo).
Además de la adquisición de herramientas, las organizaciones de TI necesitan cultivar las habilidades para dominar estas herramientas. También se requiere experiencia en procesos, para garantizar que las empresas estén racionalizando y automatizando los procesos adecuados de entrega de aplicaciones.
Entre los encuestados que han adoptado o planean adoptar DevOps, el 73% espera invertir en nuevas herramientas, el 71% señala que va a invertir en la formación para el desarrollo y el personal de operaciones, y el 53% prevé la contratación de nuevo personal con las habilidades necesarias.
Se pidió a los encuestados que calificaran los componentes DevOps más importantes, y una amplia gama de herramientas, tecnologías y mejoras de procesos hicieron el corte.
La automatización de TI (52%) y el desarrollo ágil (47%) encabezó las listas de componentes que hay que tener, seguidos de trabajo en equipo entre el desarrollo y el personal de operaciones (45%), la virtualización de servicios (42%), aceleración de aplicaciones de prueba (32%) y los ciclos continuos de liberación (32%).
Los posibles obstáculos para una implementación DevOps también son muy variados.
Dedicar tiempo para implementar DevOps es un reto, especialmente cuando los miembros del personal ya se están sintiendo sobre extendidos. "Creo que esa es la mayor barrera que tienen que cambiar las personas", señala Mittal. "Tiene que ser un esfuerzo concentrado, de arriba hacia abajo, para que la gente entienda que juntos pueden resolver un problema de nivel mucho más alto, lo que va en beneficio de cada uno de ellos en el largo plazo".
En la encuesta, el desafío más comúnmente citado es la complejidad organizativa -demasiadas personas o departamentos involucrados, muchas interdependencias (citado por el 35% de los encuestados). Otros obstáculos para una implementación DevOps incluyen: funciones y responsabilidades no alineadas en las operaciones y el desarrollo (28%), problemas de seguridad o de cumplimiento (25%); falta de comprensión de las fases de todo el ciclo de vida de desarrollo y quién es responsable de cada paso (24%); y ausencia de presupuesto o la falta de claridad sobre cuál presupuesto es responsable de qué (24%).
En cuanto a las aptitudes, la actitud es fundamental.
Dar el salto a DevOps requiere un carácter de colaboración, señala Mittal. "La gente está acostumbrada a trabajar en grupos hacinados", agrega. "Por defecto, DevOps junta múltiples habilidades con las organizaciones para solucionar un problema de nivel mucho más alto que puede estar teniendo una empresa".
Según los encuestados, la necesidad de habilidades de negocios supera las habilidades técnicas. Cuando se le preguntó qué conocimientos y habilidades son más necesarias para implementar con éxito una estrategia DevOps, el conocimiento de las prioridades/estrategias/métricas del negocio encabezaron la lista, citadas por el 47%. A continuación la lista de conocimientos y habilidades destacadas en el informe como las más necesarios para DevOps:
* Conocimiento de las prioridades/estrategias/métricas del negocio (47%)
* Conocimiento de los procesos actuales del negocio (42%)
* Habilidades de comunicación (36%)
* Habilidades de proceso de reingeniería (33%)
* Habilidades de gestión de proyectos (30%)
* Habilidades con personas (30%)
* Habilidades de programación o scripting (24%)
* Habilidades de aseguramiento de la calidad y las pruebas (19%)
* Experiencia con herramientas específicas (12%)
Para la gente en el área de operaciones, la adquisición de habilidades relacionadas con DevOps puede mejorar sus perspectivas de carrera.
"Hoy en día, la mayor parte del tiempo, la gente de operaciones se dedica a la lucha contra los incendios de la producción", señala Mittal. Con una aplicación DevOps, "van a pasar menos tiempo en la lucha contra incendios y más tiempo trabajando con los desarrolladores para asegurarse de que el proceso en sí mismo está entregando buen código".
DevOps necesita "gente que es capaz de dar ese salto, y adoptar estas nuevas metodologías entorno a DevOps, y que entiendan realmente cómo se están entregando las aplicaciones", añade. "Las personas que tienen conocimientos y habilidades de operaciones, además de comprensión, lo harán mucho mejor que las personas que están sentadas en el área de operaciones y luchan contra incendios en una base diaria".
Los bomberos son esenciales, por supuesto -"son personas muy valiosas", señala Mittal - "pero si la calidad del código empieza a ser mucho mejor que lo que es hoy, habrá un menor número de incendios a combatir y más necesidad de personas que puedan reforzar y actualizar sus conocimientos de operaciones en el proceso de desarrollo".
Ann Bednarz, Network World (EE.UU.)