NBCUniversal
Escalar DevOps en una gran empresa de TI con distintas velocidades

NBCUniversal utiliza el software IBM UrbanCode Build e IBM UrbanCode Deploy con IBM Cloud for Skytap Solutions como motor de DevOps, combinando integración, entrega, pruebas, retroalimentación y monitoreo continuos en un flujo de trabajo automatizado, que abarca el proceso, la cultura y la tecnología de toda la organización.

Desafío empresarial

NBCUniversal buscó emplear un enfoque de 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, agilizar el desarrollo y reducir los costos.

Transformación

NBCUniversal emplea el software IBM UrbanCode e IBM Cloud for Skytap Solutions para impulsar DevOps, combinando integración, entrega, pruebas, retroalimentación y monitoreo continuos en un flujo de trabajo automatizado.

Resultados 75 % de reducción
en el tiempo necesario para lanzar nuevas aplicaciones
Reducción del tiempo de prueba de regresión
de semanas a horas
Acelera
las respuestas a nuevos requisitos
Historia de desafío empresarial
Unión de silos

Hasta hace poco, había una percepción general de que solo la nueva generación de organizaciones nativas de la nube, aquellas concebidas como disruptivas del mercado y creadas para la innovación rápida, habían emprendido el camino de DevOps. No es así. Por cada Etsy, Uber o Netflix hay decenas de empresas establecidas, como NBCUniversal, que buscan agilizar de forma sistemática el tiempo de comercialización de nuevas aplicaciones, mejorar la calidad del código de las aplicaciones y reducir los costos de desarrollo, pruebas e implementación mediante DevOps.

Estas corporaciones representan una muestra transversal de las industrias. Además, independientemente de la complejidad organizacional y de TI, están adoptando un enfoque de DevOps porque la agilidad (la capacidad de acelerar la innovación y responder más rápido a los requisitos comerciales cambiantes) es vital.

El camino de DevOps que toma una gran empresa probablemente sea bastante diferente al de una empresa nacida en la nube, sin duda. Las más significativas son las preguntas sobre cómo marcar el comienzo de un cambio cultural generalizado y transformar procesos y paradigmas de larga data.


NBCUniversal creció en gran medida a través de adquisiciones y, en la actualidad, comprende 17 empresas individuales y unidades de negocios, incluida su presencia internacional. Como es característico de la mayoría de las grandes organizaciones, su entorno de aplicaciones es diverso y de múltiples velocidades, con una combinación de entornos de nube pública, privada y local, con aplicaciones comerciales centrales integradas con nuevas aplicaciones web y móviles. El equipo de DevOps de la empresa necesitaba salvar una amplia variabilidad en cuanto a velocidad, procesos, herramientas, habilidades y cultura entre los desarrolladores del sistema de registro (a menudo mainframe) y los desarrolladores del sistema de interacción (aplicaciones orientadas al cliente basadas en la nube) para lograr integraciones entre estos sistemas.

John Comas, gerente de plataforma de DevOps en NBCUniversal, es responsable de los procesos y herramientas que sustentan el ciclo de vida de desarrollo de software (SDLC) DevOps en NBCUniversal. “Necesitábamos ofrecer a nuestros clientes de aplicaciones un SDLC único y estandarizado por varias razones: primero, reducir los costos de licencia de aplicaciones mediante la eliminación de múltiples instancias. En segundo lugar, queríamos proporcionar un sistema empresarial local estándar reforzado y migrar a él tantos usuarios como fuera posible, para poder estandarizar el soporte y la capacitación. También queríamos mejorar la calidad del código desarrollado y queríamos desarrollarlo de forma más rápida, eficiente y a menor costo”, afirma. "Nuestras compilaciones e implementaciones tuvieron altas tasas de fallas y, debido a que nuestros equipos de aplicaciones hicieron pocas o ninguna prueba, hubo versiones que probablemente nunca debieron entrar en producción, lo que ocasionó demasiadas interrupciones".

Emprender el camino de 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 recorrido abarca la tecnología y la forma de pensar, acelerando la innovación al dividir procesos complejos en unidades de trabajo más pequeñas y ejecutarlos en paralelo siempre que sea posible.

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

Comas y el director sénior de estrategia de servicio y colaboración de NBCUniversal, Charles Williams, posicionaron DevOps como una plataforma/marco compartido a nivel interno para ofrecer innovación con mayor rapidez. La plataforma IBM UrbanCode, UrbanCode Build (software de automatización de la compilación de aplicaciones) y UrbanCode Deploy (software de automatización de la versión de aplicaciones), actúa como el motor de DevOps, lo que permite a NBCUniversal combinar la integración continua, la entrega continua, las pruebas continuas, la retroalimentación continua y la supervisión continua en un flujo de trabajo automatizado, que abarca el proceso, la cultura y la tecnología de 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 compilacioens como servicio para la organización. Puedo reproducir cualquier compilación que entra en UrbanCode con solo hacer clic en un botón”, dice Comas. “Tenemos un panel único y unificado donde puedo ver toda la actividad. Y tenemos registros claros de lo que se compiló, los binarios que se relacionan con esa compilación, lo que se hizo con ella, cómo se probó, en qué entorno se implementó, todo eso. Dada una fecha, si se quiere saber qué se implementó en producción en esa fecha, lo podemos saber todo”.

NBCUniversal emplea IBM Cloud for Skytap Solutions (ICSS), desarrollado por IBM Business Socio 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 empleó ICSS para reducir sus pruebas de regresión de 6 a 8 semanas a tan solo 3 horas para Compass, una gran aplicación utilizada para la programación de programas de televisión. Asociado con Compass hay un enorme conjunto de pruebas de regresión que comprende 1000 casos de prueba. Antes de emplear ICSS, el equipo de control de calidad de la organización ejecutaba estas pruebas de forma local y cada prueba se ejecutaba en serie. Ahora configuraron un entorno de 50 máquinas de prueba, todas apuntando 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 dividió lo que antes era un proceso monolítico en componentes, con el equipo DevOps de Comas tomando la iniciativa al proporcionar la infraestructura que respalda las herramientas DevOps, gestionar las herramientas ellos mismos y gestionar las mejores prácticas en el uso de esas herramientas. El equipo también crea las automatizaciones para los equipos de desarrollo.

Abogar por DevOps no fue fácil al principio; no todo el mundo fue receptivo, por lo que Comas y Williams tuvieron que superar algunos obstáculos culturales. “John y yo hemos estado hablando de DevOps durante un tiempo pero era como si se hicieran oídos sordos. Cuando comenzamos a hablar de las capacidades y las mostramos a los propietarios de aplicaciones y al entorno de QA fue que comenzamos a ver tracción”, dice Williams. "En un momento dado, creo que John y yo incluso decidimos dejar de usar la palabra 'DevOps', porque no significaba nada para la mayoría de las personas. Mayor velocidad de entrega en el desarrollo de aplicaciones, capacidad para ejecutar pruebas de forma repetida y coherente y obtener resultados de forma rápida, eso es lo importante. Cuando hablamos en esos términos empezamos a cambiar la cultura. Y cuando tuvimos un par de oportunidades para hacer una demostración de nuestras capacidades de desarrollo ágil empezamos a escuchar: 'Ah, entonces 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 respaldaron el proceso de DevOps que imaginamos, que es un flujo de trabajo de extremo a extremo".
 

Cuando tuvimos un par de oportunidades para demostrar nuestras capacidades de desarrollo ágil, empezamos a escuchar: 'Ah, así que esto es DevOps. Esto es lo que quería.' Charles Williams Director sénior de estrategia de servicio y colaboración NBCUniversal
Historia de resultados
Automatizar para obtener velocidad y calidad

El grupo de televisión de NBCUniversal en Nueva York es un ejemplo de cómo tomó forma el recorrido de DevOps de la organización. Esa unidad de negocio en particular es el brazo de distribución de televisión de NBCUniversal y es, en parte, responsable de programar el contenido que se emite para todas las estaciones que pertenecen a NBCUniversal. Como se señaló anteriormente, la aplicación Compass es fundamental para esa tarea.

Comas y su equipo migraron el desarrollo para 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 'manumático'; se confirmaba el código en el repositorio, se hacía clic de forma manual en el botón de compilación y luego se implementaba en un entorno. Tras la implementación en un entorno, básicamente quedaba en manos del equipo de control de calidad”, dice. “Pasaba alrededor de una semana y obtenían algunos resultados, hacían otra compilación y la enviaban de nuevo al control de calidad, y así sucesivamente. Por lo tanto, el tiempo de comercialización de una aplicación era muy alto: 20 semanas para lanzar una versión. Una de las razones por las que se requería tanto tiempo es que el equipo de control de calidad hacía pruebas a gran escala en una versión que podía o no cumplir con los requisitos comerciales”.

El objetivo del equipo de la aplicación Compass era reducir ese tiempo en un 75 por ciento, es decir, a cinco semanas. "Una vez que se hizo el traslado a la plataforma UrbanCode, pudieron alcanzar ese objetivo. De hecho, ahora estamos buscando reducir el tiempo de comercialización a dos semanas”, dice Comas. En primer lugar, su equipo integró la automatización del control de calidad con el flujo de trabajo de Compass, eliminando la necesidad de ejecutar de forma manual numerosas pruebas de control de calidad para cada implementación. “Comenzamos con las pruebas de desplazamiento a la izquierda. Probamos de forma unitaria la versión de la aplicación e hicimos un análisis de cobertura de código, al tiempo que comenzamos una pequeña prueba funcional en la que observaríamos los diferentes requisitos comerciales y crearíamos pruebas que los pusieran en práctica. Entonces, antes de que el lanzamiento llegara al equipo de control de calidad para que fuera completamente funcional y se sometiera a pruebas de regresión, podríamos obtener información inmediata sobre si el lanzamiento era bueno o no. Eso, en sí mismo, aceleró enormemente 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 ciertos días de la semana, generalmente los martes y jueves por la noche, y si se perdía esa ventana, no se podía hacer un lanzamiento hasta la siguiente ventana", dice Comas. “Al trabajar con el equipo de Compass Run, ahora podemos hacer implementaciones en producción con mucha más frecuencia, lo que da como resultado lanzamientos más pequeños y frecuentes. Por lo tanto, tienen mucha más agilidad y pueden cumplir con los requisitos comerciales con mayor rapidez. En resumen, la calidad del código mejoró, hay más velocidad y podemos cumplir con los requisitos comerciales mucho más rápido”.

Desde un punto de vista tecnológico, Comas dice que la plataforma UrbanCode brinda 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 confirma código sin realizar las pruebas unitarias adecuadas, se señalará. Si el desarrollador no lo tuviera como parte del flujo de trabajo, no se sabría. No habría retroalimentación en el proceso que le indicara el estado de la solicitud. Nuestro flujo de trabajo 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 el negocio quiere mucho más rápido. Esos son los objetivos finales; las razones por las que estamos en este camino de DevOps”.

Para Williams y Comas, DevOps consiste en generar confianza y establecer previsibilidad, velocidad y calidad en el ciclo de vida de la entrega de software. "Estamos proporcionando una infraestructura estable que garantiza el nivel de calidad y el nivel de servicio para nuestros equipos de aplicaciones", dice Comas. De hecho, el equipo de DevOps se está ganando tanta confianza que las unidades de negocio ahora les piden ayuda con proyectos más grandes. "Debido a que demostramos que las capacidades son flexibles y ampliables y que nos permiten cumplir con un cronograma muy ajustado, hemos visto que el volumen de proyectos aumentó seis veces, de diez a más de 60 solicitudes. Estamos proporcionando un camino hacia la producción de aplicaciones que genera un nivel de confianza que nunca antes tuvimos”.
 

…la calidad del código mejoró, hay más velocidad y podemos cumplir con los requisitos comerciales mucho más rápido. John Comas Gerente de DevOps de plataforma NBCUniversal
NBCUniversal

NBCUniversal es un conglomerado multinacional multimedia con sede en la ciudad de Nueva York. La empresa, con ingresos de aproximadamente 30 000 millones USD, participa principalmente en las industrias de medios y entretenimiento; entre sus divisiones más importantes se encuentran la cadena de televisión NBC y el principal estudio de cine, Universal Studios. A través de su división Universal Parks & Resorts es también el tercer operador mundial de parques de atracciones.
 

Dé el siguiente paso

Para obtener más información sobre el software IBM UrbanCode o IBM Cloud for Skytap Solutions, comuníquese con su representante de ventas o asociado de negocios de IBM, o visite los siguientes sitios web: 


Vea más historias de clientes o solicite más información sobre IBM Cloud

Ver PDF Ver video: NBCUniversal scales DevOps across a large, multi-speed enterprise
Notas de 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. Es posible que otros nombres de productos y servicios sean marcas registradas de IBM o de otras empresas. Puede consultar una lista actual de marcas registradas de IBM en la web en "Información sobre derechos de autor y marca registrada", en ibm.com/legal/copytrade.shtml. Este documento está actualizado a la fecha inicial de publicación e IBM puede modificarlo en cualquier momento. No todas las soluciones 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 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 en los términos y condiciones de los contratos en virtud de los cuales se suministran. Las declaraciones sobre la dirección e intención futuras de IBM están sujetas a cambios o eliminaciones sin previo aviso, y representan solo metas y objetivos.