Cloud Containers for IoT Applications

Latest forecasts by Gartner, Inc. states that 6.4 billion connected things will be in use worldwide in 2016, up 30 percent from 2015, and will reach 20.8 billion by 2020. In 2016, 5.5 million new things will get connected every day.

With the rapid growth of Internet of Things (IoT) applications, enterprises look to platforms and services that enables them to manage and analyse the real-time events and streams of data coming from various sources (environmental sensors, medical trackers, home appliances, and industrial devices).

The 3-tier architecture for many IoT platform consist of the following:

a. Edge device or the smart device

b. Network and access gateways

c. Data services and end-user applications

Together all three tiers form a complex network of distributed systems, devices and applications.

The edge devices or “Things” in IoT have low compute resources, lightweight embedded Operating System (OS) and are connected to the network or to each other or gateway services. These devices have different types of sensors, actuators and work with various protocols.

Without the network support, there is no IoT. The network infrastructure needs to be agile, secure and smart to cope with sheer volume of data generated from various sources – devices, distributed systems, real-time analytics, and response to events. Comprehensive Network Management Monitoring and security are essential in delivering a consistent experience to extend all the way down to the edge devices, across different network topologies, wired and wireless links of various bandwidth, latency and availability.

The Data Services tier located at the physical Data Center or in the cloud, handles event driven tasks - filtering incoming streams of data, analytics processing, organising and transferring data streams, monitoring, multimedia encoding, etc. Once this processing is completed, the results are delivered to the end-user tier – the application that the end-user actually sees and interacts with. The challenge for IoT developers is that all three tiers are developed separately and can be deployed on different OS, network topology, storage topology and the whole system is expected to work.

 

· While rich media content can be used in the development of end-user application, edge-device platforms are developed keeping in mind the low energy and low compute resources available.

 

· Edge devices can be located in areas of unreliable or low wireless bandwidth – firmware updates software revisions for the devices must be of small footprint and lightweight to cope with network unreliability.

 

· Many devices collect personal or sensitive data and security at all level needs to be addressed.

 

The new IoT service architecture should adapt to the characteristics of these three tiers.

This is where containers can help – to rapidly develop, test, deploy, and update IoT applications at scale. In a nutshell, Containers make it possible to package a software or application with all the required libraries, dependencies, and resources for easy deployment. Application Containers by architecture are lightweight, portable and easily scalable.

 

Lightweight: Containers virtualize the operating system giving applications running in each container in its own isolated environment to run, sharing the host server resources and host OS kernel. Containers use less system resources allowing us pack more application instances per host server / virtual machine.

Each smart device or tenant can be represented by an application container or a group of containers can be deployed to for a service. Based on the events triggered the containers can scale, process data and pass them to different applications layers for user presentation data dashboards, databases and persistent storage systems.

The lightweight container-image can be directly deployed on supported smart devices – thereby extending some of the features of the container technology. For e.g. deploying a Docker image on a smart device will enable the device to pull updates and software revisions (using Docker Watchtower) By enabling the device to pull the updates we can ensure higher success rates in device upgrades- once the device is in ready state (availability of network and power) the patch is applied, rather than having to push updates and the device is in off state (no network or no power). The image footprint is mall and compressed making it easier to patch devices over unreliable or low bandwidth networks.

 

Portable: IoT applications target a wide variety of device platforms. From the developer’s machine to production, there are different environments that the application code has to pass through. By containerizing the application, we abstract it from the dependency of the underlying operating system and Infrastructure, which provides a consistent environment for the application from development through production, easing the code development and deployment pipeline.

 

Scalable: Each of the containers can be placed across hosts to provide resiliency for host failures. It’s easy to spawn 100s or even 1000 containers depending on the use case/workload. By distributing your app, as many micro services where each one runs its own container coupled with an underlying orchestration and monitoring system, containers can provide resiliency and scale and also provide means for rolling updates or zero down time application upgrades.

 

Evolving Attributes of Containers: The architectural pattern for IoT platform needs to incorporate a portable framework and also provide management and monitoring for the supporting infrastructure. Containers provide lightweight mechanism to readily deploy and execute services. Using container workflow management tools, we can better support the packaging, configuration, deployment, orchestration, management, updating and monitoring of IoT devices. Docker is synonymous with containers, but it’s not the standard format and there are other alternatives – For example: Rocket from CoreOS, LXD for Ubuntu from canonical and Warden from Cloud Foundry. Similarly, there are several tools for container workflow management monitoring security. Also, the feature enhancements in the areas of container network, storage, security are rapidly evolving.

 

Growing Demand: To meet the predicted demand for applications for the IoT, developers and cloud architects need to adopt new tools and practices. This will help them to rapidly develop and deploy IoT applications for various platforms. Finally, the popularity of containers has led to all the IT majors - Docker, CoreOS, Google, Microsoft and Amazon and many more to support the Open Container Initiative to build a vendor-neutral, portable and open specification standard for container-based solutions

 

The author is Practice Head - Cloud Services, Netmagic

Vans Old Skool Grise


Comments

intobre's picture

Viagra Generico Online Sicuro https://viacialisns.com/ - cialis online reddit How Much Is 100mg Of Clomid <a href=https://viacialisns.com/#>purchase cialis online cheap</a> Amoxicillin And Ph

Add new comment