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

Serverless

 Serverless

Serverless as a combination of DDD, Infra, Functional Programming

Andrzej Krzywda

September 26, 2017
Tweet

More Decks by Andrzej Krzywda

Other Decks in Programming

Transcript

  1. SERVERLESS
    Andrzej Krzywda
    Arkency

    View Slide

  2. DEVTALK TRIO

    View Slide

  3. View Slide

  4. View Slide

  5. https://serverless.zone/serverless-is-just-a-name-we-could-have-called-it-jeff-1958dd4c63d7

    View Slide

  6. View Slide

  7. SERVERLESS
    AWS Lambda
    Azure Functions
    Google Cloud Functions

    View Slide

  8. 1 FUNCTION/METHOD
    PER
    1 MICROSERVICE

    View Slide

  9. SERVERLESS
    ==
    REDUCING MAINTENANCE

    View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. SERVERLESS
    FUNCTION AS A SERVICE
    Cloud
    Functional programming
    Domain-Driven Design

    View Slide

  19. CLOUD

    View Slide

  20. INFRA/CLOUD
    Dedicated servers
    Virtual machines
    Microservices / BC?
    Kubernetes
    Serverless (function per service)

    View Slide

  21. ARE MICROSERVICES COOL?

    View Slide

  22. FUNCTIONAL
    PROGRAMMING

    View Slide

  23. immutability
    functions
    input/output
    provable(?)
    academic (?)

    View Slide

  24. WHEN IS FP USEFUL?

    View Slide

  25. DOMAIN-DRIVEN
    DESIGN

    View Slide

  26. DOMAIN DRIVEN DESIGN
    Bounded contexts
    Inventory, Invoicing, Accounting, SocialMedia
    Aggregates, sagas, read models
    Event-driven
    Event store

    View Slide

  27. CQRS
    Writes (commands)
    CancelOrder
    Reads (queries)
    OrdersList

    View Slide

  28. FP+DDD
    aggregates as functions
    read models as functions
    process managers as functions

    View Slide

  29. View Slide

  30. View Slide

  31. View Slide

  32. IS SERVERLESS
    PRODUCTION-READY?

    View Slide

  33. https://www.youtube.com/watch?v=i2gEbw_jzfY

    View Slide

  34. NO NEED TO WORRY ABOUT
    scaling
    monitoring
    recovery
    versioning
    logging

    View Slide

  35. HOW TO TEST?

    View Slide

  36. TESTING
    VS
    MONITORING

    View Slide

  37. IS SERVERLESS
    THE FUTURE?

    View Slide

  38. SERVERLESS
    ==
    REDUCING MAINTENANCE

    View Slide

  39. SCAFFOLDING
    Python
    JavaScript
    Java
    Scala

    View Slide

  40. THE NEW WAVE OF
    PROGRAMMERS REVOLUTION

    View Slide

  41. NEW WAVE OF PROGRAMMERS
    2004 - rails
    2015 - JS frontends
    2020 - serverless?

    View Slide

  42. POLYGLOTS

    View Slide

  43. THANKS!

    View Slide