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

Serverless: The Missing Manual

Serverless: The Missing Manual

Do serverless cloud platforms leave you with more questions than answers? This session will focus on migrating from traditional applications to serverless cloud platforms. You’ll learn about serving files without a web server, managing application state in a stateless environment, running background processes in ephemeral runtimes and more. These techniques will enable you to build modern applications using serverless platforms. This session is for developers who see the benefits of serverless but are struggling to adjust to a serverless world.

James Thomas

May 14, 2018
Tweet

More Decks by James Thomas

Other Decks in Technology

Transcript

  1. SERVERLESS:
    THE MISSING
    MANUAL
    James Thomas
    Developer Advocate @ IBM ☁
    @thomasj

    View Slide

  2. @THOMASJ

    View Slide

  3. Serverless
    is more than
    Functions-as-a-Service.
    @THOMASJ

    View Slide

  4. most common
    about serverless
    s
    @THOMASJ
    https://flic.kr/p/bmbXKZ

    View Slide

  5. “Where do I store
    my files?”
    @THOMASJ

    View Slide

  6. Serverless
    runtimes do have
    a filesystem.
    @THOMASJ

    View Slide

  7. temporary & limited storage
    not shared on concurrent requests
    no external access
    files must be in app package
    @THOMASJ




    View Slide

  8. Object stores
    provide “storage-
    as-a-service”.
    @THOMASJ

    View Slide

  9. IBM Cloud Object Storage

    View Slide

  10. unlimited* storage
    HTTP API access
    make objects public
    allow users to upload content
    * - billed by size, requests & bandwidth
    @THOMASJ

    View Slide

  11. “How do I install
    my database?”
    @THOMASJ

    View Slide

  12. Use a “database-
    as-a-service”.
    @THOMASJ

    View Slide

  13. Some of IBM Cloud DBaaS…
    @THOMASJ

    View Slide

  14. Consider
    event support
    and scalability.
    @THOMASJ

    View Slide

  15. “Can I use

    with serverless?”
    @THOMASJ

    View Slide

  16. NO.
    @THOMASJ

    View Slide

  17. Why do you need
    frameworks?
    @THOMASJ

    View Slide

  18. Scaffolding & Boilerplate
    Request Handling & URL Routing
    Authentication
    Middleware (CORS & Rate Limiting)
    Service Credentials
    Packaging & Deployment
    @THOMASJ

    View Slide

  19. Frameworks in a
    serverless .
    @THOMASJ

    View Slide

  20. ✅ Scaffolding & Boilerplate
    ❌ Request Handling & URL Routing
    ❌ Authentication
    ❌ Middleware (CORS & Rate Limiting)
    ❌ Service Credentials
    ✅ Packaging & Deployment
    @THOMASJ

    View Slide

  21. @THOMASJ

    View Slide

  22. “How do you
    debug serverless
    functions?”
    @THOMASJ

    View Slide

  23. No access to
    runtime
    environment.
    @THOMASJ

    View Slide

  24. ✅ Logs
    @THOMASJ
    stdout & stderr
    sent to log service

    View Slide

  25. @THOMASJ

    View Slide

  26. @THOMASJ

    View Slide

  27. ✅ Logs
    ✅ Metrics captured by platform:
    invocations, errors,
    start, end, duration,
    cold start.
    @THOMASJ

    View Slide

  28. What about
    custom metrics?
    @THOMASJ

    View Slide

  29. ✅ Logs
    ✅ Metrics
    ✅ Custom

    Metrics
    record using console logs
    cron-schedule event
    forward to metrics service
    @THOMASJ

    View Slide

  30. @THOMASJ

    View Slide

  31. “Can you set a
    limit on costs?”
    @THOMASJ

    View Slide

  32. ACCIDENTALLY WROTE A
    PLEASE HELP…

    RECURSIVE SERVERLESS
    FUNCTION.
    NEED $$$ FOR MY CLOUD BILL.
    @THOMASJ

    View Slide

  33. Serverless
    platforms
    do have limits.
    @THOMASJ

    View Slide

  34. Configure
    rate limiting
    for public APIs.
    @THOMASJ

    View Slide

  35. View Slide

  36. Set up automatic
    billing alerts.
    @THOMASJ

    View Slide

  37. @THOMASJ

    View Slide

  38. “How do you test serverless applications?”
    “Can you generate templated web pages?”
    “What about using external libraries?”
    “How do you set up dev, test and prod?”
    “When should you not use serverless?”
    “What if I need more then 10 minutes?”
    @THOMASJ

    View Slide

  39. Be lazy and
    embrace the
    cloud.
    @THOMASJ

    View Slide

  40. THANK YOU.
    @THOMASJ

    View Slide

  41. View Slide