On-Premises IoT Platform

How To Design an Enterprise IoT Solution On Your Private Network

When starting an IoT project, one important consideration is whether to use an on-premises or cloud environment to run IoT applications and manage devices and data. While many private networks may not have Internet connectivity or be able to transmit data through a public cloud, there are several advantages to running on-premises IoT solutions. For instance, a private network that is not connected to the Internet is generally more secure, as transmitting and storing data in a cloud environment can introduce additional security risks for mission-critical IoT solutions. Additionally, on-premises solutions can offer more control over data and infrastructure, as well as potentially lower costs for some organizations. It's important to carefully weigh the pros and cons of both options and choose the one that best meets the needs and goals of your specific IoT project.

An on-premises IoT platform is installed and run on a local computer/device in a private network rather than on a remote server in the cloud. This type of platform can offer greater security and control, as well as potentially lower costs for some organizations. If you're interested in creating a cost-effective on-premises IoT platform, our hardware-agnostic IoT foundation may be a good option for you. It allows you to build an IoT platform that is tailored to your specific needs and can be run on-premises, giving you more control over your data and infrastructure. Whether you're a large enterprise or a small business, an on-premises IoT platform can be a powerful tool for realizing the benefits of IoT in your organization.

On-Premises IoT

Figure 1: Wind turbines are typically interconnected within a private (nonpublic) network.

Your On-Premises IoT Platform

The Barracuda App Server is a powerful tool for building and deploying on-premises IoT, edge, or private utility solutions in private networks. This is especially useful for enterprises that need to maintain security and control but still want to take advantage of the benefits of a cloud-based IoT platform, such as the ability to develop integrated IoT applications quickly and securely. If you're unable to deploy to the open Internet or transmit data through a public cloud, the Barracuda App Server can help you get the most out of your IoT projects without sacrificing security or control. With its user-friendly programming environment and extensive capabilities, the Barracuda App Server is a versatile and reliable choice for organizations looking to realize the full potential of IoT in their operations.

When building on-premises IoT solutions and products, it's important to have a strong foundation that includes industry-standard protocols such as OPC-UA, Modbus, MQTT, HTTP, and REST. These protocols are essential for enabling communication and interoperability between different devices and systems and help ensure that your IoT solutions are reliable and scalable. By choosing a platform that supports these protocols, you can be confident that your on-premises IoT projects will have the foundation they need to succeed.

Platform Agnostic IoT Platform

One of the key benefits of the Barracuda App Server is its hardware and operating system agnosticism, which allows it to run on a variety of systems. This includes (Embedded) Linux, , QNX, VxWorks, Windows, macOS, Zephyr, FreeRTOS, INTEGRITY, Azure RTOS, Nucleus RTOS, embOS, RTXC, SMX, MQX, and RTOS-32, making it an ideal choice for a wide range of projects. Whether you're working with a specific hardware platform or operating system, the Barracuda App Server can help you bring your IoT vision to life.

SMQ On-Premises IoT Protocol

In addition to supporting standard protocols like OPC-UA, Modbus, MQTT, and HTTP, Barracuda App Server also includes an IoT protocol called SMQ. This protocol is similar to MQTT but includes additional features that are particularly useful for device management and supervision. With SMQ, your product can act as an IoT broker, similar to an MQTT broker, but with the added benefit of being able to integrate industry protocols, HTTP, and application server technology in one easy-to-use integral package. This makes the Barracuda App Server an ideal choice for organizations that need a powerful and flexible platform for their IoT projects.

The following picture depicts how one SMQ broker can manage and supervise many devices, such as actuators and sensors. These devices do not run the Barracuda App Server but use the SMQ C Client Library when connecting to the broker.

SMQ IoT Broker

Figure 2: One HMI managing and supervising many MCUs via SMQ.

Hands-on Example & Tutorial

The example to the right is from the article Modern Approach to Embedding a Web Server in a Device, which provides an innovative design pattern for controlling on-premises actuators and sensors using SMQ.

You will see multiple light switches to the right if other users are viewing this page. Only one switch belongs to you. See the article for details.

Large Scale Operations

One of the benefits of the SMQ protocol is that one can control and supervise any number of devices using the same client. The server hosting the SMQ broker also becomes an SMQ client when a custom Lua application is installed on the server side. The SMQ broker includes a cluster plugin enabling any number of Barracuda App Server-powered products to communicate using the cluster bus.

On-Premises IoT for Wind Turbines

Figure 3: Barracuda App Server powered products interconnected using the SMQ cluster bus.

The SMQ cluster technology includes a ready-to-use auto-discover plugin, enabling Barracuda App Server powered products to automatically connect to the SMQ cluster bus. See the IoT Cluster Demo for a hands-on cluster bus tutorial.

See the online SMQ documentation for additional on-premises IoT use cases.

Easy On-Premises IoT Deployment

The embeddable Barracuda App Server C source code library is a powerful and flexible platform for building on-premises IoT solutions and can be easily embedded in a larger program or firmware as a C source code library. When working with a high-level operating system like (embedded) Linux, QNX, VxWorks, or Windows, you can also use the ready-to-run Barracuda App Server bundle called the Mako Server to make deployment even easier. This bundle includes everything you need to get started and can help you get your IoT projects up and running quickly and efficiently.

Mako Server

Figure 4: Mako Server, a ready-to-run Barracuda App Server executable.

One of the key benefits of using the Mako Server for your IoT projects is its ease of deployment. With all features, including the database, integrated into one executable, it's quick and easy to get your projects up and running. Plus, deploying your custom Lua applications is as simple as uploading a standard ZIP file. This makes the Mako Server a convenient and user-friendly choice for organizations looking to build on-premises IoT solutions with the Barracuda App Server. Whether you're working on a small pilot project or a large-scale deployment, the Mako Server has the tools and features you need to succeed.

Platform Agnostic Edge Controller Software

The Barracuda App Server also provides a solid edge controller foundation. See the Industrial Edge-Controller Software page for details.

Edge Controller

Demo Application

Although the following demo is designed to be installed on a cloud server, it demonstrates concepts that can be applied to an on-premises IoT platform. The clustering shown in the video may not be necessary for an on-premises IoT platform but can be beneficial if the platform requires internet access. The clustering allows for bridging between a local server and an internet server, making it possible to securely reach devices in the private network from other locations.

Please refer to the demo documentation for instructions on how to download the Windows demo executable and for information on how to synchronize all displays. Note that the demo application focuses on demonstrating how a native UI and web UI can be synchronized in real time. This option is great for companies that need both a native and web user interface, but creating both a native UI and a web UI increases the cost as two separate user interfaces must be developed. However, modern web interfaces can easily replicate and provide the same user experience as any onboard UI, thus native UIs are not necessary with modern device design.

How To Get Started With On-Premises IoT

The Mako Server includes an IoT example designed for being installed on your own computer. See Installing The SMQ Broker On Your Own Computer for details.

Engineers: We're Here to Support Your Vision:

Navigating the world of embedded web servers and IoT can be daunting. Our consulting services are here to provide instant expertise. But our tutorials are ready if you're looking for a self-paced journey. Every challenge, every ambition, we've got your back.


OPC-UA Client & Server

An easy to use OPC UA stack that enables bridging of OPC-UA enabled industrial products with cloud services, IT, and HTML5 user interfaces.

Edge Controller

Edge Controller

Use our user programmable Edge-Controller as a tool to accelerate development of the next generation industrial edge products and to facilitate rapid IoT and IIoT development.

On-Premises IoT

On-Premises IoT Platform

Learn how to use the Barracuda App Server as your On-Premises IoT Foundation.

Embedded Web Server

Barracuda Embedded Web Server

The compact Web Server C library is included in the Barracuda App Server protocol suite but can also be used standalone.

WebSocket Server

Microcontroller Friendly

The tiny Minnow Server enables modern web server user interfaces to be used as the graphical front end for tiny microcontrollers. Make sure to check out the reference design and the Minnow Server design guide.

WebDAV Server

Network File System

Why use FTP when you can use your device as a secure network drive.

HTTP Client

Secure HTTP Client Library

PikeHTTP is a compact and secure HTTP client C library that greatly simplifies the design of HTTP/REST style apps in C or C++.

WebSocket Client

Microcontroller Friendly

The embedded WebSocket C library lets developers design tiny and secure IoT applications based on the WebSocket protocol.

SMTP Client

Secure Embedded SMTP Library

Send alarms and other notifications from any microcontroller powered product.

Crypto Library

RayCrypto C Library

The RayCrypto engine is an extremely small and fast embedded crypto library designed specifically for embedded resource-constrained devices.

Embedded PKI Service

Automatic SSL Certificate Management for Devices

Real Time Logic's SharkTrust™ service is an automatic Public Key Infrastructure (PKI) solution for products containing an Embedded Web Server.


Modbus TCP client

The Modbus client enables bridging of Modbus enabled industrial products with modern IoT devices and HTML5 powered HMIs.

Posted in Whitepapers