© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Ben Kehoe
Cloud Robotics Research Scientist at iRobot
AWS Serverless Hero
@ben11kehoe
Serverless beyond AWS Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Understanding serverless
• Often equated with Lambda
• This misses the bigger picture
• And the smaller picture
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Understanding serverless
• Serverless is about letting you focus on your business
problems
• Use (and abuse) managed services wherever you can
• “Service-full”
• Glue it together with managed, ephemeral compute
• FaaS is one example, but there are others
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Serverless is masonry:
FaaS is the mortar; buy your bricks
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Service-full
• Break your business problem down: what parts aren’t core
to what you’re doing for your customers?
• Use (or abuse) a managed service for those
• What to look for in a managed service:
• Resources billed → resources used
• Smaller, more abstract control plane
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why is serverless a thing now?
• Managed services have been around forever
• But business logic has to go somewhere…
• Managed rules engines exist
• But you can only get so far without actually coding
something…
• Ephemeral compute has enabled providers to manage
code
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Ephemeral compute
• Compute with a defined, finite lifetime
• Temporal: FaaS, streaming compute
• Input: managed batch compute
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What’s needed to build an application?
1. Data stores (DB, blob, …)
2. API
3. Auth+sec
4. Compute
5. Message bus
6. Orchestration
7. Analytics
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Data stores
• Serverless means you don’t pay for idle
• What does “idle” mean with respect to a data store?
• Storage itself is usage
• “Warmth” of data is usage
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Data stores
• S3
• DynamoDB
• Autoscaling (performance implications)
• Aurora “serverless”
• No HTTP interface → does not play well with Lambda
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API
• AppSync
• CRUD backend? AppSync + DDB and you’re done
• API Gateway
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Auth+sec
• Client identity: Cognito
• Federated identity or User Pools?
• Got a 3rd party federated identity provider (e.g., Auth0)?
Still works with Cognito federated identity!
• Can even allow direct access to AWS services, for thinner
backends
• Policies and scoping becomes really really important
• More service = more IAM
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Compute
• Lambda
• Event-driven
• Request-response
• Periodic
• AWS Glue
• AWS Batch
• Not Fargate
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Message bus
• SNS
• SQS
• Kinesis Data Streams
• Kinesis Firehose
• Kinesis Analytics
• AWS IoT
• Not Amazon MQ
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Analytics
• S3 + Athena
• AWS IoT Analytics
• AWS Glue
• RedShift, kinda?
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Summing up
• Serverless is masonry
• FaaS (and other ephemeral compute) is just mortar
• Managed services are your load-bearing bricks
@ben11kehoe
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!

Serverless beyond AWS Lambda

  • 1.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Ben Kehoe Cloud Robotics Research Scientist at iRobot AWS Serverless Hero @ben11kehoe Serverless beyond AWS Lambda
  • 2.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Understanding serverless • Often equated with Lambda • This misses the bigger picture • And the smaller picture @ben11kehoe
  • 3.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Understanding serverless • Serverless is about letting you focus on your business problems • Use (and abuse) managed services wherever you can • “Service-full” • Glue it together with managed, ephemeral compute • FaaS is one example, but there are others @ben11kehoe
  • 4.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Serverless is masonry: FaaS is the mortar; buy your bricks @ben11kehoe
  • 5.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Service-full • Break your business problem down: what parts aren’t core to what you’re doing for your customers? • Use (or abuse) a managed service for those • What to look for in a managed service: • Resources billed → resources used • Smaller, more abstract control plane @ben11kehoe
  • 6.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Why is serverless a thing now? • Managed services have been around forever • But business logic has to go somewhere… • Managed rules engines exist • But you can only get so far without actually coding something… • Ephemeral compute has enabled providers to manage code @ben11kehoe
  • 7.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Ephemeral compute • Compute with a defined, finite lifetime • Temporal: FaaS, streaming compute • Input: managed batch compute @ben11kehoe
  • 8.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. What’s needed to build an application? 1. Data stores (DB, blob, …) 2. API 3. Auth+sec 4. Compute 5. Message bus 6. Orchestration 7. Analytics @ben11kehoe
  • 9.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Data stores • Serverless means you don’t pay for idle • What does “idle” mean with respect to a data store? • Storage itself is usage • “Warmth” of data is usage @ben11kehoe
  • 10.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Data stores • S3 • DynamoDB • Autoscaling (performance implications) • Aurora “serverless” • No HTTP interface → does not play well with Lambda @ben11kehoe
  • 11.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. API • AppSync • CRUD backend? AppSync + DDB and you’re done • API Gateway @ben11kehoe
  • 12.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Auth+sec • Client identity: Cognito • Federated identity or User Pools? • Got a 3rd party federated identity provider (e.g., Auth0)? Still works with Cognito federated identity! • Can even allow direct access to AWS services, for thinner backends • Policies and scoping becomes really really important • More service = more IAM @ben11kehoe
  • 13.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Compute • Lambda • Event-driven • Request-response • Periodic • AWS Glue • AWS Batch • Not Fargate @ben11kehoe
  • 14.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Message bus • SNS • SQS • Kinesis Data Streams • Kinesis Firehose • Kinesis Analytics • AWS IoT • Not Amazon MQ @ben11kehoe
  • 15.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Analytics • S3 + Athena • AWS IoT Analytics • AWS Glue • RedShift, kinda? @ben11kehoe
  • 16.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Summing up • Serverless is masonry • FaaS (and other ephemeral compute) is just mortar • Managed services are your load-bearing bricks @ben11kehoe
  • 17.
    © 2018, AmazonWeb Services, Inc. or its affiliates. All rights reserved. Thank you!