Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
The Next Big Thing: Serverless
1. THE NEXT BIG THING:
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
■ 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
4. BUT ENOUGH ABOUT ME …
Let's talk about you. Or, more specifically, your DevOps.
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 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
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 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
12. 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
18. 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!
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
22. 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.
23. 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
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
29. 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
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 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
33. 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
34. 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
35. 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
36. 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"
37. NOT QUITE 'NO OPS'
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, 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
40. 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
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 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
45.
46. The combination of multi-device,
AI everywhere
and serverless computing
is driving this new era of intelligent cloud and
intelligent edge.
-- Microsoft
48. Starting over is expensive
■ Microservices mean
rebuilding workloads
■ Huge up-front costs
■ Requires revisiting
existing partnerships
■ N-tier ports well to
containers
49. When containers/VMs
are a better choice
■ Small, non-scaling workloads
■ Solutions that depend on the environment/many services
■ Massive, constant computing power requirements
50. 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
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/