Estrategia API: APIs Privadas Vs API Abiertas

Una de las consideraciones clave que debe guiar tanto su estrategia de negocio de API como su arquitectura de interfaz es la distinción entre APIs abiertas y privadas. Una interfaz se define como abierta o privada, dependiendo de si se dirige a desarrolladores externos o internos.

API Privadas (Private API)

Una API privada es una interfaz que abre partes de los datos de backend de una organización y la funcionalidad de la aplicación para su uso por los desarrolladores que trabajan en (o los contratistas que trabajan para) esa organización. Las nuevas aplicaciones que crean estos desarrolladores pueden distribuirse públicamente, pero la interfaz en sí no está disponible para nadie que no esté trabajando directamente para el editor (dueño) de API.

Las API privadas pueden reducir significativamente el tiempo de desarrollo y los recursos necesarios para integrar sistemas de TI internos, crear nuevos sistemas que maximicen la productividad y crear aplicaciones orientadas al cliente que amplíen el alcance del mercado y agreguen valor a las ofertas existentes. En lugar de crear aplicaciones unidas desde cero, los desarrolladores pueden obtener un conjunto común de recursos de software interno.

Esencialmente, el objetivo de un programa (estrategia) de API privado es permitir a los desarrolladores internos que están construyendo nuevas aplicaciones que aprovechan los sistemas existentes. Por lo tanto, las necesidades y preferencias de estos desarrolladores deben impulsar las decisiones tomadas por los gerentes de negocios y los desarrolladores de interfaces que están implementando el programa.

Hay otras consideraciones que deben tenerse en cuenta – por ejemplo, cómo asegurarse de que el programa cumpla con las metas inmediatas del proyecto de la organización y sus requisitos futuros de conectividad. Fundamentalmente, es vital manejar la gestión continua de cualquier programa API, para garantizar que la seguridad y el rendimiento de los sistemas backend se mantengan a largo plazo.

La gestión de un programa API privado puede sonar fácil: las interfaces sólo se exponen a los desarrolladores internos, lo que reduce los riesgos de seguridad; Los diseñadores de API tienen acceso directo a estos desarrolladores, facilitando la creación de interfaces de dev-friendly. Sin embargo, es importante recordar que exponer la interfaz de software siempre crea una serie de desafíos de seguridad y administración.

Por ejemplo, en muchos casos las aplicaciones de cliente se comunicarán con las API a través de la Internet pública o de las redes móviles, incluso si las aplicaciones sólo son utilizadas por empleados internos. También hay desafíos asociados con la integración de sistemas que utilizan diferentes protocolos y estándares, especialmente porque los sistemas heredados a menudo no son adecuados para su uso en dispositivos móviles o en la Web.

API Abierta (Open API)

Una API abierta es una interfaz que ha sido diseñada para ser fácilmente accesible por la población más amplia de desarrolladores web y móviles. Esto significa que una API abierta puede ser utilizada por los desarrolladores dentro de la organización que publicó la API o por cualquier desarrollador fuera de esa organización que desee registrarse para acceder a la interfaz.

Un editor (Dueño/Publicador) de API abierto suele tratar de aprovechar la creciente comunidad de desarrolladores de aplicaciones de agentes libres. Esto permitirá a la organización estimular el desarrollo de aplicaciones innovadoras que agreguen valor a su negocio principal, sin invertir directamente en esfuerzos de desarrollo, sino que simultáneamente aumenta la producción de nuevas ideas y disminuye los costos de desarrollo.

Una API abierta puede ser utilizada por los desarrolladores internos, pero es justo decir – en la mayoría de los casos – el éxito de un programa (estrategia) de API abierto (Open API) dependerá de su capacidad para atraer a desarrolladores externos y ayudarles a crear aplicaciones verdaderamente valiosas que la gente realmente quiere usar . Los editores de API abiertos necesitan involucrar a los desarrolladores y necesitan asegurarse de que estos desarrolladores tengan éxito.

Por lo tanto, para los gerentes de negocios y diseñadores de interfaz por igual, el objetivo clave debe ser aumentar la cantidad y la calidad de uso de la API. Esto significará dirigirse a una audiencia de desarrollo específica, entregando una interfaz y documentación de acompañamiento diseñada para satisfacer las preferencias de esa audiencia y llevar a cabo actividades de divulgación / educación específicas. Esto debería ser totalmente automatizado y formará parte de la definición del programa/estrategia.

También vale la pena señalar que la apertura de una interfaz para desarrolladores externos puede agregar significativamente mas actividades a la gestión y a los desafíos de seguridad asociados con la publicación API. Por ejemplo, con muchas aplicaciones de cliente de terceros activas en el campo, puede ser muy difícil garantizar que las actualizaciones de la interfaz no interrumpan la funcionalidad de la aplicación. Este tema también debería formar parte de tu estrategia / programa de API y sería ideal contar con API Manager sólidos y que te permitan administrar fácilmente tu tareas.

Los mayores riesgos de seguridad representan otro gran reto asociado con la exposición pública de las interfaces de software. No sólo la publicación de una API abierta teóricamente significa que cualquier desarrollador puede acceder a los sistemas expuestos de back-end, también corre el riesgo de poner la existencia de esa exposición a la atención de los hackers que nunca han notado una API privada. Un llamado de atención para que los recursos humanos seleccionados como equipo de API primeramente obtenga una formación sólida en este sentido. (puedes consultarnos sobre este tipo de capacitación)

Publicar APIs abiertas también puede dificultar que las organizaciones controlen la experiencia que los usuarios finales tienen con sus activos de información. Los editores de API abiertos no pueden asumir que las aplicaciones de cliente basadas en sus API ofrezcan una buena experiencia de usuario. Además, no pueden garantizar plenamente que las aplicaciones de cliente mantengan la apariencia de su marca corporativa.

Nosotros te ayudamos a definir tu programa de API, en la definición de una estrategia de API acorde a tu organización. Con un equipo altamente formado que permite analizar tu estadío actual y definir un camino de alto rendimiento para tu organización.

Curso + cert devops

Aporte de API academy en la redacción de este articulo