The edge of disconnected clouds
It’s inevitable that the cycle of the data center will continue, where our processing lives changes with the technology cycles from centralized to decentralized and back to centralized again. Organizations today are still all in on the cloud. There have even been recent extreme announcements which show this to be the case. For example, with Geforce NOW, where games are being rendered on Nvidia GPUs in the cloud and streamed to the home, essentially renting a GPU. Due to the requirements of the internet of things along with expanding needs to have computing distributed, we are likely entering another cycle of computing, moving from a centralized model to an edge connected processing model.
We’ve seen the beginnings of this edge shift from Microsoft, Google and Amazon. The one thing missing from their edge models is the notion of loosely connected or disconnected operations. These systems will need to encompass not only distributed processing (and machine learning or “AI”), but distributed data collection and even potentially distributed data stores to handle the data requirements. Although all of the offerings from these leaders have offline support, the state of synchronized data is not well managed when they reconnect. Analyzing these mega-cloud platforms and looking at their current edge models and architectures and what is missing has made for exciting research. They are ordered here based on market share.
AWS Greengrass is the edge and IoT offering from Amazon. Amazon-managed IoT devices must be embedded devices running Linux (only some distributions supported). There is no native storage in the platform, and it executes Lambda functions written in Java, Node.js or Python. The devices can be managed centrally, allowing for configuration, updates and discovery. For monitoring of the devices, CloudWatch or local logs are supported with limitations. For example, if the device is offline and using CloudWatch logs, the data would be lost, making troubleshooting impossible.
Microsoft Azure IoT Hub can run business logic and machine learning on the edge. Microsoft has also included the ability to use SQL Server on the edge, but the SQL server must be provisioned, deployed and managed just like any SQL Server. Both the software and the SQL Server are deployed in a container, increasing the flexibility of the platform. The SQL Server data is not automatically replicated, which means code is required to allow for replication and synchronization. Since all of the edge code runs inside a container or containers, it also must be managed by Azure Container Registry or Docker Hub. The business logic can be in C#, Python, Node.js or C. Microsoft also supports Azure functions, specifically for machine learning use cases. The system can be deployed on Windows or Linux devices. There are several platform services to handle use cases around time series, mapping and machine learning. Microsoft has spent less time on managing the endpoints (things) and operating systems, but instead focuses on and above the container layer.
Google’s IoT solutions are vast, including a wide array of technologies addressing IoT and edge computing. Google IoT core lives in the cloud, collecting data from things running Linux or AndroidThings which are running the Cloud IoT Edge offering. Cloud IoT Edge is in early access, so no testing was done nor was documentation available. The language support is not entirely clear due to the lack of docs. The newest member of Google’s portfolio is Edge Tensor Processing Unit (TPU), which is a custom-built silicon chip designed to extend Google’s cloud-based Tensorflow and Tensor Machine Learning to the edge. The edge offering is in early access, but the Cloud TPU has been out for some time. Google does not have a system which can be easily tested at this time, but it does have a precise model and strategy beyond what Microsoft and AWS are doing today.
So, clear bets are being made by the cloud providers, but none of them have the experience of manufacturing or industrial devices, so contrasting these cloud providers with a couple of the better-known manufacturers moving into software and IoT is also interesting.
GE’s Predix platform has a similar model to Google where there are Machines, which are the edge, Predix Cloud and applications. Predix Cloud is based on the Open Source Cloud Foundry and runs Java applications. Similarly, the Machine is a Java application, but can also run code in C++ or Python. It can also run inside Docker to make management easier. GE, similar to the other cloud providers, has common platform services for geolocation, telemetry, machine learning and security. Predix does provide the PredixSDK Database NoSQL database on the device for disconnected data access, and provides PredixSync to get the data synchronized. There does not seem to be offline support for anything aside from the NoSQL component.
Bosch’s IoT platform is built on top of the open source Eclipse Hono with API-level compatibility, and the data can only flow from the devices via HTTP or MQTT. The Bosch platform consists of several cloud-based services, but does not have many or any edge capabilities. It does not have offline operational modes; hence the platform seems more limited as of this writing.
Although there are many other players with IoT technologies, they are missing an exact edge offering. The contrast in approach from native cloud providers from those who moved to the cloud is exciting to observe and analyze. As these industrial players continue to evolve, we shall see if they can best the native cloud providers with specific expertise or if the cloud providers have too much of a scale and platform services advantage keeping them ahead. Only time will tell.
All IoT Agenda network contributors are responsible for the content and accuracy of their posts. Opinions are of the writers and do not necessarily convey the thoughts of IoT Agenda.