AWS Greengrass – same code in cloud and IoT

Amazon released in November 2016 a new AWS Greengrass service, which will expand Amazon’s reach in the direction of the cloud services to fog computing systems. AWS Green Grass allows the same IoT applications driving the cloud and locally embedded devices. Greengrass expands Amazon’s cloud services so that devices connected to the cloud can make local decisions without the assistance of the cloud, but can take advantage of the cloud to manage devices, data archiving and analyzing it. AWS Greengrass can be programmed to operate so that the device filter measured IoT data itself, and sends only the relevant data to the cloud. To get the idea of the system, take a look at the AWS re:Invent 2016: NEW LAUNCH! Introducing AWS Greengrass (IOT201) video:

Green Grass IoT is based on AWS and AWS Lambda services. It can communicate with other AWS services. Greengrass programming is done in the same way as programming Lambda AWS cloud service: defines the code that is executed in response to an event in the system. AWS Lambda supports a Javascript programming languages ​​(Node.js), Python and Java. When the AWS Lambda drove to user-defined functions in the Amazon cloud, Greengrass makes it possible to run completely the same function in the embedded device.

The system drive AWS Lambda functions locally embedded device instead of cloud. There is available IoT Device SDK for the development of the Lambda functions consisting of IoT applications. These applications typically collect measurement data from the sensors, process MQTT data and use the IoT AWS services. In the examples Greengrass application as the most suitable place has been seen IoT gateway device that connects local sensors via the Internet cloud.

AWS re:Invent 2016: NEW LAUNCH! Lambda Everywhere (IOT309)

What kind of embedded hardware is needed? Greengrass requires the embedded device to function to work for at least 1 GHz x86 or ARM processor and 128 MB of RAM. The operating system can be Ubuntu or Linux in Amazon. Your hardware manufacturer Qualcomm has announced its intention to support AWS Greengrass solution extensively in its own products. Amazon AWS re: Invent 2016 event, demonstrations have been used based on the scope of Qualcomm represented by Arrow Electronics DragonBoard 410c card computer.

Amazon intends to make money with Greengrass: Amazon is currently offering the test in use Green Grass device-specific service for a monthly fee ($ 0.16 / month per device). There is limited preview available for use free license 1-3 the device for the first year.

Links for more information:

Information sources used to write the article:



  1. Tomi Engdahl says:

    Unlocking the Value of Device Data with AWS Greengrass.

    AWS Greengrass extends AWS onto your devices, so they can act locally on the data they generate while still taking advantage of the cloud. AWS Greengrass takes advantage of your devices’ onboard capabilities, and extends them to the cloud for management, updates, and elastic compute and storage.

    AWS Greengrass provides the following features:

    Local execution ofAWS Lambda functions written in Python 2.7 and deployed down from the cloud.
    Local device shadows to maintain state for the stateless functions, including sync and conflict resolution.
    Local messaging between functions and peripherals on the device that hosts AWS Greengrass core, and also between the core and other local devices that use the AWS IoT Device SDK.
    Security of communication between the AWS Greengrass group and the cloud. AWS Greengrass uses the same certificate-based mutual authentication that AWS IoT uses. Local communication within an AWS Greengrass group is also secured by using a unique private CA for every group.
    Before AWS Greengrass, device builders often had to choose between the low latency of local execution, and the flexibility, scale, and ease of the cloud. AWS Greengrass removes that trade-off—manufacturers and OEMs can now build solutions that use the cloud for management, analytics, and durable storage, while keeping critical functionality on-device or nearby.

  2. Tomi Engdahl says:

    AWS Greengrass – Run AWS Lambda Functions on Connected Devices

    Now Generally Available
    Today we are making Greengrass generally available in the US East (Northern Virginia) and US West (Oregon) Regions. During the preview, AWS customers were able to get hands-on experience with Greengrass and to start building applications and businesses around it. I’ll share a few of these early successes later in this post.

    The Greengrass Core code runs on each device. It allows you to deploy and run Lambda applications on the device, supports local MQTT messaging across a secure network, and also ensures that conversations between devices and the cloud are made across secure connections. The Greengrass Core also supports secure, over-the-air software updates, including Lambda functions. It includes a message broker, a Lambda runtime, a Thing Shadows implementation, and a deployment agent. Greengrass Core and (optionally) other devices make up a Greengrass Group. The group includes configuration data, the list of devices and the identity of the Greengrass Core, a list of Lambda functions, and a set of subscriptions that define where the messages should go. All of this information is copied to the Greengrass core devices during the deployment process.

    Your Lambda functions can use APIs in three distinct SDKs:

    AWS SDK for Python – This SDK allows your code to interact with Amazon Simple Storage Service (S3), Amazon DynamoDB, Amazon Simple Queue Service (SQS), and other AWS services.

    AWS IoT Device SDK – This SDK (available for Node.js, Python, Java, and C++) helps you to connect your hardware devices to AWS IoT. The C++ SDK has a few extra features including access to the Greengrass Discovery Service and support for root CA downloads.

    AWS Greengrass Core SDK – This SDK provides APIs that allow local invocation of other Lambda functions, publish messages, and work with thing shadows.

  3. Tomi Engdahl says:

    Greengrass Embeds Amazon in IoT
    AWS runs on GHz-class embedded processors

    Amazon Web Services can now run on a gateway or even a high-end node for the Internet of Things. Greengrass is a Linux runtime from the Web giant, aiming to extend its reach deeper into the IoT.

    The code aims to help businesses speed AWS-based IoT deployments. It uses Amazon’s familiar online tools to create programs that run on users’ local IoT networks, accessing and analyzing data from local IoT nodes. Since it’s part of the AWS family, users can integrate with Amazon’s cloud services as needed.

    “There’s value in processing data at the source,” such as quick response and a known security model using AWS authentication and encryption, said Dirk Didascalou, vice president of AWS IoT at an event here. A Greengrass node also can synch a variety of other nodes when connectivity is intermittent, he added.

    The Web giant is perhaps the largest of more than 20 companies working on IoT software platforms for edge networks. It’s a hot area for a growing number of companies seeking their way into the Internet of Things such as Stanley Black & Decker.

    The tool maker selected AWS IoT as its preferred cloud services platform two years ago. It evaluated about eight edge-network IoT platforms 18 months ago and selected one from startup ClearBlade (Austin). More recently it added Greengrass, and it expects to continue evaluating the growing set of offerings.

    The fact that Greengrass requires a GHz processor with 128 Mbytes of memory and must be programmed, for now, in Python are not barriers

    Amazon attracted many partners for Greengrass given its clout in cloud computing.

    Intel, Qualcomm and Samsung are among chip makers that have ported Greengrass to their embedded processors. Set-top box maker Technicolor will start shipping gateways that support Greengrass to one customer later this year. Nokia has a gateway it says will support the code, too.

    Intel used Greengrass to bring up in two weeks an IoT use case for a mining company. Qualcomm showed a smart video camera from ThunderSoft using its Snapdragon 410E, supporting Greengrass. Samsung said its Artik 530 and 710 IoT modules support Greengrass.

    The chip makers typically are agnostic, supporting multiple IoT cloud services. Qualcomm, for example, also supports cloud services for Google’s Android Things as well as Verizon’s IoT initiative.

    Technicolor said it hopes Greengrass helps it address new vertical markets beyond the smart home.

    For now, Greengrass uses a hub-and-subscribe programming approach that lets a single runtime act as a master. It does not support multiple runtime instances collaborating among cores on an SoC or nodes on a network.

    Amazon suggested Greengrass may support other programming languages in the future, perhaps including C and C++. It may also explore a version of the runtime that operates on smaller processors.

    For many companies the biggest headaches are more fundamental.

    “For traditional lines of business that only thought of hardware products, the need to leap into fused hardware/software digital products is a challenge that requires lots of experimentation and education,”

    “Another aspect is coming up with the right business models…”

    In technology, “connectivity is always an issue, you don’t always have networks available, and there are multiple networking options and approaches–it hasn’t sorted itself out yet,”

  4. Tomi Engdahl says:

    NXP Semiconductors and Amazon Web Services agreed on NXP’s use of the Amazon Greengrass software on the chip company’s Layerscape Intelligent Gateway platform. Amazon Greengrass extends the AWS Cloud’s capabilities to local devices.



Leave a Comment

Your email address will not be published. Required fields are marked *