SlideShare a Scribd company logo
Stop Calling Everything
Serverless!
Jeremy Daly
CTO, AlertMe.news
@jeremy_daly
• CTO at AlertMe.news
• Consult with companies building in the cloud
• 20+ year veteran of technology startups
• Started working with AWS in 2009
• Blogger, open-source contributor, speaker
• Publish the Off-by-none serverless newsletter
• Host of the Serverless Chats podcast
Jeremy Daly
serverless
Stop calling everything serverless!
“Marketing is just liquor
and guessing.
Dilbert
Stop calling everything serverless!
Stop calling everything serverless!
Serverless as a compute model…
“
Serverless computing is a cloud-computing execution model
in which the cloud provider acts as the server, dynamically
managing the allocation of machine resources. Pricing is
based on the actual amount of resources consumed by an
application, rather than on pre-purchased units of capacity.
It is a form of utility computing.
execution model
resources consumed
utility computing
Stop calling everything serverless!
“Pay for Value”
“
Serverless allows you to build and run applications and
services without thinking about servers. It eliminates
infrastructure management tasks such as server or cluster
provisioning, patching, operating system maintenance, and
capacity provisioning. You can build them for nearly any type
of application or backend service, and everything required to
run and scale your application with high availability is
handled for you.
eliminates
infrastructure management
high availability
“Pay for Value”
capacity provisioning
Stop calling everything serverless!
Serverless as an architectural pattern…
“
Serverless is a cloud systems architecture that involves no
servers, virtual machines, or containers to provision or
manage. Yes, these still exist underneath the running
application but their presence is abstracted away from the
developer or operator of the serverless application. This
abstraction allows for greater effort and emphasis higher
up the technical stack as well as the software value chain.
greater effort and emphasis
cloud systems architecture
software value chain
“
Roughly speaking, it’s an event driven, utility
based, stateless, code execution environment in
which you write code and consume services. A
boundary condition is “write code” i.e. any lower
than this and it’s not serverless
event driven
stateless
write code consume services
Simon Wardley
Serverless as an operational construct…
Stop calling everything serverless!
Serverless as a spectrum…
“• Service-full + ephemeral compute
• Tighter correspondence between resources used
and resources billed
• Smaller and more abstracted control plane
Service-full
abstracted control plane
Ben Kehoe
“Serverlessness” is driven by:“Serverlessness”
“Serverless as a Ladder”
Erik Peterson
“Serverlessness” of AWS products…
Serverless as a mindset…
“
Serverless is about understanding when *not* to
create technology. Creating anything leads to
technical debt. Serverless is about removing
complexity by allowing the services that others
provide to provide the complexity for you.
when *not* to
removing
create technology
technical debt
Paul Johnston
complexity
“Serverless is a Doctrine”
“
The point is not functions, managed
services, operations, cost, code, or
technology. The point is focus — that is
the why of serverless.
The point is focus
Ben Kehoe
why of serverless
An architectural pattern that utilizes an ephemeral compute model
that abstracts away infrastructure, allowing developers to focus
primarily on business logic by (at most) writing code that consumes
other services, using the amount of operational complexity of those
services to determine the level of “serverlessness” by which
developers can then understand how these services can be used to
reduce the total cost of ownership and minimize technical debt by
writing less code without caring about the underlying technology
choices of the chosen cloud provider.
Amalgamated definition of Serverless…
…and probably something about Kubernetes
Serverless as just another buzzword…
😢
Stop calling everything serverless!
Circa 1997 👴
Stop calling everything serverless!
• Hundreds of data centers and edge locations with
massive pools of resources

• Specialization of use cases: elastic load balancers,
auto-scaling, and automation

• Managed services: databases, queues, etc. that
handle maintenance, replication, and backups
An Evolution to Cloud Computing…
• We still needed somewhere to run our code

• Created containers to run multiple virtual machines
on virtual machines

• Created container orchestration systems

• We’re a long way from a developer simply FTPing a
Perl script up to their cgi-bin
An Evolution to Cloud Computing…
Serverless as a modern day cgi-bin…
Stop calling everything serverless!
• Decomposed applications into smaller pieces

• Ran horizontal copies to serve larger audiences

• Scaled relational databases with things like sharding

• Created “operations” teams to manage infrastructure

• Created “DevOps” to bridge the disconnect
Trading Simplicity for Scalability
You take something simple, elegant, and
straightforward, and you create layers of
complexity until the learning curve becomes
so steep that the barrier to entry is too high
for most to summit.
The Common Pattern of Complexity
Serverless takes the last decade of
cloud complexity and reduces it down
to a developer simply uploading their
code to a metaphorical cgi-bin.
• No servers to manage or containers to orchestrate. 

• No crystal balls required for capacity planning

• No automation scripts to trigger auto-scaling

• Just a developer, some code/config, and few limits
to their imagination
The Simplicity of Serverless…
Deploying applications is becoming easier…
Serverless as a methodology…
• Serverless is NOT an execution model or FaaS

• Serverless is NOT managed services or SaaS

• Serverless is NOT an operational construct

• Serverless is NOT a spectrum

• Serverless is NOT a technology
The way I see it…
Serverless is a methodology for planning, building, and
deploying software in a way that maximizes value by
minimizing undifferentiated heavy lifting.
It touches everything up and down the value chain, not
only affecting how engineers approach development, but
also influencing product strategy, design, budgeting,
resource planning and much more.
Stop calling everything serverless!
“
The main reason for the success of low-level
virtual machines was that in the early days of
cloud computing users wanted to recreate the
same computing environment in the cloud that
they had on their local computers to simplify
porting their workloads to the cloud.
virtual machines
same computing environment
porting their workloads
Cloud Programming Simplified: A Berkeley View

on Serverless Computing - February 10, 2019
simplify
“Serverless computing will become the

default computing paradigm of the Cloud Era,
largely replacing serverful computing and
thereby bringing closure to the Client-Server Era.
default computing paradigm
Cloud Programming Simplified: A Berkeley View

on Serverless Computing - February 10, 2019
Stop calling everything serverless!
marketing
Stop calling everything serverless!
Stop calling everything serverless!
Stop calling everything serverless!
Stop calling everything serverless!
Blog: jeremydaly.com

Newsletter: Offbynone.io

Podcast: ServerlessChats.com

Lambda API: LambdaAPI.com

GitHub: github.com/jeremydaly

Twitter: @jeremy_daly
Things I’m Working On…
THANK YOU!
Jeremy Daly
CTO, AlertMe.news
@jeremy_daly

More Related Content

Stop calling everything serverless!

  • 1. Stop Calling Everything Serverless! Jeremy Daly CTO, AlertMe.news @jeremy_daly
  • 2. • CTO at AlertMe.news • Consult with companies building in the cloud • 20+ year veteran of technology startups • Started working with AWS in 2009 • Blogger, open-source contributor, speaker • Publish the Off-by-none serverless newsletter • Host of the Serverless Chats podcast Jeremy Daly
  • 5. “Marketing is just liquor and guessing. Dilbert
  • 8. Serverless as a compute model…
  • 9. “ Serverless computing is a cloud-computing execution model in which the cloud provider acts as the server, dynamically managing the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity. It is a form of utility computing. execution model resources consumed utility computing
  • 11. “Pay for Value” “ Serverless allows you to build and run applications and services without thinking about servers. It eliminates infrastructure management tasks such as server or cluster provisioning, patching, operating system maintenance, and capacity provisioning. You can build them for nearly any type of application or backend service, and everything required to run and scale your application with high availability is handled for you. eliminates infrastructure management high availability “Pay for Value” capacity provisioning
  • 13. Serverless as an architectural pattern…
  • 14. “ Serverless is a cloud systems architecture that involves no servers, virtual machines, or containers to provision or manage. Yes, these still exist underneath the running application but their presence is abstracted away from the developer or operator of the serverless application. This abstraction allows for greater effort and emphasis higher up the technical stack as well as the software value chain. greater effort and emphasis cloud systems architecture software value chain
  • 15. “ Roughly speaking, it’s an event driven, utility based, stateless, code execution environment in which you write code and consume services. A boundary condition is “write code” i.e. any lower than this and it’s not serverless event driven stateless write code consume services Simon Wardley
  • 16. Serverless as an operational construct…
  • 18. Serverless as a spectrum…
  • 19. “• Service-full + ephemeral compute • Tighter correspondence between resources used and resources billed • Smaller and more abstracted control plane Service-full abstracted control plane Ben Kehoe “Serverlessness” is driven by:“Serverlessness” “Serverless as a Ladder”
  • 21. Serverless as a mindset…
  • 22. “ Serverless is about understanding when *not* to create technology. Creating anything leads to technical debt. Serverless is about removing complexity by allowing the services that others provide to provide the complexity for you. when *not* to removing create technology technical debt Paul Johnston complexity “Serverless is a Doctrine”
  • 23. “ The point is not functions, managed services, operations, cost, code, or technology. The point is focus — that is the why of serverless. The point is focus Ben Kehoe why of serverless
  • 24. An architectural pattern that utilizes an ephemeral compute model that abstracts away infrastructure, allowing developers to focus primarily on business logic by (at most) writing code that consumes other services, using the amount of operational complexity of those services to determine the level of “serverlessness” by which developers can then understand how these services can be used to reduce the total cost of ownership and minimize technical debt by writing less code without caring about the underlying technology choices of the chosen cloud provider. Amalgamated definition of Serverless… …and probably something about Kubernetes
  • 25. Serverless as just another buzzword… 😢
  • 29. • Hundreds of data centers and edge locations with massive pools of resources • Specialization of use cases: elastic load balancers, auto-scaling, and automation • Managed services: databases, queues, etc. that handle maintenance, replication, and backups An Evolution to Cloud Computing…
  • 30. • We still needed somewhere to run our code • Created containers to run multiple virtual machines on virtual machines • Created container orchestration systems • We’re a long way from a developer simply FTPing a Perl script up to their cgi-bin An Evolution to Cloud Computing…
  • 31. Serverless as a modern day cgi-bin…
  • 33. • Decomposed applications into smaller pieces • Ran horizontal copies to serve larger audiences • Scaled relational databases with things like sharding • Created “operations” teams to manage infrastructure • Created “DevOps” to bridge the disconnect Trading Simplicity for Scalability
  • 34. You take something simple, elegant, and straightforward, and you create layers of complexity until the learning curve becomes so steep that the barrier to entry is too high for most to summit. The Common Pattern of Complexity
  • 35. Serverless takes the last decade of cloud complexity and reduces it down to a developer simply uploading their code to a metaphorical cgi-bin.
  • 36. • No servers to manage or containers to orchestrate. • No crystal balls required for capacity planning • No automation scripts to trigger auto-scaling • Just a developer, some code/config, and few limits to their imagination The Simplicity of Serverless…
  • 37. Deploying applications is becoming easier…
  • 38. Serverless as a methodology…
  • 39. • Serverless is NOT an execution model or FaaS • Serverless is NOT managed services or SaaS • Serverless is NOT an operational construct • Serverless is NOT a spectrum • Serverless is NOT a technology The way I see it…
  • 40. Serverless is a methodology for planning, building, and deploying software in a way that maximizes value by minimizing undifferentiated heavy lifting. It touches everything up and down the value chain, not only affecting how engineers approach development, but also influencing product strategy, design, budgeting, resource planning and much more.
  • 42. “ The main reason for the success of low-level virtual machines was that in the early days of cloud computing users wanted to recreate the same computing environment in the cloud that they had on their local computers to simplify porting their workloads to the cloud. virtual machines same computing environment porting their workloads Cloud Programming Simplified: A Berkeley View on Serverless Computing - February 10, 2019 simplify
  • 43. “Serverless computing will become the
 default computing paradigm of the Cloud Era, largely replacing serverful computing and thereby bringing closure to the Client-Server Era. default computing paradigm Cloud Programming Simplified: A Berkeley View on Serverless Computing - February 10, 2019
  • 50. Blog: jeremydaly.com Newsletter: Offbynone.io Podcast: ServerlessChats.com Lambda API: LambdaAPI.com GitHub: github.com/jeremydaly Twitter: @jeremy_daly Things I’m Working On…
  • 51. THANK YOU! Jeremy Daly CTO, AlertMe.news @jeremy_daly