The Hardest Part of Serverless:
The Serverless Native Mindset
AWS Community Day Boston, 2018-10-01
Ben Kehoe
Cloud Robotics Research Scientist
AWS Serverless Hero
@ben11kehoe
2@ben11kehoe
2015
3@ben11kehoe
4@ben11kehoe
5@ben11kehoe
6@ben11kehoe
7
Going all-in on serverless:
worth the trouble!
8@ben11kehoe
• We are a device company
• We are a cloud-connected device company
• We are not a cloud technology company
• We are a cloud-enabled-features company
• It’s not same thing
iRobot’s business
9
What do you do as a business?
10@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
11
Serverless is about focus
12@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?
13@ben11kehoe
• Often equated with Lambda
• This misses the bigger picture
• And the smaller picture
Understanding Serverless
14@ben11kehoe
Attachment is suffering (for compute)
15@ben11kehoe
Attachment is suffering (for compute)
16@ben11kehoe
• Managed services have been around
forever
• But business logic has to go
somewhere…
• Managed rules engines exist
• But you can only get so far without
actually coding something…
• Ephemeral compute has enabled
providers to manage code
• Temporal: FaaS, streaming compute
• Input: managed batch compute
Why serverless compute isn’t just PaaS
17@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
18@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
19
Use existing managed services in
preference to building and/or hosting your
own solution,
even when those services don’t quite meet
your requirements
20
Serverless is masonry.
FaaS is mortar.
Buy your bricks.
21@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?
22@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)
23@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
24
Using managed services is an exercise
in trust
25@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…
26@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!
27@ben11kehoe
• We are tinkerers
• We like to know how things work
• We like to own things
Giving up control is hard for developers
28@ben11kehoe
“Not Invented Here”
29@ben11kehoe
“Profoundly Found Elsewhere” (P&G)
30@ben11kehoe
Serverless is minimalism
31@ben11kehoe
•Meaning of “serverless”
•Kubernetes
•Multi-cloud/vendor lock-in
•SLAs
Distractions
32@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”
33@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
34@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
35@ben11kehoe
Multi-cloud
36@ben11kehoe
37@ben11kehoe
38@ben11kehoe
39@ben11kehoe
40@ben11kehoe
• Should an SLA make you feel more
comfortable?
• As a developer, no
• An SLA is a financial guarantee, not a
technical one
• Essentially, it’s insurance, with the premium
baked into the price
What about SLAs?
41
How do we adopt a serverless mindset?
42@ben11kehoe
43@ben11kehoe
• Event-driven architectures are a natural
fit for serverless architectures
• Events are ephemeral by nature
• Transition away from long-lived
compute
• Easier transition to serverless
Events: a gateway drug for ephemeral compute
44@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
45@ben11kehoe
• Example: provider outages
• What’s the impact?
• What’s the likelihood?
• What’s the cost of implementing a
remediation strategy?
• What’s the TCO for avoiding relying on
a provider?
Stay focused on Total Cost of Ownership
46@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
47@ben11kehoe
Rube Goldberg machines
48@ben11kehoe
Building blocks
49@ben11kehoe
Making it work
50@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
51@ben11kehoe
52@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
53@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
54@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
55@ben11kehoe
56
Serverless native: worth the trouble,
and it will only get easier
Questions?

The Serverless Native Mindset

  • 1.
    The Hardest Partof Serverless: The Serverless Native Mindset AWS Community Day Boston, 2018-10-01 Ben Kehoe Cloud Robotics Research Scientist AWS Serverless Hero @ben11kehoe
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
    7 Going all-in onserverless: worth the trouble!
  • 8.
    8@ben11kehoe • We area device company • We are a cloud-connected device company • We are not a cloud technology company • We are a cloud-enabled-features company • It’s not same thing iRobot’s business
  • 9.
    9 What do youdo as a business?
  • 10.
    10@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
  • 11.
  • 12.
    12@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?
  • 13.
    13@ben11kehoe • Often equatedwith Lambda • This misses the bigger picture • And the smaller picture Understanding Serverless
  • 14.
  • 15.
  • 16.
    16@ben11kehoe • Managed serviceshave been around forever • But business logic has to go somewhere… • Managed rules engines exist • But you can only get so far without actually coding something… • Ephemeral compute has enabled providers to manage code • Temporal: FaaS, streaming compute • Input: managed batch compute Why serverless compute isn’t just PaaS
  • 17.
    17@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
  • 18.
    18@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
  • 19.
    19 Use existing managedservices in preference to building and/or hosting your own solution, even when those services don’t quite meet your requirements
  • 20.
    20 Serverless is masonry. FaaSis mortar. Buy your bricks.
  • 21.
    21@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?
  • 22.
    22@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)
  • 23.
    23@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
  • 24.
    24 Using managed servicesis an exercise in trust
  • 25.
    25@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…
  • 26.
    26@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!
  • 27.
    27@ben11kehoe • We aretinkerers • We like to know how things work • We like to own things Giving up control is hard for developers
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
    32@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”
  • 33.
    33@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
  • 34.
    34@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
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
    40@ben11kehoe • Should anSLA make you feel more comfortable? • As a developer, no • An SLA is a financial guarantee, not a technical one • Essentially, it’s insurance, with the premium baked into the price What about SLAs?
  • 41.
    41 How do weadopt a serverless mindset?
  • 42.
  • 43.
    43@ben11kehoe • Event-driven architecturesare a natural fit for serverless architectures • Events are ephemeral by nature • Transition away from long-lived compute • Easier transition to serverless Events: a gateway drug for ephemeral compute
  • 44.
    44@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
  • 45.
    45@ben11kehoe • Example: provideroutages • What’s the impact? • What’s the likelihood? • What’s the cost of implementing a remediation strategy? • What’s the TCO for avoiding relying on a provider? Stay focused on Total Cost of Ownership
  • 46.
    46@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
  • 47.
  • 48.
  • 49.
  • 50.
    50@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
  • 51.
  • 52.
    52@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
  • 53.
    53@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
  • 54.
    54@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
  • 55.
  • 56.
    56 Serverless native: worththe trouble, and it will only get easier
  • 57.

Editor's Notes

  • #3 980 launch first connected Roomba
  • #7 More robots Smart Home HKC
  • #9 Differentiators SLAM Quality, modularity Connected UX
  • #16 Ephemeral compute More than FaaS AWS Batch
  • #21 Serverless is easy Serverless is hard
  • #29 Build vs. buy is a classic dilemma “Not invented here” is common About control
  • #30 DIY: hidden complexity buy vs host Restriction is good Reduce the possible
  • #31 Don’t own what you don’t have to
  • #34 Hosted FaaS on managed k8s Big orgs
  • #36 Two kinds: vendor lock-in mitigation, “best services”
  • #37 Not a real risk What’s the cost of mitigation? Multi-cloud abstraction
  • #39 CloudEvents: security blanket
  • #40 Data gravity Integration gravity Be pragmatic; TCO
  • #48 Comfortable with many services Multi-provider if necessary
  • #49 Want Legos Not all blocks fit together
  • #50 Make it work SQS, RDS Client-side logic CFN
  • #55 Push it Diminishing returns
  • #56 How do we let it go? Events Culture Focus