Notes for presenter:
This presentation is designed to be used with a live 10-minute demo
Total presentation time if you talk with high energy and without Q&A is around 45 minutes
All slides have speaker notesFor technical audience with no prior experience, spend more time on the technical overview in the beginning
For an audience with less technical interest, or more prior experience focus more on demo & use cases
This presentation should be used as-is without modification. If you want to build your own, base it on one of the IoT golden pitch decks instead.
Ok, so let’s look at the Oracle IoT Cloud Service. It is a complete, horizontally scalable cloud product that handles the key aspects of an IoT platform: connecting devices, analyzing captured data and integration with backend applications.
When I say it’s a complete solution, I mean that it contains all the elements you need to build an IoT application, and that those are pre-integrated to minimize customer cost & effort for building, deploying and maintaining an IoT application. It also provides elastic scalability, high availability and redundant failover out of the box – meaning you as a customer can focus solely on wiring up your application logic. I will go through the details of the cloud service in the next few slides.
As an operator or developer interacting with IOTCS there are two primary methods. You can use the IoT Cloud Service web UI, which provides an operational dashboard as well as the ability to configure connectivity, analytics and integration points. All functionality – everything - is also exposed through REST APIs for ease of integration.
Let’s look at how IOTCS interacts with other parts of an IoT infrastructure. They key value comes from the applications. IoT Cloud Service can send messages to applications based on insights to trigger a service workflow, update an asset databaset, etc. Applications can also actively interact with the IoT Cloud Service, manage devices, send messages to devices or query or search the events stored in the IoT Cloud Service using well documented REST APIs.
On the left hand side we have the devices. Devices interact with the environment in which they are installed: Capture sensor data or control some local actuator, could be for opening a door or changing a setting on a HVAC unit. Devices can integrate with the IoT Cloud Service by sending data to it, and by accepting commands from it. In the first version of the cloud service, communication between devices and the cloud is over HTTPS. This can be implemented directly by the customer or a device vendor using documented APIs or by using libraries provided by Oracle.
So, let’s dig into the details of the IoT Cloud Service starting with the how devices are connected.
From an architectural perspective, then, this is how IoT Cloud Service fits into the bigger picture. Inside the Iot Cloud Service black box you find all the functionality we have just talked about including messaging, device virtualization, stream processing, even storage and integration. On the right hand side, IoT Cloud Service can send data to and interact with complementary cloud services such as mobile, integration, BI and big data and with enterprise applications from Oracle and other vendors. On the left hand side, we can connect to any device over any network, and provide tools such as our client libraries and gateways to reduce the effort for customers and partners to enable such integration.
That concludes the feature overview. I would now like to go into some examples.
(This might be a good place to take a few questions about functionality)
Ok. So I’d like to cover just one example of a prebuilt integration, in this case with the BI Cloud Service. BI complements the real-time aspect of IoT Cloud Service analytics with discovery, dashboards and reports on large amounts of at-rest data. Mapping transactional data such as device events to a data warehouse can be complicated, but IoT Cloud Service takes care of this for you – sets up the appropriate schema, populates the BI database with select events and so on. You can send raw data, processed data or alerts; and you can of course enrich it with metadata coming from the device database or other sources. All you need to do is point it in the right direction and configure what data to send and the mapping is taken care of for you.
That’s it for today. Thanks for your time, and please reach out if you want more information about Oracle’s IoT offerings. You can also visit cloud.oracle.com/iot for access to the cloud service, documentation and the latest case studies and success stories.
Key points on this slide:
Device virtualization. Some call this “device shadows”. Every device is represented in IOTCS as a RESTful resource. Applications integrate with devices – manage them, send messages to them. An application – or an operator - can also query the state of a device through its REST resource.
Devices can be connected to the cloud service in various ways: directly or through an intermediary such as a field gateway or a 3rd party communication service. In either case, IOTCS tracks the topology of each device for security and troubleshooting purposes.
Oracle provides two software packages that simplify integration with the cloud service: A set of lightweight client libraries – in V1 available for Java and C with more coming – that provide reliable messaging and security. And the IoT cloud service gateway, that enables device-side application logic.
Communication between IOTCS and a device is bi-directional, but is always initiated by the device. That way, you don’t’ need to have any open ports on the device which improves security as well as reliability when communicating with devices that move around. The device virtualization provides a complete abstraction layer for how this communication happens, which hides applications from the complexity of communicating over disparate networks. All communication is guaranteed – messages are queued on both the device and cloud sides until communication is available and then sent in priority order.
Security is of course an important aspect. Oracle is using current security best practices. All communication between devices and the cloud, and between applications and the cloud service, is encrypted using TLS. Authentication and authorization is enforced prior based on roles for human actors. Devices follow a well-defined lifecycle with states such as registered, activated, deactivated and decommissioned; and what operations they are allowed is based on the current lifecycle state. Devices have unique identity and security credentials that get replaced frequently based on configurable policies.
Ok, so once you have your devices connected and are collecting data from them you want to extract value from that data by finding patterns in it, or by finding the crucial event that you need to react to because its out of normal range.
IoT Cloud Service incorporates a stream processing engine that allows you to create both simple and advanced queries on the incoming data. Data can be analyzed as it arrives, or by looking at a particular time window such as the last hour. You can look at individual event streams, filter them, correlate different streams and events; create aggregate streams and so on. Building up simple queries to look for vibration exceeding a threshold is simple, and you can do arbitrarily advanced queries using a visual composition tool. Trial-and-error programming is easy since you can always see the results of your queries on live data as it comes in.
In some cases, you want to delegate processing closer to the edge. Our gateway software includes an application container to which you can provision logic over-the-air. This means that as your insight into your data grows, you can distribute logic to the gateways, reduce the amount of low-quality data being sent upstream and get faster response time on critical events before the data has even reached the cloud.