Microoptimización: ¿Costes por actividad para servicios digitales?
15 de octubre 2019
Por Mark Schwartz, Enterprise Strategist en Amazon Web Services
Microoptimización: ¿Costes por actividad para servicios digitales?

El mundo digital está provocando una transformación radical de las atribuciones de los directores financieros. Por un lado, la nube y DevOps están convirtiendo lo que solían ser costes fijos en costes variables. Por otro, la capacidad que tenemos hoy en día para iterar y distribuir servicios muy rápidamente hace posible, e incluso esencial, que tomemos decisiones financieras en función de los costes y retornos marginales, en lugar de hacerlo en función de costes medios o totales.

Y la última pieza para completar el rompecabezas: gracias a la nube podemos desglosar cada transacción digital en los costes de cada uno de sus componentes, para así optimizarlos y obtener más información sobre nuestros costes y beneficios por unidad. Y esto no sólo a nivel de cliente o por transacción, sino a nivel de cada una de las operaciones digitales que componen cada transacción. Las consecuencias de adoptar este planteamiento, como ilustraré a continuación, son muy significativas, tanto a nivel financiero como de gestión informática.

El primer indicio que tuve de que esta nueva posibilidad estaba en el horizonte fue durante una conversación con dos de nuestros expertos en serverless de AWS. Estábamos hablando sobre las consecuencias que iba a traer consigo el serverless y todos coincidíamos en que iban a ser mucho más trascendentales de lo que la mayoría pensaba. Para aquellos de vosotros que no estéis familiarizados con el concepto de serverless, lo mejor sería empezar por una breve explicación. Tradicionalmente, las infraestructuras informáticas consistían en equipos en servidores físicos, que conformaban centros de datos. Estos equipos representaban costes fijos, o costes escalonados por ser más precisos, ya que cada servidor podía gestionar un volumen x de transacciones, más allá del cual debía ser reemplazado o ampliado. Con la llegada de la nube, las empresas pueden pagar por servidores "virtuales" gestionados por AWS, lo que representa una mejora tremenda en términos de flexibilidad, ya que esto les permite aumentar o reducir el volumen de servidores contratados al instante o variar la capacidad de computación de sus servidores en función de las cambiantes necesidades de sus actividades.

Sin embargo, con la llegada de los entornos serverless de la mano de AWS Lambda, las compañías han dado otro paso de gigante en materia de flexibilidad. Ya no se ven en la necesidad de provisionar servidores virtuales. Ahora, simplemente pueden decidir qué código desean ejecutar y bajo qué condiciones, y AWS se encarga del resto sin necesidad de su intervención. Así, las compañías pagan únicamente por el tiempo en que se ejecuta su código. Bajo este modelo, la informática se convierte en un servicio que funciona como el suministro eléctrico: enciendes un interruptor y ya está funcionando. Apagas el interruptor y deja de funcionar. Solo pagamos por la electricidad cuando hacemos uso de ella.

Ahora, paraos a pesar en cómo esto cambia el panorama económico. El código solo se ejecuta cuando se procesa una transacción y el coste final depende únicamente de la ejecución del código. Dicho de otro modo, los costes pasan a ser algo puramente variable, determinados por las propias transacciones.

A continuación, consideremos que cada transacción de cada cliente se gestiona empleando múltiples componentes de software, llamados microservicios. Así, por ejemplo, cuando compramos algo a través de Internet, es probable que nuestra transacción se delegue a un microservicio que consulta nuestros datos como cliente; otro que consulta el inventario del comercio; otro que procesa el pago mediante tarjeta de crédito y otro que informa al almacén de que se recoja y empaquete el producto. Algunos de estos microservicios pueden haber sido creados por vosotros, mientras que otros pueden ser obra de otras compañías. Sin embargo, cada uno de estos microservicios utiliza recursos serverless, por lo que no resulta complejo calcular el coste de ejecutar un microservicio en particular.

Podríamos decir, por lo tanto, que una transacción digital requiere de una serie de actividades, por lo que podemos desglosar el coste de una transacción en los costes de las diversas actividades que la componen. Esto significa que podríamos analizar nuestros costes en función de cada actividad realizada, ¡incluso en el caso de las actividades internas de las infraestructuras informáticas!

¿Y qué aliciente tenemos para hacerlo? Por un lado, esto nos permite entender los costes unitarios en el máximo detalle, lo que a su vez nos permite tomar decisiones que aumentarán nuestra eficiencia en el que, probablemente, sea un foco de costes en aumento para vuestro negocio. No solo podréis ver cuál es el rendimiento económico de un cliente dado, sino que podréis saber cuál es el rendimiento económico de cada transacción e incluso de cada una de las funciones que compone dicha transacción. Esta información os permitirá determinar precios y decidir qué funciones ofrecer en un producto y cuáles de ellas publicitar.

También podéis plantearos otras formas de estructurar los servicios digitales que componen vuestras transacciones. Tal vez os resulte más rentable dejar de utilizar microservicios de terceros y desarrollar equivalentes internamente. Hasta ahora, solo era posible tomar este tipo de decisiones comparando los costes fijos de desarrollar el microservicio frente al coste de la licencia de uso del servicio actual. Sin embargo, en ese análisis faltaba un elemento de costes cada vez más importante: el coste en términos de infraestructura o de recursos de computación. Ahora ya es posible considerar ese coste como factor a la hora de decidir entre desarrollar soluciones o usar las de terceros bajo licencia.

Vuestros tecnólogos también podrán utilizar esta información para escoger mejor qué servicios adquirir o qué diseños técnicos elegir a la hora de determinar la arquitectura de sus sistemas. Esta información nos permite realizar decisiones al nivel más elemental que, cuando uno opera a un gran volumen, puede representar una diferencia muy sustancial en términos de costes y rentabilidad.

Y lo que probablemente sea aún más importante, esta información nos permitirá delegar responsabilidades en materia de coste y rentabilidad a los equipos que desarrollan y gestionan vuestros servicios digitales con mayor tranquilidad y eficacia. Así, serán responsables no solo de los costes del desarrollo del servicio, lo que tenía sentido cuando concebíamos los servicios como simples bienes de capital que nunca cambiaban, sino también de sus costes de funcionamiento.