IoT Helps Redefine Cloud-Native App Development
Distributed applications must be designed upfront for deployment in the cloud if enterprises hope to achieve the scale necessary for Internet of Things and other hyper-scale projects, cloud-native proponents argue.
Industry groups such as the Cloud Native Computing Foundation (CNCF) and the Open Connectivity Foundation have been leading the charge for broader cloud application development. Seeking to put a hybrid spin on cloud-native efforts, OCF released a white paper earlier this month that makes the case for cloud-native application development as companies look to scale operations to handle the growing number of workloads generated by mobile devices and IoT sensors.
"Cloud-native applications are not monolithic with one central server providing hundreds of APIs," the white paper notes. "Cloud-native applications are composed of dozens of micro-services, each expressed as a RESTful API, whose provisioning code is in a software container, and whose lifetime is limited to the interaction with a single client." (RESTful APIs are designed to operate with intermittent connections between devices and services.)
These "lightweight," ephemeral services are seen as the key to scaling and reliability, increasingly relying on open source projects like Node.js to create services along with container orchestrators such as Kubernetes that manage millions of application containers providing RESTful API services.
With the rise of the IoT, "cloud-native design has emerged as the only way to handle the load generated from millions of mobile devices," the OCF argues.
As the cloud-native movement gains momentum, industry groups like OCF have adopted a holistic approach that supports both "local-only" and cloud-native scenarios. An example of the former would is a set-top box managing local devices.
"Some implementations of IoT do not require the level of scale mandating cloud-native design," OCF notes. Hence, its framework supports both local and cloud-connected approaches, meaning not all devices have to communicate directly to the cloud. In some instances, a network gateway between IoT sensors and the cloud would be sufficient, it added.
In a sample use case, the group said a smartphone could be used to manage a home device if no external Internet connection was available. The only requirement is a small group of connected network devices known as a subnet. Meanwhile, the same phone application could be used to manage a home device remotely via the Internet.
OCF's hybrid local/cloud native approach differs somewhat from groups like CNCF, which is aiming for "radically enhanced developer productivity, snap together systems, radically reduced operations overhead" and simpler deployments.
Ultimately, both groups are seeking to leverage micro-services based on containers to deliver what they refer to as "immutable infrastructure" that can scale to handle emerging IoT deployments.