Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Architectural changes with serverless

922 views

Published on

As we move into the world of Serverless, there are a few architectural changes that we are starting to see amongst the early adopters.

Published in: Technology
  • Be the first to comment

Architectural changes with serverless

  1. 1. architectural changes with Serverless
  2. 2. Yan Cui http://theburningmonk.com @theburningmonk Principal Engineer @
  3. 3. “Netflix for sports” offices in London, Leeds, Katowice and Tokyo
  4. 4. “Netflix for sports” offices in London, Leeds, Katowice and Tokyo We’re hiring! Visit engineering.dazn.com to learn more. follow @DAZN_ngnrs for updates about the engineering team.
  5. 5. 2014
  6. 6. “Serverless”
  7. 7. Gojko Adzic It is serverless the same way WiFi is wireless. http://bit.ly/2yQgwwb
  8. 8. Serverless means… don’t pay for it if no-one uses it don’t need to worry about scaling don’t need to provision and manage servers
  9. 9. “Function-as-a-Service” AWS Lambda Azure Functions Google Cloud Functions Auth0 Webtask Spotinst Functions Kubeless IBM Cloud Functions
  10. 10. AWS Lambda
  11. 11. AWS Lambda API Gateway IOT SNS Kinesis CloudWatch
  12. 12. IaaS Function Application Runtime Container OS Virtualization Hardware CaaS Function Application Runtime Container OS Virtualization Hardware PaaS Function Application Runtime Container OS Virtualization Hardware FaaS Function Application Runtime Container OS Virtualization Hardware User User (scalable unit) Provider
  13. 13. IaaS Function Application Runtime Container OS Virtualization Hardware CaaS Function Application Runtime Container OS Virtualization Hardware PaaS Function Application Runtime Container OS Virtualization Hardware FaaS Function Application Runtime Container OS Virtualization Hardware User User (scalable unit) Provider
  14. 14. Serverless FaaS other services… Database Storage BI
  15. 15. SERVERLESS WILL FUNDAMENTALLY CHANGE HOW WE BUILD BUSINESS AROUND TECHNOLOGY AND HOW YOU CODE. Simon Wardley
  16. 16. more Scalable (and scales faster!)
  17. 17. Cheaper (don’t pay for idle servers)
  18. 18. Resilience (built-in redundancy and multi-AZ)
  19. 19. idea production choose language + framework master language + framework figure out deployment configure AMI configure ELB configure autoscaling capacity planning over-provision for launch are we doing microservices? configure CI/CD
  20. 20. idea production choose language + framework master language + framework figure out deployment configure AMI configure ELB configure autoscaling capacity planning over-provision for launch are we doing microservices? configure CI/CD
  21. 21. idea production greater Velocity from idea to product
  22. 22. minimise Undifferentiated heavy-lifting
  23. 23. Less ops responsibility on your shoulders
  24. 24. https://www.youtube.com/watch?v=pptsgV4bKv8
  25. 25. mm.. I notice some trends here
  26. 26. Serverless applications are…
  27. 27. event-driven
  28. 28. http://bit.ly/2Dpidje
  29. 29. events are an enabler for COMPOSABILITY
  30. 30. AWS LAMBDA is the...
  31. 31. Kinesis
  32. 32. Kinesis API Gateway AWS Lambda API GatewayAWS Lambda service-A service-B
  33. 33. Kinesis API Gateway AWS Lambda API GatewayAWS Lambda service-A service-B
  34. 34. Kinesis API Gateway AWS Lambda API GatewayAWS Lambda service-A service-B AWS Lambda AWS Lambda AWS Lambda
  35. 35. Kinesis API Gateway AWS Lambda API GatewayAWS Lambda service-A service-B AWS Lambda AWS Lambda AWS Lambda DynamoDBIOT
  36. 36. Kinesis API Gateway AWS Lambda API GatewayAWS Lambda service-A service-B AWS Lambda AWS Lambda AWS Lambda DynamoDBIOT
  37. 37. Kinesis API Gateway AWS Lambda API GatewayAWS Lambda service-A service-B AWS Lambda AWS Lambda AWS Lambda DynamoDBIOT AWS Lambda AWS Lambda
  38. 38. build loosely-coupled system through events
  39. 39. service A service B service C service D bounded context bounded context
  40. 40. service A service B service C service D bounded context bounded context
  41. 41. service A service B service C service D
  42. 42. service A service B service C service D
  43. 43. service A service B service C service D
  44. 44. service A service B service C service Dbackward-compatible?
  45. 45. bounded context DON’T use events to orchestrate workflows within the same bounded context
  46. 46. bounded context adds unnecessary complexity to logging, tracing, and end-to-end reporting
  47. 47. bounded context the workflow doesn’t exist as a standalone concept, but as the sum of a series of loosely connected parts
  48. 48. Step Functions use Step Functions instead
  49. 49. Step Functions don’t forget to emit events from the workflow
  50. 50. Step Functions so others can react to state changes that happened as part of the workflow
  51. 51. Serverless applications are…
  52. 52. service-ful
  53. 53. “we want to work with services, not servers”
  54. 54. “in the midst of all these new problems, do you wanna waste time running your own infrastructure right now?” - Austen Collins, CEO Serverless Inc
  55. 55. “use as many managed services as you can” - Ben Kehoe, Cloud Scientist iRobot
  56. 56. Cognito DynamoDB S3S3S3 Athena BigQuery
  57. 57. “I want to build a data pipeline”
  58. 58. S3 Buckets
  59. 59. S3 Buckets IAM
  60. 60. S3 Buckets KMSIAM
  61. 61. S3 Buckets KMS MacieIAM
  62. 62. S3 BucketsKinesis Streams Kinesis Firehose KMS MacieIAM
  63. 63. S3 BucketsKinesis Streams AWS Lambda KMS MacieIAM Kinesis Firehose
  64. 64. S3 BucketsKinesis Streams AWS Lambda KMS MacieIAM AWS Lambda Kinesis Firehose
  65. 65. S3 BucketsKinesis Streams AWS Lambda AWS Lambda KMS MacieIAM AWS Lambda Kinesis Firehose
  66. 66. S3 BucketsKinesis Streams AWS Lambda AWS Lambda KMS MacieIAM AWS Lambda DynamoDB ElasticSearch Kinesis Firehose
  67. 67. S3 BucketsKinesis Streams AWS Lambda AWS Lambda KMS MacieIAM AWS Lambda Google BigQuery Kinesis Firehose
  68. 68. S3 BucketsKinesis Streams AWS Lambda AWS Lambda Athena QuickSight KMS MacieIAM AWS Lambda Kinesis Firehose
  69. 69. S3 BucketsKinesis Streams AWS Lambda AWS Lambda Athena QuickSight KMS MacieIAM AWS Lambda Kinesis Firehose
  70. 70. Serverless applications are…
  71. 71. polyglot & polypersistent
  72. 72. https://serverless.com/blog/serverless-by-the-numbers-2018-data-report/
  73. 73. https://serverless.com/blog/serverless-by-the-numbers-2018-data-report/
  74. 74. functions are ephemeral by design
  75. 75. S3 AWS IoT DynamoDB RDS EventStore Elasticsearch Couchbase Redshift Neo4j Google BigQuery
  76. 76. secure sensitive data both at rest and in-transit
  77. 77. leverage server-side encryption
  78. 78. http://amzn.to/1N3Twb8
  79. 79. http://amzn.to/1xF41eX
  80. 80. http://amzn.to/2tgvFR2
  81. 81. http://amzn.to/2GCMbAT
  82. 82. principle of Least Privilege
  83. 83. keep functions single-purposed & apply per function policies
  84. 84. Recap
  85. 85. Serverless means… don’t pay for it if no-one uses it don’t need to worry about scaling don’t need to provision and manage servers
  86. 86. idea production greater Velocity from idea to product
  87. 87. Serverless applications are…
  88. 88. http://bit.ly/2Dpidje
  89. 89. “use as many managed services as you can” - Ben Kehoe, Cloud Scientist iRobot
  90. 90. S3 AWS IoT DynamoDB RDS EventStore Elasticsearch Couchbase Redshift Neo4j Google BigQuery
  91. 91. @theburningmonk theburningmonk.com github.com/theburningmonk

×