Nota del autor: ¿Se puede automatizar la TI en un 99 %? Hemos visto el crecimiento de la computación sin servidor y una variedad de enfoques «Ops» para automatizar el software y las canalizaciones de datos. Esta es una actualización de un artículo publicado originalmente en febrero de 2019, que plantea preguntas que aún se están reflexionando. Especialmente en la década de 2020 hiperdigital posterior a Covid.
En un estudio de caso reciente de un cliente de AWS, SGK Inc. informa que redujo sus costos operativos de TI en un 83 % con NoOps y microservicios sin servidor. La empresa de soluciones de empaquetado y comercio electrónico señaló que «el lanzamiento de AWS Fargate a fines de 2017 fue un momento decisivo para respaldar a NoOps como una excelente opción para una API completamente escalable. SGK lanzó su primera aplicación utilizando un enfoque NoOps a principios de 2018 , y desde entonces, todas sus soluciones son NoOps y serverless».
Con el aumento de la automatización, se ha hablado de un nuevo modo de entrega de software: «NoOps». Es decir, el código nuevo se canaliza rápida y automáticamente desde el lóbulo frontal de los desarrolladores hasta la oficina principal con una necesidad mínima de acción humana.
La gente de TechTarget proporciona una definición de NoOps como «el concepto de que un entorno de TI puede volverse tan automatizado y abstraído de la infraestructura subyacente que no hay necesidad de un equipo dedicado para administrar el software internamente».
Le pedí a Greg Nist, director de Talend Academy, que me explicara las ventajas de un enfoque NoOps. Señala a NoOps como la próxima evolución del modelo de desarrollo de DevOps. «Las empresas que han adoptado el modelo DevOps han visto beneficios significativos en comparación con el modelo en cascada en silos», señala. «DevOps combina el rol de desarrollador y operador para aumentar la responsabilidad y acelerar el tiempo de implementación de productos innovadores, lo que proporciona un verdadero valor agregado para la empresa y el cliente».
Todo bien, por supuesto. Pero luego Nist plantea la siguiente fase: «¿Qué pasaría si pudieras hacer la transición de algo grandioso a algo aún mayor, algo que podría aumentar el tiempo dedicado al desarrollo?» él pide. «Ahí es donde entra NoOps. Al aprovechar los servicios en la nube, las organizaciones pueden reducir aún más el trabajo de administración, configuración e implementación para maximizar el tiempo de desarrollo».
¿Qué pasa con las organizaciones con iniciativas DevOps débiles o inexistentes? ¿Pueden dar el salto a un modelo NoOps? Dado que también es probable que los rezagados de DevOps todavía estén atrapados en infraestructuras heredadas locales, un cambio a la nube puede ayudar a allanar el camino, afirma Nist.
Otros, sin embargo, recomiendan precaución con NoOps: no es una panacea y es demasiado pronto para pensar en entregar las claves de implementación del software a los robots. Todavía hay una necesidad de supervisores humanos para manejar eventos y condiciones inesperados. Si bien hemos recorrido un largo camino con las herramientas, «la idea de que se puede eliminar completamente a las personas de esta ecuación es bastante absurda, al menos en los próximos cinco años», dice David Linthicum en una columna de InfoWorld. Señala que los sistemas heredados hacen que NoOps no sea un comienzo para muchas organizaciones, pero, lo que es más importante, socava la premisa centrada en las personas de DevOps. «DevOps no se trata solo de la automatización de operaciones, se trata de personas que trabajan juntas para mejorar continuamente el desarrollo y las operaciones de software», dice.
Aún así, avanzar hacia NoOps ofrece un impulso de productividad que puede fortalecer el proceso de innovación, dice Nist. «Creo que es más útil comparar NoOps con el flujo de trabajo típico de DevOps, que en realidad es solo una iteración entre compilación, prueba y lanzamiento. Las piezas de compilación y prueba son las que brindan valor al negocio, y el modelo DevOps hace un buen trabajo de encoger lo que no aporta valor: la fase de liberación», explica. «Sin embargo, aunque la ventana de lanzamiento con DevOps es más pequeña, todavía está allí. Y DevOps ha creado este tipo de área gris donde los desarrolladores y el personal de operaciones se superponen en la etapa de lanzamiento».
Esta área gris de superposición puede crear enredos que crearán cuellos de botella. «Digamos que, como desarrollador, la implementación de su clúster no se hizo por usted, y está haciendo las cosas de forma manual o incluso con secuencias de comandos», continúa Nist. «Si no lo hace bien y va a validar su entorno una vez que finaliza su lanzamiento, se quedará atrapado en un ciclo de depuración y tratará de averiguar dónde salió mal. Eso se ralentizará». se cae, y podría deberse a un simple error, como que olvidó hacer clic en una de las opciones de alta disponibilidad que necesitaba, y todo se estropea».
El modelo NoOps, por otro lado, «aumenta el nivel de abstracción en torno a la implementación de lanzamientos, lo que permite a los desarrolladores dedicar más tiempo a la creación y prueba. De hecho, con los servicios de nube administrados, es posible con solo unos pocos clics configurar todo su entorno, con todas las herramientas y el marco necesarios para ejecutar un proyecto. En 15 minutos puede obtener un clúster de alta disponibilidad y en pleno funcionamiento con todo el software y los componentes que necesita».
¿Cómo cambiarán los roles de las personas de operaciones si la empresa se traslada a NoOps? En el escenario descrito anteriormente, «la necesidad de operaciones en lo que respecta a los roles de configuración e implementación se reduce significativamente, tanto que los desarrolladores podrían convertirlo en parte de su flujo de trabajo», dice Nist. «Y si permite la administración y el monitoreo reales del servidor, a través de servicios de nube administrados, sugeriría que no haya equipos de operaciones».
Esto puede significar más oportunidades para que el personal de operaciones eleve sus roles en sus organizaciones, «para transformar a los profesionales de operaciones altamente calificados en roles en los que puedan dedicar sus habilidades a más actividades de valor agregado», dice Nist. Puede hacer la transición de su energía de algo que alguna vez fue simplemente una necesidad a algo que realmente agrega valor al cliente. Como ejemplo, piense en todo el tiempo que se dedica a Kubernetes, que tiene una demanda de configuración masiva. Elimine eso de los hombros del personal de operaciones, y tendrán el tiempo y los recursos para tareas más críticas como la implementación continua, el seguimiento granular del uso, mejores pruebas y más».
Los desarrolladores también pueden beneficiarse, por supuesto. «NoOps libera la parte del tiempo y la energía que actualmente dedican al último elemento de su proceso: la liberación», dice Nist. «Estás literalmente eliminando tareas de los platos de los desarrolladores, lo que solo puede significar que pueden hacer lo que necesitan y quieren hacer: desarrollar nuevos productos y servicios geniales».

