Haciendo que la empresa sea componible

Hace aproximadamente una década, el director ejecutivo de Red Hat, Jim Whitehurst (ahora presidente de IBM), utilizó el término “componibilidad” como un gancho para su discurso de apertura. “Quiero hablarles sobre la era de la tecnología componible y cómo [as developers] todos ayudarán a construirlo ”, dijo Whitehurst.

Desde la perspectiva de las aplicaciones, desarrollar software de manera que se pueda componer, utilizando componentes de software, es mucho más flexible y fácil que crear aplicaciones como aplicaciones monolíticas integradas verticalmente.

“Si puede escribir código en secciones pequeñas que se pueden probar e implementar de forma independiente, simplifique la integración de nuevos componentes de la aplicación y entregue estas actualizaciones mucho más rápidamente, eso puede ser una ventaja competitiva significativa”, dice Antony Bourne , vicepresidente senior de industrias en IFS.

En la práctica, esto significa que es mucho más fácil aprovechar y aplicar herramientas como la automatización de procesos robóticos, la inteligencia artificial o la plétora de capacidades de hiperautomatización disponibles en la actualidad, destinadas a simplificar los flujos de trabajo y optimizar los procesos comerciales.

Ariel Assaraf, director ejecutivo de la plataforma de análisis de transmisión estatal Coralogix, cree que el pensamiento componible es el primer bloque de construcción de un negocio componible. “Nuestra forma de pensar influye en todo lo que hacemos, nos guía para decidir no solo qué componer, sino también cuándo y cómo”, dice. “Basándonos en una mentalidad de componibilidad, podemos comenzar a implementarla en toda la organización o, más específicamente, en la arquitectura empresarial y las pilas de tecnología.

“¿Cómo podemos modularizar la empresa y el producto de tal manera que cada parte pueda funcionar más o menos independientemente de las demás?”

La abstracción tiene un papel clave. En la visión de Assaraf de una empresa componible, cada componente modular, desde la pila de tecnología de la organización hasta la arquitectura empresarial, recibe un cierto nivel de abstracción para permitir una mayor agilidad.

Pero agrega: “Hay un punto de rendimientos decrecientes en la abstracción. Si lo llevamos demasiado lejos y descomponemos todo al nivel ‘atómico’, todo se ralentiza porque se está haciendo desde cero “.

Para Assaraf, cada parte requiere total autonomía, pero lograr que las partes funcionen juntas es el mayor desafío. “Necesitamos encontrar un equilibrio entre la autonomía y la abstracción”, dice.

Reutilización de código estándar

Rod Cope, CTO de Perforce, cree que en lugar de trabajar a nivel de widget, los desarrolladores de software están hablando de bases de datos, nubes y máquinas virtuales reutilizables. Además, el código abierto, cuya adopción está creciendo rápidamente en organizaciones de todo tipo, es en sí mismo una forma de desarrollo componible.

En un mundo ideal, nada tiene que construirse desde cero. Pero por el momento, la demanda de un desarrollo más rápido y a escala significa que reunir componentes efímeros para entregar proyectos rápidamente está impulsando el ritmo del cambio.

Como señala Cope, algunos componentes de infraestructura aprobados y con seguridad reforzada, como Ansible, Chef y Puppet, pueden ayudar a los equipos de desarrollo de software a acelerar el desarrollo de aplicaciones simplemente tomando un componente listo para usar y personalizándolo para sus necesidades particulares. utilizando un enfoque automatizado de infraestructura como código.

El resultado neto, dice, es que los desarrolladores pueden componer piezas bien probadas en un flujo de trabajo de DevOps existente, proporcionando una mayor agilidad y calidad, a velocidad y a escala. “La buena noticia para los desarrolladores es que dedican menos tiempo a crear bloques de construcción básicos, pueden entregar más código más rápidamente, con suerte, liberando algo de tiempo para dedicarlo a ideas innovadoras más listas para usar, o al menos, agregando a una aplicación cualquiera que sea su contribución única ”, dice.

API para componibilidad

En el mundo del negocio componible, los equipos de productos deben poder entregar software personalizado rápidamente para responder a las nuevas oportunidades de mercado que surgen, dice Guy Sayar, CTO para la región EMEA en HashiCorp. “Las aplicaciones y la infraestructura evolucionarán invariablemente de formas impredecibles”, dice. “Esta fluidez solo se puede obtener en un sistema definido por una API [application programming interface]. “

Sayar recomienda que las API no solo se utilicen para ofrecer la infraestructura de software que impulsa la innovación digital, sino que también se deben utilizar dentro de los procesos de construcción y mantenimiento de esta infraestructura. Este es un modelo centrado en API, que está siendo impulsado por una madurez creciente entre los tomadores de decisiones y los usuarios de la nube.

“Los equipos de TI y de negocios están cada vez más dispuestos a hacer que terceros de confianza formen parte de sus infraestructuras nuevas y ampliadas, para ejecutar sus aplicaciones en tiempos de ejecución innovadores y conectar servicios valiosos a través de esas API”, dice.

Si bien las API ayudan a los equipos internos y a los socios externos a conectarse a las aplicaciones de back-end, Kelly Goetsch, directora de productos de Commercetools, dice que desde la perspectiva del usuario final, las personas pueden tener necesidades dramáticamente diferentes en términos de los datos que requieren, potencia de procesamiento y conectividad a internet.

Por ejemplo, mire la cantidad de llamadas a la API necesarias para construir la línea de tiempo de Facebook de un usuario, dice Goetsch. “Ahora, imagina realizar todas esas consultas desde un antiguo Apple Watch con una mala conexión a Internet”.

Facebook creó una especificación sobre cómo consultar datos llamada GraphQL. GraphQL Foundation, el hogar de GraphQL, define GraphQL como “un lenguaje de consulta para sus API”.

Facebook lo ha estado usando internamente desde 2012 y lanzó públicamente la especificación en 2015. Desde entonces, se ha popularizado rápidamente y ahora es utilizado por Twitter, Microsoft, Amazon, Google y el New York Times, entre muchos otros.

Goetsch dice: “Con GraphQL, solo hace una sola consulta, especificando exactamente qué datos desea recuperar. La capa GraphQL luego realiza solicitudes a las API individuales (desde el lado del servidor) para cumplir con la solicitud. Como desarrollador, obtiene una única respuesta que contiene todo lo que necesita para representar la página de detalles de su nuevo producto. Piense en GraphQL como SQL, donde puede recuperar datos de varias tablas de bases de datos mediante una consulta “.

Según Goetsch, GraphQL resuelve la recuperación excesiva, la recuperación insuficiente, la capacidad de detección, la autorización / autenticación y más. Él dice que está construido explícitamente para que los desarrolladores del lado del cliente recuperen datos de las API fácilmente y ha surgido como el estándar y el “pegamento” para la componibilidad.

Expansión de API

Sayar de HashiCorp dice que la infraestructura componible requiere una cultura API que sea independiente. Pero advierte: “Existe una delgada línea entre lo independiente y lo caótico. En las grandes prácticas de DevOps, los equipos crean y ejecutan miles de API. El resultado predeterminado será “expansión de API”. La deuda técnica obstaculizará el éxito a largo plazo “.

En su experiencia, otro desafío es la diversidad de marcos de desarrollo utilizados en una organización, como Java, .Net, Node y Python. “El desafío aquí es traducir la capacidad de composición en todas estas tecnologías dispares”, dice Sayer.

Es posible simplificar la expansión de API y administrar múltiples marcos utilizando una plataforma que ofrece patrones de arquitectura comunes, un catálogo de servicios de capacidades complementarias y una serie de contratos de tecnología entre los equipos de desarrollo y operaciones, agrega.

La fotografía más grande

Si bien existen claros beneficios para los desarrolladores de software al tener bibliotecas de componentes de software prediseñados que se pueden incorporar para crear nuevas funciones con muy poco esfuerzo, la capacidad de composición tiene ramificaciones en todo el negocio.

En un artículo reciente, Ram Chandel, director principal de oferta de mercado de comercio digital en Deloitte Consulting, y Paul do Forno, director de eminencia de comercio digital, director general de Deloitte Consulting, analizaron las tendencias en el comercio digital. En el artículo, la pareja analizó por qué una plataforma de comercio electrónico modular y componible permite a las empresas estirar su inversión comprando o reemplazando solo las características o funciones que necesitan para crear exactamente la experiencia que su marca desea brindar.

“Esto le da acceso a las mejores capacidades de su clase de una variedad de proveedores de tecnología, en lugar de buscar a un solo proveedor para todo”, escribieron. “Un fabricante de equipos industriales puede necesitar herramientas sofisticadas de búsqueda y recomendación para resaltar detalles técnicos o especificaciones. Una empresa de artículos para el hogar, por otro lado, necesita formas de mostrar sofás o mesas de formas geniales, incluso en 3D “.

La clave es que estas funciones “personalizadas” son plug-and-play, lo que ayuda a la empresa a lograr sus objetivos comerciales.

En el contexto del panorama empresarial más amplio, los cambios del mercado son efímeros y, como han demostrado las últimas décadas, las nuevas ofertas que explotan con éxito un nicho de mercado pueden suplantar rápidamente los procesos comerciales establecidos desde hace mucho tiempo.

Aunque es probable que no todas las empresas se conviertan en empresas de software, las empresas más competitivas están obligadas a utilizar el software estratégicamente de una manera que las haga ágiles y les permita abordar nuevas oportunidades de mercado rápidamente. Una arquitectura de TI empresarial general construida sobre una base de componibilidad será esencial para la entrega exitosa de una estrategia de desarrollo empresarial impulsada por software.

Más contenido para leer:  La mujer más influyente en la tecnología del Reino Unido en 2021

Nuestro objetivo fué el mismo desde 2004, unir personas y ayudarlas en sus acciones online, siempre gratis, eficiente y sobre todo fácil!

¿Donde estamos?

Mendoza, Argentina

Nuestras Redes Sociales