BLOG

No sabíamos que necesitabas…

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 28 de marzo de 2017

Mucha gente evita el componente “cultural” asociado con DevOps. Pero ligado a la “cultura” está la “comunicación”, y la comunicación es fundamental para el éxito no solo de DevOps, sino también para cualquier esfuerzo de automatización y orquestación en la empresa.

No lo sabía

No sabíamos que necesitabas… el puerto 7243 abierto.

No sabíamos que necesitabas… nuevas entradas DNS.

No sabíamos que necesitabas… la dirección IP del cliente.

No sabíamos que necesitabas…

No lo sabíamos

Esas tres pequeñas palabras ilustran, quizás de manera más conmovedora que cualquier otra, el desafío de las comunicaciones que existe en muchas empresas hoy en día. Los marcos y los scripts solo pueden automatizar lo que usted les dice que automaticen, y eso significa que en algún momento usted debe saberlo. ¿Cómo lo sabes? Eso es comunicación.

Es un cliché en TI que los chicos de red no hablan con los desarrolladores y que a los de operaciones no les gusta la seguridad, pero la realidad es que, a menos que cada uno de los dominios operativos que gobiernan el entorno de producción sepan lo que es necesario para implementar una aplicación en producción, no se puede orquestar.

Oh, tareas individuales como configurar un firewall o balanceador de carga se pueden realizar con bastante facilidad, pero cada una de ellas requiere información específica de la aplicación para ser útil. No puedes abrir un puerto si no sabes cuál está usando la aplicación. Nuestros datos de iHealth de enero de 2017 muestran que entre más de 6000 clientes hay 36 731 puertos distintos (únicos) en uso. No hay muchos protocolos en uso en la empresa (hay muchos, pero no tantos), lo que significa que una variedad de sitios utilizan protocolos que no están en sus puertos “nativos”. Incluso las aplicaciones web se distribuyen en múltiples puertos. Estos son los que sin duda te vienen a la mente cuando digo HTTP/S: los puertos 80 y 443. Y también se utilizan a menudo puertos alternativos para esos protocolos: los puertos 8080 y 8443. Luego está 8081 (utilizado por 4605 servidores virtuales diferentes, que aproximadamente representan aplicaciones) y 8082. Y, por supuesto, hay muchos puertos por encima del rango privilegiado (0-1024) que están en uso sin que se pueda discernir (según mis datos) ninguna aplicación relacionada. Esto se debe a que el puerto 10203 no tiene asignado un protocolo estándar.

La cuestión aquí es que no podemos simplemente asumir un puerto específico para cualquier implementación de aplicação determinada. Esa información debe comunicarse en caso de que alguien quiera ejecutar el back-end de su API pública en un puerto diferente. La seguridad a través de la ofuscación sigue siendo una cosa, amigos.

Además de un dato tan simple, no se puede configurar un balanceador de carga si no se sabe qué dirección IP pública o nombre de host está utilizando o qué servicios de back-end se deben incluir en cada clúster. Esta es la información que usted necesita, y esa información tiene que fluir desde el equipo de desarrollo u operaciones hasta las personas que administran los sistemas, generalmente en netops. 

Eso significa comunicaciones. No es que no puedas crear una herramienta o un formulario para recopilar esa información. La economía de las (Otras) API y los esfuerzos de transformación digital interna casi requieren que dichos intercambios sean de naturaleza digital. Pero para crear un formulario o API para recopilarlos, debes saber qué datos quieres recopilar.

Tienes que sentarte y discutirlo. Con pizza y café. Con cerveza y alitas. Por correo electrónico o por teléfono. De alguna manera es necesario comunicarse con todos los distintos grupos responsables de la implementación de una aplicação y asegurarse de saber lo que necesita saber.

Cuando la gente habla de cultura y comunicaciones en el contexto de DevOps, esto es una de las cosas que intentan transmitir.

Por supuesto, hay más que eso, pero no podemos ignorar que en el centro de la aceleración de las cosas para satisfacer las demandas de las empresas y los consumidores está la simple premisa de la comunicación. De saber qué necesita una aplicación para ser más rápida, más inteligente y más segura. Porque lo que no se sabe no se puede automatizar, y lo que no se puede automatizar requiere una intervención manual que puede introducir demoras y desafíos en el proceso de implementación. Si quieres que las aplicaciones sean más rápidas y seguras, tienes que trabajar de forma más inteligente, no más dura, y todo comienza con la comunicación entre todas las partes interesadas para que sepas qué se necesita.

En un mundo que atraviesa una transformación digital, saber realmente es la mitad de la batalla. La otra mitad es tecnología. No es posible ejecutar con éxito una estrategia digital que incluya, en parte, un enfoque DevOps para el desarrollo y la implementación, sin ambos.