Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The State of Serverless (PCUG)

5ff4f1dbfd3888fba963ec7cc629e6f3?s=47 mthenw
June 08, 2017

The State of Serverless (PCUG)

Public Cloud User Group #009 - Warszawa

5ff4f1dbfd3888fba963ec7cc629e6f3?s=128

mthenw

June 08, 2017
Tweet

More Decks by mthenw

Other Decks in Technology

Transcript

  1. the state of serverless

  2. Maciej Winnicki Principal Software Engineer Serverless, Inc.

  3. @mthenw

  4. 1973

  5. None
  6. None
  7. None
  8. None
  9. https://blog.prismalytics.io/serverless-frenzy-a29fefc1514f |

  10. “ The next day saw an unforgettable orgy of one-liners

    as everybody joined in the excitement of plumbing http://www.cs.dartmouth.edu/~doug/reader.pdf
  11. tail -f syslog | grep error | tee errors

  12. None
  13. unix philosophy

  14. “ Doug McIlroy, E. N. Pinson, B. A. Tague (8

    July 1978). "Unix Time-Sharing System: Foreword". pp. 1902–1903. Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them.
  15. MAKE PROGRAMMERS MORE PRODUCTIVE

  16. https://medium.com/apex-serverless/introducing-apex-800824ffaa70

  17. what is serverless

  18. (re)evolution of the cloud

  19. focus on business logic less concerns about stack implementation https://medium.com/openwhisk/five-minute-intro-to-open-source-serverless-development-with-openwhisk-328b0ebfa160

    bare metal IaaS PaaS functions hardware abstraction OS abstraction runtime abstraction
  20. Function-as-a-Service

  21. Function-as-a-Service Backend-as-a-Service +

  22. no server/container/process management http://blog.rowanudell.com/the-serverless-compute-manifesto/ costs scale with usage / never

    pay for idle auto-scale / auto-provision
  23. global availability

  24. Function-as-a-Service is event-driven

  25. use cases

  26. back-end services / web apps https://www.youtube.com/watch?v=b1t78P_1FT4 data processing infrastructure automation

    and more…
  27. challenges

  28. functions are like microservices but smaller

  29. monitoring & logging debugging & diagnostics local development

  30. vendor lock-in

  31. latency

  32. providers

  33. None
  34. None
  35. None
  36. • Node.js • Java • Python • C# Runtimes

  37. • Amazon S3 • Amazon DynamoDB • Amazon Kinesis Streams

    • Amazon Simple Notification Service • Amazon Simple Email Service • Amazon Cognito • AWS CloudFormation • Amazon CloudWatch Logs • Amazon CloudWatch Events • AWS CodeCommit • Scheduled Events (powered by Amazon CloudWatch Events) • AWS Config • Amazon Echo • Amazon Lex Amazon • API Gateway Events http://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-function.html#supported-event-source-cloudformation
  38. Monitoring & Logging • Logs and metrics pushed to CloudWatch

    • Available metrics: • Invocations • Errors • Duration • Throttles
  39. Debugging & Diagnostics • X-Ray - distributed tracing system •

    Support for: • Java • Node.js
  40. X-Ray Demo

  41. Local Development • no official tools

  42. Local Development

  43. Local Development • API Gateway • Kinesis • DynamoDB •

    DynamoDB Streams • Elasticsearch • S3 • Firehose • Lambda • SNS • SQS • Redshift • ES (Elasticsearch Service) • SES • Route53 • CloudFormation • CloudWatch
  44. Ecosystem • Step Functions • workflows • coordinate functions

  45. None
  46. Summary: AWS is a leader in serverless.

  47. None
  48. Google Cloud Functions

  49. in beta

  50. Runtimes • Node.js

  51. Events • HTTP request • Cloud Pub/Sub • Cloud Storage

  52. Monitoring & Logging • Logs and metrics pushed to Stackdriver

    Logging • Errors captured by Stackdriver Error Reporting • Available metrics: • execution time • execution count • memory usage
  53. • Debugging via Stackdriver Debugger Debugging & Diagnostics

  54. Stackdriver Debugger Demo

  55. • Cloud Functions Local Emulator Local Development

  56. • Cloud Functions For Firebase • Events: • Realtime Database

    Triggers • Firebase Authentication Triggers • Google Analytics for Firebase Triggers Ecosystem
  57. Summary: GCP offers very basic serverless features.

  58. None
  59. Runtimes • Node.js • C# • F# • Python •

    PHP
  60. Events • HTTP request • Schedule • Azure Storage blob

    storage and queues • Azure Event Hubs events • Azure Service Bus queues and topics
  61. Monitoring & Logging • Logs and metrics pushed to Application

    Insights • Metrics available per server: • response time • requests • failed requests
  62. Debugging & Diagnostics • Debugging via local development

  63. Local Development • Azure Functions Core Tools

  64. Ecosystem • Logic Apps • business processes • workflows •

    integration with SaaS products
  65. Summary: Decent serverless offering. Logic Apps look promising.

  66. None
  67. Runtimes • Node.js • Swift • Python • Java •

    anything via Docker
  68. Events • HTTP request • Schedule (Alarms) • GitHub events

    • IBM Cloudant DB changes • IBM Message Hub events • IBM Push Notifications events • custom events via triggers
  69. Monitoring & Logging • Logs available via dashboard and CLI

    • Metrics: • number of invocations • number of failed invocations • completion time
  70. Debugging & Diagnostics • no official tools

  71. Local Development • no official tools

  72. Ecosystem

  73. Summary: Open-source FaaS project built with extensibility in mind.

  74. other projects

  75. Kubeless

  76. Fission

  77. Funktion

  78. FaaS

  79. the company

  80. None
  81. A CLI tool that manages the lifecycle of you serverless

    application.
  82. Features • application lifecycle management • manage code & infrastructure

    • scaffolding & automation • multi-provider (AWS, GCloud, Azure, IBM OpenWhisk) • local development • extensibility • community
  83. None
  84. None
  85. We are hiring! serverless.com/company/jobs

  86. Thanks!