Learn About Building Internet-of-Things Backends on Oracle Cloud Infrastructure

Learn how to provision Oracle Autonomous Database (Autonomous Database), install Node-RED, and install Eclipse Mosquitto server on an Oracle Linux machine hosted on Oracle Cloud Infrastructure (OCI), first by running it with a local Oracle Database (free developer) and then migrating it over to Autonomous Database.

In the fast-paced era of the internet-of-things (IoT), where connected devices and systems are revolutionizing industries, the need for efficient and robust backend solutions has become paramount. Enter Node-RED, an open-source, flow-based programming tool that empowers developers to create, deploy, and manage IoT applications with ease. Paired with Autonomous Database, an enterprise-grade database solution, this dynamic duo offers an unparalleled combination of flexibility, scalability, and reliability for building and running IoT backends. In this playbook, we will explore the exciting possibilities that arise when Node-RED and Autonomous Database forces, revolutionizing the way we handle and process IoT data.



oci-hosted-linux-diagram-oracle.zip

Architecture

This architecture shows the deployment diagram of the solution with a load balancer accepting the MQTT traffic before forwarding it to one of the two IoT backends. Both are connected to a compute machine hosting Oracle Database (free developer), which can be replaced with Oracle Autonomous Database.

Use this architecture when you want to run your own IoT backend. See Explore More for a demonstration.



oci-iot-backend-diagram-oracle.zip

This architecture supports the following components:

  • Region

    An Oracle Cloud Infrastructure region is a localized geographic area that contains one or more data centers, called availability domains. Regions are independent of other regions, and vast distances can separate them (across countries or even continents).

  • Availability domain

    Availability domains are standalone, independent data centers within a region. The physical resources in each availability domain are isolated from the resources in the other availability domains, which provides fault tolerance. Availability domains don’t share infrastructure such as power or cooling, or the internal availability domain network. So, a failure at one availability domain shouldn't affect the other availability domains in the region.

  • Fault domain

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain has three fault domains with independent power and hardware. When you distribute resources across multiple fault domains, your applications can tolerate physical server failure, system maintenance, and power failures inside a fault domain.

  • Virtual cloud network (VCN) and subnet

    A VCN is a customizable, software-defined network that you set up in an Oracle Cloud Infrastructure region. Like traditional data center networks, VCNs give you control over your network environment. A VCN can have multiple non-overlapping CIDR blocks that you can change after you create the VCN. You can segment a VCN into subnets, which can be scoped to a region or to an availability domain. Each subnet consists of a contiguous range of addresses that don't overlap with the other subnets in the VCN. You can change the size of a subnet after creation. A subnet can be public or private.

  • Compute

    The Oracle Cloud Infrastructure Compute service enables you to provision and manage compute hosts in the cloud. You can launch compute instances with shapes that meet your resource requirements for CPU, memory, network bandwidth, and storage. After creating a compute instance, you can access it securely, restart it, attach and detach volumes, and terminate it when you no longer need it.

  • Web Application Firewall (WAF)

    Oracle Cloud Infrastructure Web Application Firewall (WAF) is a payment card industry (PCI) compliant, regional-based and edge enforcement service that is attached to an enforcement point, such as a load balancer or a web application domain name. WAF protects applications from malicious and unwanted internet traffic. WAF can protect any internet facing endpoint, providing consistent rule enforcement across a customer's applications.

About Required Products and Roles

This solution requires the following products and roles:

  • Oracle Cloud Infrastructure

These are the roles needed for each service.

Service Name: Role Required to...
OCI: Administrator Set up a VCN and Compute node.

See Oracle Products, Solutions, and Services to get what you need.