SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Serverless Architecture
for the Internet of Things
Ben Kehoe @ben11kehoe
Cloud Robotics Research Scientist
2016-05-26
Transition to the cloud:
“Treat servers like cattle, not pets”
(traces back to Bill Baker at Microsoft)
Transition to serverless:
Treat servers like roaches
Contents
1.  iRobot + me
2.  iRobot’s needs
3.  Cloud architecture
4.  Serverless ops
5.  Looking forward
iRobot + me
•  Consumer robotics
–  Roomba (vacuuming)
–  Braava (hard floor care)
–  Other (Looj, Verra)
–  Create
•  Global
–  Over 100 countries
–  Only 40% North America
–  Antarctica?
•  High volume
–  2.4 million robots last year
•  Me
–  Cloud Robotics Research Scientist
–  R&D, cloud architecture, IoT/smart home
–  Background: UAVs, surgical robots, physics, theater, …
iRobot + me
iRobot’s needs
•  IoT/Smart Home
–  From the consumer’s perspective, the
cloud is sometimes hidden in
(consumer) IoT
•  This is not intuitive
•  Smart Home is a better term
–  The consumer may never interact with
an IoT device from outside their home
–  The cloud may enable functionality that
the consumer only uses through direct
physical interaction
–  This is especially true of robots
•  Enterprise
–  Global
–  Scalable
–  Secure
–  Auditable
iRobot’s needs
•  Cloud infrastructure for our customer-
facing system is undifferentiated heavy
lifting for us
–  On the other hand, big data may be
a key part of our business, so cloud
infrastructure in that area is more
relevant for us
•  This is where serverless architecture
comes in
–  Hurray!
–  Development limited mostly to
business logic
–  Accept inefficiencies in system
design due to available service
functionality in exchange for vastly
reduced ops complexity
iRobot’s needs
Cloud Architecture
•  Users, apps, robots
–  Users to apps: one to many
–  Users to robots: many to many
–  “Accountless apps”
System architecture
•  Users, apps, robots
–  Users to apps: one to many
–  Users to robots: many to many
–  “Accountless apps”
•  Local connections
•  Triangle of trust
•  Two entry points: AWS IoT and API
Gateway
System architecture
•  Robots
–  No AWS credentials
–  Certificates --> can only authenticate with
AWS IoT
•  Not even API Gateway custom auth :-(
•  BYO Cert (mfg-ing logistics)
•  Use presigned URLs for e.g. S3 get/put
–  OTA firmware update
•  Apps
–  Cognito identity --> AWS credentials
–  “Accountless” functionality (UX driven)
–  Uses the triangle of trust
•  Admin console
–  ADFS sign in
–  Served through separate API Gateway
•  Protip: single-page web app, files
served thru API GW using S3 service
proxying, API calls using relative paths

--> client always in sync with backend
Cloud architecture for IoT
•  Computation: Lambda and IoT Rules
•  Lots of SQS queues
•  Storage: DynamoDB, IoT Shadows
•  Security: Rube Goldberg WAF for API Gateway
•  The *: Elasticsearch and RDS
Cloud architecture
•  Enterprise needs
–  Scale
•  No problem!*
•  Lambda limits are the most
worrying, CloudWatch Events
limits are the most annoying
–  Mostly because of SQS
–  Global
•  Actually the biggest downside
to serverless
–  Regional availability
–  Vendor lock-in
–  Security
•  WAF
•  CloudWatch
•  3rd party tools
–  Auditability
•  CloudTrail
Serverless ops
•  Serverless IT and Ops
–  Infrastructure as code
–  Build artifacts
–  Inspectability
–  Deploy from dev machine or test
server
–  Deploy from working dir or git
commit
–  Auditability
•  Security
•  Billing
•  CloudFormation is great for deployment.
Slower is ok for us.
–  Use CloudFormation custom resources
to deploy and manage arbitrary
resources
•  E.g., API Gateway + WAF
–  Give CloudFormation some syntactical
sugar
•  Still need to deploy and manage custom
resource Lambdas
•  Still need to deploy artifacts into S3
–  Lambda source code
–  CloudFormation templates
–  Etc.
Serverless ops
•  Our deployment tool is named “cloudr”
•  “clowder” is the collective noun for cats
•  Builds Lambda source code
•  Deploys artifacts to S3
•  Creates/compiles CloudFormation
templates, injects S3 locations from
previous step
•  Deploys and manages custom resource
Lambdas using hash of source as alias
–  Uses our cfnlambda library
cloudr
Source
•  Creates an application consisting of a set of microservices
–  One stack per microservice
•  CloudFormation template defined by user, with
syntactic sugar
•  DynamoDB table for service discovery added
automagically, name injected into Lambda
functions
•  Required and provided resources defined by the
user
–  One stack for the application as a whole
•  A custom resource for each microservice stack
•  Cross-service policies created based on the
declared dependencies
•  Service discovery tables populated from info
contained in this stack
cloudr
•  How do we actually roll out updates?
•  This is the biggest area where
serverless offerings are lacking
•  With IaaS and lower-level PaaS, you
get lots of control
–  Canary deployments
–  Roll out behind the load balancer,
or set up a new load balancer
with a whole separate fleet
•  What can we do serverless on AWS
today?
Serverless deployment
•  Rolling out a deployment “behind the
load balancer” is impossible
•  Canary deployments are impossible if
we update in place
•  So how do we host multiple versions
simultaneously?
–  For API Gateway, multiple
versions can coexist as separate
stages or separate APIs
–  For IoT, no such luck
•  One MQTT server per
account (in a region)
•  Certificates can only exist in
one account (in a region)
•  (╯°□°) ┻━┻
Serverless deployment
•  Solution for IoT: topic prefix
•  All rules for an instance of an
application listen on prefixed topics
•  What about /$aws/ topics?
–  Robot sets prefix in the shadow
–  Rules on shadow switch on that
field
Serverless deployment
•  How do you switch clients over?
•  A separate global API Gateway for
service discovery
–  Well-known url using custom
domain names
•  Client service discovery returns three
items:
–  API Gateway base url
–  MQTT host
–  MQTT topic prefix
Serverless deployment
•  When an app wants to communicate
with a robot, how do we make sure it
talks to the same instance the robot is
talking to?
–  Separate service discovery for
robots and apps
–  Robot service discovery: where
should I be?
•  Robot updates “where am I”
in the cloud
–  App service discovery: where is
this robot?
–  Quadrilateral of trust
•  A third service discovery for app’s non-
robot-related calls
Serverless deployment
Conclusion
•  The awesome
–  Zero unmanaged EC2 instances
–  Zero Elastic Beanstalk
applications
•  The good
–  Lambda service in isolation
•  Scaling
•  Development
•  Testing
–  API Gateway features
–  AWS IoT
•  BYO Certificates
•  Rules Engine computation
•  Pricing!
Conclusion
•  The bad
–  Deployment gets complicated
–  We could get a lot of mileage of
MQTT “retain”
–  IoT fleet operations
–  WAF for API Gateway
–  VPC support
•  The ugly
–  Lambda SQS integration
–  IoT instances/certificate
limitations
Conclusion
•  IoT is complicated
•  Serverless is the way
–  Development
–  Deployment
–  Operations
•  iRobot’s solution: cloudr
–  (Hopefully) will be open source
Conclusion
•  iRobotCorporation on Github
–  cfnlambda
–  sqslambda*
–  ADFS credentials refreshing*
•  We’re hiring
•  @ben11kehoe on Twitter
Conclusion

Contenu connexe

Tendances

Building Composable Serverless Apps with IOpipe
Building Composable Serverless Apps with IOpipe Building Composable Serverless Apps with IOpipe
Building Composable Serverless Apps with IOpipe Erica Windisch
 
Serverless Architecture Patterns - Manoj Ganapathi
Serverless Architecture Patterns - Manoj GanapathiServerless Architecture Patterns - Manoj Ganapathi
Serverless Architecture Patterns - Manoj GanapathiCodeOps Technologies LLP
 
Introduction to Azure Functions - Tutorial
Introduction to Azure Functions - TutorialIntroduction to Azure Functions - Tutorial
Introduction to Azure Functions - TutorialBizTalk360
 
Kapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud CustodianKapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud CustodianServerlessConf
 
Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Varun Manik
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for IntegrationBizTalk360
 
GAB 2017 - Logic Apps and Azure Functions
GAB 2017 - Logic Apps and Azure FunctionsGAB 2017 - Logic Apps and Azure Functions
GAB 2017 - Logic Apps and Azure FunctionsWagner Silveira
 
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS User Group - Thailand
 
Let's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS LambdaLet's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS LambdaOkis Chuang
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesSheenBrisals
 
Thinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UGThinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UGEric Johnson
 
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
Serverless Architecture Patterns - Manoj Ganapathi - Serverless SummitServerless Architecture Patterns - Manoj Ganapathi - Serverless Summit
Serverless Architecture Patterns - Manoj Ganapathi - Serverless SummitCodeOps Technologies LLP
 
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...CodeOps Technologies LLP
 
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESS
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESSWRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESS
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESSCodeOps Technologies LLP
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitCodeOps Technologies LLP
 
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS User Group - Thailand
 
Managing the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS LambdaManaging the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS LambdaAmazon Web Services
 
The Hitchhiker’s Guide to Hybrid Connectivity
The Hitchhiker’s Guide to Hybrid ConnectivityThe Hitchhiker’s Guide to Hybrid Connectivity
The Hitchhiker’s Guide to Hybrid ConnectivityBizTalk360
 
Choosing the right messaging service for your serverless app [with lumigo]
Choosing the right messaging service for your serverless app [with lumigo]Choosing the right messaging service for your serverless app [with lumigo]
Choosing the right messaging service for your serverless app [with lumigo]Dhaval Nagar
 

Tendances (20)

Building Composable Serverless Apps with IOpipe
Building Composable Serverless Apps with IOpipe Building Composable Serverless Apps with IOpipe
Building Composable Serverless Apps with IOpipe
 
Serverless Architecture Patterns - Manoj Ganapathi
Serverless Architecture Patterns - Manoj GanapathiServerless Architecture Patterns - Manoj Ganapathi
Serverless Architecture Patterns - Manoj Ganapathi
 
Introduction to Azure Functions - Tutorial
Introduction to Azure Functions - TutorialIntroduction to Azure Functions - Tutorial
Introduction to Azure Functions - Tutorial
 
Kapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud CustodianKapil Thangavelu - Cloud Custodian
Kapil Thangavelu - Cloud Custodian
 
Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for Integration
 
GAB 2017 - Logic Apps and Azure Functions
GAB 2017 - Logic Apps and Azure FunctionsGAB 2017 - Logic Apps and Azure Functions
GAB 2017 - Logic Apps and Azure Functions
 
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
 
Let's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS LambdaLet's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS Lambda
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-Pieces
 
Thinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UGThinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UG
 
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
Serverless Architecture Patterns - Manoj Ganapathi - Serverless SummitServerless Architecture Patterns - Manoj Ganapathi - Serverless Summit
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
 
Serverless Summit - Quiz
Serverless Summit - QuizServerless Summit - Quiz
Serverless Summit - Quiz
 
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
 
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESS
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESSWRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESS
WRITE SCALABLE COMMUNICATION APPLICATION WITH POWER OF SERVERLESS
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
 
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
 
Managing the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS LambdaManaging the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS Lambda
 
The Hitchhiker’s Guide to Hybrid Connectivity
The Hitchhiker’s Guide to Hybrid ConnectivityThe Hitchhiker’s Guide to Hybrid Connectivity
The Hitchhiker’s Guide to Hybrid Connectivity
 
Choosing the right messaging service for your serverless app [with lumigo]
Choosing the right messaging service for your serverless app [with lumigo]Choosing the right messaging service for your serverless app [with lumigo]
Choosing the right messaging service for your serverless app [with lumigo]
 

En vedette

Frederic Lavigne and Stephen Fink - Serverless Video Processing with IBM Blue...
Frederic Lavigne and Stephen Fink - Serverless Video Processing with IBM Blue...Frederic Lavigne and Stephen Fink - Serverless Video Processing with IBM Blue...
Frederic Lavigne and Stephen Fink - Serverless Video Processing with IBM Blue...ServerlessConf
 
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless StartupSam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless StartupServerlessConf
 
Charity Hound - Serverless, NoOps, The Tooth Fairy
Charity Hound - Serverless, NoOps, The Tooth FairyCharity Hound - Serverless, NoOps, The Tooth Fairy
Charity Hound - Serverless, NoOps, The Tooth FairyServerlessConf
 
Joe Emison - 10X Product Development
Joe Emison - 10X Product DevelopmentJoe Emison - 10X Product Development
Joe Emison - 10X Product DevelopmentServerlessConf
 
Tomasz Janczuk - Webtaskalifragilistexpialidocious
Tomasz Janczuk - WebtaskalifragilistexpialidociousTomasz Janczuk - Webtaskalifragilistexpialidocious
Tomasz Janczuk - WebtaskalifragilistexpialidociousServerlessConf
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
(CMP407) Lambda as Cron: Scheduling Invocations in AWS Lambda
(CMP407) Lambda as Cron: Scheduling Invocations in AWS Lambda(CMP407) Lambda as Cron: Scheduling Invocations in AWS Lambda
(CMP407) Lambda as Cron: Scheduling Invocations in AWS LambdaAmazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)Amazon Web Services
 
サーバーレスでシステムを開発する時に⼤切な事
サーバーレスでシステムを開発する時に⼤切な事サーバーレスでシステムを開発する時に⼤切な事
サーバーレスでシステムを開発する時に⼤切な事Hiroyuki Hiki
 
Serverless Architecture at iRobot
Serverless Architecture at iRobotServerless Architecture at iRobot
Serverless Architecture at iRobotBen Kehoe
 
サーバーレスアーキテクチャに関する個人的理解と使い所
サーバーレスアーキテクチャに関する個人的理解と使い所サーバーレスアーキテクチャに関する個人的理解と使い所
サーバーレスアーキテクチャに関する個人的理解と使い所Shoji Shirotori
 
ブログをいっぱい書いていたら色々とうまくいった話
ブログをいっぱい書いていたら色々とうまくいった話ブログをいっぱい書いていたら色々とうまくいった話
ブログをいっぱい書いていたら色々とうまくいった話Kenji Tanaka
 
Serverless microservices in the wild
Serverless microservices in the wildServerless microservices in the wild
Serverless microservices in the wildRotem Tamir
 
Top 5 robotics engineer interview questions with answers
Top 5 robotics engineer interview questions with answersTop 5 robotics engineer interview questions with answers
Top 5 robotics engineer interview questions with answersmarkets8212
 
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)
슬로우캠퍼스 - 안드로이드 개발자들이여  Firebase로 날아보자 :)슬로우캠퍼스 - 안드로이드 개발자들이여  Firebase로 날아보자 :)
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)마이캠퍼스
 
Developing event-driven microservices with event sourcing and CQRS (Shanghai)
Developing event-driven microservices with event sourcing and CQRS (Shanghai)Developing event-driven microservices with event sourcing and CQRS (Shanghai)
Developing event-driven microservices with event sourcing and CQRS (Shanghai)Chris Richardson
 
Azure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreBizTalk360
 
Webinar - Mobile Apps: Monolithic to Serverless
Webinar - Mobile Apps: Monolithic to ServerlessWebinar - Mobile Apps: Monolithic to Serverless
Webinar - Mobile Apps: Monolithic to ServerlessOpenXcell Technolabs
 

En vedette (20)

Frederic Lavigne and Stephen Fink - Serverless Video Processing with IBM Blue...
Frederic Lavigne and Stephen Fink - Serverless Video Processing with IBM Blue...Frederic Lavigne and Stephen Fink - Serverless Video Processing with IBM Blue...
Frederic Lavigne and Stephen Fink - Serverless Video Processing with IBM Blue...
 
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless StartupSam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
Sam Kroonenburg and Pete Sbarski - The Story of a Serverless Startup
 
Charity Hound - Serverless, NoOps, The Tooth Fairy
Charity Hound - Serverless, NoOps, The Tooth FairyCharity Hound - Serverless, NoOps, The Tooth Fairy
Charity Hound - Serverless, NoOps, The Tooth Fairy
 
Joe Emison - 10X Product Development
Joe Emison - 10X Product DevelopmentJoe Emison - 10X Product Development
Joe Emison - 10X Product Development
 
Tomasz Janczuk - Webtaskalifragilistexpialidocious
Tomasz Janczuk - WebtaskalifragilistexpialidociousTomasz Janczuk - Webtaskalifragilistexpialidocious
Tomasz Janczuk - Webtaskalifragilistexpialidocious
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
(CMP407) Lambda as Cron: Scheduling Invocations in AWS Lambda
(CMP407) Lambda as Cron: Scheduling Invocations in AWS Lambda(CMP407) Lambda as Cron: Scheduling Invocations in AWS Lambda
(CMP407) Lambda as Cron: Scheduling Invocations in AWS Lambda
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
 
サーバーレスでシステムを開発する時に⼤切な事
サーバーレスでシステムを開発する時に⼤切な事サーバーレスでシステムを開発する時に⼤切な事
サーバーレスでシステムを開発する時に⼤切な事
 
Serverless Architecture at iRobot
Serverless Architecture at iRobotServerless Architecture at iRobot
Serverless Architecture at iRobot
 
サーバーレスアーキテクチャに関する個人的理解と使い所
サーバーレスアーキテクチャに関する個人的理解と使い所サーバーレスアーキテクチャに関する個人的理解と使い所
サーバーレスアーキテクチャに関する個人的理解と使い所
 
ブログをいっぱい書いていたら色々とうまくいった話
ブログをいっぱい書いていたら色々とうまくいった話ブログをいっぱい書いていたら色々とうまくいった話
ブログをいっぱい書いていたら色々とうまくいった話
 
Serverless microservices in the wild
Serverless microservices in the wildServerless microservices in the wild
Serverless microservices in the wild
 
Top 5 robotics engineer interview questions with answers
Top 5 robotics engineer interview questions with answersTop 5 robotics engineer interview questions with answers
Top 5 robotics engineer interview questions with answers
 
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)
슬로우캠퍼스 - 안드로이드 개발자들이여  Firebase로 날아보자 :)슬로우캠퍼스 - 안드로이드 개발자들이여  Firebase로 날아보자 :)
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)
 
Developing event-driven microservices with event sourcing and CQRS (Shanghai)
Developing event-driven microservices with event sourcing and CQRS (Shanghai)Developing event-driven microservices with event sourcing and CQRS (Shanghai)
Developing event-driven microservices with event sourcing and CQRS (Shanghai)
 
Azure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and more
 
Webinar - Mobile Apps: Monolithic to Serverless
Webinar - Mobile Apps: Monolithic to ServerlessWebinar - Mobile Apps: Monolithic to Serverless
Webinar - Mobile Apps: Monolithic to Serverless
 

Similaire à Ben Kehoe - Serverless Architecture for the Internet of Things

Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisVMware Tanzu
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewboxLino Telera
 
API Gateways are going through an identity crisis
API Gateways are going through an identity crisisAPI Gateways are going through an identity crisis
API Gateways are going through an identity crisisChristian Posta
 
IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptxsuptel
 
AWS re:Invent 2016: Serverless IoT Back Ends (IOT401)
AWS re:Invent 2016: Serverless IoT Back Ends (IOT401)AWS re:Invent 2016: Serverless IoT Back Ends (IOT401)
AWS re:Invent 2016: Serverless IoT Back Ends (IOT401)Amazon Web Services
 
Microservices and Serverless for Mega Startups - DevOps IL Meetup
Microservices and Serverless for Mega Startups - DevOps IL MeetupMicroservices and Serverless for Mega Startups - DevOps IL Meetup
Microservices and Serverless for Mega Startups - DevOps IL MeetupBoaz Ziniman
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersAmazon Web Services
 
Serverless Meetup - Event Sourcing
Serverless Meetup - Event SourcingServerless Meetup - Event Sourcing
Serverless Meetup - Event SourcingLuca Bianchi
 
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...Amazon Web Services
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cachecornelia davis
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersAmazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersAmazon Web Services
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingAmazon Web Services
 
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupIntroducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupBoaz Ziniman
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersAmazon Web Services
 
2016-06 - Design your api management strategy - AWS - Microservices on AWS
2016-06 - Design your api management strategy - AWS - Microservices on AWS2016-06 - Design your api management strategy - AWS - Microservices on AWS
2016-06 - Design your api management strategy - AWS - Microservices on AWSSmartWave
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersAmazon Web Services
 

Similaire à Ben Kehoe - Serverless Architecture for the Internet of Things (20)

Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewbox
 
API Gateways are going through an identity crisis
API Gateways are going through an identity crisisAPI Gateways are going through an identity crisis
API Gateways are going through an identity crisis
 
IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptx
 
AWS re:Invent 2016: Serverless IoT Back Ends (IOT401)
AWS re:Invent 2016: Serverless IoT Back Ends (IOT401)AWS re:Invent 2016: Serverless IoT Back Ends (IOT401)
AWS re:Invent 2016: Serverless IoT Back Ends (IOT401)
 
Microservices and Serverless for Mega Startups - DevOps IL Meetup
Microservices and Serverless for Mega Startups - DevOps IL MeetupMicroservices and Serverless for Mega Startups - DevOps IL Meetup
Microservices and Serverless for Mega Startups - DevOps IL Meetup
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Serverless Meetup - Event Sourcing
Serverless Meetup - Event SourcingServerless Meetup - Event Sourcing
Serverless Meetup - Event Sourcing
 
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
Operating your Production API
Operating your Production APIOperating your Production API
Operating your Production API
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Demistifying serverless on aws
Demistifying serverless on awsDemistifying serverless on aws
Demistifying serverless on aws
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupIntroducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
2016-06 - Design your api management strategy - AWS - Microservices on AWS
2016-06 - Design your api management strategy - AWS - Microservices on AWS2016-06 - Design your api management strategy - AWS - Microservices on AWS
2016-06 - Design your api management strategy - AWS - Microservices on AWS
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 

Plus de ServerlessConf

Paul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last YearPaul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last YearServerlessConf
 
Paul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last YearPaul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last YearServerlessConf
 
Patrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullPatrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullServerlessConf
 
Noelle La Charite - Building Voice Experiences
Noelle La Charite - Building Voice ExperiencesNoelle La Charite - Building Voice Experiences
Noelle La Charite - Building Voice ExperiencesServerlessConf
 
Lars Trierloff - Serverless Adventures with AWS Lambda and Clojure
Lars Trierloff - Serverless Adventures with AWS Lambda and ClojureLars Trierloff - Serverless Adventures with AWS Lambda and Clojure
Lars Trierloff - Serverless Adventures with AWS Lambda and ClojureServerlessConf
 
Eric Windisch - Building Composable Serverless Apps
Eric Windisch - Building Composable Serverless AppsEric Windisch - Building Composable Serverless Apps
Eric Windisch - Building Composable Serverless AppsServerlessConf
 
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...ServerlessConf
 

Plus de ServerlessConf (7)

Paul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last YearPaul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last Year
 
Paul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last YearPaul Johnston - What I Wish I'd Known Last Year
Paul Johnston - What I Wish I'd Known Last Year
 
Patrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to ServicefullPatrick Debois - From Serverless to Servicefull
Patrick Debois - From Serverless to Servicefull
 
Noelle La Charite - Building Voice Experiences
Noelle La Charite - Building Voice ExperiencesNoelle La Charite - Building Voice Experiences
Noelle La Charite - Building Voice Experiences
 
Lars Trierloff - Serverless Adventures with AWS Lambda and Clojure
Lars Trierloff - Serverless Adventures with AWS Lambda and ClojureLars Trierloff - Serverless Adventures with AWS Lambda and Clojure
Lars Trierloff - Serverless Adventures with AWS Lambda and Clojure
 
Eric Windisch - Building Composable Serverless Apps
Eric Windisch - Building Composable Serverless AppsEric Windisch - Building Composable Serverless Apps
Eric Windisch - Building Composable Serverless Apps
 
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
Andreas Nauerz and Michael Behrendt - Event Driven and Serverless Programming...
 

Dernier

Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxBipin Adhikari
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 

Dernier (20)

Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptx
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 

Ben Kehoe - Serverless Architecture for the Internet of Things

  • 1. Serverless Architecture for the Internet of Things Ben Kehoe @ben11kehoe Cloud Robotics Research Scientist 2016-05-26
  • 2. Transition to the cloud: “Treat servers like cattle, not pets” (traces back to Bill Baker at Microsoft) Transition to serverless: Treat servers like roaches
  • 3. Contents 1.  iRobot + me 2.  iRobot’s needs 3.  Cloud architecture 4.  Serverless ops 5.  Looking forward
  • 5. •  Consumer robotics –  Roomba (vacuuming) –  Braava (hard floor care) –  Other (Looj, Verra) –  Create •  Global –  Over 100 countries –  Only 40% North America –  Antarctica? •  High volume –  2.4 million robots last year •  Me –  Cloud Robotics Research Scientist –  R&D, cloud architecture, IoT/smart home –  Background: UAVs, surgical robots, physics, theater, … iRobot + me
  • 7. •  IoT/Smart Home –  From the consumer’s perspective, the cloud is sometimes hidden in (consumer) IoT •  This is not intuitive •  Smart Home is a better term –  The consumer may never interact with an IoT device from outside their home –  The cloud may enable functionality that the consumer only uses through direct physical interaction –  This is especially true of robots •  Enterprise –  Global –  Scalable –  Secure –  Auditable iRobot’s needs
  • 8. •  Cloud infrastructure for our customer- facing system is undifferentiated heavy lifting for us –  On the other hand, big data may be a key part of our business, so cloud infrastructure in that area is more relevant for us •  This is where serverless architecture comes in –  Hurray! –  Development limited mostly to business logic –  Accept inefficiencies in system design due to available service functionality in exchange for vastly reduced ops complexity iRobot’s needs
  • 10. •  Users, apps, robots –  Users to apps: one to many –  Users to robots: many to many –  “Accountless apps” System architecture
  • 11. •  Users, apps, robots –  Users to apps: one to many –  Users to robots: many to many –  “Accountless apps” •  Local connections •  Triangle of trust •  Two entry points: AWS IoT and API Gateway System architecture
  • 12. •  Robots –  No AWS credentials –  Certificates --> can only authenticate with AWS IoT •  Not even API Gateway custom auth :-( •  BYO Cert (mfg-ing logistics) •  Use presigned URLs for e.g. S3 get/put –  OTA firmware update •  Apps –  Cognito identity --> AWS credentials –  “Accountless” functionality (UX driven) –  Uses the triangle of trust •  Admin console –  ADFS sign in –  Served through separate API Gateway •  Protip: single-page web app, files served thru API GW using S3 service proxying, API calls using relative paths
 --> client always in sync with backend Cloud architecture for IoT
  • 13. •  Computation: Lambda and IoT Rules •  Lots of SQS queues •  Storage: DynamoDB, IoT Shadows •  Security: Rube Goldberg WAF for API Gateway •  The *: Elasticsearch and RDS Cloud architecture
  • 14. •  Enterprise needs –  Scale •  No problem!* •  Lambda limits are the most worrying, CloudWatch Events limits are the most annoying –  Mostly because of SQS –  Global •  Actually the biggest downside to serverless –  Regional availability –  Vendor lock-in –  Security •  WAF •  CloudWatch •  3rd party tools –  Auditability •  CloudTrail
  • 16. •  Serverless IT and Ops –  Infrastructure as code –  Build artifacts –  Inspectability –  Deploy from dev machine or test server –  Deploy from working dir or git commit –  Auditability •  Security •  Billing
  • 17. •  CloudFormation is great for deployment. Slower is ok for us. –  Use CloudFormation custom resources to deploy and manage arbitrary resources •  E.g., API Gateway + WAF –  Give CloudFormation some syntactical sugar •  Still need to deploy and manage custom resource Lambdas •  Still need to deploy artifacts into S3 –  Lambda source code –  CloudFormation templates –  Etc. Serverless ops
  • 18. •  Our deployment tool is named “cloudr” •  “clowder” is the collective noun for cats •  Builds Lambda source code •  Deploys artifacts to S3 •  Creates/compiles CloudFormation templates, injects S3 locations from previous step •  Deploys and manages custom resource Lambdas using hash of source as alias –  Uses our cfnlambda library cloudr Source
  • 19. •  Creates an application consisting of a set of microservices –  One stack per microservice •  CloudFormation template defined by user, with syntactic sugar •  DynamoDB table for service discovery added automagically, name injected into Lambda functions •  Required and provided resources defined by the user –  One stack for the application as a whole •  A custom resource for each microservice stack •  Cross-service policies created based on the declared dependencies •  Service discovery tables populated from info contained in this stack cloudr
  • 20. •  How do we actually roll out updates? •  This is the biggest area where serverless offerings are lacking •  With IaaS and lower-level PaaS, you get lots of control –  Canary deployments –  Roll out behind the load balancer, or set up a new load balancer with a whole separate fleet •  What can we do serverless on AWS today? Serverless deployment
  • 21. •  Rolling out a deployment “behind the load balancer” is impossible •  Canary deployments are impossible if we update in place •  So how do we host multiple versions simultaneously? –  For API Gateway, multiple versions can coexist as separate stages or separate APIs –  For IoT, no such luck •  One MQTT server per account (in a region) •  Certificates can only exist in one account (in a region) •  (╯°□°) ┻━┻ Serverless deployment
  • 22. •  Solution for IoT: topic prefix •  All rules for an instance of an application listen on prefixed topics •  What about /$aws/ topics? –  Robot sets prefix in the shadow –  Rules on shadow switch on that field Serverless deployment
  • 23. •  How do you switch clients over? •  A separate global API Gateway for service discovery –  Well-known url using custom domain names •  Client service discovery returns three items: –  API Gateway base url –  MQTT host –  MQTT topic prefix Serverless deployment
  • 24. •  When an app wants to communicate with a robot, how do we make sure it talks to the same instance the robot is talking to? –  Separate service discovery for robots and apps –  Robot service discovery: where should I be? •  Robot updates “where am I” in the cloud –  App service discovery: where is this robot? –  Quadrilateral of trust •  A third service discovery for app’s non- robot-related calls Serverless deployment
  • 26. •  The awesome –  Zero unmanaged EC2 instances –  Zero Elastic Beanstalk applications •  The good –  Lambda service in isolation •  Scaling •  Development •  Testing –  API Gateway features –  AWS IoT •  BYO Certificates •  Rules Engine computation •  Pricing! Conclusion
  • 27. •  The bad –  Deployment gets complicated –  We could get a lot of mileage of MQTT “retain” –  IoT fleet operations –  WAF for API Gateway –  VPC support •  The ugly –  Lambda SQS integration –  IoT instances/certificate limitations Conclusion
  • 28. •  IoT is complicated •  Serverless is the way –  Development –  Deployment –  Operations •  iRobot’s solution: cloudr –  (Hopefully) will be open source Conclusion
  • 29. •  iRobotCorporation on Github –  cfnlambda –  sqslambda* –  ADFS credentials refreshing* •  We’re hiring •  @ben11kehoe on Twitter Conclusion