paint-brush
Los fundamentos del diseño de una arquitectura APIpor@veedran
32,258 lecturas
32,258 lecturas

Los fundamentos del diseño de una arquitectura API

por Vedran Cindric 2021/10/28
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Una guía introductoria para comprender cómo se diseñan las arquitecturas API.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Los fundamentos del diseño de una arquitectura API
Vedran Cindric  HackerNoon profile picture


Introducción

Las API han surgido como una necesidad táctica para las empresas. Los cambios de la industria, como el enorme crecimiento de las aplicaciones móviles que con frecuencia se comunican con los back-ends a través de la web y el Internet de las cosas que emerge rápidamente, no se puede negar que las API se han convertido en un recurso comercial crítico.


El uso comercial de API se ha disparado, y las API se materializan como el verdadero poder detrás del éxito digital de las principales empresas.


En términos de valor, los informes estiman que alrededor de $ 1 billón en términos de ganancias están en juego debido a la redistribución de los ingresos en varios sectores que van desde la banca y las finanzas, los medios y el entretenimiento, la automatización, la automoción y varios otros, lo que indica el enorme potencial de lo que comúnmente se denomina como la "economía API" que sigue conquistando este espacio!


Durante la última década, las API han cobrado protagonismo en las operaciones de las grandes empresas multinacionales que pretendían aumentar y diversificar sus canales de creatividad utilizando la revolución digital. Un número significativo de pymes también han aprovechado las API para obtener capacidad competitiva en sus dominios.


Entonces, la pregunta clave que surge para el propietario de un negocio es cómo diseñar una API y colocarla en el centro de su plataforma de negocios digital. En primer lugar, debe proporcionar la arquitectura de API ideal para sus desarrolladores, arquitectos, operaciones y equipos de seguridad. Esto ayuda a aprovechar lo que la API puede hacer por su negocio.


Esta sencilla guía lo ayudará a seleccionar una arquitectura API limpia y de vanguardia para crear la API perfecta y de gran valor que se adapte a la estrategia digital de su empresa.


Comprender las API

API significa Interfaces de programación de aplicaciones. El énfasis aquí está en la interfaz. Las API son el marco de entrada que permite a los desarrolladores de software interactuar con la aplicación. Vivimos en un mundo de interconexión. Ninguna aplicación móvil o web es independiente; necesitan interactuar y responder.


Las API son útiles para las empresas con siete propósitos generales:


1. Acceder a los datos y la lógica de una aplicación y el potencial de monetización de los datos recopilados

2. Usar la funcionalidad de una aplicación

3. Servir como medio de comunicación entre Microservicios

4. Conectando ecosistemas: C2B (Consumer to Business) y B2B (Business to Business)

5. Integraciones de potencia

6. Nuevas funcionalidades para tu negocio

7. Abrir nuevos caminos para la innovación y el crecimiento


Desde sitios web que requieren ser autenticados por nuestras cuentas de redes sociales hasta la integración del cliente a los electrodomésticos inteligentes de Amazon como Echo, que deben activarse con nuestra voz, todos ellos dependen en gran medida de las API.


Diseño de API

El diseño de API es el proceso de planificación y decisiones arquitectónicas que se toman durante el desarrollo de una API. Como habrás adivinado, es el primer paso para desarrollar una API.


El proceso de diseño es importante porque el diseño de la API afecta la forma en que los desarrolladores la consumen, su solidez, la prevención de errores, la consistencia y las métricas de rendimiento vitales. Por lo tanto, el diseño y la arquitectura de la API influyen en los usuarios que la utilizan y en los ingresos generados.


¿Qué es la arquitectura API?

Como se vio anteriormente, el diseño de la API aborda por qué se crea la API, el resultado que se espera de la implementación de la API y la estrategia de ejecución para la misma.


La arquitectura API es el proceso de definición de la metodología y los procesos para desarrollar y ejecutar la API. Consisten en un conjunto de componentes y una descripción de su interacción lógica.

Según las decisiones arquitectónicas de la API que se está desarrollando, los equipos de operaciones y seguridad forman requisitos técnicos más específicos para el futuro de la API, sus niveles, la gestión del ciclo de vida de la API y, lo que es más importante, la monetización.


Las API también tienen varios beneficios para crear y administrar microservicios. Con una estrategia de API enfocada e impulsada por el valor, las empresas pueden exponer la funcionalidad de los microservicios como productos, creando así el potencial de valor comercial interno y externo.


Después de la difícil decisión de cerrar su programa de API pública, Netflix creó una arquitectura de microservicios revolucionaria. Al vincular su API con la arquitectura de microservicios, Netflix escaló a la nube, se convirtió en una plataforma OTT aclamada internacionalmente y ahora sirve a millones de consumidores en una variedad de dispositivos dispares.


Componentes de la arquitectura API

La arquitectura API, en particular, abarca lo siguiente


  1. Puerta de enlace API

Este componente se ocupa de la entrega de detalles específicos de seguridad, almacenamiento en caché y orquestación. En pocas palabras, API Gateway sirve como único punto de entrada a la arquitectura interna. Tiene las siguientes funciones:


  • Ofrece capacidades cruciales de equilibrio de carga y partición de microservicios.
  • Filtre el tráfico entrante desde varios dispositivos: web, móvil, B2B, etc.
  • Capa de punto de entrada para exponer otras API, microservicios y máquinas virtuales de terceros en el servidor de aplicaciones del proveedor.

2. Portal API

Como sugiere el nombre, este componente sirve como un portal entre los consumidores de API y los proveedores de API. Aborda lo siguiente:


  • Análisis de API
  • documentación de la API
  • API de marketing
  • Compatibilidad con aplicaciones web/móviles
  • Definir cómo están expuestos a desarrolladores internos, socios y terceros.


¿Cómo diseñar una Arquitectura API?

En términos generales, las API sirven como enlace entre las tecnologías, el usuario y la empresa. Por lo tanto, al diseñar una API intensiva en valor para su modelo comercial, las siguientes consideraciones cruciales deben informar las decisiones de diseño de API en su empresa.


1. Alinear el diseño de la API con sus objetivos comerciales

2. Disponibilidad y Gestión de los recursos empresariales

3. Casos de uso compatibles con su API

4. Definición del Público Objetivo o Usuarios

5. Creación de valor, canales y motivación de los desarrolladores para hacer uso de la API

6. El valor para los usuarios finales con las aplicaciones que usan la API


El libro electrónico de Google sobre cómo diseñar una mentalidad de producto API establece las mejores prácticas para diseñar una API que prospere:


  • Foco en el consumo y la consistencia
  • Proporcione una declaración clara de la propuesta de valor que la API representa para los desarrolladores.
  • Evite la optimización prematura y oculte la complejidad innecesaria a los desarrolladores
  • Protección de las API con medidas de seguridad de última generación
  • Manejo robusto de errores


Por lo tanto, las prácticas básicas para implementar un buen diseño de API son bastante sencillas: Hágalo simple, flexible y fácil de adoptar.


Objetivos del diseño de API

Cada API se adaptaría para satisfacer las necesidades específicas de la organización. Dicho esto, se esperan algunos objetivos centrales de la API, independientemente de la empresa o la industria.


1. Reducir las barreras


Las interacciones de la aplicación se guían a través del conjunto uniforme de protocolos establecidos por una API. Debe permitir un intercambio constante de recursos valiosos en una organización y, al mismo tiempo, ser transparente en su funcionalidad.


2. Seguridad


Los activos de TI de una empresa tienen cierto riesgo de exposición en el mercado abierto. Las API agregan una capa de seguridad ya que las solicitudes no se vinculan directamente al servidor. Esto reduce la posibilidad de una violación o acceso no autorizado al backend de un servidor.


3. Escalabilidad


El objetivo común de todas las empresas es el crecimiento. Por lo tanto, las API ayudan a acomodar eso al ser ampliables para satisfacer el aumento en la cartera de productos, la seguridad o las necesidades de datos.


4. Colaboración

Los desarrolladores pueden reutilizar componentes de software a través de API para evitar realizar tareas redundantes y repetitivas. Esto les permite enfocarse en crear nuevas herramientas que puedan agregar valor para la empresa y sus clientes. También permite a los desarrolladores subcontratar tareas más complejas mientras se concentran en el sistema de la empresa.


5. Generación de Valor

La API puede ser crucial para los objetivos de generación de ingresos de la organización. Ayuda a atraer nuevos clientes y, al mismo tiempo, aporta más valor a los existentes. El software en sí podría ser una fuente de ingresos al monetizar su uso. El software también ayuda a integrar varias funciones del negocio, como ventas y marketing, para mejorar la eficiencia.


Estilos arquitectónicos clave para el diseño de API



1. API web


Este diseño utiliza el protocolo HTTP para acceder a la API a través de la web. Los servicios RESTFUL desarrollados están basados en HTTP utilizando tecnologías como java y ASP.NET . Si bien la API es ideal para navegadores web o servidores web, no es adecuada para aplicaciones móviles. La API web se utiliza para proporcionar servicios en varios dispositivos y en sistemas distribuidos.


2. DESCANSO pragmático


La transferencia de estado representacional pragmática (REST) es uno de los diseños preferidos utilizados por los desarrolladores de API de servicios de Internet. Es un enfoque sofisticado y centrado en la Web para diseñar interfaces de programación. Pragmatic REST usa URI en lugar de WSDL y es específico del transporte (admite exclusivamente HTTP), y en gran medida se ha hecho cargo del estilo del servicio web porque es intuitivo. Siga el RESTO de los 10 Mandamientos si quiere ser amado por sus desarrolladores móviles.


3. Hipermedia

Las API hipermedia se centran en los estándares URI, HTTP y RESTful en términos generales. Es una API altamente centrada en la web que es conocida por su escalabilidad. Un beneficio clave es que un servidor que aloja una API hipermedia puede generar una lista de posibles opciones disponibles para el cliente, a las que luego se puede acceder fácilmente a través de futuras solicitudes HTTP.


4. Impulsado por eventos

Las API impulsadas por eventos son las API más favorecidas para los dispositivos de Internet de las cosas, las aplicaciones móviles en particular, la mensajería, los chats de video y los juegos. El principal punto de diferencia entre las API impulsadas por eventos y los otros diseños es que otros sistemas funcionan de manera que el cliente o el servidor se designan como el actor, mientras que la otra parte se designa como la que se está actuando. El diseño basado en eventos , por otro lado, requiere que tanto el cliente como el servidor escuchen nuevos eventos y respondan. Al ser un estilo centrado en el usuario iniciado por el servidor, ofrece un mejor rendimiento cuando se necesita pasar una gran cantidad de mensajes pequeños entre la aplicación y los procesos de back-end.


Capas de arquitectura API


1. Capa de gestión de la información

Esta capa funciona como un centro de almacenamiento de datos. Las API deben entregar un inventario en tiempo real para lo cual se requiere una base de datos constante, precisa y confiable. La capa de gestión de la información hace precisamente esto.


2. Capa de aplicación/Microservicios

Tradicionalmente, esta capa albergaba aplicaciones que ejecutan la organización. Sin embargo, con la llegada de las aplicaciones web modernas, están siendo reemplazadas por una arquitectura de microservicios que posee un inmenso valor comercial para la organización.


3. Capa de Integración

Esta capa facilita la integración de API para el acceso síncrono a varios servicios en diferentes dispositivos y usuarios.


4. Capa de interacción

Esta es quizás la más importante de todas las capas, ya que es el lugar donde ocurre la acción real. Las aplicaciones de los clientes, desarrolladores y otros usuarios interactúan con sus aplicaciones y datos comerciales en esta capa.


Conclusión

Por lo tanto, los usuarios adoptan una API cuando ofrece una propuesta de valor sólida. Sin embargo, los factores cruciales de diseño y arquitectura que se analizan en esta guía deben informar las decisiones clave para desarrollar la API que sea perfecta para las necesidades de su negocio.


Publicado por primera vez aquí