CT2102-Cover-800x500
CT2102-Cover-800x500
CT2102-Cover-800x500
CT2102-Cover-800x500
CT2102-Cover-800x500

Edge computing survival kit

Feb. 18, 2021
Many software tools and services are available that can make to easier to design, implement and maintain edge-computing applications. Here are some of the latest.
Knives out: New tech brings power & flexibility to the edge

This article is part of a series covering edge computing. Read the rest of the series now.

Amazon Web Services IoT Greengrass software extends cloud capabilities to local devices, enabling them to gather and analyze data closer to sources, react autonomously to local events, and communicate securely with each other on local networks. Local devices can also communicate securely with AWS IoT Core and export IoT data to the AWS Cloud. AWS IoT Greengrass developers can use AWS Lambda functions and pre-built connectors to create serverless applications deployed to devices for local execution.

Azure IoT Edge is a managed service built on Azure IoT Hub cloud-hosted backend, which lets users deploy cloud-based workloads, such as artificial intelligence (AI), Azure and third-party services or users' individual business logic, and run them on IoT edge devices via standard containers.

Balena is a software toolset for building, deploying and managing fleets of connected Linux devices. Its components are designed to work together as a platform, but users can also pick and adapt what they need for individual projects. Its core platform, balenaCloud, includes device, server and client-side software, which use its host balena OS to deploy users' code securely to their device fleet.

Docker open-source, platform as a service (PaaS) software employs operating system (OS)-based virtualization to provide software packages called "containers" that perform tasks, which makes it simpler and quicker for developers to build, package, distribute, implement and run applications. Containers are separated from each other, combine their own software, libraries and configuration files, and can communicate with one another through predefined channels.

Docker Swarm includes several or many Docker hosts that operate in "swarm mode." The can serve as managers and handle membership and delegation, as workers performing swarm services, or do both jobs. A primary benefit swarm services over standalone containers is users can adjust a service’s configuration, including its linked networks and volumes, without restarting the service manually.

EdgeIQ provides device-agnostic software to manage the lifecycle of fleets of connected devices and their data, and enable an infrastructure for orchestrating edge computing functions, devices and software.

JavaScript object notation is a language-independent, open-standard, data file format that uses text to relay information objects made of attribute-value pairs and array data types or other values that can be serialized. It's a common data format used for asynchronous browser/server communications, and many programming languages include code to generate and parse data formatted in JSON.

Kubernetes (K8s) is an open-source, container-based orchestration platform for automating, deploying, scaling and managing computing applications across clusters of software hosts and container devices. Many cloud-computing services provide a PaaS or infrastructure as a service (IaaS) where Kubernetes can be implemented as a platform-providing service, and many suppliers also deliver their own branded Kubernetes versions and deployments.

Message queuing telemetry transport is a publish-subscribe protocol that employs a message-brokering method to communicate with a server. It runs on TCP/IP, was standardized as ISO/IEC PRF 20922, and was built for linking widely distributed devices with small amounts of programming and/or on lower-capacity networks. Every MQTT client can reach the broker, and each can publish data or subscribe to it. The protocol doesn't offer security, but this can be added at the TCP/IP level.

Node-RED is a flow-based development tool for visual programming initially developed for wiring together hardware devices, APIs and online services for IoT. Node-RED uses a web browser-based flow editor to build JavaScript functions. Application elements can be shared and saved for reuse. Flows created in Node-RED are stored using JSON, and MQTT nodes can make properly configured TLS connections.

Python is an interpreted, high-level, general-purpose programming language. Its design philosophy emphasizes code readability with its use of whitespace. Python's language constructs and object-oriented approach help programmers write clear, logical code for projects.

REpresentational state transfer (REST) is a software architecture method for distributed hypermedia systems that defines constraints for creating web services. When these services conform to REST's six guiding constraints, they're called RESTful web services (RWS), and enable interoperability between Internet computing systems. RWSs allow inquiring systems to access and manipulate textual representations of web resources by using a uniform and predefined set of stateless operations.

Zededa supports any combination of Docker containers, Kubernetes clusters and virtual machines (VM) for legacy applications, and can be deployed on any edge computing node while connecting to any cloud-computing service. Its built for edge and OT applications by using EVE-OS from the Linux Foundation’s LF Edge, and protects edge computing resources deployed outside of data centers by using a zero-trust security architecture.

About the author: Jim Montague
About the Author

Jim Montague | Executive Editor

Jim Montague is executive editor of Control.