DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • Making an IoT Developer’s Life Easier With Eclipse IoT Packages
  • How to Get Started With the Smart Parking
  • Mobile and IoT Security Strategies in the Cloud
  • Travis CI vs Jenkins: Which CI/CD Tool Is Right For You?

Trending

  • How Large Tech Companies Architect Resilient Systems for Millions of Users
  • Metrics at a Glance for Production Clusters
  • A Modern Stack for Building Scalable Systems
  • Fraud Detection Using Artificial Intelligence and Machine Learning
  1. DZone
  2. Data Engineering
  3. Big Data
  4. Meet Kapua: An Open Source End-to-End IoT Cloud Platform

Meet Kapua: An Open Source End-to-End IoT Cloud Platform

Red Hat, Eclipse, and Eurotech have announced Eclipse Kapua — an end-to-end open source IOT cloud platform that combines and enhances several current solutions.

By 
Mike Gates user avatar
Mike Gates
·
Jul. 01, 16 · News
Likes (6)
Comment
Save
Tweet
Share
15.9K Views

Join the DZone community and get the full member experience.

Join For Free

Red Hat and Eurotech announced on June 30 that they were joining forces to create an open source end-to-end IoT cloud platform.

In any case, the platform will be called Eclipse Kapua, courtesy of the fact that the project is being run through the Eclipse Foundation.

"The co-sponsored project, Eclipse Kapua, combines with the existing Eclipse Kura project to offer IoT developers and end users an open platform for end-to-end IoT implementations, helping them to avoid costly proprietary lock-in and accelerate community-driven development," according to a press release.

Red Hat threw its fedora into the ring by helping sponsor the project. "By co-sponsoring Eclipse Kapua, we ... seek to build a flexible, stable base for future IoT innovation, a base powered by upstream communities and responsive to emerging needs around industrial IoT," said Red Hat Senior VP of Global Channel Sales and Alliances Mark Enzweiler.

Marco Carrer, Eurotech's CTO, thinks Kapua will provide "a critical piece of the fully open IoT cloud platform, enabling IoT developers to embrace the flexibility, scale, and reliability of open source for next-generation deployments.

It's currently under creation review until July 6, so if you want to lend a voice to the project, head on over and comment on it. So, without further ado, let's break it down.

Open Source

Well, Red Hat and the Eclipse Foundation are involved, so of course it's going to be open source. Eclipse is allowing the use of its Kura project — an open source IoT gateway framework — to serve as the backbone of the new Kapua initiative. Kura will provide the Java/OSGi-based gateway management needed for Kapua, and Kapua will be able to natively manage Kura gateways.

But wait, there's more!

Kapua will also use Eclipse Hono (more info) for its messaging infrastructure, Eclipse hawkBit (more info), which provides the infrastructure for artifact repository and software distribution, Eclipse Leshan (more info) for the machine-to-machine protocol, and Eclipse Paho (more info) for the MQTT. 

End-to-End

The scope of the project encompasses every step from development to the end user. "For example, an IoT App package could contain an Eclipse Kura deployment package and a web application developed over the Eclipse Kapua REST APIs," according to the project write-up. "It would be quite interesting to model an IoT app so that its provisioning can be fully automated including the distribution of the edge package to a Kura runtime on a remote gateway and the deployment of the web-application."

It's clear the project aims at being a sort of one-stop-shop for developing and implementing IoT apps while the open source aspect keeps it accessible to anyone who might want to participate.

The integration of the project is getting special focus in the initial write-ups. The platform will be "fully programmable via RESTful web services API," according to the Eclipse Foundation. All organizations involved seem to want to make Kapua as flexible as possible.

Eclipse also put out this diagram of how Kapua's architecture:

Image title

Device Connectivity

The device connectivity module will authenticate connections, enforce authorization, and maintain a device registry. According to the write-up, "The device registry stores the device profile, the device connection status, and the device connection log. It also enables device organization through custom attributes and tags."

Message Routing

The router takes care of sending messages on their respective paths. Whether a communication is supposed to go to device management, the archives, or elsewhere, the router tackles it and avoids the need for hard-coding a solution via behaviors.

Device Management

This is what allows the platform to perform remote operations on a device. "The IoT platform exposes an open contract towards the devices being managed with no assumption on the device software stack," according to the Eclipse Foundation.

Ideally, this will allow the platform to:

  • Introspect and manage the device configuration.
  • Manage the device services including service start and stop operations.
  • Manage the device applications including application install, update, and remove.
  • Execute remote OS commands on the device.
  • Get and set device attributes and resources.
  • Provision initial configuration of the devices.

Data Management

As we'll get to in the IoT segment, Kapua will be able to archive and create pipelines for telemetry data. This information will be put into persistent NoSQL storage. The data registry, which maintains topics and metrics, will also be in the data management module.

Security

This model supports hierarchical access control for accounts, and Role-Based Access Control is the overriding philosophy for the platform itself. "User identities can be defined and associated with one or more permissions guaranteeing the principle of 'least privilege,'" according to Eclipse. "Devices connect to the platform using the credentials of one of these user identities or through SSL authentication."

Application Integration

As mentioned, Kapua will use a Web Services API based on REST. Not only will it open up the platforms functionality, but it will link to the MQTT broker to help route messages between applications and devices without a specific connection to said broker. Finally, "Technologies such as REST/Comet/WebSockets are included allowing real-time display of data published by the devices in web pages and mobile dashboards," according to Eclipse.

Admin Console

And then there's the administration console. Eclipse provided a screenshot of the current version of the console:

Image title 

IoT

But the main focus of the project is IoT. Kapua is supposed to be a framework for developers to create for and communicate with the Internet of Things.

As mentioned, Kapua will support MQTT out of the box, but that's just the beginning. The teams will add AMQP, HTTP, and CoAP over time. If all goes according to plan, Kapua will set up pipelines for telemetry data (including data archival for dashboards or business intelligence applications as well as real-time analytics); accommodate multi-tenancy in account management, user management, permissions, and roles; and handle connectivity, including authentication and authorization.

All parties involved want to be able to collaborate with and integrate other IoT solutions, such as Apache Camel, ActiveMQ, and Drools. 

Cloud

Eurotech will also contribute the code from its Everyware Cloud (docs) to the project. Everyware serves as a cloud-based machine-to-machine integration platform. While Kapua will be deployable on-premise, it can also be set up in the cloud in the hopes of providing more flexibility.

Furthermore, the cloud-based philosophy of scalability is present within much of the initial documentation. Hono, for instance, is a highly scalable messaging infrastructure that will be a part of Kapua. 

Open source IoT Cloud Eclipse mobile app

Opinions expressed by DZone contributors are their own.

Related

  • Making an IoT Developer’s Life Easier With Eclipse IoT Packages
  • How to Get Started With the Smart Parking
  • Mobile and IoT Security Strategies in the Cloud
  • Travis CI vs Jenkins: Which CI/CD Tool Is Right For You?

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: