Últimamente había estado desaparecido del blog por cuestiones de trabajo y razones personales,  sin embargo, en esta desaparición he invertido mucho en Amazon AWS con el objetivo de fortalecer mi experiencia con las tecnologías del monstruo naranja.

Este post será el primero de una serie de artículos, en los cuales iré compartiendo tips, datos y ejemplos de uso en Amazon AWS para todos los developers que están iniciando en el mundo de AWS o incluso para los que ya tienen experiencia gestionando infraestructura.

 

Bien… vamos al grano.

Si estás familiarizado con la creación de API’s, sabrás que una API es una puerta de entrada para todos los datos de una aplicación, incluso si has desarrollado una seguro te habrás dado cuenta lo complicado que puede ser desarrollar y mantener una infraestructura de este tipo.

Amazon sabe esto desde hace años, por lo que creo un servicio totalmente gestionado por ellos con el fin de ofrecer facilidades a los developers de crear y desplegar API’s.

¿Qué es Amazon API Gateway?

Es un servicio administrado por AWS que gestiona y administra todas las llamadas a una API con el fin de ser el intermediario entre los usuarios de tu aplicación y tu servidor o base de datos.

diagrama api gateway
Fuente: aws.amazon.com

El diagrama anterior explica mejor que es Amazon API Gateway, como puedes ver, es el intermediario entre tu aplicación y tu servidor.

Ahora que entendemos un poquito que es API Gateway es importante definir algunos conceptos con el fin de terminar de comprender para que podemos utilizar esta increíble herramienta.

¿Qué tipos de API puedo crear con API Gateway?

Es importante definir que tipos de API’s puedes crear, ya que no todos los casos son indicados para utilizar API Gateway.

API RESTful

Una API de REST, o API de RESTful, es una interfaz de programación de aplicaciones (API o API web) que se ajusta a los límites de la arquitectura REST y permite la interacción con los servicios web de RESTful. El informático Roy Fielding es el creador de la transferencia de estado representacional (REST).

Las API son conjuntos de definiciones y protocolos que se utilizan para diseñar e integrar el software de las aplicaciones.Suele considerarse como el contrato entre el proveedor de información y el usuario, donde se establece el contenido que se necesita por parte del consumidor (la llamada) y el que requiere el productor (la respuesta).Por ejemplo, el diseño de una API de servicio meteorológico podría requerir que el usuario escribiera un código postal y que el productor diera una respuesta en dos partes: la primera sería la temperatura máxima y la segunda, la mínima.

FUENTE: redhat.com

API WEBSOCKET

WebSockets es una tecnología avanzada que hace posible abrir una sesión de comunicación interactiva entre el navegador del usuario y un servidor. Con esta API, puede enviar mensajes a un servidor y recibir respuestas controladas por eventos sin tener que consultar al servidor para una respuesta.
Podríamos entender una API WEBSOCKET como una API tradicional pero orientada a desarrollos en tiempo real.
Dependiendo los objetivos y características de cada proyecto tendrás que optar por un protocolo u otro, ya que esto definirá gran parte del funcionamiento de tu aplicación y la inversión necesaria que tendrás que hacer para mantener operando tu negocio.

¿Qué beneficios tiene API Gateway?

Según Amazon, los beneficios son:
  • Desarrollo de API eficiente
  • Rendimiento a cualquier escala
  • Ahorro de costos a escala
  • Monitoreo fácil
  • Controles de seguridad flexibles
  • Opciones de API RESTful

Ahora, yo veo dos características muy destacables de este producto que considero importante para una startup o un developer que quiera implementar alguna solución.

La primera es el rendimiento, sea cual sea el volumen de peticiones de tu proyecto será muy difícil que te cuestiones sobre el rendimiento de AWS ya que tiene una de las infraestructuras más grandes del mundo, además de que hay muchísima inversión por parte de Amazon para ofrecer un servicio de excelencia.

La segunda es la facilidad con la que puedes iniciar el desarrollo de una aplicación con AWS, OJO, no estoy diciendo que sea fácil implementar este tipo de infraestructura, me refiero a que si comparamos desarrollar una API con cualquier lenguaje de programación a implementar API Gateway es muchísimo más fácil poder gestionarla y mantenerla en un largo plazo.

Per se cualquier tecnología de AWS no es fácil de gestionar, tienes que estar clavado en los conceptos que maneja Amazon con el fin de sacarle provecho a su plataforma, por lo que elegir cualquier protocolo, tecnología o proveedor puede agregar una capa de complejidad en el desarrollo de tus aplicaciones.

Como te comente al inicio del artículo, este post será el inicio de una serie de publicaciones orientada a los servicios de Amazon, si te interesa el tema puedes suscribirte al blog con el fin de estar informado sobre futuras publicaciones.

Obtén beneficios exclusivos

Suscríbete al boletín y obtén beneficios exclusivos directo en tu correo.

Gracias por suscribirte...

Algo salió mal...