Successfully reported this slideshow.

ServerlessConf 2018 Keynote - Debunking Serverless Myths

10

Share

1 of 45
1 of 45

ServerlessConf 2018 Keynote - Debunking Serverless Myths

10

Share

Download to read offline

Description

Learn more about common serverless myths and the truth behind them. Lighthearted bonus content: Ways to keep a server warm :).

Transcript

  1. 1. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Dr. Tim Wagner General Manager, AWS Lambda and Amazon API Gateway Serverless Myth ServerlessConf San Francisco July 31, 2018
  2. 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Myth #1: “Serverless is insecure.”
  3. 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Maybe you meant…? • ”I have an agent that I used to secure my server fleet, but I can’t install it any longer.” • ”My employees don’t use/understand the security features.” • “I leave things lying around and need a good pattern for cleaning them up.”
  4. 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Shared responsibility model Hypervisor and VPC Physical server and network Physical access Application code Language runtime OS Language runtime OS Hypervisor and VPC Physical server and network Physical access Application code Classic Serverless Customer Vendor
  5. 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Shared responsibility model Hypervisor and VPC Physical server and network Physical access Application code Language runtime OS Language runtime OS Hypervisor and VPC Physical server and network Physical access Application code
  6. 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Shared responsibility model Access controls Execution privilege controls Automated auditing • Code & config changes • Invocations • Data lake tools to scan audit traces Proactive “fleet-wide” policy enforcement Application code Secure credential handling Encryption at rest Custom authorizers for APIs Managed user pools/login
  7. 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Vendors can only help *on the perimeter*! Monolith All you. Be sure not to mess up.
  8. 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless means fine-grained vendor protection Microservice The full power of your cloud vendor around every one of these, for every single invocation.
  9. 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. New permissions boundary capability Ability to restrict what a user can grant indirectly by creating Lambda functions.
  10. 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless security benefits versus Classic Code • Time-limited, no server affinity – makes serverless harder to attack • Frequent server reboots and professional management of the fleet (e.g., zero effort to deal with Spectre/Meltdown) • Fine-grained security: microservices have higher vendor surface area, meaning more frequent and more detailed checks
  11. 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What’s not a myth here? You have to use the features to benefit from them!  If you’re not good at cleanup, write a serverless cron job to email you if a function isn’t getting used.  If your org doesn’t enforce consistency via pipelines or CRs, then use AWS Config and/or CloudTrail to get there.
  12. 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Myth #2: “Serverless is too expensive; you’ll need to go back to servers at scale.”
  13. 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A tale of two computes Normalized to 1 GB 3-year reserved instance US-East-1 Region: $114 Amazon EC2 t2.medium Constant use for 3 years @ 1 concurrent execution: $1,577 Uh oh AWS Lambda 1GB
  14. 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Oops, forgot some stuff… One instance isn’t fault tolerant; you need at least 2, and then you need a router. AWS Lambda builds in event processing, but Amazon EC2 will require an explicit queue (Amazon SQS). T2’s are burstable; Lambda doesn’t “run out of steam”.
  15. 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A more complete comparison Redoing analysis with 2 C4.larges + ALB + SQS: $1,455 Lambda: $1,596 Hmm…~10% surcharge for “going serverless”?
  16. 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Other forms of savings TCO – Cost savings from not doing fleet ops Time to market – Faster delivery and business growth A 10% markup for not having to deal with provisioning, deploying, patching, security analysis, monitoring, etc. of servers sounds like a pretty good deal… But, it doesn’t sound like a major economic improvement.
  17. 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Q: Is the workload uniform?
  18. 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why is it *so darn hard* to keep servers warm????
  19. 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  20. 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Forms of Waste: Periodic WASTE Actual Load
  21. 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Forms of Waste: High peak-to-Average WASTE Actual Load
  22. 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Forms of Waste: Peak Buffer (”Black Friday”) WASTE Actual Load o o p s
  23. 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Forms of Waste: Auto-Scaler discretization WASTE Actual Load
  24. 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. If we look at utilization, the picture changes $0 $200 $400 $600 $800 $1,000 $1,200 $1,400 $1,600 $1,800 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Effect of Utilization on Cost T2 C4 Lambda
  25. 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. We’re all above average here…? My servers are always hot. Oh bro, LOL
  26. 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. If we look at utilization, the picture changes $0 $200 $400 $600 $800 $1,000 $1,200 $1,400 $1,600 $1,800 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Effect of Utilization on Cost T2 C4 Lambda Average Enterprise Utilization: You are here!
  27. 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Factor in amazing auto-scaling: 20% of perfect 0 200 400 600 800 1,000 1,200 1,400 1,600 1,800 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Effect of Utilization on Cost T2 C4 Lambda
  28. 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Factor in amazing auto-scaling 0 200 400 600 800 1,000 1,200 1,400 1,600 1,800 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Effect of Utilization on Cost T2 C4 Lambda C breakeven ~90% T breakeven ~50%
  29. 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The bottom line Worst case: Similar cost but you save on server-related ops. Typical case: Between 4:1 and 10:1 cost compression How to (roughly) estimate savings: • Subtract safety margin from your server-based costs and then divide by your peak-to-average ratio
  30. 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. That’s too much work; can’t you just give me the answer? Predicted Compute Savings by Category (versus server-based designs): Web, mobile, or IoT app: 5-10x Streaming app: 2-5x Batch computation: 0-4x
  31. 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Is it ever not a rosy picture? Sub-100ms: YMMV For very fast jobs (single- and low double-digit ms), minimum billing charges can lower cost efficiency, while utilization-related packing improves cost efficiency. You’ll need to model these workloads more precisely to know which effect dominates for your specific case.
  32. 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Does it matter? Worldwide Public Cloud Services Spending Forecast to Reach $160 Billion This Year, According to IDC
  33. 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Myth #3: “Serverless is just an unzip library in a container.”
  34. 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What *is* an application?
  35. 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is an application? 2014 answer: ”A bunch of code I have to build & test together into a monolithic blob, which I then toss over the wall to an ops team, who get it to run on a fleet of servers. Then, I hope some work comes its way so I don’t waste too much $...” 2018 answer: Managed services in the public cloud, connected and customized with highly differentiated business logic, that run (and bill) only when actually needed.
  36. 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Managed services as building blocks Amazon SNS Amazon SQS Amazon S3 Messaging Monitoring and Debugging Storage AWS X-Ray AWS Lambda Amazon API Gateway Orchestration API Proxy Compute AWS Step Functions Amazon DynamoDB Amazon Kinesis Analytics Database Edge Compute AWS Greengrass Lambda@Edge Amazon Athena Amazon Aurora Serverless
  37. 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon API Gateway API Proxy AWS Lambda Compute Amazon S3 Storage Example: Serverless web app Amazon DynamoDB Database Amazon Aurora Serverless Static Content Dynamic Content API Serving
  38. 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Lambda Compute Example: Serverless analytics Amazon Kinesis Analytics Amazon Athena
  39. 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Patterns for the Cloud Era • Media transform on upload: Amazon S3 event + AWS Lambda • NoSQL data cleansing: Amazon DynamoDB change streams + Lambda • Serverless website: Amazon S3 + Amazon DynamoDB + Amazon API Gateway + Lambda • Click-stream analytics: Amazon Kinesis Data Firehose + Lambda • Ordered event processing: Kinesis + Lambda • Multi-function fanout: Amazon SNS (or Lambda) + Lambda • Workflows: AWS Step Functions + Lambda • Event distribution: Amazon CloudWatch Events + Lambda • Serverless cron jobs: CloudWatch timer events + Lambda • GraphQL actions: AWS AppSync + Lambda • On-the-fly image resizing: AWS Lambda@Edge + Amazon CloudFront • Email rules: Amazon SES + Lambda • Configuration policy enforcement: AWS Config + Lambda • Stored procedures: Amazon Aurora + Lambda • Custom authorizers for APIs: API Gateway auth + Lambda • DevOps choreography: CloudWatch alarms + Lambda • Alexa skills: Amazon Alexa + Lambda • Chatbots: Slack + Amazon Lex + Lambda • IoT automation: AWS IoT + Lambda • Smart devices: AWS Greengrass + Lambda • On-premises file encrypt for transit: AWS Snowball Edge + Lambda • …
  40. 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Meta-patterns 1. Service pushes async event to Lambda (S3, SNS) 2. Lambda grabs event from service (DynamoDB, Kinesis) 3. Synchronous exchange (Alexa, Lex) 4. Batch transform (Kinesis Data Firehose) 5. Microservice (API + Lambda + your choice of DB) 6. Customization via functions (AWS Config, SES rules) 7. Data-driven fanout (S3-Lambda, Lambda-Lambda) 8. Choreography (Step Functions + Lambda) 9. Lambda functions in devices (Greengrass, Snowball Edge)
  41. 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Some final thoughts on this myth… The real value of “serverless” is in the operating model, even more than the (functional) programming model: Pay-by-request, real-time, multi-dimensional bin packing with a 1 ms decision entitlement onto a massive fleet of silicon offering economies of scale to its consumers Managed services are the “Design Patterns” of today.
  42. 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Any predictions?
  43. 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. P.S.: Any predictions? It’s getting hard to stay ahead of reality; here are some of my earlier predictions: • Lower ops costs (check) • New software patterns emerge (check) • Big data goes serverless (check) • Rise of events/reactive systems (check) • “Born serverless” startups emerge (check) • HTTP FTW (ok this is still in progress but I stand by it…)
  44. 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Three predictions today: 1. Serverless is the new supercomputer (aka, “every paper Eric Jonas writes about serverless will come true”). 2. Blockchain (ledger) owners embrace async, event-based architectures…another “peanut butter and chocolate” combo. 3. You’ll see vendor limitations continue to go away, helping everybody, in nearly every workload, eventually…
  45. 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Go Serverless!

Editor's Notes

  • t2.medium 4GB
    Standard RI, 3-year
    All upfront: $458 / 4
    Prices current as of 5/28/2018

    Lambda (ignoring request charges): $0.00001667 for every GB-s of compute X 60 seconds/minute X 60 minutes/hour X 24 hour/day X 365 days/year X 3 years ==
  • $0.0225 per Application Load Balancer-hour (or partial hour)$0.008 per LCU-hour (or partial hour)
    X 24 X 365 X 3
  • t2.medium 4GB
    Standard RI, 3-year
    All upfront: $458 / 4
    Prices current as of 5/28/2018

    Lambda (ignoring request charges): $0.00001667 for every GB-s of compute X 60 seconds/minute X 60 minutes/hour X 24 hour/day X 365 days/year X 3 years ==
  • 0.00000040 to put, retrieve, and delete (3X) at 1 TPS X 60 X 60 X 24 X 365 X 3
  • t2.medium 4GB
    Standard RI, 3-year
    All upfront: $458 / 4
    Prices current as of 5/28/2018

    Lambda (ignoring request charges): $0.00001667 for every GB-s of compute X 60 seconds/minute X 60 minutes/hour X 24 hour/day X 365 days/year X 3 years ==
  • 3.75 GB
    $1013 for 3 year up front RI in US-East-1, / 3.75 = 270.13
    + ALB + SQS =
  • 3.75 GB
    $1013 for 3 year up front RI in US-East-1, / 3.75 = 270.13
    + ALB + SQS =
  • THIS IMAGE IS CC0:
    You can use this free image under the Creative Commons Zero (CC0) public domain license.
    https://www.dreamstime.com/green-sky-globe-grass-public-domain-image-free-114791480
  • AWS has a full portfolio of managed services.
    They span many areas – from compute, like Lambda, to storage, like S3, to databases like DynamoDB, to IoT, messaging, and many more.
    All these services have one thing in common: When you use them, you don’t have to worry about the infrastructure inside them. You just call their APIs.

    They also have another thing in common: They are the pieces from which you construct modern-day (serverless) applications: Combining these different services lets you create powerful solutions.
  • Here’s another example: If you combine Lambda, S3, API Gateway, and DynamoDB, you get a serverless web site! Your static content goes into S3, Lambda and Dynamo handle the dynamic content, and API Gateway provides the HTTP endpoint. And then once you start getting more customers, it scales automatically for you!

    The most important lesson here is: Don’t build things you don’t have to – just combine services that already exist to save time and avoid operations pain, and let AWS do the hard work while you take the credit!
  • For example: If you combine Lambda with Kinesis, you get a serverless analytics processing solution.
    Using these services, you can quickly build a system for aggregating click-stream analytics or analyzing security logs.
    It’s so fast to build, because much of the work is already done: The job of storing, streaming, and processing records is built in, so all you need to add is your code to tell Lambda what kind of analysis to perform on each record as it flows through.

  • There are many possible patterns – too many to describe each one, and more are being created all the time!
    In fact, every managed AWS service can be combined with Lambda to make a pattern, as can many 3rd party services.

    With so many services and options, how can we better understand these patterns?

  • Fortunately, you don’t have to memorize every possible pattern…all these patterns fall into a small number of categories, or “meta patterns”.
    For example, services that send events to Lambda, such as S3 and SNS (#1 on the list): All of these are similar, in that when something changes, like an object being created in S3 or a message arriving in SNS, your Lambda function is triggered. This is the single most common meta-pattern, asynchronous events.

    Another meta pattern is conversations (#3). This is the way that bots work: Each phrase in the conversation is transmitted synchronously to the Lambda function, with the state of the conversation so far passed in as an argument.

    And these patterns even extend beyond the cloud: #9 is Lambda functions used inside devices, such as the DeepLense camera and other IoT devices, or Snowball Edge, where Lambda is used to customize files being uploaded or downloaded from an appliance.

    If you understand these categories, then you can predict and understand virtually all of the patterns on the previous slide! You’ll be well prepared to create your own serverless solutions.
  • Description

    Learn more about common serverless myths and the truth behind them. Lighthearted bonus content: Ways to keep a server warm :).

    Transcript

    1. 1. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Dr. Tim Wagner General Manager, AWS Lambda and Amazon API Gateway Serverless Myth ServerlessConf San Francisco July 31, 2018
    2. 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Myth #1: “Serverless is insecure.”
    3. 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Maybe you meant…? • ”I have an agent that I used to secure my server fleet, but I can’t install it any longer.” • ”My employees don’t use/understand the security features.” • “I leave things lying around and need a good pattern for cleaning them up.”
    4. 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Shared responsibility model Hypervisor and VPC Physical server and network Physical access Application code Language runtime OS Language runtime OS Hypervisor and VPC Physical server and network Physical access Application code Classic Serverless Customer Vendor
    5. 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Shared responsibility model Hypervisor and VPC Physical server and network Physical access Application code Language runtime OS Language runtime OS Hypervisor and VPC Physical server and network Physical access Application code
    6. 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Shared responsibility model Access controls Execution privilege controls Automated auditing • Code & config changes • Invocations • Data lake tools to scan audit traces Proactive “fleet-wide” policy enforcement Application code Secure credential handling Encryption at rest Custom authorizers for APIs Managed user pools/login
    7. 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Vendors can only help *on the perimeter*! Monolith All you. Be sure not to mess up.
    8. 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless means fine-grained vendor protection Microservice The full power of your cloud vendor around every one of these, for every single invocation.
    9. 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. New permissions boundary capability Ability to restrict what a user can grant indirectly by creating Lambda functions.
    10. 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless security benefits versus Classic Code • Time-limited, no server affinity – makes serverless harder to attack • Frequent server reboots and professional management of the fleet (e.g., zero effort to deal with Spectre/Meltdown) • Fine-grained security: microservices have higher vendor surface area, meaning more frequent and more detailed checks
    11. 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What’s not a myth here? You have to use the features to benefit from them!  If you’re not good at cleanup, write a serverless cron job to email you if a function isn’t getting used.  If your org doesn’t enforce consistency via pipelines or CRs, then use AWS Config and/or CloudTrail to get there.
    12. 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Myth #2: “Serverless is too expensive; you’ll need to go back to servers at scale.”
    13. 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A tale of two computes Normalized to 1 GB 3-year reserved instance US-East-1 Region: $114 Amazon EC2 t2.medium Constant use for 3 years @ 1 concurrent execution: $1,577 Uh oh AWS Lambda 1GB
    14. 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Oops, forgot some stuff… One instance isn’t fault tolerant; you need at least 2, and then you need a router. AWS Lambda builds in event processing, but Amazon EC2 will require an explicit queue (Amazon SQS). T2’s are burstable; Lambda doesn’t “run out of steam”.
    15. 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A more complete comparison Redoing analysis with 2 C4.larges + ALB + SQS: $1,455 Lambda: $1,596 Hmm…~10% surcharge for “going serverless”?
    16. 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Other forms of savings TCO – Cost savings from not doing fleet ops Time to market – Faster delivery and business growth A 10% markup for not having to deal with provisioning, deploying, patching, security analysis, monitoring, etc. of servers sounds like a pretty good deal… But, it doesn’t sound like a major economic improvement.
    17. 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Q: Is the workload uniform?
    18. 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why is it *so darn hard* to keep servers warm????
    19. 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    20. 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Forms of Waste: Periodic WASTE Actual Load
    21. 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Forms of Waste: High peak-to-Average WASTE Actual Load
    22. 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Forms of Waste: Peak Buffer (”Black Friday”) WASTE Actual Load o o p s
    23. 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Forms of Waste: Auto-Scaler discretization WASTE Actual Load
    24. 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. If we look at utilization, the picture changes $0 $200 $400 $600 $800 $1,000 $1,200 $1,400 $1,600 $1,800 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Effect of Utilization on Cost T2 C4 Lambda
    25. 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. We’re all above average here…? My servers are always hot. Oh bro, LOL
    26. 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. If we look at utilization, the picture changes $0 $200 $400 $600 $800 $1,000 $1,200 $1,400 $1,600 $1,800 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Effect of Utilization on Cost T2 C4 Lambda Average Enterprise Utilization: You are here!
    27. 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Factor in amazing auto-scaling: 20% of perfect 0 200 400 600 800 1,000 1,200 1,400 1,600 1,800 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Effect of Utilization on Cost T2 C4 Lambda
    28. 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Factor in amazing auto-scaling 0 200 400 600 800 1,000 1,200 1,400 1,600 1,800 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Effect of Utilization on Cost T2 C4 Lambda C breakeven ~90% T breakeven ~50%
    29. 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The bottom line Worst case: Similar cost but you save on server-related ops. Typical case: Between 4:1 and 10:1 cost compression How to (roughly) estimate savings: • Subtract safety margin from your server-based costs and then divide by your peak-to-average ratio
    30. 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. That’s too much work; can’t you just give me the answer? Predicted Compute Savings by Category (versus server-based designs): Web, mobile, or IoT app: 5-10x Streaming app: 2-5x Batch computation: 0-4x
    31. 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Is it ever not a rosy picture? Sub-100ms: YMMV For very fast jobs (single- and low double-digit ms), minimum billing charges can lower cost efficiency, while utilization-related packing improves cost efficiency. You’ll need to model these workloads more precisely to know which effect dominates for your specific case.
    32. 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Does it matter? Worldwide Public Cloud Services Spending Forecast to Reach $160 Billion This Year, According to IDC
    33. 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Myth #3: “Serverless is just an unzip library in a container.”
    34. 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What *is* an application?
    35. 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is an application? 2014 answer: ”A bunch of code I have to build & test together into a monolithic blob, which I then toss over the wall to an ops team, who get it to run on a fleet of servers. Then, I hope some work comes its way so I don’t waste too much $...” 2018 answer: Managed services in the public cloud, connected and customized with highly differentiated business logic, that run (and bill) only when actually needed.
    36. 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Managed services as building blocks Amazon SNS Amazon SQS Amazon S3 Messaging Monitoring and Debugging Storage AWS X-Ray AWS Lambda Amazon API Gateway Orchestration API Proxy Compute AWS Step Functions Amazon DynamoDB Amazon Kinesis Analytics Database Edge Compute AWS Greengrass Lambda@Edge Amazon Athena Amazon Aurora Serverless
    37. 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon API Gateway API Proxy AWS Lambda Compute Amazon S3 Storage Example: Serverless web app Amazon DynamoDB Database Amazon Aurora Serverless Static Content Dynamic Content API Serving
    38. 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Lambda Compute Example: Serverless analytics Amazon Kinesis Analytics Amazon Athena
    39. 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Patterns for the Cloud Era • Media transform on upload: Amazon S3 event + AWS Lambda • NoSQL data cleansing: Amazon DynamoDB change streams + Lambda • Serverless website: Amazon S3 + Amazon DynamoDB + Amazon API Gateway + Lambda • Click-stream analytics: Amazon Kinesis Data Firehose + Lambda • Ordered event processing: Kinesis + Lambda • Multi-function fanout: Amazon SNS (or Lambda) + Lambda • Workflows: AWS Step Functions + Lambda • Event distribution: Amazon CloudWatch Events + Lambda • Serverless cron jobs: CloudWatch timer events + Lambda • GraphQL actions: AWS AppSync + Lambda • On-the-fly image resizing: AWS Lambda@Edge + Amazon CloudFront • Email rules: Amazon SES + Lambda • Configuration policy enforcement: AWS Config + Lambda • Stored procedures: Amazon Aurora + Lambda • Custom authorizers for APIs: API Gateway auth + Lambda • DevOps choreography: CloudWatch alarms + Lambda • Alexa skills: Amazon Alexa + Lambda • Chatbots: Slack + Amazon Lex + Lambda • IoT automation: AWS IoT + Lambda • Smart devices: AWS Greengrass + Lambda • On-premises file encrypt for transit: AWS Snowball Edge + Lambda • …
    40. 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Meta-patterns 1. Service pushes async event to Lambda (S3, SNS) 2. Lambda grabs event from service (DynamoDB, Kinesis) 3. Synchronous exchange (Alexa, Lex) 4. Batch transform (Kinesis Data Firehose) 5. Microservice (API + Lambda + your choice of DB) 6. Customization via functions (AWS Config, SES rules) 7. Data-driven fanout (S3-Lambda, Lambda-Lambda) 8. Choreography (Step Functions + Lambda) 9. Lambda functions in devices (Greengrass, Snowball Edge)
    41. 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Some final thoughts on this myth… The real value of “serverless” is in the operating model, even more than the (functional) programming model: Pay-by-request, real-time, multi-dimensional bin packing with a 1 ms decision entitlement onto a massive fleet of silicon offering economies of scale to its consumers Managed services are the “Design Patterns” of today.
    42. 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Any predictions?
    43. 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. P.S.: Any predictions? It’s getting hard to stay ahead of reality; here are some of my earlier predictions: • Lower ops costs (check) • New software patterns emerge (check) • Big data goes serverless (check) • Rise of events/reactive systems (check) • “Born serverless” startups emerge (check) • HTTP FTW (ok this is still in progress but I stand by it…)
    44. 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Three predictions today: 1. Serverless is the new supercomputer (aka, “every paper Eric Jonas writes about serverless will come true”). 2. Blockchain (ledger) owners embrace async, event-based architectures…another “peanut butter and chocolate” combo. 3. You’ll see vendor limitations continue to go away, helping everybody, in nearly every workload, eventually…
    45. 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Go Serverless!

    Editor's Notes

  • t2.medium 4GB
    Standard RI, 3-year
    All upfront: $458 / 4
    Prices current as of 5/28/2018

    Lambda (ignoring request charges): $0.00001667 for every GB-s of compute X 60 seconds/minute X 60 minutes/hour X 24 hour/day X 365 days/year X 3 years ==
  • $0.0225 per Application Load Balancer-hour (or partial hour)$0.008 per LCU-hour (or partial hour)
    X 24 X 365 X 3
  • t2.medium 4GB
    Standard RI, 3-year
    All upfront: $458 / 4
    Prices current as of 5/28/2018

    Lambda (ignoring request charges): $0.00001667 for every GB-s of compute X 60 seconds/minute X 60 minutes/hour X 24 hour/day X 365 days/year X 3 years ==
  • 0.00000040 to put, retrieve, and delete (3X) at 1 TPS X 60 X 60 X 24 X 365 X 3
  • t2.medium 4GB
    Standard RI, 3-year
    All upfront: $458 / 4
    Prices current as of 5/28/2018

    Lambda (ignoring request charges): $0.00001667 for every GB-s of compute X 60 seconds/minute X 60 minutes/hour X 24 hour/day X 365 days/year X 3 years ==
  • 3.75 GB
    $1013 for 3 year up front RI in US-East-1, / 3.75 = 270.13
    + ALB + SQS =
  • 3.75 GB
    $1013 for 3 year up front RI in US-East-1, / 3.75 = 270.13
    + ALB + SQS =
  • THIS IMAGE IS CC0:
    You can use this free image under the Creative Commons Zero (CC0) public domain license.
    https://www.dreamstime.com/green-sky-globe-grass-public-domain-image-free-114791480
  • AWS has a full portfolio of managed services.
    They span many areas – from compute, like Lambda, to storage, like S3, to databases like DynamoDB, to IoT, messaging, and many more.
    All these services have one thing in common: When you use them, you don’t have to worry about the infrastructure inside them. You just call their APIs.

    They also have another thing in common: They are the pieces from which you construct modern-day (serverless) applications: Combining these different services lets you create powerful solutions.
  • Here’s another example: If you combine Lambda, S3, API Gateway, and DynamoDB, you get a serverless web site! Your static content goes into S3, Lambda and Dynamo handle the dynamic content, and API Gateway provides the HTTP endpoint. And then once you start getting more customers, it scales automatically for you!

    The most important lesson here is: Don’t build things you don’t have to – just combine services that already exist to save time and avoid operations pain, and let AWS do the hard work while you take the credit!
  • For example: If you combine Lambda with Kinesis, you get a serverless analytics processing solution.
    Using these services, you can quickly build a system for aggregating click-stream analytics or analyzing security logs.
    It’s so fast to build, because much of the work is already done: The job of storing, streaming, and processing records is built in, so all you need to add is your code to tell Lambda what kind of analysis to perform on each record as it flows through.

  • There are many possible patterns – too many to describe each one, and more are being created all the time!
    In fact, every managed AWS service can be combined with Lambda to make a pattern, as can many 3rd party services.

    With so many services and options, how can we better understand these patterns?

  • Fortunately, you don’t have to memorize every possible pattern…all these patterns fall into a small number of categories, or “meta patterns”.
    For example, services that send events to Lambda, such as S3 and SNS (#1 on the list): All of these are similar, in that when something changes, like an object being created in S3 or a message arriving in SNS, your Lambda function is triggered. This is the single most common meta-pattern, asynchronous events.

    Another meta pattern is conversations (#3). This is the way that bots work: Each phrase in the conversation is transmitted synchronously to the Lambda function, with the state of the conversation so far passed in as an argument.

    And these patterns even extend beyond the cloud: #9 is Lambda functions used inside devices, such as the DeepLense camera and other IoT devices, or Snowball Edge, where Lambda is used to customize files being uploaded or downloaded from an appliance.

    If you understand these categories, then you can predict and understand virtually all of the patterns on the previous slide! You’ll be well prepared to create your own serverless solutions.
  • More Related Content

    Slideshows for you

    Similar to ServerlessConf 2018 Keynote - Debunking Serverless Myths

    Related Books

    Free with a 30 day trial from Scribd

    See all

    Related Audiobooks

    Free with a 30 day trial from Scribd

    See all

    ×