Megaport’s API Series - Parte 1

Megaport’s API Series - Parte 1

Utilizando las APIs podemos automatizar o integrar servicios dentro de nuestros flujos de trabajo de una manera simple y rápida sin tener que hacer uso de metodologías de ingeniería inversa o wrappers que ante cualquier actualización del servicio o aplicación daría como resultado el mal funcionamiento de nuestra integración.

By German Santillan

Introducción

La consola de gestión que hemos desarrollado en Megaport para desplegar, monitorizar y configurar las soluciones que brindamos es increíble, me llamo muchísimo la atención cuando estaba en mi proceso de selección, me dio a entender muchas cosas sobre los rasgos y la cultura de la compañía, como su modernidad, atención en los detalles, transparencia y agilidad.

API diagram 1
API diagram 1

Las consolas de gestión son un punto de entrada necesario y muy cómodo para los servicios Cloud, ya que, gracias a su interfaz gráfica adaptable, pueden ser utilizadas mediante diferentes dispositivos como ordenadores, tablets y hasta móviles.

El problema se comienza a hacer mas visible cuando queremos automatizar ciertos procesos, como desplegar recursos ante eventos, recabar información para procesarla o correlacionarla y tomar una decisión, realizar modificaciones o eliminaciones cuando los recursos ya no sean necesarios, etc.

En estos casos las consolas de gestión, que se basan en entorno gráficos e interactivos, no proporcionan una interfaz eficiente para el tipo de tareas antes descritas, para ello necesitamos de interfaces de programación capaces de recibir ordenes y darnos resultados.

Las tecnologías de llamadas remotas existen hace mucho tiempo y hemos pasado por varias de ellas (Como RPC, CORBA, DCOM, SOAP WebServices, etc.) pero ninguna se ha adaptado tan bien a la Web 2.0 como las API REST.

API REST

Entiendo que no todos lo que estáis leyendo este articulo estáis familiarizados con las APIs y lenguajes de programación por lo que no daré nada por sentado así que…que tal si empezamos desglosando las siglas?

API viene de Application Programming Interface y no es mas que un mecanismo de intercambio de comandos y respuestas entre dos componentes de software, uno que pregunta o envía una orden y otro que responde, utilizando un conjunto de definiciones y protocolos en común, para entenderse.

Hasta aquí se parece mucho a ortos sistemas de RPC (Remote Procedure Call) pero la cosa se pone interesante con REST (REpresentational State Transfer) que es un tipo de interfaz que permite la comunicación utilizando el archiconocido y estandarizado HTTP, lo que que garantiza simplicidad, escalabilidad y compatibilidad.

Donde encaja todo esto?

Desde hace muchos años los sistemas se separan en capas, cada una de ellas se encarga de diferentes tareas dentro de la aplicación, me atrevería a día de hoy no se escriben aplicaciones monolíticas, al menos no para entornos productivos.

API diagram 2
API diagram 2

Actualmente se separan procesos en diferentes entes computacionales (hosts, maquinas virtuales, contenedores, funciones, etc.) y entre ellas se comunican utilizando diferentes interfaces, como las API REST. De esta manera cada ente puede ser desarrollado, actualizado y mejorado de manera independiente otorgando a todo el conjunto de mayor seguridad, independencia, simplicidad y sobre todo escalabilidad.

La API de Megaport

La API de Megaport, que ya va por su versión 3, es un ejemplo de un servicio moderno, absolutamente todo lo que pueden hacer desde el Portal de gestión se puede hacer desde la API, esto demuestra que tan orientado está todo nuestro ecosistema a la automatización, a la integración y a la personalización por parte de nuestros clientes.

API diagram 3
API diagram 3

Tanto como la consola web como, por ejemplo, el provider de Terraform consumen directamente a la API la cual hace de intermediaria entre la infraestructura de red y virtualización de nuestros PoPs y Backhauls como de los datos, al fin y al cabo una de las cosas que mas me llamó la atención de Megaport es como una red definida en una base de datos se despliega en segundos en entornos reales.

Actualmente la API desplegada es la versión 3 aunque de momento, al día que este artículo está siendo escrito, se siguen aceptado comunicaciones a través de la versión 2, aunque recomiendo que cualquier consumo de la API se haga con la v3 para garantizar soporte y mayor seguridad.

API diagram 4
API diagram 4

En Megaport disponemos de un apartado en nuestra web orientado a los desarrolladores, desde https://dev.megaport.com/ se puede acceder a toda la documentación, definiciones y ejemplos relacionados al consumo de nuestra API.

También disponemos de dos entornos sobre los que poder probar las integraciones y/o automatizaciones, uno de desarrollo al que llamaremos Staging y uno de producción que definiremos como Production.

Conclusión

Las APIs nos permiten comunicarnos con otros sistemas (o componentes de un mismo sistema) de manera estandarizada y bien definida dando a lugar a un a mejor seguridad, escalabilidad e independencia de los componentes de software que componen una aplicación o servicio.

Utilizando las APIs podemos automatizar o integrar servicios dentro de nuestros flujos de trabajo de una manera simple y rápida sin tener que hacer uso de metodologías de ingeniería inversa o wrappers que ante cualquier actualización del servicio o aplicación daría como resultado el mal funcionamiento de nuestra integración.

En Megaport hemos desarrollado nuestra API v3 que permite un manejo total de los servicios que tenemos accesibles desde nuestro Portal. Utilizando herramientas como Postman o Terraform se puede simplificar aún mas el consumo de las APIs.

En el próximo articulo explicaré mas en detalle como es la estructura de nuestra API y como realizar la primer consulta utilizando Postman.

Hasta la próxima!!!

Etiquetas:

Publicaciones relacionadas

¿Debería adoptar una arquitectura de red de confianza cero?

¿Debería adoptar una arquitectura de red de confianza cero?

De qué es a cómo funciona: le ofrecemos toda la información sobre el acceso a la red de confianza cero y sobre si es el momento de que su empresa adopte una arquitectura de confianza cero.

Más información
High Availability Series - Parte 1

High Availability Series - Parte 1

Cuando uno pasa del mundo de los laboratorios y pruebas al mundo de los sistemas de producción cae en la cuenta de la de mecanismos y sistemas que existen para que esos entornos productivos estén siempre la mayoría del tiempo disponibles.

Más información
Twilio Interconnect utiliza Megaport para impulsar el rendimiento de grado empresarial.

Twilio Interconnect utiliza Megaport para impulsar el rendimiento de grado empresarial.

La conectividad privada refuerza la seguridad y el rendimiento de los productos de Twilio, y con Twilio Interconnect, los clientes tienen más fácil que nunca pasarse a una solución privada.

Más información