AWS Greengrass the new step in IoT
AWS Greengrass Technology and its Benefits in IoT World
The present world is characterized by unhindered access to an extensive range of information and data. Restricted or no access to the data pool can cause an individual or a venture to lag. Unreliable network, high latency, low bandwidth, extreme conditions or locations of field work can impose problem in data access, processing or storage and these are only some constraints that might arise. The challenge lies in overcoming such crisis by introducing a technology that will help users and developers who work in such constrained conditions.
Amazon Web Service (AWS):
Let’s look on the Amazon Web Service and its architecture. Perhaps then we can better understand how Greengrass is more advanced than the existing cloud system. Many Amazon Web Services like S3 and RDS are internally divided with several compartments and use themselves in such a way that whenever failure occurs they go hidden. In AWS architecture both large number of small instances and small number of large instances are used. It is wise to use large number of small instances for high availability configurations, as it decreases the failure rate to 33%. Using of two instances will lead to the decreased chance of failure rate by 50% that means the impact is on the half of the total load.
Moving forward, AWS uses predetermined compartments with 4 available zones where each carries 25% of failover capacity buffer. If back-end service bar fails, then the total impact comes over ¼ of the total load, which is much less than the earlier one.
Thorough analysis of the process shows that the small problems in an amplified system can create a larger impact later. If the failed call to ‘Bar’ service takes more time for ‘Foo’ service, then the behavior of the Bar service changes. Amazon announced new ventures into artificial intelligence. To add to its present capability in the form of a significant new input, which will be used in its popular Echo smart speaker, the company is introducing Alexa Voice Interface Technology to software developers through its cloud.
AWS also launched a host of new versions of its computing and storage services, which are faster and can handle more storage and memory. They can manage computing “instances” or uses of a cloud server that can utilize custom chips and graphics processing units. AWS has also announced a new service called LightSail that is intended to be a simpler and effective “virtual private server”. It can be set up quickly in order to provide AWS storage and computing services with minimal information regarding the individual services.
According to Burris, some additional products are still needed to make AWS an all-inclusive package. A computing and storage appliance located inside corporate data centers would indeed add on towards fulfilling its ambition. Moreover, decision making capability about field service such as management and repair of systems onsite, also needs to be included, despite being a very expensive option.
A brief idea
Amazon Web Service has recently launched AWS Greengrass that allows local computers to share and control the data among the Greengrass group even without having internet connectivity. It not only allows IoT devices to run the application in the cloud using both AWS Lambda function and AWS IoT, but also get back response of the events.
Relevance in today’s perspective
The turnkey technology in the edge computing is described below.
Let’s imagine a scenario where developers are building applications and managing servers, hardware and security patches at the same time. If the number of applications gets increased, in order to get the response from the servers, upgraded multiple servers and additional hardware will be required. With AWS Greengrass, developers can just focus on the coding instead of distracting to maintain the servers and monitor the entire complex process. Moreover, during the interactions among the devices in the Greengrass group, the software is secured and well encrypted, which means that the devices are authenticated first and then allowed to access the response.
Suppose there is a situation where a machinery object is involved and the decision making process should be much faster. Now imagine a world with trillion or even more devices interacting with the cloud. If any vehicle is being driven automatically and decision making data is pulled from the cloud, then it must be fast. Besides if the vehicle gets disconnected from the cloud and an object comes in front of it then it must make the decision immediately. The problem never gets resolved unless the problem gets sorted out physically. So, a better way to communicate is to form a local distributed system and share the data.
In the IoT system, the devices are connected to the cloud and the cloud applications are connected back to the devices. Cloud plays the most important role in the IoT solutions. Now IoT applications are improving and developing in order to achieve a better purpose that has been introduced by Greengrass technology. Lambda function, Device State, Device Gateway, messaging and security panel are the Greengrass components.
Greengrass components group
The schematic diagram shows a defined group of Greengrass cores and other devices that are configured to communicate with one another.
Greengrass core is the runtime that enables local execution of AWS Lambda, messaging, device shadows, security and interacts directly with the cloud.
Any device that uses IoT device SDK can be configured to interact with Greengrass core via the local network.
There are numerous benefits that can be achieved through this improved technology
AWS Greengrass ensures fast response to local servers without transfer latency which creates efficient local distributed systems.
It operates offline and synchs the data on a real-time basis. This results in buffering and pooling of messages when there is no internet connection.
Simplified Device programming with input from sensors and output from actuators allows small code footprint useful in constrained situations.
AWS Greengrass reduces the cost of IoT applications. One can access as much resources as one needs and pay only for what has been utilized. There is no charge for the execution of the code from one’s own device. This ensures no wastage of resource or limited capacity arising out of investment over infrastructural capacity like data centers and servers.
Generating such cost and time effective common facility ensures improved environmental footprint resulting from reduced consumption of electronic parts and waste disposal as well as low power consumption.
How is the technology performing in the market?
In the Greengrass market, big giants like Intel, Qualcomm, Canonical have already shown their interest and started working in collaboration to extend and customize the technology for users’ benefits on the chip level. Canonical, the company that brought UBUNTU to the market, has worked with this technology and the tests done so far on Linux supported devices have been successful. Some of its customers are JPL (Jet Propulsion Laboratory), Philips, Technicolour etc.
Let’s zoom-in to understand the technology known as Greengrass:
What is Greengrass?
Greengrass is basically the software comprised of two components Greengrass Core and IoT Devices SDK.
Let’s discuss a few words about Lambda functions. These functions That means those functions can be invoked as well as run on the local devices. These operations can be handled locally through the lambda function.
The benefits of using Lambdas are:
Command and Control
Data Filtering and aggregation
The next component of the Greengrass is the device shadow which uses structured text file or JSON format data and represents the state of a device. It helps to synch data to the cloud or keep it in the local system. There are three states that we can define:
Granular Device State
Shadow with lambda function is easier to configure and update.
The next component is Local MQTT Pub. It defines the subscriptions between publishers and subscribers and applies MQTT filter.
Final component is the security layer which does authentication both in local devices and cloud. Certificate on the device is associated with SigV4 credentials in the cloud. Users can directly call any AWS service from AWS Greengrass.
There are three basic segments in the entire Greengrass architecture: Sorting ARM, Master Host and Inventory ARM.
The Sorting Host uses Raspberry PI and all local lambda functions to communicate with the Sorting ARM at the speed of 20 cycles/second. The Python SDK does the interaction over the protocol, which means Sorting Host basically works on the local messages. Raspberry PI has GPIO that controls analog switches and this process is highly intelligent.
The Master Host is a separate host with separate core and separate Raspberry PI, which manages the conveyer belt. In its local devices, the Master Host makes the bridge among all the cores and brings the messages. Higher order lambda functions are used in Master Host.
Inventory ARM is more like Sorting ARM and has the same functions: communicating with local devices and local core through lambda functions, detecting error messages, looking for boxes etc. It runs at the speed of 20 cycles/second.
The shadow inside the Master Host holds the information about each ARM’s performance.
So, the whole MQTT runs at around 60 cycles/second in which each segment runs at the rate of 20 cycles/second.
This means that the current state is available to the upcoming states and that helps to make the decision quickly while coordinating locally without using the cloud.
How it helps:
Local lambdas and shadows enable resilient coordinated actions across hosts.
High frequency sample rate supports rapid error detection.
Local MQTT router enables strongly decoupled but secure communications.
Lambdas provide octopus like intelligence system. An octopus has one main brain and multiple brains in knee joints. The main brain communicates with the local brains during the decision making, but when it has to make a decision for one of the tentacles to catch an object, the decision is made locally, which makes the process simple and fast. The response is faster when the component brains act independently and there is no need to interact with the main brain every time.
Problems that will be resolved using Greengrass Technology:
Problems occur when monolithic firmware is used and Lambda and its containers can provide the solution. Some of the benefits are TTM, TCO etc. Cloud hosting costs are the major concern for the users, but using Greengrass will significantly lower these costs, since the user has to pay only for the time it took to execute the code.
Embedded developers use C, COBOL and other programming languages to write the code but it never interacts with the modern software programming languages. The cloud development models are the major benefit of Greengrass that help both the embedded developers and cloud developers to cooperate.
Examples of products that use Greengrass technology
10 GB broadband gateway: Extraordinary powerful device based on Amazon astronaut chipset. Users can get 10gb/sec speed in LAN, WAN and in Wi-Fi.
Tri band Wi-Fi Extender: Runs several Wi-Fi diagnostic tools using Greengrass. This helps to monitor and ensure that all the devices connected to the home network get the best service possible.
Silinexx: Your guide for AWS Greengrass
Silinexx is an emerging electronics design company which is in line with this fascinating technology. Since the company is highly proficient in various Platforms, SoCs and Microcontroller, Wired and Wireless communication it provides a wide range of services related to development, upgradation and implementation of electronic products and software.
These services include Embedded System development; software & hardware development and solutions; Distributed Systems; System Automation services; Machine-to-Machine (M2M) and Internet of Things (IoT and IIoT) services and solutions; Firmware, middleware and software for networking device.
The M2M communications incorporate data collection HW and SW as well as server/client side applications whereas IoT and IIoT services encompass sensor firmware development and custom communication protocols. The company’s expertise allow it to infuse high quality software infrastructures into IoT products.
Silinexx provides customized service based on the requirements of its clients. A selected array of highly skilled and experienced professionals ensures quality service and time-efficiency. It ensures ease and efficiency throughout the entire process of system assessment, development, manufacturing, product launch, support and maintenance.