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.

Confusion In The Land Of The Serverless

819 views

Published on

Serverless computing is the hot new thing. Like any hyped technology, it promises a lot. However questions remain around concept and implementation, especially when you start to compare how we've built systems in the past, and what serverless offers us now. Is Serverless the future, or just the emperor's new clothes?

This talk will very briefly introduce serverless computing, but will then dive into some of the questions that aren't always asked in conjunction with this technology. Topics will include:

How does your attitude to security change?
Is it easier, or harder, to create reliable, resilient systems?
Do patterns like Circuit breakers and connection pools make sense any more?
Is vendor lock-in a problem?
Is serverless computing only for microservice architectures?
Which problems fit serverless computing?

By the end of the talk you should have a firm grasp of what serverless computing really can offer, cut through some of the hype, and get an understanding about where and how you can use it in your own organisations.

Published in: Software

Confusion In The Land Of The Serverless

  1. 1. Confusion in the land of the serverless NDC Oslo 2017 Sam Newman
  2. 2. @samnewman#ndcoslo Sam Newman Building Microservices DESIGNING FINE-GRAINED SYSTEMS
  3. 3. @samnewman#ndcoslo Sam Newman & Associates
  4. 4. @samnewman#ndcoslo Sam Newman & Associates (there are no associates)
  5. 5. @samnewman#ndcoslo https://www.flickr.com/photos/maf04/31928696816/
  6. 6. @samnewman#ndcoslo https://www.flickr.com/photos/30478819@N08/32663448876/
  7. 7. @samnewman#ndcoslo
  8. 8. @samnewman#ndcoslo https://www.flickr.com/photos/joshuamckenty/2297179486/
  9. 9. @samnewman#ndcoslo
  10. 10. @samnewman#ndcoslo
  11. 11. https://www.flickr.com/photos/143601516@N03/28346073830/
  12. 12. @samnewman#ndcoslo
  13. 13. @samnewman#ndcoslo #serverless
  14. 14. @samnewman#ndcoslo
  15. 15. @samnewman#ndcoslo http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/
  16. 16. @samnewman#ndcoslo http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/ The phrase “serverless” doesn’t mean servers are no longer involved. It simply means that developers no longer have to think that much about them. Computing resources get used as services without having to manage around physical capacities or limits.
  17. 17. @samnewman#ndcoslo lambda launched in 2014
  18. 18. @samnewman#ndcoslo Platform
  19. 19. @samnewman#ndcoslo Platform WOW!
  20. 20. @samnewman#ndcoslo Platform Yay, serverless! WOW!
  21. 21. @samnewman#ndcoslo Platform Yay, serverless! So abstract WOW!
  22. 22. @samnewman#ndcoslo Platform Yay, serverless! So abstract Much PAYG WOW!
  23. 23. @samnewman#ndcoslo Server Server Server Server Platform Yay, serverless! So abstract Much PAYG WOW!
  24. 24. @samnewman#ndcoslo Server Server Server Server Platform Yay, serverless! So abstract Much PAYG WOW! Wat?
  25. 25. @samnewman#ndcoslo
  26. 26. @samnewman#ndcoslo https://martinfowler.com/articles/serverless.html
  27. 27. @samnewman#ndcoslo Mike Roberts’ Definition Of Serverless
  28. 28. @samnewman#ndcoslo 1. No management of server hosts or server processes Mike Roberts’ Definition Of Serverless
  29. 29. @samnewman#ndcoslo 1. No management of server hosts or server processes 2. Self auto-scale and auto-provision based on load Mike Roberts’ Definition Of Serverless
  30. 30. @samnewman#ndcoslo 1. No management of server hosts or server processes 2. Self auto-scale and auto-provision based on load 3. Costs based on precise usage Mike Roberts’ Definition Of Serverless
  31. 31. @samnewman#ndcoslo 1. No management of server hosts or server processes 2. Self auto-scale and auto-provision based on load 3. Costs based on precise usage 4. Performance capabilities defined in terms other than host size/count Mike Roberts’ Definition Of Serverless
  32. 32. @samnewman#ndcoslo 1. No management of server hosts or server processes 2. Self auto-scale and auto-provision based on load 3. Costs based on precise usage 4. Performance capabilities defined in terms other than host size/count 5. Implicit high availability Mike Roberts’ Definition Of Serverless
  33. 33. @samnewman#ndcoslo
  34. 34. @samnewman#ndcoslo
  35. 35. @samnewman#ndcoslo FAAS
  36. 36. @samnewman#ndcoslo FAAS
  37. 37. @samnewman#ndcoslo FAAS BAAS
  38. 38. @samnewman#ndcoslo
  39. 39. @samnewman#ndcoslo
  40. 40. @samnewman#ndcoslo
  41. 41. @samnewman#ndcoslo
  42. 42. @samnewman#ndcoslo
  43. 43. @samnewman#ndcoslo IAAS
  44. 44. @samnewman#ndcoslo IAAS CAAS
  45. 45. @samnewman#ndcoslo IAAS CAAS PAAS
  46. 46. @samnewman#ndcoslo IAAS CAAS FAAS PAAS BAAS
  47. 47. @samnewman#ndcoslo IAAS CAAS FAAS PAAS BAAS Serverless?
  48. 48. @samnewman#ndcoslo IAAS CAAS FAAS PAAS BAAS Serverless?
  49. 49. @samnewman#ndcoslo IAAS CAAS FAAS PAAS BAAS Serverless?
  50. 50. @samnewman#ndcoslo BASS?BASS?
  51. 51. @samnewman#ndcoslo *AAS
  52. 52. @samnewman#ndcoslo https://twitter.com/kelseyhightower/status/856272003963039744
  53. 53. @samnewman#ndcoslo http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/ The phrase “serverless” doesn’t mean servers are no longer involved. It simply means that developers no longer have to think that much about them.
  54. 54. @samnewman#ndcoslo Undifferentiated Heavy Lifting
  55. 55. @samnewman#ndcoslo https://www.flickr.com/photos/ibm_media/33838065805/
  56. 56. @samnewman#ndcoslo Resiliency
  57. 57. @samnewman#ndcoslo
  58. 58. @samnewman#ndcoslo
  59. 59. @samnewman#ndcoslo Risk
  60. 60. @samnewman#ndcoslo Risk Market Data
  61. 61. @samnewman#ndcoslo Risk Market Data DB
  62. 62. @samnewman#ndcoslo
  63. 63. @samnewman#ndcoslo https://www.flickr.com/photos/dennissylvesterhurd/4722435652/
  64. 64. @samnewman#ndcoslo Risk Market Data DB
  65. 65. @samnewman#ndcoslo Risk Market Data DB
  66. 66. @samnewman#ndcoslo
  67. 67. @samnewman#ndcoslo DB
  68. 68. @samnewman#ndcoslo DB Connection Pool
  69. 69. @samnewman#ndcoslo DB Connection Pool
  70. 70. @samnewman#ndcoslo DB Connection Pool
  71. 71. @samnewman#ndcoslo DB Connection Pool Connection pools throttle load
  72. 72. @samnewman#ndcoslo DB Connection Pool Connection pools throttle load And allow for load shedding
  73. 73. @samnewman#ndcoslo DB
  74. 74. @samnewman#ndcoslo DB
  75. 75. @samnewman#ndcoslo DB
  76. 76. @samnewman#ndcoslo DB
  77. 77. @samnewman#ndcoslo DB
  78. 78. @samnewman#ndcoslo
  79. 79. @samnewman#ndcoslo
  80. 80. @samnewman#ndcoslo
  81. 81. @samnewman#ndcoslo
  82. 82. @samnewman#ndcoslo
  83. 83. @samnewman#ndcoslo But what about hybrid apps?
  84. 84. @samnewman#ndcoslo https://www.flickr.com/photos/vax-o-matic/2545657717/
  85. 85. @samnewman#ndcoslo Risk Circuit Breaker
  86. 86. @samnewman#ndcoslo Risk Circuit Breaker
  87. 87. @samnewman#ndcoslo Risk Circuit Breaker
  88. 88. @samnewman#ndcoslo Risk Circuit Breaker
  89. 89. @samnewman#ndcoslo Risk Circuit Breaker
  90. 90. @samnewman#ndcoslo Risk Circuit Breaker
  91. 91. @samnewman#ndcoslo Risk Circuit Breaker
  92. 92. @samnewman#ndcoslo Circuit breakers rely on maintaining per-client state across requests Risk Circuit Breaker
  93. 93. @samnewman#ndcoslo Risk Market Data
  94. 94. @samnewman#ndcoslo Risk Market Data Throttling & Load shedding middleware?
  95. 95. @samnewman#ndcoslo
  96. 96. @samnewman#ndcoslo Security
  97. 97. @samnewman#ndcoslo
  98. 98. @samnewman#ndcoslo Friends don’t let friends run untrusted code in containers
  99. 99. @samnewman#ndcoslo
  100. 100. @samnewman#ndcoslo
  101. 101. @samnewman#ndcoslo
  102. 102. @samnewman#ndcoslo If your function isn’t running, it’s not there…
  103. 103. @samnewman#ndcoslo If your function isn’t running, it’s not there… …and you’re running in a sandbox anyway
  104. 104. @samnewman#ndcoslo Lock-in?
  105. 105. @samnewman#ndcoslo https://www.flickr.com/photos/fallsroad/14244241233/
  106. 106. @samnewman#ndcoslo
  107. 107. @samnewman#ndcoslo Don’t think lock-in, think migration cost
  108. 108. @samnewman#ndcoslo Cost of migration
  109. 109. @samnewman#ndcoslo Cost of migration
  110. 110. @samnewman#ndcoslo Cost of migration Blob storage
  111. 111. @samnewman#ndcoslo Cost of migration Compute Blob storage
  112. 112. @samnewman#ndcoslo Cost of migration Compute Blob storage Load balancers
  113. 113. @samnewman#ndcoslo Cost of migration Compute Blob storage Load balancers FAAS
  114. 114. @samnewman#ndcoslo Cost of migration Compute Blob storage Load balancers FAAS BAAS
  115. 115. @samnewman#ndcoslo Pay now or pay later
  116. 116. @samnewman#ndcoslo Mixing vendors?
  117. 117. @samnewman#ndcoslo
  118. 118. @samnewman#ndcoslo https://www.flickr.com/photos/reavel/2496345250/
  119. 119. @samnewman#ndcoslo Agile
  120. 120. @samnewman#ndcoslo DevOps Agile
  121. 121. @samnewman#ndcoslo Microservices DevOps Agile
  122. 122. @samnewman#ndcoslo I can’t use that, it’s not #serverless!
  123. 123. @samnewman#ndcoslo https://twitter.com/puppetmasterd/status/647423207654363136
  124. 124. @samnewman#ndcoslo http://samnewman.io @samnewman Thank You!

×