Capacidades de la Plataforma

Introducción

Onesait Platform ofrece una gran número de ventajas para el desarrollo y despliegues de todo tipo de soluciones (microservicios, IoT, AI,...).

Onesait Platform provee la flexibilidad para que los desarrolladores puedan construir sus propias soluciones de una forma sólida y ágil usando tecnologías Open Source y una arquitectura flexible basada en microservicios.

Onesait Platform cubre el ciclo de vida completo de la información (desde la ingesta a la visualización pasando por el procesado y analizado) y ofrece una consola web unificada para el desarrollo y operación de las soluciones construidas sobre la plataforma,

La plataforma ofrece diferentes asistentes para desarrollar sistemas con arquitecturas complejas en una forma sencilla y reduciendo el time2market.

 

Arquitectura Data-Centric

En la Plataforma los datos son el activo principal y permanente, El enfoque Data-Centric convierte el dato en su núcleo. Hay un modelo de datos, un modelo de datos semánticos y cada funcionalidad de la aplicación lee y escribe a través del modelo compartido. 

La arquitectura Data-Centric se soporta a través del concepto de Ontología, y toda la funcionalidad de la plataforma se basa en este concepto.

La ontología puede persistir en diferentes repositorios y aísla al usuario del repositorio subyacente, de modo que el resto de los componentes no necesitan saber dónde están almacenadas las ontologías.

Arquitectura flexible basada en microservicios

Las capacidades de la plataforma, como la publicación, visualización, mensajería se basada en una arquitectura de microservicios. Esto asegura la separación de conceptos entre diferentes partes y ofrece flexibilidad para la personalización de las diferentes capacidades.

Los componentes de la plataforma interactúan vía Open APIs, lo que permite que estos puedan ampliarse o sustituirse según las necesidades, además son fácilmente integrables con otros sistemas. A su vez la plataforma ofrece herramientas para poder crear, compilar y desplegar microservicios a través de sus asistentes.

Agile Platform

La plataforma está pensada para agilizar el desarrollo de sistemas complejos

  • Visión unificada: las piezas se gestionan desde un entorno web único, con herramientas gráficas que guían el desarrollo

  • Desarrollo Business-Centric: permite construir sistemas complejos aislándose de las complejidades de la tecnología subyacente

  • Gestión del ciclo de vida del software: la plataforma cubre todas las fases, desde el desarrollo al despliegue,

  • Desarrollo flexible: permite seleccionar qué piezas de la plataforma se quieren utilizar, uniendo estas piezas a un desarrollo tradicional.

Arquitectura basada en contenedores

La plataforma ejecuta sobre contenedores Dockers orquestados con Kubernetes y operados por un CaaS, esto permite:

  • Ahorro de costes vs despliegues tradicionales

  • Escalabilidad: todos los componentes de la plataforma desplegados como contenedores pueden escalar dinámicamente según las necesidades

  • Estandarización: garantizando la coherencia en múltiples entornos proporcionando entornos repetibles

  • Compatibilidad y Mantenibilidad: las imágenes se ejecutan igual sin importar donde, lo que aumenta la mantenibilidad del sistema

  • Enfoque DevOps: los contenedores nos ayudan a reducir el tiempo de despliegue además de automatizar el proceso de desarrollo y despliegue

  • Aislamiento y seguridad: los contenedores garantizan que las aplicaciones están aisladas y sólo tienen acceso a sus recursos, además de la seguridad que da esta separación.

Independencia en el despliegue

Todos los servicios de la plataforma se pueden desplegar donde se prefiera.

Puedes desplegar en cualquier Cloud pública o privada o un tu propio CPD (metal o VMs). Además la plataforma es perfecta para despliegues híbridos donde por ejemplo la persistencia esté en el Data Center del cliente y el procesamiento en el Cloud.

Para esto la plataforma tiene un instalador basado en Ansible que vía Terraform permite provisionar en los diferentes proveedores.

Además de esto la plataforma tiene integración con diferentes servicios de Clouds como los de Azure, GCP, Amazon y permite usar de forma transparente estos servicios (pj servicio Kubernetes en Azure o AWS, Google BigQuery, Azure Intelligence Services,...).

Arquitectura multi-protocolo

La plataforma soporta múltiples protocolos, de modo que en función del tipo del sistema se pueda elegir el más adecuado, así podemos usar:

  • Mensajería sobre MQTT para la comunicación con dispositivos, MQTT es uno de los principales protocolos en el ámbito IoT

  • APIS REST para comunicación con otros sistemas, la plataforma permite construir y desplegar estos interfaces de forma visual

  • Kafka para escenarios Big Data donde es fundamental el rendimiento y ser capaces de procesar cientos o miles de eventos por segundo

  • WebSockets para comunicación bidireccional en aplicaciones web

  • Otros muchos protocolos a través del componente DataFlow, como OPC, Amazon SQS,  CoAP, Google PubSub, AQMP, JMS, Hadoop,...

Arquitectura segura

De cara al exterior toda la comunucación con y hacia la plataforma se hace con TLS y SSL

Toda la comunicación entre los microservicios de plataforma también se puede configurar para hacerse vía HTTPS, para eso los contenedores utilizan el patrón Sidecar que se encarga de establecer la seguridad.

La plataforma soporta diversos mecanismos de autenticación y autorización, usando por defecto OAuth2.

La plataforma también ofrece gestión del ciclo de vida de los credenciales, lo que permite proveerlos, suspenderlos, revocarlos.

Plataforma Open Source construida sobre componentes Open

La plataforma está construida sobre un gran número de componentes open-source ampliamente probados y estándares en su ámbito.

Esto reduce la curva de uso de estas tecnologías a los nuevos usuarios de plataforma, donde además esta ofrece herramientas que permiten usarlos de una forma más sencilla y productiva.

El compromiso con el Open Source es tal que además la plataforma es completamente open-source y está liberada en Github.

Más información