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
Yan Cui
http://theburningmonk.com
@theburningmonk
Principal Engineer @
“Netflix for sports”
offices in London, Leeds, Katowice and Tokyo
“Netflix for sports”
offices in London, Leeds, Katowice and Tokyo
We’re hiring! Visit
engineering.dazn.com to
learn more.
...
2014
“Serverless”
Gojko Adzic
It is serverless the same way
WiFi is wireless.
http://bit.ly/2yQgwwb
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 ...
“Function-as-a-Service”
AWS Lambda
Azure Functions
Google Cloud Functions
Auth0 Webtask
Spotinst Functions Kubeless
IBM Cl...
AWS Lambda
AWS Lambda
API Gateway IOT SNS Kinesis CloudWatch
IaaS
Function
Application
Runtime
Container
OS
Virtualization
Hardware
CaaS
Function
Application
Runtime
Container
OS
Virt...
IaaS
Function
Application
Runtime
Container
OS
Virtualization
Hardware
CaaS
Function
Application
Runtime
Container
OS
Virt...
Serverless
FaaS
other services…
Database
Storage
BI
SERVERLESS WILL FUNDAMENTALLY
CHANGE HOW WE BUILD BUSINESS
AROUND TECHNOLOGY AND HOW YOU
CODE.
Simon Wardley
more Scalable
(and scales faster!)
Cheaper
(don’t pay for idle servers)
Resilience
(built-in redundancy and multi-AZ)
idea production
choose language
+ framework
master language
+ framework
figure out
deployment
configure AMI
configure ELB
con...
idea production
choose language
+ framework
master language
+ framework
figure out
deployment
configure AMI
configure ELB
con...
idea production
greater Velocity from idea to product
minimise Undifferentiated
heavy-lifting
Less ops responsibility on
your shoulders
https://www.youtube.com/watch?v=pptsgV4bKv8
mm.. I notice some trends here
Serverless applications are…
event-driven
http://bit.ly/2Dpidje
events are an enabler for
COMPOSABILITY
AWS LAMBDA
is the...
Kinesis
Kinesis
API Gateway AWS Lambda API GatewayAWS Lambda
service-A service-B
Kinesis
API Gateway AWS Lambda API GatewayAWS Lambda
service-A service-B
Kinesis
API Gateway AWS Lambda API GatewayAWS Lambda
service-A service-B
AWS Lambda
AWS Lambda
AWS Lambda
Kinesis
API Gateway AWS Lambda API GatewayAWS Lambda
service-A service-B
AWS Lambda
AWS Lambda
AWS Lambda DynamoDBIOT
Kinesis
API Gateway AWS Lambda API GatewayAWS Lambda
service-A service-B
AWS Lambda
AWS Lambda
AWS Lambda DynamoDBIOT
Kinesis
API Gateway AWS Lambda API GatewayAWS Lambda
service-A service-B
AWS Lambda
AWS Lambda
AWS Lambda DynamoDBIOT
AWS ...
build loosely-coupled system
through events
service A service B
service C service D
bounded context
bounded context
service A service B
service C service D
bounded context
bounded context
service A service B
service C service D
service A service B
service C service D
service A service B
service C service D
service A service B
service C service Dbackward-compatible?
bounded context
DON’T use events to
orchestrate workflows
within the same
bounded context
bounded context
adds unnecessary
complexity to logging,
tracing, and end-to-end
reporting
bounded context
the workflow doesn’t exist
as a standalone concept,
but as the sum of a series
of loosely connected parts
Step Functions
use Step Functions instead
Step Functions
don’t forget to emit events
from the workflow
Step Functions
so others can react to state
changes that happened as
part of the workflow
Serverless applications are…
service-ful
“we want to work with services,
not servers”
“in the midst of all these new problems, do
you wanna waste time running your own
infrastructure right now?”
- Austen Coll...
“use as many managed services as you can”
- Ben Kehoe, Cloud Scientist iRobot
Cognito
DynamoDB
S3S3S3
Athena
BigQuery
“I want to build a data pipeline”
S3 Buckets
S3 Buckets
IAM
S3 Buckets
KMSIAM
S3 Buckets
KMS MacieIAM
S3 BucketsKinesis Streams Kinesis Firehose
KMS MacieIAM
S3 BucketsKinesis Streams
AWS Lambda
KMS MacieIAM
Kinesis Firehose
S3 BucketsKinesis Streams
AWS Lambda
KMS MacieIAM
AWS Lambda
Kinesis Firehose
S3 BucketsKinesis Streams
AWS Lambda AWS Lambda
KMS MacieIAM
AWS Lambda
Kinesis Firehose
S3 BucketsKinesis Streams
AWS Lambda AWS Lambda
KMS MacieIAM
AWS Lambda
DynamoDB
ElasticSearch
Kinesis Firehose
S3 BucketsKinesis Streams
AWS Lambda AWS Lambda
KMS MacieIAM
AWS Lambda Google BigQuery
Kinesis Firehose
S3 BucketsKinesis Streams
AWS Lambda AWS Lambda
Athena QuickSight
KMS MacieIAM
AWS Lambda
Kinesis Firehose
S3 BucketsKinesis Streams
AWS Lambda AWS Lambda
Athena QuickSight
KMS MacieIAM
AWS Lambda
Kinesis Firehose
Serverless applications are…
polyglot & polypersistent
https://serverless.com/blog/serverless-by-the-numbers-2018-data-report/
https://serverless.com/blog/serverless-by-the-numbers-2018-data-report/
functions are ephemeral by design
S3
AWS IoT
DynamoDB
RDS
EventStore
Elasticsearch Couchbase
Redshift
Neo4j
Google BigQuery
secure sensitive data both
at rest and in-transit
leverage server-side encryption
http://amzn.to/1N3Twb8
http://amzn.to/1xF41eX
http://amzn.to/2tgvFR2
http://amzn.to/2GCMbAT
principle of Least Privilege
keep functions single-purposed
& apply per function policies
Recap
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 ...
idea production
greater Velocity from idea to product
Serverless applications are…
http://bit.ly/2Dpidje
“use as many managed services as you can”
- Ben Kehoe, Cloud Scientist iRobot
S3
AWS IoT
DynamoDB
RDS
EventStore
Elasticsearch Couchbase
Redshift
Neo4j
Google BigQuery
@theburningmonk
theburningmonk.com
github.com/theburningmonk
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Architectural changes with serverless
Upcoming SlideShare
Loading in …5
×

Architectural changes with serverless

984 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

×