The Serverless Native Mindset
Serverless NYC, 2018-10-30
Ben Kehoe
Cloud Robotics Research Scientist
AWS Serverless Hero
@ben11kehoe
2
What do you do as a business?
3@ben11kehoe
• What do you do as a business?
• What differentiates you?
• For any work that is not a differentiator:
ask why you’re doing it
• Recursive: for any differentiating work,
look for non-differentiating aspects, and
ask why
• You shouldn’t have to solve technology
problems before you can solve your
business problems
Focusing on what you do
4
Serverless is about focus
5@ben11kehoe
• Attention is limited; focus is a tradeoff
• How can you pay less attention to
undifferentiated heavy lifting?
• Get someone else to do it
• Use managed services
How do we focus?
6@ben11kehoe
• Often equated with Lambda
• This misses the bigger picture
• And the smaller picture
Understanding Serverless
7@ben11kehoe
• Use (and abuse) managed services
wherever you can
• “Service-full”
• Glue it together with managed,
ephemeral compute
• FaaS is one example, but there are
others
Understanding Serverless
8@ben11kehoe
What:
•Service-full + ephemeral compute
• Not always F, not always aaS
•Resources billed → resources used
•Smaller, more abstract control plane
Why:
•Lower cost
•Lower operations burden
•Faster time to market
•Focus on business value
Serverless: more than just FaaS
9
Use existing managed services in
preference to building and/or hosting your
own solution,
even when those services don’t quite meet
your requirements
10@ben11kehoe
• Attention is limited; focus is a tradeoff
• How can you pay less atention to
undifferentiated heavy lifting?
• Get someone else to do it
• Use managed services
How do we focus?
11@ben11kehoe
• Conway says: your software
architecture will match your
organizational structure
• Turning this around: what you want to
do in software must be manifested in
your organization
Conway’s Law
(not that Conway)
12@ben11kehoe
•Serverless is service-full
•The dominant architectural pattern is usage of managed services
•What does this mean for your organization?
•The paradigm of outsourcing undifferentiated heavy lifting must be
embraced by the culture
Conway’s Corollary for Serverless
13
Using managed services is an exercise
in trust
14@ben11kehoe
• You only know what the provider tells you
• Architecture
• Security
• Performance
• Metrics
• You can’t make changes to the service,
you must accept that (today) it is what it is
• You may not be able to remediate an
provider’s outage
With a managed service…
15@ben11kehoe
• Using a managed service, you can feel
that you no longer own your own
destiny
• That is an uncomfortable feeling
• Realize that you rely on many, many
trusted providers to operate your
business
• Remember that trust is a journey
This is scary!
16@ben11kehoe
Serverless is minimalism
17@ben11kehoe
•Meaning of “serverless”
•Kubernetes
•Multi-cloud/vendor lock-in
•SLAs
Distractions
18@ben11kehoe
•It’s a terrible name. Nobody likes it, but we’re stuck with it, so get
over it.
•Like “cloud”, it is destined to be basically meaningless
•Primary metric for the “serverlessness” of something: how
managed is it?
•Secondary metric: how closely does my bill match my usage?
The meaning of “serverless”
19@ben11kehoe
• There are two kinds of servers
• Infrastructure servers, like VMs
• Application servers, like Node.js
• You’re fully serverless only when both
are managed
• A container that is active when it’s not
handling data is a server
• A function that’s running on your
infrastructure is not fully serverless
Serverless sleight of hand
20@ben11kehoe
• Kubernetes on managed VMs is
“serverless” for the k8s admins
• But you have k8s admin to do
• And management of whatever you’re
running on k8s
• Hosting FaaS on k8s: you have FaaS
operations and maintenance to do
• All of this is undifferentiated heavy lifting
Let’s talk about Kubernetes
21@ben11kehoe
Multi-cloud
22@ben11kehoe
23@ben11kehoe
24
How do we adopt a serverless mindset?
25@ben11kehoe
• Serverless requires both:
• A level-headed assessment of risks
• A full accounting of costs
̶ Developer time
̶ Operations bill
̶ Operations time
• Your operations salaries should be in
the same budget as your cloud bill
Stay focused on Total Cost of Ownership
26@ben11kehoe
• Get developers connected to the
business value they are creating
• Team metrics should reflect this
• Serverless helps developers move up
the stack, closer to user-facing features
• The hardest part: a culture that cares
about features, not technology
Encourage a focus on business value
27@ben11kehoe
Rube Goldberg machines
28@ben11kehoe
Building blocks
29@ben11kehoe
Making it work
30@ben11kehoe
• Serverless is extraordinarily powerful
• The difference in operations between all
serverless and mostly serverless is huge
• Less so for development
• What if you go all in?
• It’s not easy, but it’s worth it
Going all-in on serverless
31@ben11kehoe
32@ben11kehoe
What:
•Service-full + ephemeral compute
• Not always F, not always aaS
•Resources billed → resources used
•Smaller, more abstract control plane
Why:
•Lower cost
•Lower operations burden
•Faster time to market
•Focus on business value
Summarizing Serverless
33@ben11kehoe
What:
•Service-full + ephemeral compute
• Not always F, not always aaS
•Resources billed → resources used
•Smaller, more abstract control plane
Why:
•Lower cost
•Lower operations burden
•Faster time to market
•Focus on business value
Summarizing Serverless
34@ben11kehoe
What:
•Service-full + ephemeral compute
• Not always F, not always aaS
•Resources billed → resources used
•Smaller, more abstract control plane
Why:
•Lower cost
•Lower operations burden
•Faster time to market
•Focus on business value
Summarizing Serverless
35
Serverless native: worth the trouble,
and it will only get easier
Questions?

The Serverless Native Mindset: Ben Kehoe, iRobot, Serverless NYC 2018

  • 1.
    The Serverless NativeMindset Serverless NYC, 2018-10-30 Ben Kehoe Cloud Robotics Research Scientist AWS Serverless Hero @ben11kehoe
  • 2.
    2 What do youdo as a business?
  • 3.
    3@ben11kehoe • What doyou do as a business? • What differentiates you? • For any work that is not a differentiator: ask why you’re doing it • Recursive: for any differentiating work, look for non-differentiating aspects, and ask why • You shouldn’t have to solve technology problems before you can solve your business problems Focusing on what you do
  • 4.
  • 5.
    5@ben11kehoe • Attention islimited; focus is a tradeoff • How can you pay less attention to undifferentiated heavy lifting? • Get someone else to do it • Use managed services How do we focus?
  • 6.
    6@ben11kehoe • Often equatedwith Lambda • This misses the bigger picture • And the smaller picture Understanding Serverless
  • 7.
    7@ben11kehoe • Use (andabuse) managed services wherever you can • “Service-full” • Glue it together with managed, ephemeral compute • FaaS is one example, but there are others Understanding Serverless
  • 8.
    8@ben11kehoe What: •Service-full + ephemeralcompute • Not always F, not always aaS •Resources billed → resources used •Smaller, more abstract control plane Why: •Lower cost •Lower operations burden •Faster time to market •Focus on business value Serverless: more than just FaaS
  • 9.
    9 Use existing managedservices in preference to building and/or hosting your own solution, even when those services don’t quite meet your requirements
  • 10.
    10@ben11kehoe • Attention islimited; focus is a tradeoff • How can you pay less atention to undifferentiated heavy lifting? • Get someone else to do it • Use managed services How do we focus?
  • 11.
    11@ben11kehoe • Conway says:your software architecture will match your organizational structure • Turning this around: what you want to do in software must be manifested in your organization Conway’s Law (not that Conway)
  • 12.
    12@ben11kehoe •Serverless is service-full •Thedominant architectural pattern is usage of managed services •What does this mean for your organization? •The paradigm of outsourcing undifferentiated heavy lifting must be embraced by the culture Conway’s Corollary for Serverless
  • 13.
    13 Using managed servicesis an exercise in trust
  • 14.
    14@ben11kehoe • You onlyknow what the provider tells you • Architecture • Security • Performance • Metrics • You can’t make changes to the service, you must accept that (today) it is what it is • You may not be able to remediate an provider’s outage With a managed service…
  • 15.
    15@ben11kehoe • Using amanaged service, you can feel that you no longer own your own destiny • That is an uncomfortable feeling • Realize that you rely on many, many trusted providers to operate your business • Remember that trust is a journey This is scary!
  • 16.
  • 17.
  • 18.
    18@ben11kehoe •It’s a terriblename. Nobody likes it, but we’re stuck with it, so get over it. •Like “cloud”, it is destined to be basically meaningless •Primary metric for the “serverlessness” of something: how managed is it? •Secondary metric: how closely does my bill match my usage? The meaning of “serverless”
  • 19.
    19@ben11kehoe • There aretwo kinds of servers • Infrastructure servers, like VMs • Application servers, like Node.js • You’re fully serverless only when both are managed • A container that is active when it’s not handling data is a server • A function that’s running on your infrastructure is not fully serverless Serverless sleight of hand
  • 20.
    20@ben11kehoe • Kubernetes onmanaged VMs is “serverless” for the k8s admins • But you have k8s admin to do • And management of whatever you’re running on k8s • Hosting FaaS on k8s: you have FaaS operations and maintenance to do • All of this is undifferentiated heavy lifting Let’s talk about Kubernetes
  • 21.
  • 22.
  • 23.
  • 24.
    24 How do weadopt a serverless mindset?
  • 25.
    25@ben11kehoe • Serverless requiresboth: • A level-headed assessment of risks • A full accounting of costs ̶ Developer time ̶ Operations bill ̶ Operations time • Your operations salaries should be in the same budget as your cloud bill Stay focused on Total Cost of Ownership
  • 26.
    26@ben11kehoe • Get developersconnected to the business value they are creating • Team metrics should reflect this • Serverless helps developers move up the stack, closer to user-facing features • The hardest part: a culture that cares about features, not technology Encourage a focus on business value
  • 27.
  • 28.
  • 29.
  • 30.
    30@ben11kehoe • Serverless isextraordinarily powerful • The difference in operations between all serverless and mostly serverless is huge • Less so for development • What if you go all in? • It’s not easy, but it’s worth it Going all-in on serverless
  • 31.
  • 32.
    32@ben11kehoe What: •Service-full + ephemeralcompute • Not always F, not always aaS •Resources billed → resources used •Smaller, more abstract control plane Why: •Lower cost •Lower operations burden •Faster time to market •Focus on business value Summarizing Serverless
  • 33.
    33@ben11kehoe What: •Service-full + ephemeralcompute • Not always F, not always aaS •Resources billed → resources used •Smaller, more abstract control plane Why: •Lower cost •Lower operations burden •Faster time to market •Focus on business value Summarizing Serverless
  • 34.
    34@ben11kehoe What: •Service-full + ephemeralcompute • Not always F, not always aaS •Resources billed → resources used •Smaller, more abstract control plane Why: •Lower cost •Lower operations burden •Faster time to market •Focus on business value Summarizing Serverless
  • 35.
    35 Serverless native: worththe trouble, and it will only get easier
  • 36.

Editor's Notes

  • #17 Don’t own what you don’t have to
  • #20 Hosted FaaS on managed k8s Big orgs
  • #22 Two kinds: vendor lock-in mitigation, “best services”
  • #23 Not a real risk What’s the cost of mitigation? Multi-cloud abstraction
  • #28 Comfortable with many services Multi-provider if necessary
  • #29 Want Legos Not all blocks fit together
  • #30 Make it work SQS, RDS Client-side logic CFN
  • #35 Push it Diminishing returns