Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
by Bert Ertman
Those who stand for nothing,
fall for anything - Alexander
Hamilton
Serverless

The Future of the Cloud?!
@...
• Fellow at Luminis
• Background in all things Java
since 1995
• Java Champion, JavaOne
Rockstar Speaker, and a Duke’s
Cho...
The Evolution of Compute
Physical
Virtualization
Cloud Compute
Containers Serverless
Why?!
The case for Serverless
• So far, the cloud is just someone else’s computer
• Servers should be treated as cattle, not pet...
“No server is easier to manage
than no server”
- Werner Vogels

CTO, Amazon
Serverless - what’s in a name?
• Mostly describes what its not…
• Also known as Functions as a Service (FaaS)
• or Functio...
Wait! Did someone just say
“Back-end as a Service”?
Back-end as a Service??
Serverless
Manifesto
• Functions are the unit of deployment and scaling
• No Machines, VMs, or Containers are visible in t...
Main Benefits
• No servers to administer
• Pay for code execution only
• Automatic Scaling
In Other Words…
• We don’t (have to) care about Application Servers
• We don’t (have to) care about Docker
And Best of All
• Very short Time-to-Market
• From development to production in matter of seconds
• Very affordable (PAYG ...
So far so good,
right?
But…isn’t that PaaS?!
PaaS vs FaaS
• With PaaS, you still manage “applications”
• With PaaS, you take care of scaling
• With PaaS, you manage ru...
Serverless implementations
• Several Cloud vendors have implementations:
• AWS Lambda
• Google CloudFunctions
• Azure Func...
AWS Lambda
• Event-driven, serverless computing platform provided by Amazon
• Runs code in response to events and automati...
Runtime Support
• Python 2.7
• NodeJS 4.3
• Java 8
• C#
How it works
Upload Trigger Run Pay
lambda
Erhm..
AWS Lambda Pricing
• Suits the PAYG model better than running idle compute instances
• Unlike EC2 which is priced by the h...
Lambdas are
event-driven
Many Event Sources
API Gateway

Amazon S3
Amazon DynamoDB
Amazon Aurora

Amazon Simple Notification Service
Amazon Simple E...
Many Event Sources
API Gateway

Amazon S3
Amazon DynamoDB
Amazon Aurora

Amazon Simple Notification Service
Amazon Simple E...
Rethinking Traditional
Architectural Concepts
Rethinking Traditional Architectural Concepts
Client
(browser)
Web Application
(server-side)
Database
Client
(browser)
API Gateway
Purchase
Database
Authentication
Service
Product
Catalog
(Database)
Search
function
Purchase
...
Just because you can might not
always be the right reason
Better Example: BaaS
• Backend-as-a-Service for a (mobile) app
• Responds to incoming HTTP GET/POST requests
• Stateless
Typical Scenario
Mobile App
Web application
API Gateway Lambda function DynamoDB
demo
Typical Scenario
Mobile App
Web application
API Gateway Lambda function DynamoDB
Microservice?
Are Lambda functions Microservices?
• Similarities:
• Do one thing, and one thing well
• Event-based interaction == choreo...
Example: Event-based processing
• Respond to incoming data, such as an S3 Bucket insert
• Useful for data/stream processin...
Typical Scenario
Application S3 Bucket S3 BucketLambda function
demo
What Expedia is doing with Lambda
source: AWS re:invent 2016: Serverless Computing Patterns at Expedia (SVR306)
beyond
Hel...
Yeah, nice and all, but all of this
$**t is running in the cloud…
OpenWhisk
• Runs in IBM’s BlueMix Cloud, but can also run on-premise
• OpenWhisk is Apache licensed and Open Source
• Curr...
But there are some more
drawbacks…
Drawbacks
• Vendor control and lock-in
• Multi-tenancy
• Security concerns (increasing the attack surface)
• Loss of serve...
summary
Serverless
• ..is rapidly being embraced by major cloud players
• ..is promoting functions as first class citizens
• ..is e...
Serverless, the future of
the Cloud!
Thank you!
@BertErtman
Serverless - The Future of the Cloud?!
Serverless - The Future of the Cloud?!
Serverless - The Future of the Cloud?!
Upcoming SlideShare
Loading in …5
×

Serverless - The Future of the Cloud?!

1,266 views

Published on

Are you still using Docker in production? Get over it! Serverless is the NEW future of the Cloud. But since the Cloud is still someone else's computer, that needs to be managed too. And if it is sitting idle, you probably have to pay for it whether you like it or not. No server can be more easily managed than no server. Therefore: meet Serverless, a new paradigm that truly approaches the Pay-as-You-Go philosophy once promised by the Cloud.

This session explores Serverless, its impact on existing architectures, and assesses it's usability for Mobile Back-ends as a Service (MBaaS), Functions-as-a-Service (FaaS) and also for Microservices based architectures hosted in the cloud.

Published in: Internet

Serverless - The Future of the Cloud?!

  1. 1. by Bert Ertman Those who stand for nothing, fall for anything - Alexander Hamilton Serverless
 The Future of the Cloud?! @BertErtman JAVAZONE 2017
  2. 2. • Fellow at Luminis • Background in all things Java since 1995 • Java Champion, JavaOne Rockstar Speaker, and a Duke’s Choice Award Winner • Involved in architecting and implementing dozens of large scale systems over the past 20 years or so • Book author for O’Reilly, speaker at many conferences About me
  3. 3. The Evolution of Compute Physical Virtualization Cloud Compute Containers Serverless
  4. 4. Why?!
  5. 5. The case for Serverless • So far, the cloud is just someone else’s computer • Servers should be treated as cattle, not pets • PAYGO? or PAYGO&aAYDG?
  6. 6. “No server is easier to manage than no server” - Werner Vogels
 CTO, Amazon
  7. 7. Serverless - what’s in a name? • Mostly describes what its not… • Also known as Functions as a Service (FaaS) • or Function PaaS (fPaaS) as defined by Gartner • Some people refer to it as Back-end as a Service (BaaS)
  8. 8. Wait! Did someone just say “Back-end as a Service”?
  9. 9. Back-end as a Service??
  10. 10. Serverless Manifesto • Functions are the unit of deployment and scaling • No Machines, VMs, or Containers are visible in the programming model • Permanent storage lives elsewhere • Scales per request. Users cannot over- or under-provision capacity • Never pay for idle (no cold servers/containers or their costs) • Implicitly fault-tolerant because functions can run anywhere • BYOC - Bring Your Own Code • Metrics and Logging are a universal right
  11. 11. Main Benefits • No servers to administer • Pay for code execution only • Automatic Scaling
  12. 12. In Other Words… • We don’t (have to) care about Application Servers • We don’t (have to) care about Docker
  13. 13. And Best of All • Very short Time-to-Market • From development to production in matter of seconds • Very affordable (PAYG only, no up-front costs)
  14. 14. So far so good, right?
  15. 15. But…isn’t that PaaS?!
  16. 16. PaaS vs FaaS • With PaaS, you still manage “applications” • With PaaS, you take care of scaling • With PaaS, you manage runtime environment configuration • With PaaS, you’ll pay for all of the above too • With FaaS, you have neither
  17. 17. Serverless implementations • Several Cloud vendors have implementations: • AWS Lambda • Google CloudFunctions • Azure Functions • IBM BlueMix OpenWhisk 2015 2016 2017
  18. 18. AWS Lambda • Event-driven, serverless computing platform provided by Amazon • Runs code in response to events and automatically manages the compute resources required by that code • First introduced in Nov 2014 • Part of the Amazon Web Services offerings
  19. 19. Runtime Support • Python 2.7 • NodeJS 4.3 • Java 8 • C#
  20. 20. How it works Upload Trigger Run Pay
  21. 21. lambda Erhm..
  22. 22. AWS Lambda Pricing • Suits the PAYG model better than running idle compute instances • Unlike EC2 which is priced by the hour, Lambdas are priced per 100 ms (and memory footprint per second) • AWS Free Tier: 1,000,000 free requests per month* *) Restrictions apply, see AWS Lambda Pricing Details online
  23. 23. Lambdas are event-driven
  24. 24. Many Event Sources API Gateway
 Amazon S3 Amazon DynamoDB Amazon Aurora
 Amazon Simple Notification Service Amazon Simple Email Service Amazon Cognito
 Amazon CloudWatch Amazon Kinesis Streams
 AWS CodeCommit AWS CloudFormation
 AWS Config
 Amazon Lex

  25. 25. Many Event Sources API Gateway
 Amazon S3 Amazon DynamoDB Amazon Aurora
 Amazon Simple Notification Service Amazon Simple Email Service Amazon Cognito
 Amazon CloudWatch Amazon Kinesis Streams
 AWS CodeCommit AWS CloudFormation
 AWS Config
 Amazon Lex
 HTTP(s) requests CRUD events on data sources messaging events log/stream processing commit hooks / AWS services setup configuration mgmt voice & text
  26. 26. Rethinking Traditional Architectural Concepts
  27. 27. Rethinking Traditional Architectural Concepts Client (browser) Web Application (server-side) Database
  28. 28. Client (browser) API Gateway Purchase Database Authentication Service Product Catalog (Database) Search function Purchase function CDN 1 2 3 6 74 5 Rethinking Traditional Architectural Concepts
  29. 29. Just because you can might not always be the right reason
  30. 30. Better Example: BaaS • Backend-as-a-Service for a (mobile) app • Responds to incoming HTTP GET/POST requests • Stateless
  31. 31. Typical Scenario Mobile App Web application API Gateway Lambda function DynamoDB
  32. 32. demo
  33. 33. Typical Scenario Mobile App Web application API Gateway Lambda function DynamoDB Microservice?
  34. 34. Are Lambda functions Microservices? • Similarities: • Do one thing, and one thing well • Event-based interaction == choreography model • Differences: • One Lambda is equal to one action == NanoService • Microservice == bounded context of actions with autonomous storage
  35. 35. Example: Event-based processing • Respond to incoming data, such as an S3 Bucket insert • Useful for data/stream processing, MapReduce, or batch processing
  36. 36. Typical Scenario Application S3 Bucket S3 BucketLambda function
  37. 37. demo
  38. 38. What Expedia is doing with Lambda source: AWS re:invent 2016: Serverless Computing Patterns at Expedia (SVR306) beyond Hello World example
  39. 39. Yeah, nice and all, but all of this $**t is running in the cloud…
  40. 40. OpenWhisk • Runs in IBM’s BlueMix Cloud, but can also run on-premise • OpenWhisk is Apache licensed and Open Source • Currently supports: JavaScript, Java, Python, and Swift(!) • Possible to run functions in provided Docker images
  41. 41. But there are some more drawbacks…
  42. 42. Drawbacks • Vendor control and lock-in • Multi-tenancy • Security concerns (increasing the attack surface) • Loss of server optimizations • Execution time is limited • Start-up latency • Testing • Discovery
  43. 43. summary
  44. 44. Serverless • ..is rapidly being embraced by major cloud players • ..is promoting functions as first class citizens • ..is event-based, stateless, and transient • ..is infinitely scalable (in theory) • ..is different from traditional deployment models • ..is giving the cloud a run for its money • ..is lots of bang for the buck • ..is still very much proprietary, so lock-in is your choice!
  45. 45. Serverless, the future of the Cloud! Thank you! @BertErtman

×