The OCI Tool

Like a Swiss Army Knife for OCI



First Hands-On with Roving Edge


The Oracle Roving Edge Infrastructure (Roving Edge) is not a new solution for Oracle Cloud, but it is new to some.  Originally developed for the intelligence and defense communities, the Roving Edge was designed to take OCI to the most remote regions of the world where connectivity is often impossible. The Roving Edge just recently, within the last year, became available to commercial customers. This prompted the Deloitte OCI team to consider use cases and just get smarter on the capabilities of the device.

Thanks to Deloitte’s top tier status in the Catalyst Program, the team was able to deploy a Roving Edge device and execute a Roving Edge “hackathon”. The goal was to leverage Roving Edge in combination with OCI cloud native services, demonstrating its capability to operate in a connected, semi-connected, or disconnected mode. Very quickly, ideas developed into a plan to leverage the Roving Edge to collect, collate, and synchronize IoT sensor data with a central data warehouse and time series analytics dashboard.

As shown in the architecture diagram below, the goal was to have a service running on a Linux server hosted by the Roving Edge. This service would periodically poll an IoT controller for the latest sensor data. It would then write the salient information to a common file format in an object storage bucket hosted by the Roving Edge. Using the native object storage synchronization capabilities, the Roving Edge would push the new files to a central OCI object storage bucket. When received by OCI, the Events service would recognize the new file and initiate a function that would load the data to a MySQL Cloud Service database. At that point, the data would be viewable on a central Grafana dashboard where operations staff can see the latest sensor information across all facilities.

After the Roving Edge was physically received, the team connected it to an on-premises network and started the deployment process. Following the online documentation, it was straightforward to get the Roving Edge up and running. Once the process of unlocking the device was complete, the team installed the necessary certificates on local machines and quickly connected to the dashboard. Thanks to the familiar OCI look and feel, creating new users, setting up a network, and deploying servers from loaded images was a breeze.

In this case, the team chose to leverage a standard OEL 8 image, but also had a variety of images on-hand, such as GoldenGate and WebLogic. One of the key steps the team recognized was the importance of updating the yum repository information to point at publicly available yum repositories. By default, the Roving Edge images are built to operate using local repositories or those hosted in OCI. The configuration was a quick change to the repo files found in /etc/yum.repos.d, by updating the baseurl to use yum.oracle.com.

After updating the server with the latest packages from yum, the team tested connectivity to the IoT controller. After connectivity was established, the team setup the synchronization jobs for the object storage buckets. This was a very simple scheduling page where the team chose how often to attempt to push the data to OCI and what to do in the event of lost or restored connectivity.

From there, the team wrote a Python script that was executed by a cron job every minute. The script pulled data from the various IoT REST APIs, aggregated the data into a JSON file, and wrote that file directly to object storage using the OCI SDK for Python. After the usual amount of testing, tweaks, re-testing, more tweaks, and more re-testing, the script was producing exactly what the team wanted. And like magic, the file started appearing on the Roving Edge object storage and were being pushed to OCI without any additional fuss.

From there, the team wrote a custom Oracle Function using Python and the OCI SDK for Python to read the file from the OCI object storage bucket, parse the data, and insert it into the data warehouse. Once the tests were run and the data showed up as desired, the team capped it all off by defining an Event that would fire every time a new file was written to object storage. The event pushed the file information to the Oracle Function and the data got loaded to the data warehouse. Within minutes, the team was seeing data populate into the data warehouse and the dashboards began to light-up. To further expand on the use case, the team leveraged available weather data for the various locations sending IoT information to mash-up a dashboard that could correlate weather events with sensor events, as shown below.

In the end, the Deloitte team learned that setting up the Roving Edge device took a few critical pieces:

  1. It was absolutely critical to read the documentation, understand it, and make a plan for the initial setup.
  2. Like any technical solution, it took people that understood the technology, namely on-premises networking and OCI skills to properly deploy the device.
  3. If the team had to do it over again, they would have spent more time developing the solution in OCI and package a complete solution in the form of an image to be deployed to the Roving Edge on day one, as opposed to developing directly on the device. For the purposes of the hackathon, the team was better off to get into the work right on the device.

This simple use-case was great to get a working knowledge and show the basics of what the Roving Edge can do, but it only scratched the surface. When it comes to the value this device brings, there is so much more capability like high performance computing (HPC). Built into the core of the Roving Edge is a powerful GPU that allows on-site, on-the-fly AI and Machine Learning modeling. Just imagine what that could do for organizations like healthcare providers analyzing X-Rays and MRIs on-site with ever evolving ML models.


Leave a comment