THE NEXT BIG THING:
SERVERLESS
Doug Vanderweide
@dougvdotcom
linkedin.com/in/dougvdotcom
doug@linuxacademy.com
Before we
start …
■ If you need to step out, please do so. Please return if
you can! Just do so as inconspicuously as possible,
thank you
■ Help yourself to drinks in the cooler to your right
■ Bathrooms: To the left of the room
■ Emergency exits: Just past the bathroom; also, same
way you entered
■ Need to take a call/text/email/Slack? Please step
out to the lobby
About me
■ Microsoft Certified Solutions Developer: Azure Solutions Architect
■ Microsoft Certified Solutions Expert: Cloud Platform and Infrastructure
■ CompTIA CTT+ Certified Technical Trainer
■ 20+ years in Web development (LAMP/.NET) and DevOps
■ Built real-world serverless solutions
■ Azure instructor / SME for Linux Academy
■ I know next to nothing about Linux
BUT ENOUGH ABOUT ME …
Let's talk about you. Or, more specifically, your DevOps.
Call for
volunteers
■ Artistic at all?
■ Good with your hands?
■ Have young children at home?
A BRIEF HISTORY OF
(CLOUD) TIME
In the beginning
■ Cloud-based virtual machines appear ~2006 (EC2, AWS)
■ and they're AWESOME
■ Significant savings over on-prem bare metal
■ Provision what you need, discard it when done
■ Quick provisioning (hours, not weeks)
■ Theoretically bulletproof
– One breaks? Make another from same image
– Better yet, make 2; they're cheap
And then everything is terrible again
■ "Lift-and-shift" workloads have all their old problems, with
all-new security and connectivity problems added in
■ We wind up replicating on-prem solutions to cloud-based
issues, such as routing, ACLs, gateways, etc.
■ You're still administering servers and networks and it's still
awful, terrible work
■ Same orchestration/DevOps experience as on-prem
The dawn of 'Platform as a Service'
■ Google App Engine (2007), Elastic Beanstalk (AWS, 2011) ,
Cloud Services (~2010, Micosoft Azure)
■ Mostly Web-based workloads
■ Abstracts underlying OS and runtime configurations with
pre-defined offerings
■ Easier to scale to demand (scale in-out)/failover than IaaS
machines
■ Faster deployment times
Cloud matures with supporting services
■ Databases as a Service (SimpleDB/RDS/DynamoDB, AWS; Azure SQL
Database/CosmosDB, Azure)
■ Message queues (SQS/SNS, AWS; Service Bus/Notification Hubs,
Azure)
■ DNS-based solutions (Route 53, AWS; Traffic Manager, Azure)
■ Content delivery networks (CloudFront, AWS; Azure CDN)
■ These tools enable simpler balancing of workloads and the
emergence of microservices architecture
A WILD ARCHITECTURE
APPEARED!
Containers find their niche in microservices
Microservices: A new pattern
■ Break tasks into smaller workloads
■ Build these workloads as HTTP-based APIs
– or event/message listeners
■ Communicate status via queues and triggers/webhooks
■ Recycle common workloads among solutions
Typical n-tier web application
Typical n-tier app as microservices
Benefits of each approach
N-tier Microservices
CONTAINERS
COME OF AGE
Containers are perfect for
microservices ... but why?
Containers make microservices work
■ Build container to meet a workload
– Create as needed
– Destroy when done
■ Deploy multiple containers to a single host
– Scale container to meet workload
■ Move containers among hosts seamlessly
■ Repeatable results
■ Automation, automation, automation!
Containers are great!
right?
What the
world needs
now …
■ Lightning-fast deployment
■ Maximum automation
– build
– deployment
– monitoring
– resilience
■ Predicatable, repeatable
results
■ Built-in high availability /
disaster recovery /
business continuity
SERVERLESS
The technology that will transform cloud computing
server·less
ˈsərvərləs (adj)
via Wikipedia
a cloud computing code execution model
in which the cloud provider
fully manages starting and stopping of
a function's container platform as a service (PaaS)
as necessary to serve requests,
and requests are billed by an abstract measure
of the resources required to satisfy the request,
rather than per virtual machine, per hour.
Serverless features
■ You write code that runs on the platform; the provider does
the rest
■ Anonymous, generalized virtual machine instances
■ Completely managed by the cloud provider
■ Provisioned when you need them, deprovisioned when
you're done
■ Billed by executions and resource consumption, not an
hourly rate
Let's check in on our artists
This probably would have helped
Serverless is a medium;
your architecture is the mold
Serverless function features
■ Base OS (Linux, Windows) with a generalized config
■ Supports any code written in a given language: Node.js,
Python, .NET Core, Java, etc.
■ Provider can quickly provision these instances because
they're all the same
■ Instance started > code retrieved > code executed >
instance deprovisioned
HTTP function workflow
Serverless features
■ Instances started as needed, stopped when inactive
– Less sprawl
– Truly pay for what you use
■ Open architecture supports service reuse
■ No server management = less operations
■ Allows you to focus on the code, not infrastructure
SERVERLESS:
LOWEST TC0
Cheaper to run, easier to create, simpler to operate
Pricing models
■ VMs: Pay per CPU core, memory use, disk storage, software
fees
■ Containers: Also pay for VM use, but pack more work into
the same VM
■ Serverless: Pay for the resources you actually use
VM vs serverless pricing
Azure VM D2v2 AWS VM t2.large Azure Function AWS Lambda
$104.16 $69.94 $25.60 $26.67
Assumption:
• 500,000 executions per month
• 4 GB-secs for each execution
VM vs serverless pricing
Azure VM
A4m v2
AWS VM
t2.2xlarge
Azure Function AWS Lambda
$220.97 $279.74 $121.80 $129.86
Assumption:
• 2 million executions per month
• 4 GB-secs for each execution
VM vs serverless pricing
Azure VM A1v2 AWS VM t2.small Azure Function AWS Lambda
$31.99 $17.12 FREE FREE
Assumption:
• 20,000 executions per month
• 512 MB-secs for each execution
The serverless 'long tail'
■ Everything the same = dirt cheap to provide
■ Each new instance is effectively profitable
■ Only a small number of users need to exceed the free
threshold periodically to turn a major profit
■ Long-tail pricing model
Serverless vs VMs
(and to a lesser degree, containers)
■ Similar workloads cost
less to run
■ You don't pay for unused
capacity
■ No more sprawl
■ No "Detroit dilemmas"
NOT QUITE 'NO OPS'
But drastically reduced lead times and staffing requirements
'No Ops'
■ Automation, abstraction and cloud vendor services
eliminate several DevOps tasks (and positions)
– build and deployment
■ Sprint develop, build, test and deploy
■ Focus is shifted to rapid development
■ Continuous integration / deployment
■ Extensive monitoring and metrics
Highly available, easily scaled
■ Bad code downtime limited by microservices
■ Functions scale automatically and quickly
■ High availability is built in
■ Regional outage is the only real threat
– Use standard cloud business continuity strategies
■ e.g., multi-region presence, DNS-based switchover
Serverless recap
■ Lower real infrastructure costs
■ Easier SDLC via modular workloads/microservices
■ No servers to manage
■ Faster deployment via CI/CD/automation
■ HA/DR built in
■ Usual cloud-based business continuity strategies
EVANGELISTS GALORE
With AWS Lambda, we eliminate the need
to worry about operations.
We just write code, deploy it, and it scales infinitely;
no one really has to deal with
infrastructure management.
The size of our team is half of what is normally needed
to build and operate a site of this scale.
-- Tyler Love, CTO, Bustle
In 5 years, every modern business will have
a substantial portion of their systems
running the cloud.
But that’s only the first step.
The next step comes when you
free your developers from the tedious work
of configuring and deploying
even virtual cloud-based servers.
-- Greg DeMichillie, Head of Developer Platform and Infrastructure, Adobe
Workflows for the masses
■ What if everyone could program?
■ Microservices are the building blocks of workflows
■ AI/big data are already tacking semantics
■ Orchestrate your vision, yourself
The combination of multi-device,
AI everywhere
and serverless computing
is driving this new era of intelligent cloud and
intelligent edge.
-- Microsoft
SERVERLESS
LIMITATIONS
It's not for everything.
Starting over is expensive
■ Microservices mean
rebuilding workloads
■ Huge up-front costs
■ Requires revisiting
existing partnerships
■ N-tier ports well to
containers
When containers/VMs
are a better choice
■ Small, non-scaling workloads
■ Solutions that depend on the environment/many services
■ Massive, constant computing power requirements
Serverless weaknesses
■ Laggy startups for cold code
■ Lag/drops in microservice communication
■ Immature technology
■ Somewhat wedded to the vendor
■ Restrictions in code you can run
■ Somewhat limited library access
■ Event-input-output model might not work
In summary ■ Serverless is the next wave in
cloud computing
■ Huge time and cost savings,
low TCO
■ Significant benefits to cloud
vendors
■ Built-in HA/DR, business
continuity is simple
■ Fast deployment and sensible
architecture
■ But it's not for every workload
Your turn:
Questions? Insights? Let's talk!
@dougvdotcom
linkedin.com/in/dougvdotcom
doug@linuxacademy.com
Thanks to Linux Academy for the space,
food and swag!
https://linuxacademy.com
This deck:
Our Meetup group:
https://www.meetup.com/Keller-Cloud-
Computing-Group/

The Next Big Thing: Serverless

  • 1.
    THE NEXT BIGTHING: SERVERLESS Doug Vanderweide @dougvdotcom linkedin.com/in/dougvdotcom doug@linuxacademy.com
  • 2.
    Before we start … ■If you need to step out, please do so. Please return if you can! Just do so as inconspicuously as possible, thank you ■ Help yourself to drinks in the cooler to your right ■ Bathrooms: To the left of the room ■ Emergency exits: Just past the bathroom; also, same way you entered ■ Need to take a call/text/email/Slack? Please step out to the lobby
  • 3.
    About me ■ MicrosoftCertified Solutions Developer: Azure Solutions Architect ■ Microsoft Certified Solutions Expert: Cloud Platform and Infrastructure ■ CompTIA CTT+ Certified Technical Trainer ■ 20+ years in Web development (LAMP/.NET) and DevOps ■ Built real-world serverless solutions ■ Azure instructor / SME for Linux Academy ■ I know next to nothing about Linux
  • 4.
    BUT ENOUGH ABOUTME … Let's talk about you. Or, more specifically, your DevOps.
  • 5.
    Call for volunteers ■ Artisticat all? ■ Good with your hands? ■ Have young children at home?
  • 6.
    A BRIEF HISTORYOF (CLOUD) TIME
  • 7.
    In the beginning ■Cloud-based virtual machines appear ~2006 (EC2, AWS) ■ and they're AWESOME ■ Significant savings over on-prem bare metal ■ Provision what you need, discard it when done ■ Quick provisioning (hours, not weeks) ■ Theoretically bulletproof – One breaks? Make another from same image – Better yet, make 2; they're cheap
  • 8.
    And then everythingis terrible again ■ "Lift-and-shift" workloads have all their old problems, with all-new security and connectivity problems added in ■ We wind up replicating on-prem solutions to cloud-based issues, such as routing, ACLs, gateways, etc. ■ You're still administering servers and networks and it's still awful, terrible work ■ Same orchestration/DevOps experience as on-prem
  • 9.
    The dawn of'Platform as a Service' ■ Google App Engine (2007), Elastic Beanstalk (AWS, 2011) , Cloud Services (~2010, Micosoft Azure) ■ Mostly Web-based workloads ■ Abstracts underlying OS and runtime configurations with pre-defined offerings ■ Easier to scale to demand (scale in-out)/failover than IaaS machines ■ Faster deployment times
  • 10.
    Cloud matures withsupporting services ■ Databases as a Service (SimpleDB/RDS/DynamoDB, AWS; Azure SQL Database/CosmosDB, Azure) ■ Message queues (SQS/SNS, AWS; Service Bus/Notification Hubs, Azure) ■ DNS-based solutions (Route 53, AWS; Traffic Manager, Azure) ■ Content delivery networks (CloudFront, AWS; Azure CDN) ■ These tools enable simpler balancing of workloads and the emergence of microservices architecture
  • 11.
    A WILD ARCHITECTURE APPEARED! Containersfind their niche in microservices
  • 12.
    Microservices: A newpattern ■ Break tasks into smaller workloads ■ Build these workloads as HTTP-based APIs – or event/message listeners ■ Communicate status via queues and triggers/webhooks ■ Recycle common workloads among solutions
  • 13.
    Typical n-tier webapplication
  • 14.
    Typical n-tier appas microservices
  • 15.
    Benefits of eachapproach N-tier Microservices
  • 16.
  • 17.
    Containers are perfectfor microservices ... but why?
  • 18.
    Containers make microserviceswork ■ Build container to meet a workload – Create as needed – Destroy when done ■ Deploy multiple containers to a single host – Scale container to meet workload ■ Move containers among hosts seamlessly ■ Repeatable results ■ Automation, automation, automation!
  • 19.
  • 20.
    What the world needs now… ■ Lightning-fast deployment ■ Maximum automation – build – deployment – monitoring – resilience ■ Predicatable, repeatable results ■ Built-in high availability / disaster recovery / business continuity
  • 21.
    SERVERLESS The technology thatwill transform cloud computing
  • 22.
    server·less ˈsərvərləs (adj) via Wikipedia acloud computing code execution model in which the cloud provider fully manages starting and stopping of a function's container platform as a service (PaaS) as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour.
  • 23.
    Serverless features ■ Youwrite code that runs on the platform; the provider does the rest ■ Anonymous, generalized virtual machine instances ■ Completely managed by the cloud provider ■ Provisioned when you need them, deprovisioned when you're done ■ Billed by executions and resource consumption, not an hourly rate
  • 24.
    Let's check inon our artists
  • 25.
  • 26.
    Serverless is amedium; your architecture is the mold
  • 27.
    Serverless function features ■Base OS (Linux, Windows) with a generalized config ■ Supports any code written in a given language: Node.js, Python, .NET Core, Java, etc. ■ Provider can quickly provision these instances because they're all the same ■ Instance started > code retrieved > code executed > instance deprovisioned
  • 28.
  • 29.
    Serverless features ■ Instancesstarted as needed, stopped when inactive – Less sprawl – Truly pay for what you use ■ Open architecture supports service reuse ■ No server management = less operations ■ Allows you to focus on the code, not infrastructure
  • 30.
    SERVERLESS: LOWEST TC0 Cheaper torun, easier to create, simpler to operate
  • 31.
    Pricing models ■ VMs:Pay per CPU core, memory use, disk storage, software fees ■ Containers: Also pay for VM use, but pack more work into the same VM ■ Serverless: Pay for the resources you actually use
  • 32.
    VM vs serverlesspricing Azure VM D2v2 AWS VM t2.large Azure Function AWS Lambda $104.16 $69.94 $25.60 $26.67 Assumption: • 500,000 executions per month • 4 GB-secs for each execution
  • 33.
    VM vs serverlesspricing Azure VM A4m v2 AWS VM t2.2xlarge Azure Function AWS Lambda $220.97 $279.74 $121.80 $129.86 Assumption: • 2 million executions per month • 4 GB-secs for each execution
  • 34.
    VM vs serverlesspricing Azure VM A1v2 AWS VM t2.small Azure Function AWS Lambda $31.99 $17.12 FREE FREE Assumption: • 20,000 executions per month • 512 MB-secs for each execution
  • 35.
    The serverless 'longtail' ■ Everything the same = dirt cheap to provide ■ Each new instance is effectively profitable ■ Only a small number of users need to exceed the free threshold periodically to turn a major profit ■ Long-tail pricing model
  • 36.
    Serverless vs VMs (andto a lesser degree, containers) ■ Similar workloads cost less to run ■ You don't pay for unused capacity ■ No more sprawl ■ No "Detroit dilemmas"
  • 37.
    NOT QUITE 'NOOPS' But drastically reduced lead times and staffing requirements
  • 38.
    'No Ops' ■ Automation,abstraction and cloud vendor services eliminate several DevOps tasks (and positions) – build and deployment ■ Sprint develop, build, test and deploy ■ Focus is shifted to rapid development ■ Continuous integration / deployment ■ Extensive monitoring and metrics
  • 39.
    Highly available, easilyscaled ■ Bad code downtime limited by microservices ■ Functions scale automatically and quickly ■ High availability is built in ■ Regional outage is the only real threat – Use standard cloud business continuity strategies ■ e.g., multi-region presence, DNS-based switchover
  • 40.
    Serverless recap ■ Lowerreal infrastructure costs ■ Easier SDLC via modular workloads/microservices ■ No servers to manage ■ Faster deployment via CI/CD/automation ■ HA/DR built in ■ Usual cloud-based business continuity strategies
  • 41.
  • 42.
    With AWS Lambda,we eliminate the need to worry about operations. We just write code, deploy it, and it scales infinitely; no one really has to deal with infrastructure management. The size of our team is half of what is normally needed to build and operate a site of this scale. -- Tyler Love, CTO, Bustle
  • 43.
    In 5 years,every modern business will have a substantial portion of their systems running the cloud. But that’s only the first step. The next step comes when you free your developers from the tedious work of configuring and deploying even virtual cloud-based servers. -- Greg DeMichillie, Head of Developer Platform and Infrastructure, Adobe
  • 44.
    Workflows for themasses ■ What if everyone could program? ■ Microservices are the building blocks of workflows ■ AI/big data are already tacking semantics ■ Orchestrate your vision, yourself
  • 46.
    The combination ofmulti-device, AI everywhere and serverless computing is driving this new era of intelligent cloud and intelligent edge. -- Microsoft
  • 47.
  • 48.
    Starting over isexpensive ■ Microservices mean rebuilding workloads ■ Huge up-front costs ■ Requires revisiting existing partnerships ■ N-tier ports well to containers
  • 49.
    When containers/VMs are abetter choice ■ Small, non-scaling workloads ■ Solutions that depend on the environment/many services ■ Massive, constant computing power requirements
  • 50.
    Serverless weaknesses ■ Laggystartups for cold code ■ Lag/drops in microservice communication ■ Immature technology ■ Somewhat wedded to the vendor ■ Restrictions in code you can run ■ Somewhat limited library access ■ Event-input-output model might not work
  • 51.
    In summary ■Serverless is the next wave in cloud computing ■ Huge time and cost savings, low TCO ■ Significant benefits to cloud vendors ■ Built-in HA/DR, business continuity is simple ■ Fast deployment and sensible architecture ■ But it's not for every workload
  • 52.
    Your turn: Questions? Insights?Let's talk! @dougvdotcom linkedin.com/in/dougvdotcom doug@linuxacademy.com Thanks to Linux Academy for the space, food and swag! https://linuxacademy.com This deck: Our Meetup group: https://www.meetup.com/Keller-Cloud- Computing-Group/