NBCUniversal
Escalado de DevOps en una gran empresa de TI de varias velocidades

NBCUniversal utiliza el software IBM UrbanCode Build e IBM UrbanCode Deploy con IBM Cloud for Skytap Solutions como motor de DevOps, combinando la integración continua, la entrega, las pruebas, los comentarios y la monitorización en un flujo de trabajo automatizado, uniendo el proceso, la cultura y la tecnología en toda la organización.

Reto empresarial

NBCUniversal buscó emplear un enfoque DevOps para el desarrollo de aplicaciones en toda su compleja empresa, que comprende 17 unidades de negocio, con el fin de mejorar la calidad del código, racionalizar el desarrollo y reducir los costes.

Transformación

NBCUniversal utiliza el software IBM UrbanCode e IBM Cloud for Skytap Solutions para impulsar DevOps, combinando la integración continua, la entrega, las pruebas, los comentarios y la monitorización en un flujo de trabajo automatizado.

Resultados 75% de reducción
en el tiempo requerido para las nuevas versiones de la aplicación
Reducción del tiempo de las pruebas de regresión
de semanas a horas
Acelera
respuestas a los nuevos requisitos
Historia de un desafío empresarial
Unión de silos

Hasta hace poco, existía la percepción general de que solo la nueva generación de organizaciones nativas de la nube, aquellas concebidas como disruptoras del mercado y creadas para una rápida innovación, se han embarcado en el viaje de DevOps. No es así. Por cada Etsy, Uber o Netflix hay decenas de empresas establecidas, como NBCUniversal, que buscan optimizar constantemente el tiempo de comercialización de nuevas aplicaciones, aumentar la calidad del código de las aplicaciones y reducir los costes de desarrollo, pruebas e implementación a través de DevOps.

Estas empresas representan una muestra representativa de sectores. E independientemente de la complejidad organizativa y de TI, están adoptando un enfoque de DevOps porque la agilidad, es decir, la capacidad de acelerar la innovación y responder más rápido a  los cambiantes requisitos empresariales, es vital.

Sin duda, el camino de DevOps que sigue una gran empresa probablemente sea bastante diferente al de una empresa nacida en la nube. Lo más significativo son las cuestiones sobre la mejor manera de introducir un cambio cultural generalizado y transformar procesos y paradigmas arraigados.


NBCUniversal ha crecido en gran medida a través de adquisiciones y, en la actualidad, comprende 17 empresas individuales y unidades de negocio, incluida su huella internacional. Característico de la mayoría de las grandes organizaciones, su entorno de aplicaciones es diverso y de velocidad múltiple, con una mezcla de entornos locales, privados y de nube pública, con aplicaciones empresariales básicas integradas con nuevas aplicaciones web y móviles. El equipo DevOps de la empresa necesitaba salvar la gran variabilidad de velocidad, procesos, herramientas, habilidades y cultura entre los desarrolladores del sistema de registro (a menudo mainframe) y los desarrolladores del sistema de compromiso (aplicaciones basadas en la nube y orientadas al cliente) para lograr integraciones entre estos sistemas.

John Comas, director de DevOps de plataforma en NBCUniversal, es responsable de los procesos y herramientas que sustentan el ciclo de vida de desarrollo de software DevOps (SDLC) en NBCUniversal. "Necesitábamos proporcionar a nuestros clientes de aplicaciones un SDLC único y estandarizado por varias razones: en primer lugar, para reducir los costes de licencias de aplicaciones mediante la eliminación de varias instancias. En segundo lugar, queríamos ofrecer un sistema estándar, local, reforzado para la empresa y migrar a él tantos usuarios como fuera posible, de modo que pudiéramos estandarizar el soporte y la formación. También queríamos mejorar la calidad del código desarrollado, y queríamos desarrollarlo más rápido, de manera más eficiente y a menor coste", dice. "Nuestras compilaciones e implementaciones tenían altas tasas de fallos y, dado que nuestros equipos de aplicaciones hacían pocas o ninguna prueba, había versiones que probablemente nunca deberían haber entrado en producción, lo que provocó demasiadas interrupciones".

Emprender el camino hacia DevOps se convirtió en el impulso para crear un flujo de trabajo en cuatro grupos que históricamente no estaban bien integrados: los equipos de desarrollo, control de calidad, ejecución y SDLC. El viaje abarca tanto la tecnología como la mentalidad, acelerando la innovación al dividir los procesos complejos en las unidades de trabajo más pequeñas y ejecutarlos en paralelo siempre que sea posible.

Necesitábamos proporcionar a nuestros clientes de aplicaciones un único SDLC estandarizado... También queríamos mejorar la calidad del código desarrollado, y queríamos desarrollarlo más rápido, de manera más eficiente y a menor coste. John Comas Responsable de DevOps de Plataforma NBCUniversal
Historia de transformación
Innovación más rápida

Comas y el director sénior de Estrategia de Servicios y Colaboración de NBCUniversal, Charles Williams, posicionaron internamente DevOps como una plataforma/marco compartido para ofrecer innovación con mayor rapidez. La plataforma IBM UrbanCode (UrbanCode Build [software de automatización de creación de aplicaciones] y UrbanCode Deploy [software de automatización de lanzamiento de aplicaciones]) actúa como motor de DevOps, permitiendo a NBCUniversal combinar la integración continua, la entrega continua, las pruebas continuas, los comentarios continuos y la monitorización continua en un flujo de trabajo automatizado, tendiendo un puente entre el proceso, la cultura y la tecnología en toda la organización.

La plataforma UrbanCode es compatible con un conjunto diverso de entornos de TI y ofrece capacidades de auditoría integrales, lo cual es fundamental para una empresa compleja como NBCUniversal. "Con los productos UrbanCode, podemos ofrecer la compilación como servicio para la organización. Puedo reproducir cualquier compilación que se incorpore a UrbanCode con solo hacer clic en un botón", afirma Comas. "Tenemos un solo panel de control unificado en el que puedo ver toda la actividad. Y tenemos registros claros de lo que se ha compilado, los binarios que se relacionan con esa compilación, lo que se ha hecho con ella, cómo se ha probado, en qué entorno se ha implementado, todo eso. Dime una fecha y, si quieres saber qué se puso en producción en esa fecha, te lo explicaré todo".

NBCUniversal utiliza IBM Cloud for Skytap Solutions (ICSS), desarrollado por IBM Business Partner Skytap, junto con el software IBM UrbanCode Deploy, para automatizar la configuración y gestión del entorno de pruebas a lo largo del ciclo de vida del desarrollo de software y para paralelizar las pruebas de regresión como parte de la automatización del control de calidad.

En un caso, el grupo de televisión de NBCUniversal ha utilizado ICSS para reducir sus pruebas de regresión de 6-8 semanas a tan solo 3 horas para Compass, una gran aplicación utilizada para la programación de programas de televisión. Asociado a Compass hay un enorme conjunto de pruebas de regresión que comprende 1000 casos de prueba. Antes de utilizar ICSS, el equipo de control de calidad de la organización ejecutaba estas pruebas de manera local, cada prueba ejecutada en serie. Ahora han configurado un entorno de 50 máquinas de prueba, todas ellas orientadas al entorno de control de calidad de Compass en las instalaciones, con 20 pruebas ejecutándose por máquina en paralelo.

A través de DevOps, NBCUniversal ha descompuesto en componentes lo que antes era un proceso monolítico, con el equipo de DevOps de Comas a la cabeza proporcionando la infraestructura que soporta las herramientas DevOps, gestionando las propias herramientas y gestionando las buenas prácticas en el uso de esas herramientas. El equipo también crea las automatizaciones para los equipos de desarrollo.

La defensa de DevOps no fue fácil al principio; no todo el mundo era receptivo, por lo que Comas y Williams tuvieron que superar algunos obstáculos culturales. «John y yo llevábamos tiempo hablando de DevOps, pero estaba cayendo en saco roto. Fue cuando empezamos a hablar de capacidades y a mostrarlas a los propietarios de las aplicaciones y luego al entorno de control de calidad cuando empezamos a ver tracción", dice Williams. "En un momento dado, creo que John y yo incluso decidimos dejar de utilizar la palabra 'DevOps', porque no significaba nada para la mayoría de la gente. Mejorar la velocidad de entrega en el desarrollo de aplicaciones; poder ejecutar pruebas de forma repetida y constante y obtener resultados rápidamente... eso es lo importante. Cuando hablamos en esos términos empezamos a cambiar la cultura. Y cuando tuvimos un par de oportunidades de demostrar nuestras capacidades de desarrollo ágil, empezamos a escuchar: 'Oh, así que esto es lo que es DevOps. Esto es lo que quería'".

En ese sentido, las herramientas y la tecnología, como el software UrbanCode, impulsaron el cambio de cultura y procesos. “Creo que las herramientas ayudaron a fortalecer hacia dónde se dirigía la cultura; desarrollo más ágil, más pruebas de desplazamiento a la izquierda”, dice Williams. "Las herramientas sustentaron el proceso DevOps que imaginamos, que es un flujo de trabajo de principio a fin".
 

Cuando tuvimos un par de oportunidades de demostrar nuestras capacidades de desarrollo ágil, empezamos a escuchar: "Oh, así que esto es lo que es DevOps. Esto es lo que quería". Charles Williams Director sénior de Estrategia de Servicios y Colaboración NBCUniversal
Historia de resultados
Automatización para lograr velocidad y calidad

El grupo de televisión de NBCUniversal en Nueva York es un ejemplo de cómo ha tomado forma el viaje DevOps de la organización. Esa unidad de negocio en particular es el brazo de distribución televisiva de NBCUniversal y es, en parte, responsable de programar los contenidos en antena para todas las emisoras propiedad de NBCUniversal. Como se ha señalado anteriormente, la aplicación Compass es fundamental para esa tarea.

Comas y su equipo migraron el desarrollo de Compass (una aplicación masiva basada en .net) a la plataforma UrbanCode hace unos 18 meses. "Yo describiría el proceso anterior de Compass como un proceso 'manual'; enviaban su código al repositorio, hacían clic manualmente en el botón de compilación y, a continuación, lo implementaban en un entorno. Una vez que lo implementaban en un entorno, básicamente se dejaba en manos del equipo de control de calidad", afirma. "Así que pasaba una semana más o menos y obtenían algunos resultados, hacían otra compilación y la volvían a enviar al departamento de control de calidad, y así sucesivamente. Así que el tiempo de comercialización de una aplicación era muy elevado: 20 semanas para sacar una versión. Una de las razones por las que se tardaba tanto es que el equipo de control de calidad realizaba pruebas a gran escala sobre una versión que podía o no haber cumplido los requisitos de la empresa".

El objetivo del equipo de aplicación de Compass era reducir ese tiempo en un 75 por ciento, hasta cinco semanas. “Una vez que los trasladamos a la plataforma UrbanCode, pudieron alcanzar ese objetivo. De hecho, ahora estamos buscando reducir el tiempo de comercialización a dos semanas”, afirma Comas. En primer lugar, su equipo integró la automatización del control de calidad con el flujo de trabajo de Compass, lo que eliminó la necesidad de ejecutar manualmente numerosas pruebas de control de calidad para cada implementación. “Comenzamos con pruebas de desplazamiento a la izquierda. Hicimos pruebas unitarias de la versión de la aplicación e hicimos un análisis de la cobertura del código, además de iniciar una pequeña prueba funcional en la que observábamos los diferentes requisitos empresariales y creábamos pruebas para ponerlos en práctica. Por lo tanto, antes de que el lanzamiento llegara al equipo de control de calidad para ser completamente funcional y sometido a pruebas de regresión, podíamos obtener comentarios inmediatos sobre si el lanzamiento era bueno o no. Eso, en sí mismo, aceleró mucho las cosas".

El enfoque DevOps de NBCUniversal también rompió los silos en la implementación. "Históricamente, los lanzamientos solo podían tener lugar en ciertos días de la semana, generalmente los martes y jueves por la noche, y si perdías esa ventana no podías hacer un lanzamiento hasta la siguiente ventana", dice Comas. "Por lo tanto, al trabajar con el equipo de Compass Run, ahora podemos realizar implementaciones en producción con mucha más frecuencia, lo que resulta en lanzamientos más pequeños y frecuentes. Por lo tanto, tienen mucha más agilidad y pueden cumplir con los requisitos comerciales mucho más rápido. En resumen, la calidad del código ha mejorado, va más rápido y podemos cumplir con los requisitos comerciales con mucha más rapidez".

Desde el punto de vista tecnológico, Comas afirma que la plataforma UrbanCode ofrece a su equipo la capacidad de integrar una amplia gama de herramientas en un flujo de trabajo automatizado, eliminando la dependencia excesiva de los desarrolladores. “Con UrbanCode, cuando un desarrollador envía código sin las pruebas unitarias adecuadas, será marcado. Si un desarrollador no tiene eso como parte del flujo de trabajo, no lo sabrás. No habrá comentarios sobre el proceso que te indiquen el estado de la solicitud. Nuestro flujo de trabajo de Compass es probablemente la automatización más completa que tenemos, y la tecnología nos está ayudando a impulsar la calidad de la aplicación, mejorando la calidad de la compilación en un orden de magnitud. No solo eso, sino que estamos entregando los cambios que la empresa quiere mucho más rápido. Ésos son los objetivos finales; las razones por las que estamos en este viaje de DevOps”.

Para Williams y Comas, DevOps consiste en generar confianza y en instituir la previsibilidad, la velocidad y la calidad en el ciclo de vida de la entrega de software. "Estamos proporcionando una infraestructura sólida que garantiza un nivel de calidad y un nivel de servicio a nuestros equipos de aplicaciones", dice Comas. De hecho, el equipo de DevOps se está ganando la confianza suficiente como para que las unidades de negocio les pidan ayuda con proyectos más grandes. "Como hemos demostrado que las capacidades son flexibles y ampliables y que nos permiten cumplir con plazos muy ajustados, el volumen de los proyectos se ha multiplicado por seis, pasando de diez a más de 60 aplicaciones. Estamos proporcionando un camino hacia la producción de aplicaciones que genera un nivel de confianza que nunca antes habíamos tenido".
 

...la calidad del código ha mejorado, va más rápido y podemos cumplir con los requisitos comerciales con mucha más rapidez. John Comas Responsable de DevOps de Plataforma NBCUniversal
NBCUniversal

NBCUniversal es un conglomerado multinacional multimedia con sede en Nueva York. La empresa, con unos ingresos aproximados de 30 000 millones de dólares, se dedica principalmente a los sectores de los medios de comunicación y el entretenimiento; entre sus divisiones más significativas se encuentran la cadena de televisión NBC y el importante estudio cinematográfico Universal Studios. A través de su división Universal Parks & Resorts, también es el tercer operador más grande de parques de atracciones en el mundo.
 

Dé el siguiente paso

Para obtener más información sobre el software IBM UrbanCode o IBM Cloud for Skytap Solutions, póngase en contacto con su representante de ventas o socio comercial de IBM, o visite los siguientes sitios web: 


Vea más historias de clientes u obtenga más información sobre IBM Cloud

Ver PDF Ver video: NBCUniversal escala DevOps en una gran empresa de varias velocidades
Notas a pie de página

© Copyright IBM Corporation 2016. IBM Cloud, Route 100, Somers, NY 10589 Producido en los Estados Unidos de América, noviembre de 2016. IBM, el logotipo de IBM, ibm.com y UrbanCode son marcas comerciales de International Business Machines Corp. registradas en muchas jurisdicciones de todo el mundo. Otros nombres de productos y servicios pueden ser marcas comerciales de IBM o de otras empresas. Puede consultar una lista actualizada de las marcas comerciales de IBM en la web en "Información sobre derechos de autor y marcas comerciales" en ibm.com/legal/copytrade.shtml. Este documento está vigente en la fecha inicial de publicación y puede ser modificado por IBM en cualquier momento. No todas las ofertas están disponibles en todos los países en los que opera IBM. Es responsabilidad del usuario evaluar y verificar el funcionamiento de cualquier otro producto o programa con los productos y programas de IBM. LA INFORMACIÓN CONTENIDA EN ESTE DOCUMENTO SE PROPORCIONA "TAL CUAL", SIN NINGUNA GARANTÍA, EXPRESA O IMPLÍCITA, INCLUIDAS LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y CUALQUIER GARANTÍA O CONDICIÓN DE NO INFRACCIÓN. Los productos IBM están garantizados según los términos y condiciones de los acuerdos bajo los que se suministran. Las declaraciones relativas a la futura dirección e intención de IBM están sujetas a cambios o retirada sin previo aviso, y representan únicamente metas y objetivos.