IoT at the Edge: Greengrass and More



so when green grass was first announced as a service I reached out to the service team and so the the people who involved in building it and said why is it called green grass and the only answer I got back was lemon grass was already taken which didn't make much sense and I thought about green grass and I thought about it this morning actually when I was walking from my hotel here and I saw all the frozen grass that I was walking past not as lush as this I thought grass can mean many things it can be a platform for for a sporting ground it can be a garden it could be a place you take your family for a picnic in many ways green grass can be many things and the green grass platform can be many things for us it represents a big bet on Amazon and how we see the future of IOT and edge computing and I think it's pretty exciting so what is Internet of Things who understands what Internet of Things is so Internet of Things the world of connected devices so smartwatches autonomous cars smart cities etc many of these connected devices the the story that I like to think of is that when I was growing up in the 80s everything started to show up with the digital clock I don't know if you remember this you know microwave oven came on the digital clock your car came with a digital clock everything came with a digital clock and in a similar way today everything's showing up with a processor everything show up with an operating system everything's showing with a Wi-Fi connection and these devices are getting cheaper and more powerful and where are we going with this so in the next few years we're going to see more connected devices than mobile phones in the network in on the Internet we're going to see devices that are moving from digital analog sorry to digital so devices that used to be analog like thermostats etc are now digital and that allowed you to automate and personalize and integrate a lot of these systems but a lot of them are going to be isolated in particular verticals so you'll have a solution for this particular vertical a solution for this vertical and we need to move to a platform approach where the data is available across all these verticals so we can look for insights and be proactive about how improve and take action on the air the systems that we work with so we need to move to the integration of things and we spoke to our customers and they told us that most data actually doesn't reach the cloud so if you think about industrial machinery you think about manufacturing plants and PLC's a lot of that data gets processed and needs to be responded to quickly at the edge you think about medical equipment a lot of times medical computational transactions are very short and may contain personally identifiable information and they need to be processed at the edge and you think about situations like the Mars rover situation a lot of those environments are in hostile low network connectivity environments and the data processing and compute needs to happen at the edge so have a think about the edge in your world the edge in your organization's in your homes in the world that you live in and what the edge means to you and when we talk about the edge we say and Emmas when we realize that it came with these three laws and these three laws are long-standing laws which we're going to be with for the foreseeable future so firstly the law of physics and that talks to latency and also network and isolation so for latency if you have a crash avoidance system for example you don't want that crash avoidance system to have a round trip to a cloud data center to make a decision to avoid a crash you want it to be processed at the edge and if you think about a remote mining site that might have low connectivity might be poorly poor mobile coverage for example it might be even some processing that's happening on a Dreamliner in flight these environments are very isolated physically and that talks the law of physics the law of economics talks to the fact that the cost of networking is dropping but it's not dropping as quick as the cost of computing storage and a side effect of that is we're producing a lot more data than we used to and it's getting more and more difficult to move around and more costly so we need to think about how we move data around be smarter we because it it is quite expensive and then the third law is the law of the land and for legal and compliance reasons and concerns about privacy a lot of customers want to keep their data close to them and sometimes there are data sovereignty considerations as well so we thought about these three laws we thought we stuck with these three laws how can we bring the benefits of cloud computing and cloud development and cloud analytics to this edge environment so with cloud development you have everything as an API infrastructure is software you have quick iteration and development cycles very adaptable for the business of the organization that you work in and with cloud Enel leagues you can spin up a data warehouse in a very short time or a Hadoop cluster and we want you to be able to take advantage those services even in the within the constraints of the threes these three laws and when we think about Internet of Things at Amazon we visualize them in three these three pillars we have the things pillar and that's where your devices live and cents an act and I've refer to that as the edge today you have the cloud pillar in the middle and that's serve as most of you compute and storage needs and then on the right you have the intelligence peeler and that's where you look into the the data that you've collected and look for actionable insights and ways of improving how you operate and we introduced a couple of years ago now the AWS IOT service and this allowed you to configure devices to connect securely to the cloud they would connect in and be able to pass messages between devices and between devices and Amazon services it also allowed you to do this securely with best debride security as far as connections etc so if you look at this diagram you've got trucks and thermometers on the Left they're connecting in there using MQTT which is the protocol of the Internet of Things it connects into the IOT device gateway using x.509 certificates or using I am credentials you then post messages to an IOT topic and other devices and Amazon services can subscribe to those topics to get those messages you can then write rules using the IOT rules engine to route parts of those messages or some of those messages directly into AWS services for data collection or data analytics if you want to use elasticsearch you can create dashboards really quickly and we introduced this copic at this idea of a thing shadow and that's shown in the diagram is the gray track in my example so the things shadow services unique to AWS and it solves a problem for developers so developers always when they're writing code want to be able to query the state of a thing and also set the state of a thing except in the real world things get disconnected from the network they break down they lose power etc so how could we provide a service where developers could always query the last known good state of a thing and then also set the state so friend my example here imagine you have a thing in the edge connects into the AWS iot service and it reports its state as version 1 you as a developer want to update that to version 2 you can update the things shadow to a desired state of version 2 the device when it connects connects in sees that it's meant to be at version 2 it can go about upgrading itself and after it's upgraded itself it can report back that it is now version 2 the developer hasn't had to do any of that logic they've just had to query the thing shadow service and I I've gone into that little bit more detail because it talks to how Greengrass works later so we introduced the Greengrass service and what is the Greengrass service it it brings the benefits of the AWS IOT service to the edge environment where devices live so it brings a local gateway for routing in qtt messages between devices at the edge it acts as a bridge to the cloud it introduces local lambda so it allows you to author code on the internet in the cloud and deploy that down to green grass and it incorporates all the best aspects of AWS security it's important to understand that green grass is not Hardware it's software you bring your own so one of our customers Rio Tinto have installed the green grass on a hardware module in their haul trucks you can install it on maker style devices like Intel Edison's and raspberry PI's you can install it on Internet gateways so I'll talk a little bit about an example of Technicolor and they're they're deploying Internet gateways with green grass enabled and you can prototype solutions on ec2 instances which makes it very easy to get started so the AWS IOT service looks like that in the middle there and we introduced the green grass service and this is run at the edge and you can see that it looks very similar to the AWS IOT service but it's running in the local environment where the devices live it includes the ability to it includes the ability to route messages at the edge securely connect them in it's got a local shadow service it allows you to run lambda functions at the edge Greengrass itself will run on virtually any connected device with an x86 or ARM processor and it acts as a bridge to the cloud and this brings several benefits so now you can write code in the cloud which can quickly respond to local events so you have an alerting alarming system or you have a command and control requirement you can deploy lambda code and it's running in your local network one of the design principles of Greengrass is that it'll run disconnected so if you lose internet connectivity your green grass environment will keep running it simplifies device programming previous to this when you're deploying code to a local environment you needed to use embedded programming techniques and models and have monolithic firmware updates this moves to a model which is or mere to cloud developers it reduces the cost so now you can do a lot of pre-processing using lambda of data at the edge and aggregate and filter the data and summarize it before you send it up to the cloud and you can aggregate that while you don't have an internet connection and when the internet connection becomes available you can you can send it up and it's all wrapped up in AWS grade security I'll talk a little bit about some of the features of dren graphs just quickly Greengrass you've got two bits of software which work hand-in-hand into each other you've got the green grass core which is the green grass software the green grass runtime and you've got the IOT device sdk now the green grass core is the bit of software which is responsible for doing the local brokering of messages the local gateway it is responsible for running local landers it is responsible for interacting with the AWS cloud and each has a local shadow service the IOT device sdk which already existed with the AWS iot service allowed you to configure devices to talk up to the cloud you can now use the sdk and configure it to connect to the green grass core locally and these devices that work locally with the green grass cause a form part of what is known as a green grass group so to get some key concepts across about how green grass works you create in the console a green grass group which is logically your edge environment and a green grass group consists of three things it consists of the green grass cause which are the runtimes running green grass green grass devices which are the devices and the lambdas so a green grass group is made of cause devices and lambdas and they communicate at the edge with each other when you go to set up your first green grass group you you firstly create your first green grass core you then add devices to the group you then deploy that down to you download the Greengrass runtime and the security credentials you can figure it on your local device and the green grass group is then live on the green grass core you can then configure a lambda in the cloud and deploy that down to the green grass group and green grass works with IOT to with to maintain long-lived connections you have a situation where a green grass group has you have to be connected to the cloud to do the initial setup and you need to be connected to the cloud to do updates to the green grass core so one of the design principles as I mentioned earlier was the green grass couldn't run disconnected but it needs to connect for setup and ongoing maintenance you also can do a lot of processing locally with the green grass with a local ammeter in the green grass core and processing of the data that's been collected from your devices you can summarize and filter and prepare this data and then you can transfer that to the cloud when you have an internet connection a little bit about lambda so who's used lambda so lambda has been around for a few years now it's event-driven compute functions so in the cloud previously you could create a lambda function you could create it in a language that you were too used to developing in such as Python or JavaScript or Java you could create this lambda function and the function was triggered by an event so a classic archetype will use cakes for lambda would be a file arrives in an s3 bucket and that triggers that's an event that triggers a lambda function that lambda functions job is to process that file and create an output file in another bucket so in very much you only pay for the cycle times to execute that function when the event occurs and you get charged in increments of 100 milliseconds so developers loved lambda because it allowed them to very quickly and cost-effectively service solutions so we're extending this functionality down to the green grass core so you can have lambda functions which are triggered by mqtt messages at the edge we support Python 2.7 in green grass at the moment with more to come and it really simplifies the cloud development model at the edge I might talk about a bit of example with local lambda so imagine a medical facility if those of you have worked with medical equipment know that they can generate terabytes of data every day imagine that these devices are communicating with the local green grass core you've got a local lambda function there which has the job of responding to medical alerts for example if it sees a certain condition on these devices it's very important that with this local lambda function continues to operate if you're disconnected from the network but these devices are generating lots and lots of data and one of the things we hear from our customers and also specifically with research customers is that preparing data for analysis can sometimes form up to 80% of a research or data scientists job so imagine that the data is being collected in green grass and you can start clean and filter and prepare that data for an analysis then you can upload the cleansed data to the cloud and you can run some deep analytics on it you can look for insights and then you can go back and so how can I update my lambda function now to run improved you can improve the operation of your edge environment also you can use techniques around machine learning to train models in the cloud and deploy them locally as well in local Landers local Landers can use three SDKs at this point in time they can make use of the bulk standard AWS SDK so local Landers can consume cloud services if they're connected to the Internet so you could have an a local Lander who is copying files to an s3 bucket they can use the IOT SDK so a local Lander can also appear as an IOT to if you need to do that and there's a green grass SDK which allows you as a local lamda to trigger other local Landers and to get it and set the state of things in the local network and to publish arbitrary MQTT messages out on the local network now I talked a little bit about shadows earlier and this is about how you manage to set and get the state of things when you're a developer and things get disconnected drop on and off the network over time so with green grass you have a local shadow service so you can write local lambda code that is interacting with devices at the edge that may or may not be connected you can also optionally send shadow information to the cloud so after this session if you go to the the booth and you go to the AWS booth in the middle of the hall a colleague of mine has set up an elevator demo which which shows this there's an elevator which is it's a pretend elevator that's showing what floor two elevators are on there's a green grass core and a local lamda that's updating the elevator about where it's it's at and he's got a workflow that allows you from the cloud to interact with the shadow service in the cloud to put a lift into maintenance so I'll interact with the shadow service and the cloud that shadow for the elevator is replicated between the green grass and IIT that will update the the state of the elevator in the green grass court to put it into maintenance and you can see that the work flow flows down from the cloud to the green grass group if in the demo he loses Internet connectivity the lifts continue to operate giant one to far and security is very important for our customers all communications within a green grass group encrypted and all devices that connect into a green grass group have to be mutually authenticated devices use credentials that they get generated in the IOT servers and then they have to get connectivity information to connect to the green grass core each green grass core has its own root CA and that is changed over a period of time that you get to set we also introduced a new concept with green grass called subscriptions so in the cloud you have if you had devices connecting to the IOT service they could publish messages on an arbitrary topic and other devices and services which had permissions to connect the IOT endpoint would be able to see those messages with green grass you have to explicitly set the source and the destination of all the green grass messages and none of this takes away of course if you're writing code and you're running local Landers you need to follow good security practices and in the partner community we're working with device makers OMS software partners operating systems makers to incorporate green grass into the next generation of their devices sorry I was one slide behind and at launch we launched with many partners canonical who provide Ubuntu operating system they're going to include green grass in their snap channels until they're going to include green grass support in their next enterprise development kit for their next generation of gateways Qualcomm have included it support for green grass in one of their popular dragon board devices and the Raspberry Pi foundation has announced that they're going to bring to the Raspberry Pi the power of the AWS cloud which i think is a pretty exciting announcement and locally Rio Tinto as I mentioned earlier installed green grass on a hardware module in their haul trucks now these trucks have a lot of telemetry devices sensors etc and they collect a lot of information the green grass module was collecting a whole bunch of data around the performance of these trucks in these remote mining sites and when the trucks got back to base a lot of this data has been collected and analyzed to improve the safety and the efficiency they've these devices and they saw results after just a few weeks and are looking at how they can get more value out of the green grass service as well and Technicolor and I wasn't aware this technical is one of the world's leading producer of Internet gateways and they've produced this gateway which isn't on market yet I don't believe but if you copy down that URL you can type in go to the search and search for a lek so you can see what these gateways are going to do it's got the Alexa voice service installed in it and it's also got green grass and you'll see an interaction in the video where the owner of this device goes Alexa configure my Wi-Fi extender because there's a companion Wi-Fi extender device and Alexa goes do you mean Wi-Fi extender one two three four and the code the owner says yes and it configures the device so there you have an interesting workflow where using voice control to trigger a local lander to do local network connectivity but they see this going even further they see this as a full-service Internet gateway imagine that your network provider could install the local lambda on this device to monitor the state of your internet connection has anyone ever had internet internet connectivity problem in this country so the network provider gets the ability to see in real-time the state of all their connections or that the lack of state indicating a problem they can automatically start to address problems without waiting for customers to call in so it's saves the provider money and it's a better experience for customers but you can even take this an extra step further imagine you're a home automation company and currently you have to deploy separate home automation sort of controller or gateway to a local environment imagine they could just deploy that as a lambda code to a single Greengrass device you have this ability to to almost make the internet gateway like an app store for home consumers and we introduced the snowball edge device so this is a ruggedized storage device that people use to move terabytes of data to the cloud so it's got an eating display which shows the address and changes when we are sending back which people love it's also got computing it it's got an m4 4x large or equivalent of that in there for compute and it's got green grass so GE are using this in their wind farms so wind farms are typically like wind it's quite remote and they collect a lot of data locally and they can process that data and even act on that data using green grass locally and the Hatfield Marine Science Center as part of Oregon State uni use these devices on their marine vessels previously they had to use a lot of consumer grade hard drives that they had to you know it's very difficult to manage and you know remember where all the data was now they take one of these devices onto their boats they're collecting the data as I mentioned researchers spend a lot of time processing the data so with this device they can process the data as it's been collected and when the device is full they just ship it back to us and all their data appears in an s3 bucket which is pretty cool so we have this old world of each computing we've got monolithic software I'm installing a firmware update am I going to break my device is this the end as I know it you've got techniques for programming these devices which are embedded languages and practices and you've got a very diverse range of protocols and standards and in this new world you've got software which you can create using cloud development model and you can then deploy down to the edge using your existing practices pricing for this service so any messages which are transmitted at the edge between the green grass corn devices is free any internet transfer from the green grass to AWS and back is just standard charges first three devices and by devices our main green grass cause first three are free for one year and and then up to ten thousand it's 16 cents to 22 cents per month and it's cheaper review commits for a year and if you've got over 10,000 devices give me a call so after this I'd advise you to to go to these links go check out that video on the Internet gateway to me it really Illustrated the power of this new Greengrass paradigm read the blog which goes through initial setup of Greengrass so you can get for me with the concepts and set it up in an ec2 instance on a Raspberry Pi or something like that and then go through the tutorial that'll really you'll get your first lambda function running and you'll get the sense of okay this is how I can use this platform I think it's early days for Internet of Things and edge computing and I think Greengrass is an exciting step that Amazon's taking and a big bet on how we see the future and I hope you do too so thank you very much [Applause]

5 Comments

  1. Ardent Dfender said:

    This is a very well explained video and with a lot of detailed explanation of this all works.

    June 27, 2019
    Reply
  2. Adnan Khan Khadukhel said:

    learned Alot here..

    June 27, 2019
    Reply
  3. Godha Bapuji Iyengar said:

    great talk!

    June 27, 2019
    Reply
  4. Colin Woolmer said:

    This link https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html says there is a limit of 200 IoT devices to a Greengrass group. That does not seem a very high number if this is to be potentially used by 1,000s of vehicles in a "Connected" fleet. How can this be scaled without creating a huge manual overhead.

    June 27, 2019
    Reply
  5. Suman Kharel said:

    Such a good explanation. Thank You!

    June 27, 2019
    Reply

Leave a Reply

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