Header Ads Widget

Ticker

6/recent/ticker-posts

Living in the Cloud Stack: comprensión de las API de SaaS, PaaS e IaaS

 

Vivir en la nube comprensión SaasS-PaaS-IaaS-nordic-apis

El mundo de las API está cambiando rápidamente: el consumidor promedio de una API es muy diferente de los clientes de procesamiento de datos de antaño, y el panorama de empresa a empresa ha impulsado constantemente la evolución de la API hacia direcciones más grandes y audaces . Sin embargo, en un mundo tan documentado y mantenido, queda un salvaje oeste, único en sus aplicaciones y relativamente incomprendido para quienes no viven en él.

Hoy, vamos a abordar el mundo de la computación en la nube para explorar cómo funciona la pila de computación en la nube dentro del espacio de la API. Analizaremos las tres capas del espacio de la computación en la nube: software como servicio (SaaS), plataforma como servicio (PaaS) e infraestructura como servicio (IaaS), y cómo estos Los servicios se utilizan mediante API.

A lo largo del camino, veremos algunas API basadas en la nube y destacaremos las fortalezas y debilidades de cada elección de arquitectura en particular.

La pila de computación en la nube: ¿qué es una pila, de todos modos?

Uno de los términos más incomprendidos en el espacio de la tecnología de la información (TI) es el término " pila ". Cuando la mayoría de los usuarios piensan en una "pila", piensan en una pila de "cosas" interrelacionadas, como una pila de papel o una pila de tarjetas de visita. En el mundo de las TI, sin embargo, una pila es una cosa claramente definida con varias características especiales:

  • Una pila es una serie de sistemas o protocolos interconectados que transportan datos entre sí para una función.
  • Los elementos de una pila se denominan capas y funcionan como funciones o servicios individuales de un todo mayor.
  • Los datos de una pila fluyen de un extremo al otro en orden secuencial , es decir, de la capa 1 a la 2, luego a la 3, nunca de la capa 1 directamente a la 3.

Para comprender mejor cómo funciona una pila en el mundo de las redes, primero echemos un vistazo a dos modelos que representan cómo se comunican las redes. El modelo más general para la interacción de la red es el modelo OSI . Creado por la Organización Internacional de Normalización (ISO) , este sistema divide la comunicación en varias "capas":

Modelo de pila de nube OSI

El modelo OSI

A medida que los datos pasan a través de estas capas, se transforman en diferentes formas. Por ejemplo, cuando un usuario se conecta a Internet, su dirección IP en la capa 3 ( capa de red ) del modelo OSI debe convertirse en una dirección MAC en la capa 2 para su transmisión, y cuando los datos del usuario llegan al otro extremo. , este proceso debe realizarse a la inversa.

Una forma híbrida de este modelo OSI se utiliza a menudo en la computación en la nube y se indica así:

Modelo-híbrido-capa-nube-nordic-apis

Modelo OSI de Computación en la Nube Híbrida

Entonces, ¿por qué es importante comprender este modelo? La computación en la nube es algo extraño: habita en diferentes capas de la pila según el tipo de servicio que sea. Comprender esta pila contribuirá en gran medida a informarle sobre su mejor sistema de API de computación en la nube.

Ciclo de vida de la API

SaaS: software como servicio

El software como servicio (Saas) es un ámbito particular de la computación en la nube y es probablemente la forma de servicio más común en el mundo de las API. El software como servicio es similar a un canal de televisión de suscriptor: cuando un usuario se conecta a HBO, se conecta a un recurso remoto alojado en un servidor central, utilizando una licencia para acceder a los datos.

SaaS funciona de la misma manera; el propietario del software autoriza el uso de su software y permite conexiones remotas a un servidor central o grupo de servidores con equilibrio de carga para su utilización. Estos sistemas pueden basarse en suscripciones o presentarse como "gratuitos" (aunque nada es "gratuito"; si no paga una suscripción, usted es el producto, y la monetización de los flujos de datos y la información del usuario es una forma principal de ingresos. para tal plan de monetización).

SaaS es uno de los tipos de servicios más utilizados en el mundo de las API debido a la gran cantidad de API diseñadas para aprovecharlas. Un gran ejemplo del formato SaaS en el mundo de las API es la colección de Google Apps . Correo, mapas, calendario: todas estas aplicaciones se conectan a un servidor central y entregan datos al titular de la cuenta a través de una metodología acordada, utilizando API de primera persona o de terceros .

El software, en este caso el servidor de correo, el sistema de geolocalización y el generador de calendario, está ubicado de manera centralizada en los servidores de Google y es monitoreado por un equipo de administradores dedicados. Estos servicios se brindan "sin cargo", con el flujo de datos y los ingresos por publicidad que recuperan el costo operativo.

Uno de los mayores beneficios de una API estilo SaaS es el hecho de que la sobrecarga local está prácticamente eliminada, eliminando la necesidad de instalar aplicaciones en el sistema cliente. Las API que se relacionan con este tipo de sistema a menudo manejan llamadas básicas para la administración de datos, ID de sesión e incluso colaboración básica. Esto también viene con la advertencia de que todo el procesamiento de la aplicación y el almacenamiento de datos se realiza de forma remota, lo que elimina el control local físico del usuario. Dependiendo de su punto de vista, esto podría ser algo muy bueno , pero para muchos, la idea de perder el control físico sobre sus datos personales o corporativos es, en el mejor de los casos, preocupante y, en el peor , un enorme riesgo de seguridad .

En términos del modelo híbrido OSI, SaaS descansa cómodamente en la capa de aplicación : los datos se transfieren y operan en el nivel del cliente, y el usuario modifica los datos antes de enviarlos a capas inferiores para su almacenamiento. Mientras que tanto PaaS como IaaS residen en capas de red físicas o lógicas, SaaS está directamente dentro de la capa de aplicación y, por lo tanto, es la forma “superior” de computación en la nube. En consecuencia, las API que se conectan a estos servicios son superficiales en relación con los recursos de red y los métodos de transporte empleados por las aplicaciones.

SaaS-software-as-a-service-cloud-stack-nordic-apis

Fortalezas y debilidades de SaaS

Las fortalezas incluyen:

  • Reducción de gastos generales locales
  • Gestión centralizada que reduce los costes de mantenimiento para el usuario.
  • Potencial flujo de ingresos transparente y pasivo para el desarrollador
  • Autenticación centralizada y seguridad general

Las debilidades incluyen:

  • Mayor tiempo de tránsito al traducir la llamada de la API del cliente a la API de SaaS
  • El mercado está inundado de SaaS, lo que significa que la competencia es alta
  • Sin una planificación adecuada, el control de versiones puede romper toda una red de usuarios.
Leer más: Cómo las API están evolucionando el panorama B2B

PaaS: plataforma como servicio

Platform-as-a-Service proporciona una plataforma de desarrollo a los clientes de forma remota. A diferencia del Software-as-a-Service, donde un cliente accede a las aplicaciones alojadas de forma remota a través de una API, Platform-as-a-Service proporciona todo el entorno de desarrollo y programa como una plataforma para el consumidor.

A diferencia de la analogía de TV anterior, que conectaba un cliente remoto a un servicio de suscripción que estaba centralizado, PaaS es más parecido a alquilar cámaras para desarrollar un programa cuyo formato y guión se compró en la estación de TV. Usted paga por los detalles iniciales del programa, desarrolla el guión, filma con el equipo y luego presenta el programa a través del sistema de transmisión de la red.

Las API de PaaS generalmente no son llamadas genéricas de recursos (como una llamada URI para eliminar o crear cadenas de información), sino que están más bien orientadas a llamadas colaborativas masivas para la manipulación de datos. A diferencia de una API SaaS que ordena a un servidor de aplicaciones remoto que realice una tarea, una API PaaS describe esa tarea en detalle al servidor PaaS, que luego realiza y comparte la manipulación en nombre de la aplicación solicitante del cliente.

Un gran ejemplo de esto es el servicio Azure de Microsoft . Supongamos que su empresa ha creado una solución de gestión de datos que permite a los usuarios utilizar su API personalizada para cargar datos, etiquetándolos con términos o categorías específicos antes de comprimirlos para su almacenamiento a largo plazo. Como proveedor de API, necesitaría mucho espacio en el servidor para almacenar los datos, mucha potencia de procesamiento para comprimir esos datos en una forma manejable y una plataforma de servicio que proporcione una buena compresión y descompresión de la funcionalidad del sistema. Desafortunadamente, no tiene el espacio en rack, la plataforma ni la capacidad de procesamiento para hacerlo.

Ingrese PaaS . Al contratar un proveedor de PaaS como Azure, puede utilizar sus propias API para vincular su algoritmo de compresión y flujo de datos, lo que le permite brindar el servicio a un costo menor que las granjas de servidores tradicionales y, al mismo tiempo, mantener la rentabilidad. La plataforma en la que se basa la funcionalidad, especialmente la compresión y descompresión, es manejada por la funcionalidad de la plataforma del sistema propietario alojada por el proveedor de PaaS.

Tenga en cuenta que en la industria de la computación en la nube, PaaS generalmente sugiere un modelo centrado en la plataforma para el desarrollo de otras aplicaciones o servicios, y no necesariamente la provisión de infraestructura y servicios alojados en esa plataforma. Si bien la definición de la industria es correcta en su aplicación, la definición real de PaaS es simplemente la provisión de infraestructura con servicios o plataformas adicionales a un cliente o conjunto de clientes.

En términos de nuestro modelo híbrido OSI, PaaS opera en algún lugar entre las capas de red y transporte. Los recursos alojados en la capa de red se utilizan a través de metodologías de transporte básicas, específicamente utilizando el protocolo de control de transmisión (TCP) y el conjunto de protocolos de Internet (IP) conocido como TCP / IP .

En nuestra representación piramidal, PaaS se encuentra en el medio debido al hecho de que utiliza tanto sistemas de procesamiento físico como conectividad de estilo de sub-aplicación.

PaaS-cloud-stack-nordic-apis

Fortalezas y debilidades de PaaS

Las fortalezas incluyen:

  • Potencia de procesamiento adicional y capacidades de plataforma sin la huella física
  • Menor sobrecarga del desarrollador de API
  • Provisiones de memoria y procesamiento escalables utilizando software de terceros

Las debilidades incluyen:

  • Mayor responsabilidad: los datos cifrados o comprimidos no se pueden monitorear sin descifrar, lo que aumenta la carga del sistema
  • Flujo de ingresos limitado fuera de las suscripciones debido a la demanda de integridad

IaaS: infraestructura como servicio

La infraestructura como servicio es una bestia interesante. Aunque comparte muchas características con la plataforma como servicio (PaaS), se centra más en las propiedades físicas de un sistema que en la plataforma o las aplicaciones del sistema en su conjunto.

Continuando con nuestra analogía de televisión, si SaaS es una suscripción a HBO y PaaS está creando su propio programa en una red, IaaS es como alquilar los cables físicos reales y los medios de transmisión utilizados por una estación de televisión para transmitir su propia red de televisión.

IaaS es la capa física base de la pila de computación en la nube. Esto hace que sea difícil discutirlo sin simplemente definirlo como “toda la infraestructura diseñada para permitir que funcionen las otras capas de la pila”. Mientras que PaaS proporciona un beneficio adicional mediante la inclusión de una plataforma, IaaS proporciona la infraestructura física para la transmisión, el cálculo, la manipulación y la presentación de datos. Y donde SaaS proporciona un sistema virtualizado o remoto para trabajar, IaaS es el modo a través del cual se brindan estos servicios.

Un gran ejemplo de esto es la provisión de centros de datos virtuales a corporaciones. Como empresa emergente, su empresa puede tener una gran necesidad de espacio de almacenamiento, fibra óptica de alto rendimiento y procesamiento extremo. Los ejemplos en esta área incluyen AWS , Rackspace y Joyent , servicios que brindan espacio en disco, procesamiento o activos de red física para uso remoto.

Debido a que el desarrollo de un ecosistema de este tipo es costoso y prohibitivamente complicado para un equipo pequeño, alquilar estos servicios a un proveedor de IaaS que utilice API básicas para convertir las funciones de nivel de la capa de aplicación en protocolos físicos y de enlace de datos para el procesamiento remoto es una gran solución.

Cuando se considera dentro del modelo OSI, la infraestructura ocupa las tres capas inferiores: capa 1 física, capa 2 enlace de datos y capa 3 red, ya que los datos se manejan tanto a través de medios físicos (cable de fibra óptica, cobre STP / UTP) como básicos. Dispositivos de capa 2 y 3 (conmutadores y enrutadores, respectivamente).

IaaS-pyramid-cloud-stack-nordic-apis

Fortalezas y debilidades de IaaS

Las fortalezas incluyen:

  • Reducción del costo operativo total
  • Alta escalabilidad: es más fácil agregar algunos servidores virtuales más que instalar un bastidor completamente nuevo
  • Flexibilidad de ubicación: sus servidores están ubicados en otro lugar, por lo que puede operar desde literalmente cualquier lugar que tenga una conexión a Internet

Las debilidades incluyen:

  • Falta de control sobre la red física.
  • Disminución de la seguridad debido a la falta de acceso a la red física y al ciclo de vida del desarrollo.
  • Dependencia de la conexión constante

Diversos enfoques de desarrollo

Decidir si desarrollar o integrar una solución SaaS, PaaS o IaaS depende completamente del enfoque que adopte para el desarrollo.
cloud-stack-pyramid-saas-paas-iaas-as-a-service-02

  • Si su desarrollo ya tiene una plataforma sólida con resultados probados, IaaS es una gran solución que brinda conectividad.
  • Si carece de una plataforma sólida pero necesita crear de forma colaborativa, PaaS es una solución maravillosa.
  • Si tiene una funcionalidad básica que necesita una plataforma, infraestructura y sistema para operar, SaaS es su elección.

Publicar un comentario

0 Comentarios