ADAPTACIÓN DEL CRECIMIENTO CON EL NUEVO ENFOQUE DE RED
Microsoft Corporation desarrolla y fabrica sistemas de software, computadoras y productos electrónicos para los usuarios, y además les brinda soporte y ofrece otros servicios relacionados. Su misión es que "cada persona y empresa en el mundo tenga la posibilidad de obtener mejores resultados" y, para respaldarla, ha establecido el objetivo de lograr la digitalización integral. Este enfoque simplifica los procesos y las experiencias de los usuarios finales en todos sus servicios y aplicaciones.
"La transformación digital en Microsoft consiste en eliminar el trabajo manual para rediseñar las operaciones y mejorar por completo la experiencia de los clientes", comentó Ryan Mecca, gerente del grupo de ingeniería de software principal del Departamento de Plataformas de Ingeniería e Información de los Datos de Microsoft.
Para satisfacer las expectativas de los clientes y los partners, debíamos abordar la gran complejidad de la infraestructura de red empresarial, la cual incluye decenas de miles de extremos, más de 400 ingenieros y cerca de 150 000 miembros del personal, y comunica todas las oficinas, las instalaciones y las tiendas minoristas de Microsoft alrededor del mundo.
"Tenemos miles de dispositivos de varias marcas, modelos y versiones de software, así que a veces resulta difícil mantenerse al día con todos los proveedores y las distintas formas en que interactuamos con esos dispositivos", afirmó Bart Dworak, gerente de ingeniería de software en Microsoft.
Además, el código que creaban los equipos de desarrollo e ingeniería no se controlaba por versión ni se sometía a la revisión de los colegas, lo cual generaba problemas de duplicación, calidad y complejidad. "Teníamos que cambiar el enfoque para gestionar e implementar la red global, lo cual no solo implicaba modernizar las plataformas, sino también adquirir habilidades nuevas", mencionó Mecca.
Con el objetivo de simplificar las tareas y satisfacer la demanda del mercado, Microsoft buscó la manera de crear un marco de automatización que tuviera capacidad de ajuste y que no dependiera de ninguna tecnología, el cual no solo permitiría reducir las cargas de trabajo manuales con procesos y herramientas eficientes, sino que también disminuiría los problemas de rendimiento y seguridad con un código estandarizado y probado. De este modo, se reemplazaría la solución heredada de automatización de la producción, para ofrecer funciones de automatización integral con el respaldo de un enfoque de desarrollo uniforme y más colaborativo.
CREACIÓN DE LOS ENTORNOS DE AUTOMATIZACIÓN DE LA MANO DE UN PARTNER ESTRATÉGICO
Dado que Microsoft es uno de los colaboradores principales del open source, buscaba una solución de software empresarial que utilizara este tipo de tecnología, que ofreciera la automatización eficiente en los distintos proveedores de red y que brindara oportunidades de participación y colaboración para el personal. Decidió trabajar con su partner estratégico Red Hat para adoptar Ansible Automation Platform y ejecutarla en Microsoft Azure.
"Nuestra misión estratégica es respaldar el uso de la nube de Azure e impulsar su crecimiento. Hemos notado que el número de usuarios de Ansible en Azure aumenta a pasos agigantados, lo cual permite que nuestra nube crezca y que cada vez más colaboradores ayuden a mejorar la plataforma. En el sector se siente la motivación por el uso de Ansible y Azure de forma conjunta", sostuvo Meca.
Los equipos de Microsoft definieron tres entornos de automatización:
- El de desarrollo, donde se crea el código y se prueba a pequeña escala
- El de las pruebas de verificación de los usuarios (UAT), donde los colegas analizan y prueban el código según sea necesario
- El de producción
Ahora los ingenieros automatizan las tareas diarias y repetitivas implementando los playbooks de Ansible en la red mediante un sistema centralizado que controla sus versiones. Además, los tres entornos admiten un enfoque colaborativo de DevOps entre los equipos de red y de ingeniería de la empresa.
Microsoft trabajó de cerca con Red Hat Consulting en la adopción de Ansible, lo cual incluyó la planificación inicial en las instalaciones de Redmond, así como el diseño de la arquitectura y la capacitación constantes durante nueve meses. Por ejemplo, los equipos de Microsoft y los arquitectos de Red Hat eligieron GitHub como repositorio único de las versiones del código fuente.
"Establecimos una relación excelente. El equipo de Red Hat vino directamente a nuestras oficinas para trabajar con el personal, con quien se generó un gran sentimiento de compañerismo. Las implementaciones grandes siempre presentan desafíos, en especial si tenemos en cuenta la envergadura de Microsoft, pero cada vez que encontrábamos errores en el caso práctico, nos reconfortaba ver el gran compromiso de los consultores de Red Hat para ayudarnos a desarrollar e implementar las funciones nuevas que solucionaran los inconvenientes con rapidez", afirmó Mecca.
CREACIÓN DE UNA CULTURA DE DESARROLLO MODERNO
AUTOMATIZACIÓN ESTANDARIZADA DE LA RED SEGÚN SEA NECESARIO
Microsoft utilizó sus entornos preparados de Ansible para automatizar las tareas rutinarias de ingeniería, como la distribución de los cambios basados en la lógica para garantizar la disponibilidad de los servicios para los clientes. Los eventos en la red activan otros flujos de trabajo, como la telemetría, el seguimiento de los incidentes, el registro y el análisis avanzados. La automatización de la TI basada en Ansible también ayuda a que la empresa siga un enfoque iterativo y en etapas para crear código de buena calidad con los lanzamientos programados de las configuraciones de red probadas y verificadas.
La adopción estandarizada de una solución sencilla de automatización no solo permitió que Microsoft resolviera la complejidad creando una fuente única de información para los servicios, las dependencias y las integraciones, sino que también posibilitó que el personal externo al equipo de ingeniería se concentrara en el diseño de los servicios con el código que revisan sus colegas. Ahora, los equipos de DevOps pueden trabajar de forma más eficiente en la creación de las funciones y los servicios nuevos y valiosos para los usuarios finales, sin perjudicar el rendimiento del proceso de producción.
"La transformación digital realmente cambió nuestra perspectiva sobre la forma de resolver los problemas. Antes, debíamos realizar las mismas implementaciones de forma manual una y otra vez, y ahora Ansible nos permite crear planos técnicos para realizar varias implementaciones idénticas a la vez. En lugar de tener que rehacer el trabajo y generar varias versiones que se usan una sola vez, podemos perfeccionar el código compartido de manera constante", comentó Dworak.
Gracias a este enfoque, Microsoft puede seguir adaptándose para satisfacer las demandas de los clientes mucho más rápido.
EL ENFOQUE DE DESARROLLO COLABORATIVO EN MICROSOFT
Microsoft también tuvo que implementar un cambio cultural que respaldara la adopción de la tecnología de automatización moderna. Toda la empresa está comprometida a adquirir habilidades nuevas y familiarizarse con las tecnologías actuales: mientras los desarrolladores aprenden sobre las conexiones de red, los ingenieros de redes estudian el desarrollo de software y las herramientas que se utilizan en el proceso, como Git y Ansible.
Este enfoque de DevOps sobre las tareas laborales y el desarrollo profesional ha mejorado la colaboración y el entendimiento entre los equipos. Uno de los ingenieros creó Zero to Hero, una serie de capacitación sobre los conceptos de la automatización y la escritura de los playbooks de Ansible. Además, actualmente hay grupos autoorganizados de aprendizaje sobre Python, y más de 100 participantes activos debaten y comparten información en una comunidad interna sobre la automatización. Los equipos de Microsoft ahora tienen la seguridad y las habilidades nuevas que les permiten resolver los desafíos empresariales de forma novedosa y creativa utilizando el código y los playbooks.
"Los equipos trabajan juntos para solucionar los problemas de ingeniería en un entorno compartido. Realmente podemos apreciar One Microsoft en acción", afirmó Sonika Munde, ingeniera de servicios de acceso remoto del Departamento de Ingeniería de Servicios Básicos de Microsoft.
A su vez, Microsoft puede realizar aportes a la comunidad open source de Ansible. "Desde el comienzo, usamos el código y las ideas disponibles en la comunidad, pero ahora que estamos avanzando más rápido y desarrollando soluciones, podemos contribuir con ella ofreciéndole nuestras propias ideas", comentó Dworak.
AHORRO DE MILES DE HORAS DE TRABAJO PARA LOS EQUIPOS DE OPERACIONES DE MICROSOFT CON ANSIBLE
Gracias a la implementación de Ansible, Microsoft redujo el tiempo de inactividad en la producción y los errores en la configuración de la red, lo cual le permitió ahorrar miles de horas de trabajo al año, incluso varias semanas. La empresa llevó a cabo la revisión entre los colegas y la integración de cambios validados en el código a través de los entornos de preproducción, con lo cual disminuyó la cantidad de fallas y errores que se introducían en la producción. Este enfoque reduce los incidentes y las interrupciones graves, y mejora la calidad de la red.
Además, la resolución ágil de los inconvenientes implica que se dedique menos tiempo a las tareas repetitivas de soporte. "Analizamos el tipo de alertas y solicitudes de seguimiento de incidentes que recibía el servicio de atención al cliente, y logramos programar la automatización para que se encargara de la mayoría de ellos. De hecho, ahora mismo contamos con un proceso automatizado que cierra entre el 97 % y el 98 % de las solicitudes de seguimiento de incidentes que recibimos", dijo Dworak.
La automatización estable y estandarizada permitió que Microsoft ahorrara tiempo y dinero, y ahora sus equipos pueden concentrarse en idear soluciones innovadoras de infraestructura que mejoren la calidad del servicio para los usuarios finales.
REFLEXIÓN SOBRE LAS POSIBILIDADES QUE OFRECEN LA TECNOLOGÍA Y LA CULTURA
Dado que Microsoft se centra en las personas, los procesos y la tecnología, logró mejorar la automatización y pasar de la creación de scripts y los cambios manuales a un enfoque de integración y distribución continuas (CI/CD), con el respaldo de la arquitectura centralizada y basada en los servicios.
"La complejidad y la envergadura de nuestras redes y operaciones nos obligó a pensar como ingenieros de software y desarrollar una solución que fuera útil, que ofreciera una gran disponibilidad y que repitiera los procesos. Contamos con el respaldo sólido del equipo directivo y notamos que el personal está cada vez más interesado en automatizar las tareas operativas", explicó Munde.
Red Hat y la tecnología de Ansible seguirán siendo importantes en el enfoque de automatización de Microsoft, por ejemplo, como parte de la visión estratégica de la red como código para gestionar, mantener e implementar las redes globales con la automatización. Sin embargo, las personas siguen siendo el elemento fundamental para la transformación y el crecimiento de la empresa.
"Todos los procesos, los servicios y las aplicaciones de Microsoft se encuentran en la etapa de digitalización y optimización. Estamos invirtiendo en la automatización de todos los procesos esenciales de la empresa, así que la tecnología resulta muy importante, pero la cultura es primordial", dijo Ludovic Hauduc, gerente general de ingeniería de las plataformas básicas de Microsoft.
ACERCA DE MICROSOFT
Microsoft ("MSFT" @microsoft, por el Nasdaq) posibilita la transformación digital para la era de la nube y el extremo de la red inteligentes. Su misión es que todas las personas y empresas del mundo tengan la posibilidad de lograr mejores resultados.