En los siguientes siete años, Astarte se ha convertido en una piedra angular de las aplicaciones industriales de IoT en todo el mundo. La creciente demanda fue impulsada por un cambio de mercado en rápida evolución hacia modelos de servitización, alimentado por el creciente valor de los datos extraídos de los dispositivos de campo; las empresas buscaban soluciones que no solo pudieran optimizar las operaciones en el campo de la automatización industrial, sino también crear flujos de ingresos sostenibles y recurrentes. Astarte permitió a las empresas ir más allá de las ventas de hardware únicas al habilitar modelos de servicio flexibles basados en suscripción, proporcionando una plataforma robusta de orquestación de datos diseñada para impulsar esta transformación.
Hoy en día, Astarte se erige como la plataforma de orquestación de datos dentro del Clea Software Suite, empoderando a las empresas de todo el mundo para aprovechar todo el potencial de sus dispositivos conectados, optimizar operaciones e impulsar la innovación a través de una gestión de datos sin fisuras. Descubramos la historia de su nacimiento.
El Nacimiento de Astarte: Cambiando del Dispositivo a los Datos
Ispirata Srl, una joven empresa fundada en 2012 y posteriormente adquirida por SECO Spa, al principio centró sus esfuerzos en desarrollar y comercializar HemeraOS.
HemeraOS era una plataforma de código abierto diseñada para simplificar el desarrollo de aplicaciones para dispositivos embebidos, abordando desafíos en configuración, auditoría remota y gestión de dispositivos. Construida alrededor de Qt5, HemeraOS proporcionaba un Kit de Desarrollo de Software (SDK) integral que incluía todas las herramientas necesarias para el desarrollo de aplicaciones, soportando múltiples lenguajes de programación a través de enlaces o aplicaciones proxy. Soportaba múltiples sistemas operativos, incluidos Linux y Windows, y proporcionaba un instalador universal probado en plataformas como Ubuntu 14.04 LTS y Windows 7 en adelante. El SDK también presentaba una vista previa del plugin Qt Creator, ofreciendo un entorno de desarrollo integrado para aplicaciones Hemera. En general, HemeraOS apuntaba a simplificar el desarrollo de aplicaciones embebidas proporcionando una plataforma segura, agnóstica al hardware, con capacidades de comunicación robustas, abordando así muchas complejidades inherentes al desarrollo de sistemas embebidos. A pesar de sus capacidades, HemeraOS carecía de la capacidad para soportar la orquestación de datos IoT a gran escala.
Se hizo cada vez más claro que la próxima gran oportunidad residía en proporcionar a las empresas los medios para aprovechar sus datos de campo IoT para ofrecer servicios de valor añadido a sus clientes, una plataforma de middleware que pudiera orquestar y consumir datos generados por dispositivos en información procesable para tuberías de IA/ML. En aquel entonces, muchos conceptos de prueba de IoT (PoCs) se construían sobre Kubernetes, pero el equipo de Ispirata quería crear un middleware que abstrajera las complejidades de Kubernetes y diera a los desarrolladores de productos inteligentes una forma de integrarse fácilmente con su pila y software de terceros. Gracias a su licencia abierta, Astarte se presentaría como una opción robusta pero no comprometida para proyectos de prueba de concepto que, una vez probados exitosos, podrían escalar sin problemas a implementaciones de producción completas. El equipo de Ispirata se propuso construir una solución que fuera escalable, flexible y, sobre todo, amigable para los desarrolladores. A medida que el proyecto evolucionó, el equipo construyó un PoC en Java, aprovechando su ecosistema y la familiaridad de los desarrolladores. A medida que Elixir comenzó a ganar tracción, el equipo de Ispirata rápidamente reconoció su potencial para mejorar la arquitectura de Astarte. Dadas las demandas de las aplicaciones IoT—manejar vastas cantidades de conexiones simultáneas, asegurar la fiabilidad y gestionar eficientemente los datos distribuidos—las fortalezas de Elixir se hicieron cada vez más evidentes. Su enorme concurrencia, tolerancia a fallos incorporada y procesos ligeros lo convirtieron en una elección ideal para una plataforma que necesitaba escalar sin problemas. Reconociendo las ventajas de Elixir, Astarte pasó de un sistema monolítico en Java a una arquitectura basada en microservicios impulsada por Elixir y la máquina virtual BEAM, mejorando la escalabilidad y la resiliencia.
Reingeniería usando Elixir
Después de la fase de PoC, el desarrollo de Astarte se centró en la escalabilidad, la resiliencia, la facilidad de implementación, la interoperabilidad y la facilidad de uso.
Con su enfoque de Gestión de Datos Declarativa, Astarte requiere que los usuarios definan estructuras de datos antes de la transmisión usando Interfaces. Las interfaces en Astarte definen cómo los dispositivos se comunican con la plataforma, asegurando un intercambio de datos estructurado. La versionado asegura que las actualizaciones no rompan la compatibilidad, haciendo que Astarte sea adaptable para implementaciones IoT a largo plazo. Este enfoque asegura una gestión automatizada de esquemas y una clara separación de preocupaciones entre productores y consumidores de datos. Las interfaces están versionadas imitando el Versionado Semántico: los cambios arbitrarios pueden ocurrir exclusivamente entre diferentes versiones principales (por ejemplo, eliminar miembros, cambiar tipos, etc.), mientras que las versiones menores permiten solo cambios aditivos incrementales (por ejemplo, agregar miembros), permitiendo actualizaciones suaves y compatibilidad hacia atrás para implementaciones IoT. Este modelo permite una integración de datos sin fisuras en aplicaciones mientras simplifica las complejidades de la gestión de bases de datos y la validación de datos.
Astarte está escrito principalmente en Elixir y sigue una arquitectura de microservicios replicada, haciendo que cada componente sea autosuficiente. Esto permite que partes del sistema fallen sin interrumpir toda la infraestructura. Los servicios se comunican a través de una API basada en Protobuf sobre AMQP, permitiendo la extensibilidad entre lenguajes. Astarte asume que los dispositivos intercambian datos sobre un transporte o protocolo que soporta SSL/TLS, como MQTT, lo que asegura una comunicación segura y una autenticación confiable de dispositivos a través de certificados SSL de cliente. Cada implementación de transporte debe ser capaz de mapear interfaces y mensajes fuera de banda sobre ella. Sin embargo, Astarte en sí mismo permanece agnóstico a los detalles de implementación de la capa de transporte, ya que su papel es procesar mensajes AMQP conformes a su especificación API interna. La implementación de transporte oficial y recomendada para Astarte es MQTT, utilizando VerneMQ junto con su plugin dedicado de Astarte para facilitar una comunicación sin fisuras y escalable entre dispositivos y la plataforma.
La mayoría de las plataformas por ahí adoptan un enfoque vertical. Están diseñadas para servir a una industria específica si no a una sola línea de productos. A diferencia de las plataformas IoT integradas verticalmente, Astarte no restringe los dispositivos a una función predefinida. En su lugar, simplemente representa cualquier dispositivo electrónico capaz de conectarse—ya sea un refrigerador industrial, un router o un satélite, etc. A cada dispositivo se le asigna un ID de Dispositivo único de 128 bits, asegurando una identificación consistente y una gestión sin fisuras.
Los SDK de dispositivos pueden aprovechar el diseño de la interfaz para generar dinámicamente código para intercambiar datos con Astarte, y se proporcionan dirigidos a numerosos lenguajes de programación y dispositivos, desde C adecuado para pequeños MCUs como ESP32 o ZephyrOS, Java para soportar dispositivos Android, C++ en la plataforma Qt, hasta lenguajes modernos como Rust y Go, implementando seguridad de memoria por diseño, y muchos más (Python, Elixir, C#). De esta manera, los desarrolladores que usan SDK de dispositivos se ven liberados de conocer detalles sobre los transportes y protocolos subyacentes, y pueden usar una API impulsada por datos empleando el marco o usando el lenguaje con el que se sientan más cómodos.
Astarte está diseñado para escalar, integrándose nativamente con Kubernetes para simplificar la implementación y gestión. Astarte está construido sobre la API estándar de Kubernetes, lo que significa que no requiere implementación en un proveedor de nube o entorno específico. Ya sea implementado en la nube, en el borde, o en escenarios locales e híbridos, Astarte se integra sin problemas en cualquier instalación estándar de Kubernetes. Esta flexibilidad asegura que las organizaciones puedan aprovechar su infraestructura existente mientras se benefician de la escalabilidad y capacidades de orquestación de Astarte. El Operador de Astarte automatiza las operaciones del clúster, incluidas las actualizaciones, el monitoreo y la escalabilidad, optimizando el rendimiento en implementaciones en la nube, en el borde y locales. Incluso los desarrolladores no familiarizados con Kubernetes se benefician de su abstracción de operaciones complejas de infraestructura.
Astarte en Producción: Aplicaciones del Mundo Real
Entre 2019 y 2021, Astarte vio una adopción generalizada en diversas industrias. Exploremos dos casos de uso del mundo real donde Astarte emergió como la solución ideal para nuestros clientes.
En la industria de redes, Astarte ha sido fundamental para habilitar comunicaciones IoT masivamente escalables y seguras, particularmente para un cliente que gestiona vastas redes de routers. No podemos revelar nombres, pero confía en nosotros: has interactuado con su tecnología innumerables veces. Este cliente requería una solución capaz de escalar a miles de millones de dispositivos. Astarte aborda este desafío a través de su integración con ScyllaDB, una base de datos distribuida NoSQL de alto rendimiento conocida por su latencia ultra baja y alto rendimiento. ScyllaDB supera a las bases de datos tradicionales, asegurando que Astarte pueda manejar una ingesta masiva de datos y procesamiento en tiempo real para implementaciones IoT a gran escala. En tecnología médica, un OEM que fabrica equipos médicos de alta gama aprovechó Astarte para pasar de la venta de dispositivos a un modelo de ingresos recurrentes. En lugar de vender dispositivos directamente, la empresa implementó un sistema basado en créditos. Los médicos podían comprar créditos de uso a través de un panel en línea, con Astarte orquestando el backend para gestionar y rastrear el tiempo de terapia disponible en base a dispositivos. Esto permitió a los médicos acceder a tratamientos avanzados sin grandes costos iniciales, mientras que el OEM se benefició de un flujo de ingresos predecible, manteniendo la propiedad de sus dispositivos.
Unificación Bajo el Clea IoT Software Suite de SECO
Un hito importante en la evolución de Astarte llegó en 2021 cuando Ispirata Srl fue adquirida por SECO SpA para formar SECO Mind, la subsidiaria de SECO dedicada al software IoT de vanguardia.
Esta fase condujo al desarrollo de Edgehog, un sistema de gestión de dispositivos de código abierto construido sobre Astarte, diseñado para supervisar los ciclos de vida de los dispositivos IoT. Edgehog simplifica la gestión de flotas con características como actualizaciones de firmware OTA, monitoreo de estado en tiempo real, seguimiento de geolocalización y acceso remoto a terminales. Soportando tanto sistemas basados en Linux como dispositivos ESP32, Edgehog proporciona una orquestación de dispositivos sin fisuras en diversos entornos de hardware.
Además, Clea Portal emergió como una extensión lista para empresas de Astarte, permitiendo a las organizaciones gestionar usuarios, aplicaciones y proyectos IoT con una interfaz personalizable y aplicaciones basadas en JavaScript plug-and-play.
SECO introdujo la marca Clea, consolidando todos los componentes bajo una oferta comercial IoT unificada mientras mantenía un enfoque de middleware abierto. Este movimiento posicionó a Astarte como un jugador clave en soluciones IoT industriales, acompañado por una oferta modular de hardware y software.
Ahora te toca a ti
La mayoría de los componentes de software en el Clea Suite están disponibles en GitHub bajo la permisiva licencia Apache 2. Esto significa que, aunque esta es la historia de Astarte, ciertamente puedes ser parte de su futuro. Visita SECO.com para aprender más sobre su código y cómo contribuir, o no. Simplemente usa Astarte como mejor te parezca, incluso en proyectos comerciales.
Ya sea que estés buscando optimizar tus operaciones, pasar a modelos de negocio basados en suscripción o integrar orquestación de datos de vanguardia en tus productos, SECO está aquí para ayudar. Ponte en contacto con nosotros hoy para descubrir cómo nuestras soluciones, incluyendo Astarte y el Clea IoT Software Suite, pueden transformar tu negocio.