BLOG

Cómo evitar pagar impuestos API este año

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 4 de abril de 2016

Es época de impuestos en Estados Unidos y sabes lo que eso significa, ¿no? Sí, todos estamos buscando formas de reducir esa carga.

Lamento decir que, si bien alguna vez trabajé como desarrollador para una empresa de software impositivo, realmente no estoy calificado para brindarle asesoramiento en ese aspecto. Pero si está buscando consejos sobre cómo evitar pagar impuestos API este año (o el próximo), entonces ha cargado la página correcta en Internet.

Un impuesto API es el costo general que usted paga cuando utiliza API para automatizar el aprovisionamiento y la configuración de la infraestructura como parte del proceso de implementación. El impuesto API (como todos los impuestos) no es fácil de calcular porque en realidad es doble: operativo y técnico.

Operativamente, el impuesto API genera costos en términos de recursos y tiempo consumido por llamadas API excesivas.  Incluso algo tan conceptualmente simple como un servicio de equilibrio de carga requiere la creación, configuración y habilitación de múltiples objetos. Es necesario configurar la monitorización, los pools, los algoritmos, las direcciones IP y los atributos de red, y cada uno de estos objetos requiere varios pasos (llamadas API) para hacerlo. Súmelos todos y hasta un servicio de equilibrio de carga simple requiere múltiples llamadas API para funcionar. Llamadas que tardan tiempo en ejecutarse. Llamadas que consumen recursos de red.

Estas llamadas API son utilizadas por arquitectos e ingenieros que escriben scripts (usando Python, PowerShell, etc.) para automatizar estas tareas de implementación comunes. Esto genera una deuda técnica inevitable. Cambiar la tarea requiere cambiar el código (porque los scripts son código, nos guste admitirlo o no) y probarlo, lo cual requiere tiempo y recursos que se traducen en dólares reales en el resultado final. 

Estos costos —para desarrollar, probar y mantener los sistemas y scripts— constituyen los impuestos técnicos sobre el uso de esa API. Esto significa que los scripts generan costos a largo plazo en forma de deuda técnica, relacionada con los costos asociados al mantenimiento del código necesario para la automatización mediante esas API y el costo de cambiar no solo la automatización, sino también, posiblemente, la infraestructura.

Todo esto se traduce en una factura considerable que, como los impuestos “reales”, es prácticamente inevitable. Si desea obtener los beneficios de un proceso de implementación automatizada , deberá incluir la infraestructura, es decir, todo lo que se encuentra entre el usuario y la aplicación y garantiza que ambos puedan comunicarse de manera fluida y segura.

Muy bien, dicho todo esto, prometí explicar cómo puedes evitar pagar estos impuestos, así que aquí vamos.

Si ha estado observando el espacio de orquestación (y eso incluye a los actores de SDx como VMware, Cisco y OpenStack), notará que hay un énfasis creciente en el uso de plantillas.  Las plantillas son muy parecidas a los archivos de configuración en el sentido de que codifican una gran cantidad de información necesaria para crear y configurar alguna “cosa”. Si puede crear una única plantilla que abarque la implementación de ese servicio de equilibrio de carga, por ejemplo, puede reducir ostensiblemente las llamadas API necesarias a solo una: la que envía la plantilla a la que residirá ese servicio.

Usar solo una llamada API en lugar de muchas simplifica la automatización y le permite reutilizar el script o el sistema que impulsa la plantilla. Esto es importante porque cuando se utilizan API, hay que escribir scripts que no sólo sean específicos del servicio, sino también de la aplicação que se está implementando. Eso significaría que para cada aplicación que implementes tendrías que escribir otro script para automatizar la implementación de los servicios que necesita, como el equilibrio de carga. 

Pero si utiliza plantillas, puede utilizar el mismo script y simplemente enviar una plantilla diferente. Esto significa menos tiempo esperando un nuevo script para cada aplicación y menos errores que buscar, como cuando Bob copió y pegó por decimoquinta vez y olvidó cambiar la línea 33.

Las plantillas son infraestructura como código, el santo grial de DevOps. 

Todavía necesitas API, pero no es necesario usarlas para todo. Y si puedes evitarlo, mediante el uso de plantillas, podrás evitar pagar los impuestos asociados a ellas y transferir esos ahorros a otro lugar.