SlideShare a Scribd company logo
1 of 38
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Greengrass, Containers, and
Your Dev Process for Edge Apps
Tim Mattison
Global Tech Lead, IoT Partners
Amazon Web Services
G P S W S 4 0 4
Craig Williams
Principal Solutions Architect, IoT
Amazon Web Services
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Survey time
• How many of you have deployed AWS Greengrass manually?
• How long did the first deployment take?
• How many of you wrote your own automation?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Big goals
Be comfortable deploying, developing, and debugging AWS Greengrass
code
Never be afraid to destroy and recreate AWS Greengrass cores
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Detailed goals
AWS Greengrass "Hello, World" running on Amazon Elastic Compute
Cloud (Amazon EC2)
Redeploy updated "Hello, World"
AWS Greengrass with multiple AWS Lambda functions
Optional: AWS Greengrass running on Docker on Amazon EC2
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Greengrass Core
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What do you care about as a developer?
I have collections of Lambda functions I want to run at the edge
That code
• Communicates with other functions
• Uses AWS services (when available)
• Accesses local resources
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Features (1 of 2)…
• Builds Python, NodeJS, and Java Lambda functions
• Uploads and creates aliases for Lambda functions
• Describes the AWS Greengrass core in just a few files
• Simplifies working with local resources
• Has sane defaults and examples that make getting started easier
• Allows you to build AWS Greengrass cores in minutes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Features (2 of 2)…
• Allows modifications of groups in place
• Add/remove a device
• Add/remove a function
• Add/remove a subscription
• Deployments will overwrite these in place changes!
• Can launch AWS CloudFormation stacks for supporting infrastructure
• Builds Docker images with AWS Greengrass in them
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Highest-level concepts
• Deployment configuration
• Function configuration
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deployment configuration
• What to deploy
• A list of zero or more functions
• Role and policy information
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deployment configuration
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Function configuration
• Language to use, function handler name, amount of memory, pinned
or event based, timeout
• Inputs - topics the function can accept messages on
• Outputs - topics the function is expected to send messages on
• Inputs and outputs from different functions are wired together
• Cloud topics are topics that are routed to/from the cloud
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Function configuration
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A more complex function configuration
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Additional function configuration
• Local resources
• Environment variables
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Simple deployment, step 1
./deploy.sh -g ec2 -d deployments/python-hello-world.conf -a X86_64 --script
-g is the name of the group, ec2
-d is the deployment configuration file which refers to the Python Hello World function
-a is the architecture, x86_64 since we're using EC2
--script generates the bootstrap script in build/gg.ec2.sh
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Simple deployment, step 2
Copy build/gg.ec2.sh to an Ubuntu EC2 instance
On the EC2 instance run:
./gg.ec2.sh --now
This will install the dependencies for AWS Greengrass, install AWS Greengrass itself,
start AWS Greengrass, and then tail the runtime log so you can see what's going on
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What happened (deployment)?
• We built ec2-HelloWorldPython
• This avoids naming conflicts between groups running the same functions
• We wired ec2_Core/python/hello/world to the cloud
• Subscription table set up was automatic
• We created a script that can bootstrap our Amazon EC2 instance and
ran it
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Simple redeployment
./deploy.sh -g ec2 -d deployments/python-hello-world.conf
-g is the name of the group, ec2
-d is the deployment configuration file which refers to the Python Hello World function
No need to specify the architecture or get a script as output. The AWS Greengrass
service will redeploy the code to your core.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What happened (redeployment)?
• We built ec2-HelloWorldPython and created a new version
• We created an entire new deployment
• Manual changes would be blown away at this point
• We let the AWS Greengrass service deploy our new code to the
instance
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Notes about the labs
• Any steps that have "(via console)" after them also have a
corresponding step showing how to do the task with the AWS
Greengrass Provisioner tool
• If you get through everything, let us know! There are plenty more AWS
Greengrass labs where these came from.
• If you finish quickly and think this is too easy please go back and do
the manual lab (lab 1A) to gain a full appreciation for the automation
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Your turn
reinvent.awsworkshops.com
Username: aws
Password: icebreaker
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...
Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...
Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...Amazon Web Services
 
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018Amazon Web Services
 
Introduction to GraphQL (MOB316-R1) - AWS re:Invent 2018
Introduction to GraphQL (MOB316-R1) - AWS re:Invent 2018Introduction to GraphQL (MOB316-R1) - AWS re:Invent 2018
Introduction to GraphQL (MOB316-R1) - AWS re:Invent 2018Amazon Web Services
 
Secure Your Site: Use CDN Security Features to Protect Your Content & Infrast...
Secure Your Site: Use CDN Security Features to Protect Your Content & Infrast...Secure Your Site: Use CDN Security Features to Protect Your Content & Infrast...
Secure Your Site: Use CDN Security Features to Protect Your Content & Infrast...Amazon Web Services
 
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...Amazon Web Services
 
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018Amazon Web Services
 
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...Amazon Web Services
 
A Deep Dive into What's New with Amazon EMR (ANT340-R1) - AWS re:Invent 2018
A Deep Dive into What's New with Amazon EMR (ANT340-R1) - AWS re:Invent 2018A Deep Dive into What's New with Amazon EMR (ANT340-R1) - AWS re:Invent 2018
A Deep Dive into What's New with Amazon EMR (ANT340-R1) - AWS re:Invent 2018Amazon Web Services
 
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018Amazon Web Services
 
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018Amazon Web Services
 
Optimize Your Oracle Licenses on Amazon Web Services (DAT211) - AWS re:Invent...
Optimize Your Oracle Licenses on Amazon Web Services (DAT211) - AWS re:Invent...Optimize Your Oracle Licenses on Amazon Web Services (DAT211) - AWS re:Invent...
Optimize Your Oracle Licenses on Amazon Web Services (DAT211) - AWS re:Invent...Amazon Web Services
 
Engage Users in Real-Time through Event-Based Messaging (MOB322-R1) - AWS re:...
Engage Users in Real-Time through Event-Based Messaging (MOB322-R1) - AWS re:...Engage Users in Real-Time through Event-Based Messaging (MOB322-R1) - AWS re:...
Engage Users in Real-Time through Event-Based Messaging (MOB322-R1) - AWS re:...Amazon Web Services
 
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...Amazon Web Services
 
Operations for Containerized Applications (CON334-R1) - AWS re:Invent 2018
Operations for Containerized Applications (CON334-R1) - AWS re:Invent 2018Operations for Containerized Applications (CON334-R1) - AWS re:Invent 2018
Operations for Containerized Applications (CON334-R1) - AWS re:Invent 2018Amazon Web Services
 
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...Amazon Web Services
 
Make Your Disaster Recovery Plan Resilient & Cost-Effective (ENT213-S) - AWS ...
Make Your Disaster Recovery Plan Resilient & Cost-Effective (ENT213-S) - AWS ...Make Your Disaster Recovery Plan Resilient & Cost-Effective (ENT213-S) - AWS ...
Make Your Disaster Recovery Plan Resilient & Cost-Effective (ENT213-S) - AWS ...Amazon Web Services
 
Customizing Data Lakes to Work for Your Enterprise with Sysco (STG340) - AWS ...
Customizing Data Lakes to Work for Your Enterprise with Sysco (STG340) - AWS ...Customizing Data Lakes to Work for Your Enterprise with Sysco (STG340) - AWS ...
Customizing Data Lakes to Work for Your Enterprise with Sysco (STG340) - AWS ...Amazon Web Services
 
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Amazon Web Services
 
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...Amazon Web Services
 

What's hot (20)

Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...
Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...
Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...
 
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
 
Introduction to GraphQL (MOB316-R1) - AWS re:Invent 2018
Introduction to GraphQL (MOB316-R1) - AWS re:Invent 2018Introduction to GraphQL (MOB316-R1) - AWS re:Invent 2018
Introduction to GraphQL (MOB316-R1) - AWS re:Invent 2018
 
Secure Your Site: Use CDN Security Features to Protect Your Content & Infrast...
Secure Your Site: Use CDN Security Features to Protect Your Content & Infrast...Secure Your Site: Use CDN Security Features to Protect Your Content & Infrast...
Secure Your Site: Use CDN Security Features to Protect Your Content & Infrast...
 
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
 
SRV321 Deep Dive on Amazon EBS
 SRV321 Deep Dive on Amazon EBS SRV321 Deep Dive on Amazon EBS
SRV321 Deep Dive on Amazon EBS
 
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
 
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
 
A Deep Dive into What's New with Amazon EMR (ANT340-R1) - AWS re:Invent 2018
A Deep Dive into What's New with Amazon EMR (ANT340-R1) - AWS re:Invent 2018A Deep Dive into What's New with Amazon EMR (ANT340-R1) - AWS re:Invent 2018
A Deep Dive into What's New with Amazon EMR (ANT340-R1) - AWS re:Invent 2018
 
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
Real-World Use Cases for Amazon DynamoDB (DAT333) - AWS re:Invent 2018
 
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
Studio in the Cloud: Producing Content on AWS (MAE202) - AWS re:Invent 2018
 
Optimize Your Oracle Licenses on Amazon Web Services (DAT211) - AWS re:Invent...
Optimize Your Oracle Licenses on Amazon Web Services (DAT211) - AWS re:Invent...Optimize Your Oracle Licenses on Amazon Web Services (DAT211) - AWS re:Invent...
Optimize Your Oracle Licenses on Amazon Web Services (DAT211) - AWS re:Invent...
 
Engage Users in Real-Time through Event-Based Messaging (MOB322-R1) - AWS re:...
Engage Users in Real-Time through Event-Based Messaging (MOB322-R1) - AWS re:...Engage Users in Real-Time through Event-Based Messaging (MOB322-R1) - AWS re:...
Engage Users in Real-Time through Event-Based Messaging (MOB322-R1) - AWS re:...
 
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
 
Operations for Containerized Applications (CON334-R1) - AWS re:Invent 2018
Operations for Containerized Applications (CON334-R1) - AWS re:Invent 2018Operations for Containerized Applications (CON334-R1) - AWS re:Invent 2018
Operations for Containerized Applications (CON334-R1) - AWS re:Invent 2018
 
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
[NEW LAUNCH!] AWS IoT Device Tester: Enable Your Edge Devices for AWS IoT (IO...
 
Make Your Disaster Recovery Plan Resilient & Cost-Effective (ENT213-S) - AWS ...
Make Your Disaster Recovery Plan Resilient & Cost-Effective (ENT213-S) - AWS ...Make Your Disaster Recovery Plan Resilient & Cost-Effective (ENT213-S) - AWS ...
Make Your Disaster Recovery Plan Resilient & Cost-Effective (ENT213-S) - AWS ...
 
Customizing Data Lakes to Work for Your Enterprise with Sysco (STG340) - AWS ...
Customizing Data Lakes to Work for Your Enterprise with Sysco (STG340) - AWS ...Customizing Data Lakes to Work for Your Enterprise with Sysco (STG340) - AWS ...
Customizing Data Lakes to Work for Your Enterprise with Sysco (STG340) - AWS ...
 
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
 
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
Building Serverless Analytics Solutions with Amazon QuickSight (ANT391) - AWS...
 

Similar to AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - AWS re:Invent 2018

Living on the Edge with AWS Greengrass
Living on the Edge with AWS GreengrassLiving on the Edge with AWS Greengrass
Living on the Edge with AWS GreengrassForrest Brazeal
 
SRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS FargateSRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS FargateAmazon Web Services
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Amazon Web Services
 
[AWS Container Service] Introducing AWS Fargate
[AWS Container Service] Introducing AWS Fargate[AWS Container Service] Introducing AWS Fargate
[AWS Container Service] Introducing AWS FargateAmazon Web Services Korea
 
Introducing AWS Fargate - AWS Online Tech Talks
Introducing AWS Fargate - AWS Online Tech TalksIntroducing AWS Fargate - AWS Online Tech Talks
Introducing AWS Fargate - AWS Online Tech TalksAmazon Web Services
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019AWS Summits
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019Amazon Web Services
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsAmazon Web Services
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Amazon Web Services
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Amazon Web Services
 
Advanced Container Security - AWS Summit Sydney 2018
Advanced Container Security - AWS Summit Sydney 2018Advanced Container Security - AWS Summit Sydney 2018
Advanced Container Security - AWS Summit Sydney 2018Amazon Web Services
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Amazon Web Services
 
Containerizing Legacy .NET Workloads (CON348-R1) - AWS re:Invent 2018
Containerizing Legacy .NET Workloads (CON348-R1) - AWS re:Invent 2018Containerizing Legacy .NET Workloads (CON348-R1) - AWS re:Invent 2018
Containerizing Legacy .NET Workloads (CON348-R1) - AWS re:Invent 2018Amazon Web Services
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using ContainersAmazon Web Services
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelAmazon Web Services
 

Similar to AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - AWS re:Invent 2018 (20)

Living on the Edge with AWS Greengrass
Living on the Edge with AWS GreengrassLiving on the Edge with AWS Greengrass
Living on the Edge with AWS Greengrass
 
SRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS FargateSRV314 Containerized App Development with AWS Fargate
SRV314 Containerized App Development with AWS Fargate
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
[AWS Container Service] Introducing AWS Fargate
[AWS Container Service] Introducing AWS Fargate[AWS Container Service] Introducing AWS Fargate
[AWS Container Service] Introducing AWS Fargate
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
Introducing AWS Fargate - AWS Online Tech Talks
Introducing AWS Fargate - AWS Online Tech TalksIntroducing AWS Fargate - AWS Online Tech Talks
Introducing AWS Fargate - AWS Online Tech Talks
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
 
Container Security
Container SecurityContainer Security
Container Security
 
Advanced Container Security - AWS Summit Sydney 2018
Advanced Container Security - AWS Summit Sydney 2018Advanced Container Security - AWS Summit Sydney 2018
Advanced Container Security - AWS Summit Sydney 2018
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
 
Containerizing Legacy .NET Workloads (CON348-R1) - AWS re:Invent 2018
Containerizing Legacy .NET Workloads (CON348-R1) - AWS re:Invent 2018Containerizing Legacy .NET Workloads (CON348-R1) - AWS re:Invent 2018
Containerizing Legacy .NET Workloads (CON348-R1) - AWS re:Invent 2018
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using Containers
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Greengrass, Containers, and Your Dev Process for Edge Apps Tim Mattison Global Tech Lead, IoT Partners Amazon Web Services G P S W S 4 0 4 Craig Williams Principal Solutions Architect, IoT Amazon Web Services
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Survey time • How many of you have deployed AWS Greengrass manually? • How long did the first deployment take? • How many of you wrote your own automation?
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Big goals Be comfortable deploying, developing, and debugging AWS Greengrass code Never be afraid to destroy and recreate AWS Greengrass cores
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Detailed goals AWS Greengrass "Hello, World" running on Amazon Elastic Compute Cloud (Amazon EC2) Redeploy updated "Hello, World" AWS Greengrass with multiple AWS Lambda functions Optional: AWS Greengrass running on Docker on Amazon EC2
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Greengrass Core
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What do you care about as a developer? I have collections of Lambda functions I want to run at the edge That code • Communicates with other functions • Uses AWS services (when available) • Accesses local resources
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Features (1 of 2)… • Builds Python, NodeJS, and Java Lambda functions • Uploads and creates aliases for Lambda functions • Describes the AWS Greengrass core in just a few files • Simplifies working with local resources • Has sane defaults and examples that make getting started easier • Allows you to build AWS Greengrass cores in minutes
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Features (2 of 2)… • Allows modifications of groups in place • Add/remove a device • Add/remove a function • Add/remove a subscription • Deployments will overwrite these in place changes! • Can launch AWS CloudFormation stacks for supporting infrastructure • Builds Docker images with AWS Greengrass in them
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Highest-level concepts • Deployment configuration • Function configuration
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deployment configuration • What to deploy • A list of zero or more functions • Role and policy information
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deployment configuration
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Function configuration • Language to use, function handler name, amount of memory, pinned or event based, timeout • Inputs - topics the function can accept messages on • Outputs - topics the function is expected to send messages on • Inputs and outputs from different functions are wired together • Cloud topics are topics that are routed to/from the cloud
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Function configuration
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A more complex function configuration
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Additional function configuration • Local resources • Environment variables
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Simple deployment, step 1 ./deploy.sh -g ec2 -d deployments/python-hello-world.conf -a X86_64 --script -g is the name of the group, ec2 -d is the deployment configuration file which refers to the Python Hello World function -a is the architecture, x86_64 since we're using EC2 --script generates the bootstrap script in build/gg.ec2.sh
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Simple deployment, step 2 Copy build/gg.ec2.sh to an Ubuntu EC2 instance On the EC2 instance run: ./gg.ec2.sh --now This will install the dependencies for AWS Greengrass, install AWS Greengrass itself, start AWS Greengrass, and then tail the runtime log so you can see what's going on
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What happened (deployment)? • We built ec2-HelloWorldPython • This avoids naming conflicts between groups running the same functions • We wired ec2_Core/python/hello/world to the cloud • Subscription table set up was automatic • We created a script that can bootstrap our Amazon EC2 instance and ran it
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Simple redeployment ./deploy.sh -g ec2 -d deployments/python-hello-world.conf -g is the name of the group, ec2 -d is the deployment configuration file which refers to the Python Hello World function No need to specify the architecture or get a script as output. The AWS Greengrass service will redeploy the code to your core.
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What happened (redeployment)? • We built ec2-HelloWorldPython and created a new version • We created an entire new deployment • Manual changes would be blown away at this point • We let the AWS Greengrass service deploy our new code to the instance
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Notes about the labs • Any steps that have "(via console)" after them also have a corresponding step showing how to do the task with the AWS Greengrass Provisioner tool • If you get through everything, let us know! There are plenty more AWS Greengrass labs where these came from. • If you finish quickly and think this is too easy please go back and do the manual lab (lab 1A) to gain a full appreciation for the automation
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Your turn reinvent.awsworkshops.com Username: aws Password: icebreaker
  • 37. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.